0x0004	edx = 0x000a6425
0x000c	ecx = 0x0804a068
0x0014	[ecx] = edx
0x0018	edx = 0x00000000
0x0020	ecx = 0x0804a06b
0x0028	[ecx] = edx
0x002c	edx = 0x0841a980
0x0034	ecx = 0x0804a060
0x003c	[ecx] = edx
0x0040	edx = 0x0841a980
0x0048	ecx = 0x0804a064
0x0050	[ecx] = edx
0x0054	edx = (from: Named(function_main), to: Named(global_end))
0x005c	ecx = 0x0804a060
0x0064	ecx = [ecx]
0x0068	[ecx] = edx
0x006c	edx = 0x0804a060
0x0074	ecx = [edx]
0x0078	edx = 0x00000004
0x0080	ecx = ecx - edx
0x0084	eax = 0x0804a060
0x008c	[eax] = ecx
0x0090 ;# Fun: main, args: 
0x0090 function_main:
0x0090 ;Enter(12)
0x0090	edx = 0x0804a064
0x0098	edx = [edx]
0x009c	ecx = 0x0804a060
0x00a4	ecx = [ecx]
0x00a8	[ecx] = edx
0x00ac	edx = 0x0804a060
0x00b4	ecx = [edx]
0x00b8	edx = 0x00000004
0x00c0	ecx = ecx - edx
0x00c4	eax = 0x0804a060
0x00cc	[eax] = ecx
0x00d0	edx = 0x0804a060
0x00d8	edx = [edx]
0x00dc	ecx = 0x0804a064
0x00e4	[ecx] = edx
0x00e8	edx = 0x0804a060
0x00f0	ecx = [edx]
0x00f4	edx = 0x0000000c
0x00fc	ecx = ecx - edx
0x0100	eax = 0x0804a060
0x0108	[eax] = ecx
0x010c ;Assign(fmt, 134520936)
0x010c	edx = 0x0804a068
0x0114	ebx = 0x0804a064
0x011c	eax = [ebx]
0x0120	ecx = 0x7ffffff8
0x0128	ecx = eax + ecx
0x012c	[ecx] = edx
0x0130 ;Assign(i, 0)
0x0130	edx = 0x00000000
0x0138	ebx = 0x0804a064
0x0140	eax = [ebx]
0x0144	ecx = 0x7ffffffc
0x014c	ecx = eax + ecx
0x0150	[ecx] = edx
0x0154 ;Assign(x, 0)
0x0154	edx = 0x00000000
0x015c	ebx = 0x0804a064
0x0164	eax = [ebx]
0x0168	ecx = 0x00000000
0x0170	ecx = eax + ecx
0x0174	[ecx] = edx
0x0178 local_main_print:
0x0178 ;Call(fib, i,&x)
0x0178	edx = 0x0804a064
0x0180	ecx = [edx]
0x0184	edx = 0x00000000
0x018c	edx = ecx + edx
0x0190	ecx = 0x0804a060
0x0198	ecx = [ecx]
0x019c	[ecx] = edx
0x01a0	edx = 0x0804a060
0x01a8	ecx = [edx]
0x01ac	edx = 0x00000004
0x01b4	ecx = ecx - edx
0x01b8	eax = 0x0804a060
0x01c0	[eax] = ecx
0x01c4	edx = 0x0804a064
0x01cc	ecx = [edx]
0x01d0	edx = 0x7ffffffc
0x01d8	edx = ecx + edx
0x01dc	edx = [edx]
0x01e0	ecx = 0x0804a060
0x01e8	ecx = [ecx]
0x01ec	[ecx] = edx
0x01f0	edx = 0x0804a060
0x01f8	ecx = [edx]
0x01fc	edx = 0x00000004
0x0204	ecx = ecx - edx
0x0208	eax = 0x0804a060
0x0210	[eax] = ecx
0x0214	edx = (from: Named(function_fib), to: Unnamed(@f))
0x021c	ecx = 0x0804a060
0x0224	ecx = [ecx]
0x0228	[ecx] = edx
0x022c	edx = 0x0804a060
0x0234	ecx = [edx]
0x0238	edx = 0x00000004
0x0240	ecx = ecx - edx
0x0244	eax = 0x0804a060
0x024c	[eax] = ecx
0x0250	ebx = (from: Unnamed(@f), to: Named(function_fib))
0x0258	esp = esp + ebx
0x0264 @@:
0x0264 ;!Call(printf, fmt,x)
0x0264	eax = esp
0x0268 @@:
0x0268	ecx = (from: Unnamed(@b), to: Unnamed(@f))
0x0270	eax = eax + ecx
0x0274	ecx = 0x080484a0
0x027c	[eax] = ecx
0x0280	ecx = 0x00000008
0x0288	eax = eax + ecx
0x028c	edx = 0x0804a064
0x0294	ecx = [edx]
0x0298	edx = 0x7ffffff8
0x02a0	edx = ecx + edx
0x02a4	ecx = [edx]
0x02a8	[eax] = ecx
0x02ac	ebx = 0x00000004
0x02b4	eax = eax + ebx
0x02b8	edx = 0x0804a064
0x02c0	ecx = [edx]
0x02c4	edx = 0x00000000
0x02cc	edx = ecx + edx
0x02d0	ecx = [edx]
0x02d4	[eax] = ecx
0x02d8	ebx = 0x00000004
0x02e0	eax = eax + ebx
0x02e4	ebx = 0x00000100
0x02ec	esp = esp + ebx
0x02f8	hex(0x00000000)
0x02fc	hex(0x01010101)
0x0300	hex(0x02020202)
0x0304	hex(0x03030303)
0x0308	hex(0x04040404)
0x030c	hex(0x05050505)
0x0310	hex(0x06060606)
0x0314	hex(0x07070707)
0x0318	hex(0x08080808)
0x031c	hex(0x09090909)
0x0320	hex(0x0a0a0a0a)
0x0324	hex(0x0b0b0b0b)
0x0328	hex(0x0c0c0c0c)
0x032c	hex(0x0d0d0d0d)
0x0330	hex(0x0e0e0e0e)
0x0334	hex(0x0f0f0f0f)
0x0338	hex(0x10101010)
0x033c	hex(0x11111111)
0x0340	hex(0x12121212)
0x0344	hex(0x13131313)
0x0348	hex(0x14141414)
0x034c	hex(0x15151515)
0x0350	hex(0x16161616)
0x0354	hex(0x17171717)
0x0358	hex(0x18181818)
0x035c	hex(0x19191919)
0x0360	hex(0x1a1a1a1a)
0x0364	hex(0x1b1b1b1b)
0x0368	hex(0x1c1c1c1c)
0x036c	hex(0x1d1d1d1d)
0x0370	hex(0x1e1e1e1e)
0x0374	hex(0x1f1f1f1f)
0x0378	hex(0x20202020)
0x037c	hex(0x21212121)
0x0380	hex(0x22222222)
0x0384	hex(0x23232323)
0x0388	hex(0x24242424)
0x038c	hex(0x25252525)
0x0390	hex(0x26262626)
0x0394	hex(0x27272727)
0x0398	hex(0x28282828)
0x039c	hex(0x29292929)
0x03a0	hex(0x2a2a2a2a)
0x03a4	hex(0x2b2b2b2b)
0x03a8	hex(0x2c2c2c2c)
0x03ac	hex(0x2d2d2d2d)
0x03b0	hex(0x2e2e2e2e)
0x03b4	hex(0x2f2f2f2f)
0x03b8	hex(0x30303030)
0x03bc	hex(0x31313131)
0x03c0	hex(0x32323232)
0x03c4	hex(0x33333333)
0x03c8	hex(0x34343434)
0x03cc	hex(0x35353535)
0x03d0	hex(0x36363636)
0x03d4	hex(0x37373737)
0x03d8	hex(0x38383838)
0x03dc	hex(0x39393939)
0x03e0	hex(0x3a3a3a3a)
0x03e4	hex(0x3b3b3b3b)
0x03e8	hex(0x3c3c3c3c)
0x03ec	hex(0x3d3d3d3d)
0x03f0	hex(0x3e3e3e3e)
0x03f4	hex(0x3f3f3f3f)
0x03f8 ;jmp printf
0x03f8 @@:
0x03f8	hex(0x080484a0)
0x03fc ;esp += 12
0x03fc	hex(0x080489f7)
0x0400	hex(0x00000000)
0x0404	hex(0x01010101)
0x0408 ;Assign(i, BinOp(i,+,1))
0x0408	edx = 0x0804a064
0x0410	ecx = [edx]
0x0414	edx = 0x7ffffffc
0x041c	edx = ecx + edx
0x0420	ecx = [edx]
0x0424	edx = 0x00000001
0x042c	edx = ecx + edx
0x0430	ebx = 0x0804a064
0x0438	eax = [ebx]
0x043c	ecx = 0x7ffffffc
0x0444	ecx = eax + ecx
0x0448	[ecx] = edx
0x044c ;Cmp(i, 11)
0x044c	edx = 0x0804a064
0x0454	ecx = [edx]
0x0458	edx = 0x7ffffffc
0x0460	edx = ecx + edx
0x0464	ecx = [edx]
0x0468	edx = 0x0000000b
0x0470	ecx = ecx - edx
0x0474	SaveFlags
0x0478 ;Branch(~[e], print)
0x0478	edx = 0x00004000
0x0480	eax = eax & edx
0x0484	ebx = 0x00004000
0x048c	eax = eax - ebx
0x0490	SaveFlags
0x0494	ebx = 0x00004000
0x049c	eax = eax / ebx
0x04a0	edx = 0x00000001
0x04a8	eax = eax & edx
0x04ac	eax = eax ^ edx
0x04b0	edx = (from: Unnamed(@f), to: Named(local_main_print))
0x04b8	eax = eax * edx
0x04bc	esp = esp + eax
0x04c0 @@:
0x04c0 ;Leave
0x04c0	edx = 0x0804a064
0x04c8	edx = [edx]
0x04cc	ecx = 0x0804a060
0x04d4	[ecx] = edx
0x04d8	edx = 0x0804a060
0x04e0	ecx = [edx]
0x04e4	edx = 0x00000004
0x04ec	edx = ecx + edx
0x04f0	ecx = 0x0804a060
0x04f8	[ecx] = edx
0x04fc	edx = [edx]
0x0500	ecx = 0x0804a064
0x0508	[ecx] = edx
0x050c ;ret(main)
0x050c	edx = 0x0804a060
0x0514	ecx = [edx]
0x0518	edx = 0x00000004
0x0520	edx = ecx + edx
0x0524	ecx = 0x0804a060
0x052c	[ecx] = edx
0x0530	ecx = [edx]
0x0534	ebx = (from: Unnamed(@f), to: Named(function_main))
0x053c	ebx = ebx + ecx
0x0540	esp = esp + ebx
0x054c @@:
0x054c ;# Fun: fib, args: n,out
0x054c function_fib:
0x054c ;Enter(24)
0x054c	edx = 0x0804a064
0x0554	edx = [edx]
0x0558	ecx = 0x0804a060
0x0560	ecx = [ecx]
0x0564	[ecx] = edx
0x0568	edx = 0x0804a060
0x0570	ecx = [edx]
0x0574	edx = 0x00000004
0x057c	ecx = ecx - edx
0x0580	eax = 0x0804a060
0x0588	[eax] = ecx
0x058c	edx = 0x0804a060
0x0594	edx = [edx]
0x0598	ecx = 0x0804a064
0x05a0	[ecx] = edx
0x05a4	edx = 0x0804a060
0x05ac	ecx = [edx]
0x05b0	edx = 0x00000018
0x05b8	ecx = ecx - edx
0x05bc	eax = 0x0804a060
0x05c4	[eax] = ecx
0x05c8 ;Assign(x, 0)
0x05c8	edx = 0x00000000
0x05d0	ebx = 0x0804a064
0x05d8	eax = [ebx]
0x05dc	ecx = 0x7ffffffc
0x05e4	ecx = eax + ecx
0x05e8	[ecx] = edx
0x05ec ;Assign(y, 0)
0x05ec	edx = 0x00000000
0x05f4	ebx = 0x0804a064
0x05fc	eax = [ebx]
0x0600	ecx = 0x00000000
0x0608	ecx = eax + ecx
0x060c	[ecx] = edx
0x0610 ;Cmp(n, 0)
0x0610	edx = 0x0804a064
0x0618	ecx = [edx]
0x061c	edx = 0x0000000c
0x0624	edx = ecx + edx
0x0628	ecx = [edx]
0x062c	edx = 0x00000000
0x0634	ecx = ecx - edx
0x0638	SaveFlags
0x063c ;Branch([e], copy)
0x063c	edx = 0x00004000
0x0644	eax = eax & edx
0x0648	ebx = 0x00004000
0x0650	eax = eax - ebx
0x0654	SaveFlags
0x0658	ebx = 0x00004000
0x0660	eax = eax / ebx
0x0664	edx = 0x00000001
0x066c	eax = eax & edx
0x0670	edx = (from: Unnamed(@f), to: Named(local_fib_copy))
0x0678	eax = eax * edx
0x067c	esp = esp + eax
0x0680 @@:
0x0680 ;Cmp(n, 1)
0x0680	edx = 0x0804a064
0x0688	ecx = [edx]
0x068c	edx = 0x0000000c
0x0694	edx = ecx + edx
0x0698	ecx = [edx]
0x069c	edx = 0x00000001
0x06a4	ecx = ecx - edx
0x06a8	SaveFlags
0x06ac ;Branch([e], copy)
0x06ac	edx = 0x00004000
0x06b4	eax = eax & edx
0x06b8	ebx = 0x00004000
0x06c0	eax = eax - ebx
0x06c4	SaveFlags
0x06c8	ebx = 0x00004000
0x06d0	eax = eax / ebx
0x06d4	edx = 0x00000001
0x06dc	eax = eax & edx
0x06e0	edx = (from: Unnamed(@f), to: Named(local_fib_copy))
0x06e8	eax = eax * edx
0x06ec	esp = esp + eax
0x06f0 @@:
0x06f0 ;Assign(tmp0, BinOp(n,-,1))
0x06f0	edx = 0x0804a064
0x06f8	ecx = [edx]
0x06fc	edx = 0x0000000c
0x0704	edx = ecx + edx
0x0708	ecx = [edx]
0x070c	edx = 0x00000001
0x0714	ecx = ecx - edx
0x0718	ebx = 0x0804a064
0x0720	eax = [ebx]
0x0724	ebx = 0x7ffffff4
0x072c	eax = eax + ebx
0x0730	[eax] = ecx
0x0734 ;Call(fib, tmp0,&x)
0x0734	edx = 0x0804a064
0x073c	ecx = [edx]
0x0740	edx = 0x7ffffffc
0x0748	edx = ecx + edx
0x074c	ecx = 0x0804a060
0x0754	ecx = [ecx]
0x0758	[ecx] = edx
0x075c	edx = 0x0804a060
0x0764	ecx = [edx]
0x0768	edx = 0x00000004
0x0770	ecx = ecx - edx
0x0774	eax = 0x0804a060
0x077c	[eax] = ecx
0x0780	edx = 0x0804a064
0x0788	ecx = [edx]
0x078c	edx = 0x7ffffff4
0x0794	edx = ecx + edx
0x0798	edx = [edx]
0x079c	ecx = 0x0804a060
0x07a4	ecx = [ecx]
0x07a8	[ecx] = edx
0x07ac	edx = 0x0804a060
0x07b4	ecx = [edx]
0x07b8	edx = 0x00000004
0x07c0	ecx = ecx - edx
0x07c4	eax = 0x0804a060
0x07cc	[eax] = ecx
0x07d0	edx = (from: Named(function_fib), to: Unnamed(@f))
0x07d8	ecx = 0x0804a060
0x07e0	ecx = [ecx]
0x07e4	[ecx] = edx
0x07e8	edx = 0x0804a060
0x07f0	ecx = [edx]
0x07f4	edx = 0x00000004
0x07fc	ecx = ecx - edx
0x0800	eax = 0x0804a060
0x0808	[eax] = ecx
0x080c	ebx = (from: Unnamed(@f), to: Named(function_fib))
0x0814	esp = esp + ebx
0x0820 @@:
0x0820 ;Assign(tmp1, BinOp(n,-,2))
0x0820	edx = 0x0804a064
0x0828	ecx = [edx]
0x082c	edx = 0x0000000c
0x0834	edx = ecx + edx
0x0838	ecx = [edx]
0x083c	edx = 0x00000002
0x0844	ecx = ecx - edx
0x0848	ebx = 0x0804a064
0x0850	eax = [ebx]
0x0854	ebx = 0x7ffffff8
0x085c	eax = eax + ebx
0x0860	[eax] = ecx
0x0864 ;Call(fib, tmp1,&y)
0x0864	edx = 0x0804a064
0x086c	ecx = [edx]
0x0870	edx = 0x00000000
0x0878	edx = ecx + edx
0x087c	ecx = 0x0804a060
0x0884	ecx = [ecx]
0x0888	[ecx] = edx
0x088c	edx = 0x0804a060
0x0894	ecx = [edx]
0x0898	edx = 0x00000004
0x08a0	ecx = ecx - edx
0x08a4	eax = 0x0804a060
0x08ac	[eax] = ecx
0x08b0	edx = 0x0804a064
0x08b8	ecx = [edx]
0x08bc	edx = 0x7ffffff8
0x08c4	edx = ecx + edx
0x08c8	edx = [edx]
0x08cc	ecx = 0x0804a060
0x08d4	ecx = [ecx]
0x08d8	[ecx] = edx
0x08dc	edx = 0x0804a060
0x08e4	ecx = [edx]
0x08e8	edx = 0x00000004
0x08f0	ecx = ecx - edx
0x08f4	eax = 0x0804a060
0x08fc	[eax] = ecx
0x0900	edx = (from: Named(function_fib), to: Unnamed(@f))
0x0908	ecx = 0x0804a060
0x0910	ecx = [ecx]
0x0914	[ecx] = edx
0x0918	edx = 0x0804a060
0x0920	ecx = [edx]
0x0924	edx = 0x00000004
0x092c	ecx = ecx - edx
0x0930	eax = 0x0804a060
0x0938	[eax] = ecx
0x093c	ebx = (from: Unnamed(@f), to: Named(function_fib))
0x0944	esp = esp + ebx
0x0950 @@:
0x0950 ;WriteMem(out, BinOp(x,+,y))
0x0950	edx = 0x0804a064
0x0958	ecx = [edx]
0x095c	edx = 0x7ffffffc
0x0964	edx = ecx + edx
0x0968	ecx = [edx]
0x096c	eax = 0x0804a064
0x0974	ebx = [eax]
0x0978	edx = 0x00000000
0x0980	edx = ebx + edx
0x0984	edx = [edx]
0x0988	edx = ecx + edx
0x098c	ebx = 0x0804a064
0x0994	eax = [ebx]
0x0998	ecx = 0x00000010
0x09a0	ecx = eax + ecx
0x09a4	ecx = [ecx]
0x09a8	[ecx] = edx
0x09ac ;Branch([@], exit)
0x09ac	eax = 0x00000001
0x09b4	edx = (from: Unnamed(@f), to: Named(local_fib_exit))
0x09bc	eax = eax * edx
0x09c0	esp = esp + eax
0x09c4 @@:
0x09c4 local_fib_copy:
0x09c4 ;WriteMem(out, n)
0x09c4	edx = 0x0804a064
0x09cc	ecx = [edx]
0x09d0	edx = 0x0000000c
0x09d8	edx = ecx + edx
0x09dc	edx = [edx]
0x09e0	ebx = 0x0804a064
0x09e8	eax = [ebx]
0x09ec	ecx = 0x00000010
0x09f4	ecx = eax + ecx
0x09f8	ecx = [ecx]
0x09fc	[ecx] = edx
0x0a00 local_fib_exit:
0x0a00 ;Leave
0x0a00	edx = 0x0804a064
0x0a08	edx = [edx]
0x0a0c	ecx = 0x0804a060
0x0a14	[ecx] = edx
0x0a18	edx = 0x0804a060
0x0a20	ecx = [edx]
0x0a24	edx = 0x00000004
0x0a2c	edx = ecx + edx
0x0a30	ecx = 0x0804a060
0x0a38	[ecx] = edx
0x0a3c	edx = [edx]
0x0a40	ecx = 0x0804a064
0x0a48	[ecx] = edx
0x0a4c ;ret(fib)
0x0a4c	edx = 0x0804a060
0x0a54	ecx = [edx]
0x0a58	edx = 0x00000004
0x0a60	edx = ecx + edx
0x0a64	ecx = 0x0804a060
0x0a6c	[ecx] = edx
0x0a70	ecx = [edx]
0x0a74	ebx = (from: Unnamed(@f), to: Named(function_fib))
0x0a7c	ebx = ebx + ecx
0x0a80	esp = esp + ebx
0x0a8c @@:
0x0a8c global_end:
FromTo: (Named(function_main),Named(global_end))->(60,2616)->2556
FromTo: (Named(function_fib),Unnamed(@f))->(824,80)->-744
FromTo: (Unnamed(@f),Named(function_fib))->(20,764)->744
FromTo: (Unnamed(@b),Unnamed(@f))->(0,400)->400
FromTo: (Unnamed(@f),Named(local_main_print))->(16,-824)->-840
FromTo: (Unnamed(@f),Named(function_main))->(24,-1188)->-1212
FromTo: (Unnamed(@f),Named(local_fib_copy))->(16,852)->836
FromTo: (Unnamed(@f),Named(local_fib_copy))->(16,740)->724
FromTo: (Named(function_fib),Unnamed(@f))->(-644,80)->724
FromTo: (Unnamed(@f),Named(function_fib))->(20,-704)->-724
FromTo: (Named(function_fib),Unnamed(@f))->(-948,80)->1028
FromTo: (Unnamed(@f),Named(function_fib))->(20,-1008)->-1028
FromTo: (Unnamed(@f),Named(local_fib_exit))->(16,76)->60
FromTo: (Unnamed(@f),Named(function_fib))->(24,-1320)->-1344
DUMPED:
# Fun: main, args: 
AssignTab(fmt, ;37;100;10;0)
Assign(i, 0)
Assign(x, 0)
Label(print)
Call(fib, i,&x)
!Call(printf, fmt,x)
Assign(i, BinOp(i,+,1))
Cmp(i, 11)
Branch(~[e], print)

# Fun: fib, args: n,out
Assign(x, 0)
Assign(y, 0)
Cmp(n, 0)
Branch([e], copy)
Cmp(n, 1)
Branch([e], copy)
Assign(tmp0, BinOp(n,-,1))
Call(fib, tmp0,&x)
Assign(tmp1, BinOp(n,-,2))
Call(fib, tmp1,&y)
WriteMem(out, BinOp(x,+,y))
Branch([@], exit)
Label(copy)
WriteMem(out, n)
Label(exit)

####
