Function at 0x4084b1
Capabilities:
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
lea edx, [edx*4]
mov dword [ebp + 0x4c4], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [edx + eax]
add eax, dword [0x458484]
cmp eax, edi
jge 0x434c84
push 0
call 0x408671
ret
mov dword [0x4595c4], eax
push dword [0x458754]
call fcn.0040870d
ret
mov dword [0x4592a0], edi
mov eax, dword [0x459750]
pop edi
sub esp, 8
jmp 0x408671
mov dword [ebp - 0x4c], edx
mov dword [ebp + 0x4c4], ecx
mov dword [ebx + 0x1d08], edi
mov dword [ebx + 0x18cc], eax
inc esi
mov dword [ebx + 0x1d20], esi
pop ecx
add esp, 4
sub ebp, 0x48
jmp 0x40a3db
test dword [ebp + 0x52c], 0x80000000
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x18]
je 0x41d30b
mov ebx, dword [esi + 0x10]
mov ebp, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
add ebp, dword [0x458484]
add edi, dword [0x458484]
push esi
mov esi, dword [esi + 0x14]
mov dword [0x4594a4], eax
mov eax, dword [esp + 0x578]
push eax
and eax, 0xffff
push eax
sub eax, ebx
cmp eax, esi
jge 0x40afad
mov dword [0x4593a8], esi
mov dword [0x459718], ecx
mov dword [0x459420], edi
jmp 0x409361
mov dword [esp + 0x510], ebx
mov esi, dword [esp + 8]
mov ecx, dword [0x4594fc]
pop edi
mov ebx, edx
mov dword [esp - 8], esi
mov dword [0x459394], edi
mov dword [esp + 0x514], eax
mov eax, dword [0x4594a4]
mov dword [esp + 4], eax
mov eax, dword [0x459718]
add eax, dword [0x458484]
mov ecx, dword [esp + 0x50c]
mov edx, dword [esp + 0x514]
mov edi, eax
mov dword [0x459648], esi
mov dword [0x459308], ecx
mov dword [esp + 0x508], ebp
mov ebp, dword [0x4593a8]
mov dword [esp + 0x50c], ebp
mov ecx, dword [0x4594fc]
mov eax, dword [0x459308]
mov esi, dword [esp + 0x508]
mov ebp, dword [0x459420]
add esp, 8
jmp 0x40a3a5
mov dword [ebp - 0x4c], eax
mov edi, dword [0x459738]
mov edx, dword [0x459600]
push ebx
test esi, esi
je 0x40a322
mov eax, dword [esi + 0x10]
test dword [esp + 0x574], 0x80000000
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
je 0x41da77
mov edi, dword [esi + 0x24]
mov dword [0x459648], esi
mov ebp, dword [esi + 0x1c]
mov esi, dword [esi + 0x20]
add esi, dword [0x458484]
mov dword [esp + 0x504], edx
mov edx, dword [esp + 0x574]
mov dword [esp + 0x50c], edx
and edx, 0xffff
mov dword [0x459394], edx
sub edx, eax
cmp edx, dword [esp + 0x504]
jge 0x40af47
add ebp, dword [0x458484]
jmp 0x40a39f
lea eax, [0x457a30]
mov dword [eax + 0x1d08], edi
mov ebx, dword [ebp + 0x4a4]
mov esi, dword [ebp + 0x4bc]
mov dword [ebp + 0x494], edx
mov ebp, dword [eax + 0x16dc]
mov dword [esp + 0x4e0], esi
mov edx, dword [esp + 0x500]
mov ecx, dword [esp + 0x4f8]
mov dword [esp + 0x504], ecx
mov ebx, dword [esp + 0x50c]
mov dword [eax + 0x1d1c], ebx
add ebx, edx
add ebx, edx
movzx eax, word [ebx]
mov ecx, dword [esp + 0x4e4]
mov dword [esp + 0x4d4], ebx
mov dword [0x45967c], eax
mov edi, dword [0x45974c]
mov ebp, dword [0x459764]
mov edx, dword [esp + 0x4dc]
jmp 0x40a456
mov dword [ebp + 0x4f0], edx
mov edx, dword [ebp + 0x4f8]
jmp 0x40a3db
mov eax, dword [0x4592fc]
sub esp, 4
jmp 0x40a634
add edi, dword [0x458484]
mov dword [0x459324], ebp
mov ebp, esp
lea edx, [edx*4]
mov dword [ebp + 0x50c], ecx
mov dword [ebp + 0x500], esi
mov esi, dword [0x459324]
mov ecx, dword [edx + esi]
add ecx, dword [0x458484]
cmp ecx, dword [0x459648]
jge 0x439d06
mov eax, dword [esp + 0x50c]
mov edx, dword [0x459750]
mov dword [ebp + 0x504], edx
inc edx
sub dword [0x459750], eax
inc dword [0x459750]
mov eax, dword [0x459750]
mov eax, dword [0x458118]
mov dword [0x459280], ecx
mov ecx, dword [0x459750]
mov esi, dword [ebp + 0x50c]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [0x459644]
mov dword [edi], ebx
mov dword [ebp - 0x28], eax
sub esp, 0x28
mov dword [0x459688], edx
call dword [0x458438]
push dword [0x459688]
push eax
mov dword [0x459388], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x64
push 1
push 0
call fcn.0040a559
ret
mov ebx, dword [esp + 0x4ec]
mov eax, esi
mov dword [0x459648], ebp
mov dword [0x459600], edx
mov edx, dword [0x45967c]
mov esi, dword [0x4596d4]
mov ebp, dword [0x45910c]
jmp 0x40a3a5
inc dword [0x459750]
mov ebx, ecx
mov ecx, dword [0x458118]
push ebx
mov ebx, dword [0x459750]
mov dword [0x459778], ebx
inc ebx
mov ecx, dword [0x459750]
sub ecx, dword [ebp - 0x50]
inc ecx
push ecx
push esi
mov esi, dword [ebp - 0x50]
mov dword [0x45950c], edi
mov edi, dword [0x458118]
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0x4c4], eax
mov dword [ebp + 0x4bc], ecx
mov dword [0x459698], edi
mov dword [ebp + 0x4b8], edx
mov edx, dword [0x459644]
mov dword [edi], edx
mov dword [0x4596f4], ebx
sub esp, 0x14
mov ebx, dword [0x458118]
push ebx
call dword [0x458438]
push 6
call fcn.0040af1a
ret
mov dword [ebp - 0x4c], edx
mov dword [ebp + 0x4c4], ecx
mov dword [0x459738], edi
mov dword [0x4592fc], eax
pop ecx
add esp, 4
sub ebp, 0x48
jmp 0x40a3db
jmp 0x40a634
sub esp, 4
jmp 0x40a634
mov dword [0x4593d0], edi
mov dword [esp + 0x500], esi
mov dword [0x4596dc], edx
mov dword [0x4596c4], eax
mov edi, dword [0x459738]
mov esi, dword [0x459648]
mov edx, dword [0x459600]
mov eax, dword [0x4592fc]
mov dword [0x4596d0], ecx
mov ecx, dword [0x4593d0]
add ecx, dword [0x458484]
add ebp, dword [0x458484]
mov dword [0x45943c], ecx
mov ecx, dword [0x4596d0]
sub esp, 4
push ebp
mov ebp, esp
add esp, 4
add ebp, 0x50
jmp 0x40a634
mov dword [esp + 0x518], edx
mov dword [esp + 0x510], ecx
mov dword [0x4594bc], eax
mov edx, dword [esp + 8]
mov ecx, dword [0x4594fc]
mov eax, dword [0x4592fc]
push edx
mov dword [0x459434], edi
mov edi, dword [0x4594a4]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x514]
add edi, dword [0x458484]
mov dword [0x459350], edi
mov dword [esp + 0x510], esi
mov edi, dword [0x459738]
mov esi, edx
mov edx, dword [0x459600]
add esp, 0xc
mov dword [0x459584], ebp
mov ebp, esp
add ebp, 0x4c
jmp 0x40af3a
pop esi
mov eax, dword [ebp + 0x4e0]
mov ecx, dword [0x4593ac]
mov ebx, dword [0x459644]
mov edi, dword [0x45972c]
mov dword [0x459750], ecx
mov dword [0x459280], edi
sub esp, 0x18
jmp fcn.0040a482
mov dword [0x45966c], ecx
mov dword [ebp + 0x54c], eax
mov edi, dword [0x459644]
mov dword [ebp + 0x4e8], ebx
pop ebx
mov dword [ebx], edi
mov esi, dword [0x458118]
sub esp, 0x18
push esi
mov eax, dword [0x4588f4]
call dword [0x458438]
push dword [esp + 0x50c]
push eax
mov dword [ebp + 0x4e4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 4]
mov edi, dword [0x4588f4]
rep movsb byte es:[edi], byte [esi]
mov edx, dword [0x459644]
mov dword [edi], edx
push dword [0x4588f4]
mov dword [ebp + 0x4e0], eax
call dword [0x458438]
push dword [0x459628]
push eax
mov dword [ebp + 0x4dc], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [0x457a30]
mov edx, dword [ebp + 0x4e8]
mov dword [0x45972c], eax
mov ebx, dword [0x459750]
push esi
mov dword [0x459688], edx
mov eax, dword [ebp + 0x4e4]
mov dword [ebp + 0x504], ebx
mov esi, dword [ebp + 0x54c]
mov dword [0x459388], eax
mov dword [ecx + 0x197c], esi
mov edi, dword [ecx + 0x1ad0]
mov dword [ebp + 0x54c], edi
jmp 0x40b077
mov dword [ebp + 0x4ec], ebx
mov ebx, dword [0x459750]
mov dword [ebp + 0x54c], ebx
inc ebx
mov dword [0x459620], eax
mov eax, dword [0x459750]
sub eax, dword [esp + 0x50c]
mov dword [0x459598], esi
mov esi, dword [0x459628]
mov dword [0x4594d0], esi
sub esi, ecx
mov ebp, dword [0x458118]
inc eax
inc dword [0x459628]
inc esi
mov edx, dword [esp + 0x50c]
mov ebp, esp
push ecx
lea ecx, [0x457a30]
mov ecx, eax
push esi
mov esi, edx
push edi
mov edi, dword [0x458118]
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp - 4]
push edi
jmp 0x40b965
inc dword [0x459628]
jmp 0x40c6f8
mov dword [0x45940c], eax
mov eax, dword [0x4592fc]
pop edx
add edx, dword [0x459600]
cmp dword [0x45940c], edx
jge 0x434e14
add esp, 4
mov dword [esp + 0x508], ecx
mov eax, dword [esp + 0x554]
mov ecx, dword [0x45940c]
mov dword [esp + 0x500], eax
mov dword [esp + 0x50c], ecx
jmp 0x40cba8
mov esi, dword [esp + 0x500]
mov ecx, dword [esp + 0x50c]
mov eax, dword [0x4592e8]
inc dword [0x45940c]
jmp 0x40cba8
mov dword [esp + 0x57c], ecx
mov dword [0x4592e8], eax
mov ecx, dword [esp + 0x508]
mov eax, dword [0x4592fc]
mov ecx, dword [0x45940c]
movzx eax, byte [ecx]
cmp eax, dword [0x458228]
je 0x434c12
mov ecx, dword [esp + 0x508]
mov dword [esp + 0x500], esi
mov dword [0x4596b0], eax
mov esi, dword [esp + 0x57c]
mov eax, dword [0x4592fc]
mov dword [esp + 0x50c], esi
mov edx, dword [0x4594e4]
mov dword [esp + 0x57c], edx
dec dword [0x4592e8]
mov edx, dword [0x4592e8]
test edx, edx
je 0x434ba1
mov edx, dword [0x4596b0]
jmp 0x40c8c1
push eax
mov dword [0x459210], ecx
mov ebx, edx
mov dword [0x459610], 0
mov ecx, dword [0x4594fc]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x1c]
push ecx
mov ecx, dword [0x459210]
add ecx, dword [0x458484]
add edx, dword [0x458484]
mov edi, dword [esi + 0x20]
add edi, dword [0x458484]
push ecx
mov dword [0x459570], edx
mov dword [0x459020], esi
mov dword [ebp + 0x4c4], ebx
mov ecx, dword [0x4594fc]
mov edx, eax
mov esi, dword [ebp - 0x50]
mov ebx, dword [0x459610]
mov dword [ebp + 0x4bc], esi
jmp 0x41d426
mov dword [ebp + 0x4b8], ebx
mov ebx, dword [ebp + 0x4c4]
mov eax, edi
mov esi, dword [0x459020]
mov edi, dword [0x459570]
mov dword [0x4595fc], eax
pop eax
mov dword [ebp + 0x4c4], eax
mov eax, dword [0x4595fc]
add esp, 8
jmp 0x41daa8
mov ecx, dword [0x4594fc]
mov edx, dword [esp + 0x508]
mov eax, ebp
add eax, dword [0x458484]
push edi
mov edi, dword [0x459430]
mov dword [esp + 0x50c], edi
pop edi
add esp, 4
mov ebp, esp
add ebp, 0x48
jmp 0x41daa8
mov dword [esp], eax
push edx
mov ecx, dword [esp + 0x4f8]
mov esi, dword [esp + 0x500]
mov edx, dword [esp + 0x50c]
mov dword [esp + 0x514], ecx
add ebp, dword [0x458484]
mov ecx, dword [0x4594fc]
pop eax
mov dword [esp + 0x508], eax
mov eax, ebp
add esp, 4
mov ebp, esp
add ebp, 0x48
jmp 0x41daa8
mov edi, dword [esi + 0x24]
add edi, dword [0x458484]
mov dword [ebp + 0x4c4], edi
mov edi, dword [esi + 0x1c]
add edi, dword [0x458484]
mov dword [ebp + 0x4bc], eax
mov eax, dword [esi + 0x20]
add eax, dword [0x458484]
mov dword [ebp + 0x4b8], 0
mov dword [0x45910c], edi
mov dword [ebp + 0x4b0], edx
mov dword [ebp + 0x4a8], eax
mov edi, dword [0x459738]
mov edx, dword [0x459600]
mov eax, dword [0x4592fc]
cmp dword [esp + 0x500], ebx
jg 0x40af3f
mov dword [0x459764], esi
mov esi, dword [ebp + 0x4b8]
add esi, esi
add esi, dword [esp + 0x500]
add esi, dword [esp + 0x500]
mov dword [ebp + 0x4a4], ebx
mov ebx, dword [ebp + 0x4a8]
mov dword [0x4596d4], ebx
add ebx, esi
mov eax, dword [ebx]
add eax, dword [0x458484]
mov dword [ebp + 0x4a0], eax
mov dword [0x459294], 0
mov dword [ebp + 0x4a8], esi
mov dword [0x459558], eax
mov esi, dword [0x459764]
mov eax, dword [0x4592fc]
mov dword [ebp + 0x49c], ecx
mov ecx, dword [ebp + 0x4a0]
movzx eax, byte [ecx]
test eax, eax
je 0x41dba6
mov ecx, dword [ebp + 0x49c]
mov esi, dword [ebp + 0x4a8]
mov dword [0x459770], eax
mov eax, dword [0x459558]
mov ecx, dword [0x4585a4]
rol dword [0x459294], cl
mov dword [ebp + 0x498], edx
mov edx, dword [0x459770]
sub edx, dword [0x458134]
inc dword [esp + 0x4e8]
add dword [0x459294], edx
mov ecx, dword [ebp + 0x49c]
mov dword [0x45969c], edx
mov edx, dword [ebp + 0x498]
jmp 0x41db21
mov ecx, dword [ebp + 0x49c]
mov dword [0x4595e8], eax
mov eax, dword [0x4592fc]
and dword [0x459294], 0x7fffffff
mov eax, dword [0x459294]
cmp eax, dword [esp + 0x574]
je 0x409e85
mov eax, dword [0x4592fc]
mov dword [0x459738], edi
mov dword [0x459494], ebx
mov dword [0x4593b4], edx
mov eax, dword [0x4596d4]
mov ebx, dword [ebp + 0x4a4]
mov edx, dword [ebp + 0x4b0]
inc dword [esp + 0x500]
mov edi, dword [0x45910c]
mov edx, dword [0x4593b4]
mov dword [0x459600], edx
mov edx, dword [ebp + 0x4b0]
jmp 0x41daa8
mov eax, dword [0x4596b0]
mov esi, dword [esp + 0x500]
mov edx, dword [esp + 0x50c]
mov ecx, dword [0x45940c]
mov dword [esp + 0x57c], edx
inc ecx
jmp 0x434c12
mov edx, dword [0x4588f4]
mov eax, dword [esp + 0x57c]
mov dword [0x45962c], ecx
sub ecx, eax
inc ecx
mov eax, ecx
mov dword [esp + 0x50c], esi
mov esi, dword [esp + 0x57c]
mov dword [esp + 0x500], edi
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x4f8], ebp
mov edx, dword [0x459644]
mov dword [edi], edx
mov edx, dword [0x4588f4]
sub esp, 0x1c
push edx
mov dword [0x4594b8], eax
call dword [0x458438]
mov edx, dword [0x45962c]
mov dword [esp + 0x510], edx
inc edx
push edx
push eax
mov dword [esp + 0x514], edx
jmp 0x434dd6
mov dword [0x459750], eax
mov eax, dword [ebp + 0x4c4]
push edi
add edi, dword [esp + 0x550]
cmp dword [0x459750], edi
jge 0x40897f
add esp, 0x1c
mov ecx, dword [0x459750]
mov dword [0x459488], edx
mov dword [0x45923c], ecx
mov edx, dword [ebp + 0x504]
push edx
add esp, 4
mov dword [0x459738], edx
mov edx, dword [0x458484]
mov edx, dword [edx + 0x3c]
add edx, dword [0x458484]
mov dword [0x4592fc], eax
mov eax, dword [edx + 0x7c]
mov dword [0x459504], esi
mov esi, dword [edx + 0x78]
add esi, dword [0x458484]
mov dword [0x459600], eax
mov eax, dword [0x459750]
movzx eax, byte [eax]
cmp eax, dword [0x458228]
je 0x409d1b
push ebx
lea ebx, [0x457a30]
test esi, esi
je 0x434fcf
dec dword [ebx + 0x1d08]
inc dword [0x459750]
mov dword [ebx + 0x1acc], ecx
mov ecx, dword [ebx + 0x1d08]
test ecx, ecx
je 0x4092c8
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x10]
jmp 0x434e2a
mov ecx, dword [esp + 0x4fc]
mov dword [0x459738], edi
mov ecx, dword [esp + 0x51c]
mov eax, dword [esp + 0x510]
mov ebp, dword [0x4592c0]
mov dword [0x459634], ebx
mov dword [0x459214], esi
mov dword [0x4596fc], ecx
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x584]
mov edx, dword [esp + 0x514]
mov dword [esp + 0x4f8], ebx
mov dword [0x4594e4], esi
mov dword [esp + 0x51c], edx
add ebx, eax
add ebx, eax
movzx eax, word [ebx]
mov ecx, dword [esp + 0x4fc]
mov dword [esp + 0x4f4], ebx
mov edx, dword [0x459430]
mov edi, dword [0x4596fc]
mov dword [0x4593f4], eax
mov esi, dword [0x459214]
mov ebx, dword [0x459634]
jmp 0x434ea8
mov dword [0x45932c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esp + 0x524]
mov edi, dword [esp + 0x51c]
mov edx, dword [0x45932c]
mov dword [esp + 0x508], esi
mov dword [esp + 0x1c], edx
mov esi, dword [esp + 0x528]
mov edx, dword [esp + 0x18]
add esp, 0x14
jmp 0x434f42
mov dword [esp + 0x510], edx
mov eax, dword [0x45940c]
pop edx
sub esp, 8
jmp 0x434f42
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 0x1c]
push ecx
mov ecx, dword [esi + 0x14]
mov ebp, dword [esi + 0x20]
mov dword [0x4593c8], edi
pop edi
add edi, dword [0x458484]
test dword [esp + 0x574], 0x80000000
je 0x4379eb
push eax
mov dword [esp + 0x510], ecx
mov dword [0x4595dc], edi
mov ecx, dword [0x4594fc]
mov edi, dword [0x459738]
add ebp, dword [0x458484]
mov eax, dword [esp + 0x578]
mov dword [0x4594e4], eax
and eax, 0xffff
mov edi, dword [0x4593c8]
add edi, dword [0x458484]
push eax
sub eax, edx
cmp eax, dword [esp + 0x514]
jge 0x43502a
jmp 0x435075
mov eax, dword [esp + 0x4f8]
mov dword [0x4595dc], eax
mov eax, dword [0x4593f4]
add esp, 8
jmp 0x435075
mov dword [0x459738], edx
mov dword [0x459230], ebp
mov eax, dword [esp + 0x508]
mov dword [0x459668], ebx
mov dword [0x459310], esi
mov ebp, dword [esp + 0x514]
pop ebx
mov esi, dword [esp + 0x578]
mov dword [0x4592a4], ebp
mov dword [0x4595dc], ebx
mov dword [0x4594e4], esi
mov ecx, dword [esp + 0x508]
mov dword [esp + 0x510], ecx
mov ecx, dword [0x4594fc]
mov ebx, dword [0x459668]
mov edx, dword [0x459430]
mov ebp, dword [0x459230]
mov edi, dword [0x4592a4]
mov esi, dword [0x459310]
sub esp, 4
jmp 0x43502a
mov dword [esp + 0x514], ebx
mov dword [0x459278], eax
mov ebx, dword [0x4594e4]
mov eax, dword [0x4592fc]
mov dword [esp + 0x584], ebx
add esp, 8
push edi
mov edi, dword [0x459278]
mov dword [esp + 4], edi
pop edi
mov ebp, esp
add ebp, 0x50
jmp 0x434ffa
mov edi, esi
mov edx, dword [ebx + 0x1bd0]
push eax
mov eax, dword [ebx + 0x18cc]
dec dword [0x459738]
mov edi, dword [ebx + 0x1d08]
test edi, edi
je 0x40a62e
inc dword [0x459750]
push 0
mov esi, dword [0x459750]
movzx edx, byte [esi]
cmp edx, dword [0x458228]
je 0x40a6a5
lea ebx, [0x457a30]
dec edi
test edi, edi
je 0x4092a0
mov dword [ebp - 0x4c], edx
inc esi
mov dword [0x459750], esi
jmp 0x434ffa
push edi
mov dword [0x459260], ecx
mov dword [esp + 0x510], eax
mov edi, dword [0x459738]
mov ecx, dword [0x4594e4]
mov eax, dword [0x4592fc]
mov dword [esp + 0x580], ecx
mov ecx, dword [0x459260]
mov dword [0x459204], 0
mov ebp, dword [0x459204]
mov dword [esp + 4], ebp
add esp, 4
mov ebp, esp
add ebp, 0x50
jmp 0x434ffa
mov dword [0x459318], edi
mov dword [0x4594ec], edx
push eax
mov edi, dword [0x459738]
mov edx, dword [0x4594e4]
mov eax, dword [0x4592fc]
mov dword [esp + 0x580], edx
shl dword [esp], 2
push esi
mov esi, dword [0x459318]
mov edx, dword [esp + 4]
mov eax, dword [edx + esi]
add eax, dword [0x458484]
cmp eax, dword [esp]
jge 0x40c878
jmp 0x434f42
mov dword [esp + 0x50c], 0
push eax
mov dword [esp + 0x508], ecx
mov dword [esp + 0x4fc], esi
mov dword [esp + 0x4f4], edi
mov ecx, dword [0x4594fc]
mov esi, dword [esp + 0x510]
mov edi, dword [0x4593c8]
mov dword [esp + 0x504], esi
mov esi, dword [0x459750]
movzx eax, byte [esi]
add edi, dword [0x458484]
cmp eax, dword [0x458228]
je 0x41da36
mov dword [esp], eax
mov dword [0x459430], edx
mov ecx, dword [esp + 0x4f4]
mov esi, dword [esp + 0x4fc]
mov edx, dword [esp + 0x508]
mov dword [esp + 0x510], ecx
inc dword [0x459750]
dec dword [0x459738]
mov edx, dword [0x459738]
test edx, edx
jmp 0x437d20
mov dword [esp + 0x500], eax
mov eax, dword [0x4592fc]
and dword [esp + 4], 0x7fffffff
mov dword [esp + 0x4fc], ecx
mov ecx, dword [esp + 4]
cmp ecx, dword [esp + 0x584]
je 0x434d45
mov ecx, dword [esp + 0x4fc]
inc dword [esp + 0x510]
mov eax, dword [esp + 0xc]
mov dword [0x4594fc], ecx
mov edx, edi
mov dword [0x459378], ebp
mov ebp, dword [0x4592c0]
mov edi, dword [esp + 0x51c]
mov ecx, dword [esp + 8]
add esp, 0xc
jmp 0x437d2c
je 0x41da08
add ebp, dword [0x458484]
mov dword [esp], eax
push ecx
mov dword [esp + 0x514], edi
mov ecx, dword [0x4594fc]
mov edi, edx
cmp dword [esp + 0x508], ebx
jg 0x434ec3
mov edi, dword [esp + 0x508]
add edi, edi
add edi, dword [esp + 0x508]
add edi, dword [esp + 0x508]
mov dword [0x4592c0], ebp
add ebp, edi
mov eax, dword [ebp]
add eax, dword [0x458484]
mov dword [0x459594], eax
push 0
jmp 0x437e18
push edi
mov dword [esp + 0x508], eax
mov edi, edx
mov eax, dword [0x4592fc]
mov edx, dword [0x459594]
movzx eax, byte [edx]
test eax, eax
je 0x437c5d
mov dword [esp + 0x500], eax
mov eax, dword [0x4592fc]
mov dword [0x459288], ecx
mov ecx, dword [0x4585a4]
rol dword [esp + 4], cl
mov dword [esp + 0x4fc], ebx
mov ebx, dword [esp + 0x500]
sub ebx, dword [0x458134]
add dword [esp + 4], ebx
mov ecx, dword [0x459288]
mov edx, edi
mov dword [esp + 0x4f8], ebx
mov eax, dword [esp + 0x508]
mov ebx, dword [esp + 0x4fc]
inc dword [0x459594]
pop edi
jmp 0x437f55
jmp 0x437e18
mov dword [ebp + 0x4f8], edx
mov edx, dword [0x459648]
add edx, dword [0x459600]
cmp ecx, edx
jge 0x409ff6
mov dword [0x459628], ecx
mov dword [ebp + 0x4f0], eax
mov eax, dword [ebp + 0x54c]
mov dword [0x459500], eax
mov dword [ebp + 0x54c], edi
mov dword [0x459364], edx
mov edx, dword [0x459628]
movzx edx, byte [edx]
cmp edx, dword [0x458228]
je 0x40c6f8
dec eax
test eax, eax
je 0x40c767
inc dword [0x459628]
jmp 0x439d38