Function at 0x440cc0
Capabilities:
Enumerate pe sections
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4ac
mov eax, dword [0x4a6110]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x448], eax
mov eax, dword [0x4a7b74]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x474], edi
mov dword [ebp - 0x440], edi
mov dword [ebp - 0x49c], 0
test eax, eax
je 0x440d0b
mov eax, dword [eax + 0x400]
mov dword [ebp - 0x458], eax
cmp edi, 0xffffffff
je 0x440d1c
mov dword [ebp - 0x49c], 1
jmp 0x440d58
lea eax, [ebp - 0x458]
push eax
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x41c]
push eax
call fcn.00443270
add esp, 0xc
test eax, eax
jne 0x440d4c
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00468a6b
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x440]
mov dword [ebp - 0x474], edi
push ebx
push esi
mov esi, 1
mov ebx, esi
cmp edi, 0xffffffff
je 0x440f1d
mov ecx, 0x4a5020
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x440d72
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [ebp - 0x430]
push eax
sub ecx, edx
push ecx
lea eax, [ebp - 0x14]
push eax
push edi
call ebx
test eax, eax
je 0x442f36
mov ecx, 0x4a5020
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x440da2
sub ecx, edx
cmp dword [ebp - 0x430], ecx
jb 0x442f36
cmp ecx, 0x10
jae 0x442f3d
mov byte [ebp + ecx - 0x14], al
mov esi, 2
mov ecx, 0x4a5020
lea eax, [ebp - 0x14]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x440df0
test dl, dl
je 0x440dec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x440df0
add eax, 2
add ecx, esi
test dl, dl
jne 0x440dd1
xor eax, eax
jmp 0x440df5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x440f18
push eax
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [ebp - 0x480]
push eax
push edi
call ebx
test eax, eax
je 0x440f18
cmp dword [ebp - 0x430], esi
jb 0x440f18
mov ax, word [ebp - 0x480]
mov ecx, 0x7fff
and ax, cx
mov esi, 4
mov dword [ebp - 0x434], esi
mov word [ebp - 0x480], ax
cmp ax, 0xb
je 0x440e56
cmp ax, 0xa
jne 0x440f18
push 0
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [ebp - 0x46c]
push eax
push edi
call ebx
test eax, eax
je 0x440f18
cmp dword [ebp - 0x430], 2
jb 0x440f18
movzx esi, word [ebp - 0x46c]
push 1
push esi
call fcn.00468954
add esp, 8
mov dword [ebp - 0x454], eax
push 0
lea eax, [ebp - 0x430]
push eax
push esi
mov esi, dword [ebp - 0x454]
push esi
push edi
call ebx
test eax, eax
je 0x440f12
movzx eax, word [ebp - 0x46c]
cmp dword [ebp - 0x430], eax
jb 0x440f12
mov eax, dword [0x4a7b6c]
mov dword [ebp - 0x434], 3
mov ecx, dword [eax + 0x80]
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x440efc
test dx, dx
je 0x440ef8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x440efc
add eax, 4
add ecx, 4
test dx, dx
jne 0x440ed6
xor eax, eax
jmp 0x440f01
sbb eax, eax
or eax, 1
push esi
test eax, eax
je 0x440fbd
call fcn.00467cf6
add esp, 4
mov esi, dword [ebp - 0x434]
mov ebx, 1
cmp dword [ebp - 0x49c], 0
mov eax, dword [0x4a7b6c]
mov dword [eax + 0x374], 0
jne 0x440f41
cmp edi, 0xffffffff
je 0x440f41
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x440f8b
push 0x100
lea eax, [ebp - 0x214]
push eax
lea eax, [esi + 0x81]
push eax
push dword [0x4a7b38]
call dword [sym.imp.USER32.dll_LoadStringW]
mov ecx, dword [0x4a7b74]
push 0x30
mov eax, dword [ecx + 0x4f4]
mov eax, dword [eax + 0x34]
push dword [eax + 0x80]
lea eax, [ebp - 0x214]
push eax
push dword [ecx + 0xc]
call dword [sym.imp.USER32.dll_MessageBoxW]
push 6
call fcn.00436f40
add esp, 4
call fcn.004491c0
mov ecx, dword [0x4a7b74]
pop esi
mov eax, ebx
pop ebx
mov dword [ecx + 0x1270], 0
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00468a6b
mov esp, ebp
pop ebp
ret
call fcn.00467cf6
add esp, 4
lea eax, [ebp - 0x430]
push 0
push eax
push 4
lea eax, [ebp - 0x4ac]
push eax
push edi
call ebx
test eax, eax
je 0x440f12
cmp dword [ebp - 0x430], 4
jb 0x440f12
mov eax, dword [ebp - 0x4ac]
mov esi, 3
cmp eax, dword [ebp - 0x458]
jne 0x440f18
push 0
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [ebp - 0x46c]
push eax
push edi
call ebx
test eax, eax
je 0x440f18
cmp dword [ebp - 0x430], 2
jb 0x440f18
mov esi, dword [ebp - 0x448]
cmp dword [esi], 0
je 0x441067
cmp dword [ebp - 0x49c], 0
jne 0x44104b
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, word [ebp - 0x46c]
mov ecx, dword [ebp - 4]
mov dword [esi], eax
pop esi
pop ebx
xor ecx, ebp
xor eax, eax
pop edi
call fcn.00468a6b
mov esp, ebp
pop ebp
ret
movzx eax, word [ebp - 0x46c]
mov ecx, dword [0x4a7b6c]
mov esi, 6
cmp eax, dword [ecx + 0x1f0]
jne 0x440f18
mov dword [ecx + 0x374], 1
call fcn.0040f430
call fcn.0040f520
push 0
call fcn.00450bf0
push 0
call fcn.004408b0
call fcn.0043f130
call fcn.00449460
call fcn.00440380
push 0
call fcn.0043f760
add esp, 0xc
test ax, ax
jne 0x440f18
call fcn.004405d0
test eax, eax
jne 0x440f18
call fcn.00450bd0
call fcn.004437b0
test eax, eax
jne 0x440f18
call fcn.0043ce50
test ax, ax
jne 0x440f18
call fcn.004252c0
push 0x68
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x434], 1
call fcn.00467d2e
add esp, 4
mov esi, eax
push 0
lea eax, [ebp - 0x430]
push eax
push 0x68
push esi
push edi
call ebx
test eax, eax
je 0x442f2a
cmp dword [ebp - 0x430], 0x68
jb 0x442b6a
movzx ecx, byte [esi]
mov eax, dword [0x4a7b74]
mov byte [eax + 0x26], cl
movzx ecx, byte [esi + 1]
mov eax, dword [0x4a7b74]
mov byte [eax + 0x27], cl
movzx ecx, word [esi + 2]
mov eax, dword [0x4a7b74]
mov word [eax + 0x28], cx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 4]
mov dword [eax + 0xb0], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 8]
mov dword [eax + 0xb4], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xd0], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x10]
mov dword [eax + 0xd4], ecx
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, eax
add ecx, dword [esi + 0x14]
mov eax, dword [0x4a7b74]
mov dword [eax + 0xd8], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x110], ecx
movzx ecx, word [esi + 0x1c]
mov eax, dword [0x4a7b74]
mov word [eax + 0x14c], cx
movzx ecx, word [esi + 0x1e]
mov eax, dword [0x4a7b74]
mov word [eax + 0x18c], cx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x20]
mov dword [eax + 0x190], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x24]
mov dword [eax + 0x194], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x28]
mov dword [eax + 0x19c], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x1a0], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x30]
mov dword [eax + 0x1b4], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x34]
mov dword [eax + 0x1b8], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x38]
mov dword [eax + 0x1bc], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x3c]
mov dword [eax + 0x1c0], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x40]
mov dword [eax + 0x1c4], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x1c8], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x48]
mov dword [eax + 0x1cc], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x4c]
mov dword [eax + 0x1d0], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x50]
mov dword [eax + 0x4d8], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x54]
mov dword [eax + 0x4dc], ecx
mov ecx, dword [esi + 0x58]
mov eax, dword [0x4a7b74]
mov dword [eax + 0x4e0], ecx
mov ecx, dword [esi + 0x5c]
mov eax, dword [0x4a7b74]
push esi
mov dword [eax + 0x504], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x60]
mov dword [eax + 0x508], ecx
mov eax, dword [0x4a7b74]
mov ecx, dword [esi + 0x64]
mov dword [eax + 0x50c], ecx
call fcn.00467cf6
mov ecx, dword [0x4a7b74]
push 0x2c
mov eax, dword [ecx + 0xd0]
mov dword [ecx + 0x430], eax
call fcn.00467d2e
add esp, 8
mov esi, eax
push 0
lea eax, [ebp - 0x430]
push eax
push 0x2c
push esi
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 0x2c
jb 0x442b6a
mov eax, dword [0x4a7b74]
push esi
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x4a7b74]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi + 4]
mov dword [ecx + 0x20], eax
mov eax, dword [0x4a7b74]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi + 8]
mov dword [ecx + 0x24], eax
mov eax, dword [0x4a7b74]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x28], eax
mov eax, dword [0x4a7b74]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [0x4a7b74]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi + 0x14]
mov dword [ecx + 4], eax
mov eax, dword [0x4a7b74]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi + 0x28]
mov dword [ecx + 8], eax
mov eax, dword [0x4a7b74]
movq xmm0, qword [esi + 0x18]
mov eax, dword [eax + 0x1c]
movq qword [eax + 0x34], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [eax + 0x3c], xmm0
call fcn.00467cf6
push 0x1c
call fcn.00467d2e
mov esi, eax
mov eax, dword [0x4a7b74]
add esp, 8
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x440], 0
cmp dword [eax + 0x2c], 0
jle 0x441452
mov dword [ebp - 0x458], 0
push 0
lea eax, [ebp - 0x430]
push eax
push 0x1c
push esi
push edi
call ebx
test eax, eax
je 0x441452
cmp dword [ebp - 0x430], 0x1c
jb 0x441452
mov eax, dword [0x4a7b74]
mov edx, dword [ebp - 0x458]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + 0x30]
mov eax, dword [esi]
add ecx, edx
add edx, 0x60
mov dword [ecx + 4], eax
mov eax, dword [esi + 4]
mov dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x2c], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x30], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x34], eax
mov eax, dword [0x4a7b74]
mov ecx, dword [ebp - 0x440]
mov eax, dword [eax + 0x1c]
inc ecx
mov dword [ebp - 0x440], ecx
mov dword [ebp - 0x458], edx
cmp ecx, dword [eax + 0x2c]
jl 0x4413d7
push esi
call fcn.00467cf6
add esp, 4
lea eax, [ebp - 0x430]
push 0
push eax
mov eax, dword [0x4a7b74]
mov dword [ebp - 0x444], 0x10
mov eax, dword [eax + 0x18]
push 0x10
push dword [eax + 0x25c]
push edi
call ebx
test eax, eax
je 0x442b6a
mov eax, dword [ebp - 0x444]
cmp dword [ebp - 0x430], eax
jb 0x442b6a
push 0
lea ecx, [ebp - 0x430]
push ecx
push eax
mov eax, dword [0x4a7b74]
mov eax, dword [eax + 0x18]
push dword [eax + 0x258]
push edi
call ebx
test eax, eax
je 0x442b6a
mov eax, dword [ebp - 0x430]
cmp eax, dword [ebp - 0x444]
jb 0x442b6a
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x490]
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
xor esi, esi
mov dword [ebp - 0x478], 1
cmp dword [ebp - 0x490], esi
jle 0x441561
mov edi, edi
lea eax, [ebp - 0x42c]
push eax
push edi
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x424], 0
call fcn.00440c10
mov edx, eax
add esp, 8
mov dword [ebp - 0x478], edx
test edx, edx
je 0x441561
lea eax, [ebp - 0x42c]
push eax
mov eax, dword [0x4a7b74]
push esi
push dword [eax + 0x18]
call fcn.004058e0
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x490]
jl 0x441510
mov ecx, dword [0x4a7b74]
mov eax, dword [ecx + 0x18]
cmp esi, dword [eax + 0x264]
jge 0x4415a8
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x424], 0
lea ecx, [ebp - 0x42c]
push ecx
push esi
push eax
call fcn.004058e0
mov eax, dword [0x4a7b74]
inc esi
mov eax, dword [eax + 0x18]
add esp, 0xc
cmp esi, dword [eax + 0x264]
jl 0x441586
cmp dword [ebp - 0x478], 0
je 0x442b6a
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x490]
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
xor esi, esi
cmp dword [ebp - 0x490], esi
jle 0x4416b1
lea ecx, [ecx]
push 0
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [ebp - 0x464]
push eax
push edi
call ebx
test eax, eax
je 0x4416a7
cmp dword [ebp - 0x430], 2
jb 0x4416a7
mov ax, word [ebp - 0x464]
test ax, ax
je 0x44168a
movzx eax, ax
push eax
mov dword [ebp - 0x454], eax
call fcn.00467d2e
add esp, 4
mov dword [ebp - 0x460], eax
test eax, eax
je 0x4416a7
push 0
lea ecx, [ebp - 0x430]
push ecx
push dword [ebp - 0x454]
push eax
push edi
call ebx
test eax, eax
je 0x441699
movzx eax, word [ebp - 0x464]
cmp dword [ebp - 0x430], eax
jb 0x441699
push dword [ebp - 0x460]
mov eax, dword [0x4a7b74]
push esi
push dword [eax + 0x18]
call fcn.00405760
push dword [ebp - 0x460]
call fcn.00467cf6
add esp, 0x10
inc esi
cmp esi, dword [ebp - 0x490]
jl 0x4415f0
jmp 0x4416b1
push dword [ebp - 0x460]
call fcn.00467cf6
add esp, 4
mov dword [ebp - 0x478], 0
mov eax, dword [0x4a7b74]
mov eax, dword [eax + 0x18]
cmp esi, dword [eax + 0x278]
jge 0x4416e1
push 0x4815a8
push esi
push eax
call fcn.00405760
mov eax, dword [0x4a7b74]
inc esi
mov eax, dword [eax + 0x18]
add esp, 0xc
cmp esi, dword [eax + 0x278]
jl 0x4416c1
cmp dword [ebp - 0x478], 0
je 0x442b6a
xor esi, esi
call fcn.00435c60
test eax, eax
je 0x441711
lea esp, [esp]
cmp word [eax + 2], 2
jb 0x441708
inc esi
call fcn.00436ed0
test eax, eax
jne 0x441700
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x444]
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
cmp esi, dword [ebp - 0x444]
je 0x441753
mov ebx, dword [ebp - 0x438]
mov esi, 5
jmp 0x440f1d
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x4a4]
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
push 0x4c
call fcn.00467d2e
push 0x5c
mov dword [ebp - 0x47c], eax
call fcn.00467d2e
mov esi, eax
push 0x74
mov dword [ebp - 0x484], esi
call fcn.00467d2e
push 0x50
mov dword [ebp - 0x460], eax
call fcn.00467d2e
push 0x24
mov dword [ebp - 0x488], eax
call fcn.00467d2e
push 0x50
mov dword [ebp - 0x458], eax
call fcn.00467d2e
mov dword [ebp - 0x440], eax
mov eax, dword [0x4a7b74]
add esp, 0x18
cmp dword [ebp - 0x4a4], 0
mov eax, dword [eax + 0xa0]
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x454], 0
jle 0x442514
jmp 0x441800
push 0
lea eax, [ebp - 0x430]
push eax
push 0x4c
push dword [ebp - 0x47c]
mov dword [ebp - 0x43c], 1
push edi
call ebx
test eax, eax
je 0x44251c
cmp dword [ebp - 0x430], 0x4c
jb 0x44250c
xor eax, eax
push eax
mov dword [ebp - 0x450], eax
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [ebp - 0x444]
push eax
push edi
call ebx
test eax, eax
je 0x44250c
cmp dword [ebp - 0x430], 2
jb 0x44250c
mov eax, dword [ebp - 0x444]
test eax, eax
je 0x4418b5
push eax
call fcn.00467d2e
add esp, 4
mov dword [ebp - 0x450], eax
push 0
lea eax, [ebp - 0x430]
push eax
push dword [ebp - 0x444]
push dword [ebp - 0x48c]
push edi
call ebx
test eax, eax
je 0x44250c
mov eax, dword [ebp - 0x444]
cmp dword [ebp - 0x430], eax
jb 0x44250c
add dword [ebp - 0x48c], eax
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x448], 0xffffffff
test dword [eax + 0x38], 0x230
je 0x4418fd
push 0
lea eax, [ebp - 0x430]
push eax
push 0x5c
push esi
push edi
call ebx
test eax, eax
je 0x44250c
cmp dword [ebp - 0x430], 0x5c
jb 0x44250c
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x448], eax
jmp 0x44190a
push 0x5c
push 0
push esi
call fcn.00468a80
add esp, 0xc
mov eax, dword [ebp - 0x47c]
movzx eax, word [eax + 4]
push eax
call fcn.00436050
add esp, 4
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x45c], 0
test eax, eax
je 0x44195c
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x44c], eax
mov ecx, dword [eax + 0x36]
mov dword [ebp - 0x45c], ecx
mov ecx, dword [ebp - 0x47c]
test byte [ecx + 0x3c], 8
jne 0x441962
mov dword [eax + 0x36], 0
jmp 0x441962
mov ecx, dword [ebp - 0x47c]
movsx eax, word [ecx]
push eax
push dword [ecx + 0x40]
movzx eax, word [ecx + 4]
push 0
push dword [ebp - 0x448]
push dword [ecx + 0x14]
push dword [ecx + 0xc]
push eax
movzx eax, word [ecx + 2]
push eax
call fcn.004246c0
mov edx, eax
mov eax, dword [ebp - 0x44c]
add esp, 0x20
test eax, eax
je 0x44199e
mov ecx, dword [ebp - 0x45c]
mov dword [eax + 0x36], ecx
test edx, edx
js 0x442502
mov eax, dword [0x4a7b74]
mov ecx, dword [ebp - 0x47c]
mov eax, dword [eax + 0x1278]
mov ebx, dword [eax + edx*8]
movzx eax, word [ecx]
mov word [ebx], ax
movzx eax, word [ecx + 6]
mov word [ebx + 0x1a], ax
mov eax, dword [ecx + 8]
mov dword [ebx + 0x48], eax
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x4c], eax
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0x50], eax
mov eax, dword [ecx + 0x14]
mov dword [ebx + 0x54], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x58], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebx + 0x5c], eax
mov eax, dword [ecx + 0x20]
mov dword [ebx + 0x60], eax
mov eax, dword [ecx + 0x24]
mov dword [ebx + 0x64], eax
movq xmm0, qword [ecx + 0x28]
movq qword [ebx + 0x68], xmm0
movq xmm0, qword [ecx + 0x30]
movq qword [ebx + 0x70], xmm0
mov eax, dword [ecx + 0x38]
mov dword [ebx + 0x78], eax
movzx eax, word [ecx + 0x3c]
mov word [ebx + 0x7c], ax
mov eax, dword [ecx + 0x44]
mov dword [ebx + 0xb4], eax
mov eax, dword [ebp - 0x450]
mov dword [ebx + 0x2c], eax
test eax, eax
je 0x441a39
push eax
call fcn.00467cf6
add esp, 4
mov edx, dword [ebx + 0x78]
test edx, 0x230
je 0x441b46
mov ecx, dword [ebp - 0x484]
mov eax, dword [ecx + 4]
mov dword [ebx + 0xc8], eax
mov eax, dword [ecx + 8]
mov dword [ebx + 0xcc], eax
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0xd8], eax
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0xdc], eax
mov eax, dword [ecx + 0x14]
mov dword [ebx + 0xe0], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0xe4], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebx + 0xe8], eax
mov eax, dword [ecx + 0x20]
mov dword [ebx + 0xec], eax
mov eax, dword [ecx + 0x24]
mov dword [ebx + 0xf0], eax
mov eax, dword [ecx + 0x28]
mov dword [ebx + 0xf4], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebx + 0xf8], eax
mov eax, dword [ecx + 0x30]
mov dword [ebx + 0x104], eax
mov eax, dword [ecx + 0x34]
mov dword [ebx + 0x108], eax
mov eax, dword [ecx + 0x38]
mov dword [ebx + 0x10c], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebx + 0x110], eax
mov eax, dword [ecx + 0x40]
mov dword [ebx + 0x114], eax
mov eax, dword [ecx + 0x44]
mov dword [ebx + 0x118], eax
mov eax, dword [ecx + 0x48]
mov dword [ebx + 0x11c], eax
mov eax, dword [ecx + 0x4c]
mov dword [ebx + 0x120], eax
mov eax, dword [ecx + 0x50]
mov dword [ebx + 0x120], eax
mov dword [ebx + 0xfc], 1
cmp word [ecx], 0
je 0x441b1c
mov dword [ebx + 0xc0], 0x42bb90
movzx eax, word [ecx + 2]
cmp eax, 1
jne 0x441b31
mov dword [ebx + 0xc4], 0x42bb10
jmp 0x441b40
cmp eax, 2
jne 0x441b40
mov dword [ebx + 0xc4], 0x42bb90
mov esi, dword [ebp - 0x484]
test dl, 0x10
je 0x441c38
push 0
lea eax, [ebp - 0x430]
push eax
push 0x74
push dword [ebp - 0x460]
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 0x74
jb 0x4424f4
mov edi, dword [ebp - 0x460]
push 0
push dword [ebx + 0x44]
push ebx
push dword [edi + 0x20]
call fcn.0042cde0
mov eax, dword [esi + 0x20]
mov dword [ebx + 0xec], eax
mov eax, dword [edi]
mov dword [ebx + 0x130], eax
mov eax, dword [edi + 4]
mov dword [ebx + 0x134], eax
mov eax, dword [edi + 8]
mov dword [ebx + 0x140], eax
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x14c], eax
mov eax, dword [edi + 0x10]
mov dword [ebx + 0x150], eax
mov ax, word [edi + 0x14]
mov word [ebx + 0x154], ax
mov eax, dword [edi + 0x18]
mov dword [ebx + 0x172], eax
mov eax, dword [edi + 0x1c]
mov dword [ebx + 0x176], eax
mov eax, dword [ebx + 0xcc]
add esp, 0x10
cmp eax, 5
jne 0x441bfc
mov ecx, dword [ebx + 0x1aa]
mov dword [ebp - 0x498], ecx
lea esi, [edi + 0x24]
mov ecx, 0x14
lea edi, [ebx + 0x17e]
rep movsd dword es:[edi], dword [esi]
cmp eax, 5
jne 0x441d13
mov ecx, dword [ebp - 0x498]
mov eax, dword [ebp - 0x460]
mov dword [ebx + 0x1aa], ecx
mov eax, dword [eax + 0x48]
add eax, ecx
mov dword [ebx + 0x1a2], eax
mov edi, dword [ebp - 0x474]
test byte [ebx + 0x78], 0x20
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
je 0x441dba
mov edx, dword [ebp - 0x488]
push 0
lea eax, [ebp - 0x430]
push eax
push 0x50
push edx
push edi
call esi
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 0x50
jb 0x4424f4
mov ecx, dword [ebx + 0xb8]
mov edx, dword [ebp - 0x488]
add ecx, ebx
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [edx + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [edx + 0x28]
mov dword [ecx + 0x28], eax
mov eax, dword [edx + 0x2c]
mov dword [ecx + 0x2c], eax
mov eax, dword [edx + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x34], eax
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [edx + 0x3c]
mov dword [ecx + 0x3c], eax
mov eax, dword [edx + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [edx + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [edx + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edx + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0x488]
mov edx, dword [ebx + 0x44]
cmp dword [eax + 0x14], 0
je 0x441d80
movzx eax, word [edx + 6]
add eax, edx
mov edx, dword [ebp - 0x488]
add eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
mov eax, edx
jmp 0x441d87
cmp eax, 0xd
jne 0x441d4a
cmp dword [ebx + 0x17e], 0
mov edi, dword [ebp - 0x474]
je 0x441c38
mov eax, dword [0x4a7b74]
mov ecx, dword [ebx + 0x182]
mov eax, dword [eax + 0x1278]
mov eax, dword [eax + ecx*8]
mov dword [ebx + 0x182], eax
jmp 0x441c38
cmp eax, 0xe
jne 0x441c32
mov ecx, dword [ebx + 0xd0]
test ecx, ecx
je 0x441c32
mov edi, dword [ebp - 0x474]
mov eax, dword [ecx]
push edi
push 0x1011
push ebx
call dword [eax + 0x54]
test eax, eax
je 0x4424f4
jmp 0x441c38
mov dword [ecx + 0x14], 0
mov edx, dword [eax + 0x20]
test edx, edx
je 0x441d98
mov eax, dword [ecx + 0x14]
add eax, edx
mov dword [ecx + 0x20], eax
jmp 0x441d9f
mov dword [ecx + 0x20], 0
cmp dword [ecx + 0x14], 0
je 0x441dba
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x441dba
mov eax, dword [ecx + 0x44]
movsx eax, word [edx + eax*2 + 8]
mov dword [ebx + 0xdc], eax
test dword [ebx + 0x78], 0x200
je 0x442006
push 0
lea eax, [ebp - 0x430]
push eax
push 0x24
push dword [ebp - 0x458]
push edi
call esi
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 0x24
jb 0x4424f4
mov edx, dword [ebx + 0xbc]
add edx, ebx
xor ecx, ecx
cmp word [edx + 0x18], 0xd
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x450], ecx
jne 0x441e16
mov ecx, dword [edx + 0x1c]
mov dword [ebp - 0x450], ecx
mov eax, dword [ebp - 0x458]
movq xmm0, qword [eax]
movq qword [edx], xmm0
movq xmm0, qword [eax + 8]
movq qword [edx + 8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edx + 0x10], xmm0
movq xmm0, qword [eax + 0x18]
movq qword [edx + 0x18], xmm0
mov eax, dword [eax + 0x20]
mov dword [edx + 0x20], eax
cmp word [edx + 0x18], 0xd
jne 0x441fc7
push 0
lea eax, [ebp - 0x430]
push eax
push 0xc
lea eax, [ebp - 0x428]
push eax
push edi
call esi
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 0xc
jb 0x4424f4
mov ecx, dword [ebp - 0x450]
test ecx, ecx
je 0x441f70
mov eax, dword [ecx]
call dword [eax + 0x54]
cmp eax, dword [ebp - 0x428]
jne 0x441f62
mov ecx, dword [ebp - 0x450]
mov edx, dword [ebp - 0x45c]
mov dword [edx + 0x1c], ecx
test ecx, ecx
je 0x441ec0
mov eax, dword [ecx]
push dword [ebp - 0x424]
call dword [eax + 0x38]
mov edx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x420]
test eax, eax
je 0x441fda
mov dword [ebp - 0x44c], 0
jle 0x441fda
mov edi, edi
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x448]
push eax
push edi
mov dword [ebp - 0x448], 0
call esi
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 4
jb 0x4424f4
mov ecx, dword [ebp - 0x450]
test ecx, ecx
je 0x441f4b
mov eax, dword [ecx]
push dword [ebp - 0x44c]
call dword [eax + 0x18]
sub eax, 0
je 0x441f34
dec eax
je 0x441fa6
dec eax
jne 0x441f4b
mov ecx, dword [ebp - 0x450]
push dword [ebp - 0x448]
mov eax, dword [ecx]
push dword [ebp - 0x44c]
call dword [eax + 0x40]
mov eax, dword [ebp - 0x44c]
inc eax
mov dword [ebp - 0x44c], eax
cmp eax, dword [ebp - 0x420]
jl 0x441ee0
jmp 0x441fd4
push dword [ebp - 0x450]
call fcn.00433fb0
add esp, 4
push dword [ebp - 0x428]
mov eax, dword [0x4a7b74]
push dword [eax + 0x18]
call fcn.00433300
mov ecx, eax
add esp, 8
mov dword [ebp - 0x450], ecx
test ecx, ecx
je 0x441ea2
mov edx, dword [ebp - 0x45c]
or word [edx + 0x20], 0x40
jmp 0x441ea8
mov ecx, dword [ebp - 0x450]
movss xmm0, dword [ebp - 0x448]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
push dword [ebp - 0x44c]
call dword [eax + 0x44]
jmp 0x441f4b
test ecx, ecx
je 0x441fda
push ecx
call fcn.00433fb0
add esp, 4
mov edx, dword [ebp - 0x45c]
mov eax, dword [ebx + 0xd4]
test eax, eax
je 0x441ff7
push dword [edx + 0x1c]
push dword [edx + 0x18]
push eax
mov eax, dword [0x4a7b74]
push dword [eax]
call sub.MMFS2.dll_Ordinal_83
mov eax, dword [ebp - 0x45c]
mov ecx, 0xfffb
and word [eax + 0x20], cx
test dword [ebx + 0x78], 0x100
je 0x4421e3
mov eax, dword [ebx + 0x80]
add eax, ebx
cmp word [ebp - 0x480], 0xb
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x44c], 0x1a
jb 0x442065
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x44c]
push eax
push edi
call esi
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 4
jb 0x4424f4
mov eax, dword [ebp - 0x45c]
push dword [eax]
call fcn.00467cf6
mov ecx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x44c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x44c]
shl eax, 4
push eax
call fcn.00467d2e
mov ecx, dword [ebp - 0x45c]
add esp, 8
mov dword [ecx], eax
cmp dword [ebp - 0x44c], 0
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x448], 0
jle 0x4420f2
mov edi, edi
push eax
push edi
call fcn.00440c10
add esp, 8
mov dword [ebp - 0x478], eax
test eax, eax
je 0x4424f4
mov ecx, dword [ebp - 0x448]
mov eax, dword [ebp - 0x450]
inc ecx
add eax, 0x10
mov dword [ebp - 0x448], ecx
mov dword [ebp - 0x450], eax
cmp ecx, dword [ebp - 0x44c]
jl 0x4420b0
mov ecx, dword [ebp - 0x45c]
cmp dword [ebp - 0x478], 0
je 0x4424f4
lea eax, [ecx + 0x86]
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x450], eax
push 0
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [ebp - 0x464]
push eax
push edi
call esi
test eax, eax
je 0x4421b6
cmp dword [ebp - 0x430], 2
jb 0x4421b6
cmp word [ebp - 0x464], 0
jbe 0x442199
mov eax, dword [ebp - 0x450]
push dword [eax]
call fcn.00467cf6
movzx esi, word [ebp - 0x464]
push esi
call fcn.00467d2e
mov ecx, dword [ebp - 0x450]
add esp, 8
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x430]
push ecx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
push eax
push edi
call esi
test eax, eax
je 0x4424f4
movzx eax, word [ebp - 0x464]
cmp dword [ebp - 0x430], eax
jb 0x4424f4
mov eax, dword [ebp - 0x448]
add dword [ebp - 0x450], 4
inc eax
mov dword [ebp - 0x448], eax
cmp eax, 0xa
jl 0x442115
push 0
lea eax, [ebp - 0x430]
push eax
mov eax, dword [ebp - 0x45c]
push 4
add eax, 0x68
push eax
push edi
call esi
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 4
jb 0x4424f4
movzx eax, word [ebx + 0x18]
cmp ax, 3
je 0x442215
cmp ax, 4
je 0x44220f
cmp ax, 5
je 0x44220f
cmp ax, 6
je 0x44220f
cmp ax, 7
je 0x44220f
cmp ax, 9
jne 0x44232c
cmp ax, 3
jne 0x442232
mov eax, dword [ebx + 0x22e]
test eax, eax
je 0x442232
push eax
call fcn.00467cf6
add esp, 4
mov dword [ebx + 0x22e], 0
push 0
lea eax, [ebp - 0x430]
push eax
push 0x50
push dword [ebp - 0x440]
push edi
call esi
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 0x50
jb 0x4424f4
push 0x50
push dword [ebp - 0x440]
lea eax, [ebx + 0x1f2]
push eax
call fcn.0046cea0
movzx eax, word [ebx + 0x18]
add esp, 0xc
cmp ax, 3
jne 0x4422f5
push 0
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [ebp - 0x494]
push eax
push edi
call esi
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 2
jb 0x4424f4
mov ax, word [ebp - 0x494]
test ax, ax
je 0x44230d
movzx esi, ax
push esi
call fcn.00467d2e
add esp, 4
lea ecx, [ebp - 0x430]
push 0
push ecx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
push eax
push edi
mov dword [ebx + 0x22e], eax
call esi
test eax, eax
je 0x4424f4
movzx eax, word [ebp - 0x494]
cmp dword [ebp - 0x430], eax
jb 0x4424f4
jmp 0x44230d
cmp ax, 9
jne 0x44230d
push edi
push ebx
call fcn.00450320
add esp, 8
test eax, eax
je 0x4424f4
test dword [ebx + 0x78], 0x200
je 0x44232c
mov eax, dword [ebx + 0xbc]
test byte [eax + ebx + 0x20], 0x20
je 0x44232c
push ebx
call fcn.00426e50
add esp, 4
cmp word [ebx + 0x18], 8
jne 0x442342
push edi
push ebx
call fcn.004480a0
test eax, eax
je 0x4424f4
cmp word [ebx + 0x18], 0x20
jl 0x442406
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x470]
push eax
push edi
call esi
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 4
jne 0x4424f4
movsx edx, word [ebx + 0x18]
mov eax, dword [0x4a7b6c]
imul edx, edx, 0x92
mov ecx, dword [eax + 0xe0]
mov eax, dword [ebp - 0x470]
cmp eax, dword [edx + ecx - 0x11b4]
jne 0x4424ea
push 0
lea eax, [ebp - 0x430]
push eax
push 1
lea eax, [ebp - 0x465]
push eax
push edi
mov byte [ebp - 0x465], 0
call esi
test eax, eax
je 0x4424f4
cmp dword [ebp - 0x430], 1
jne 0x4424f4
cmp byte [ebp - 0x465], 0
je 0x442406
movsx ecx, word [ebx + 0x18]
mov edx, dword [0x4a7b74]
imul ecx, ecx, 0x92
mov eax, dword [edx + 0x1d4]
mov eax, dword [ecx + eax - 0x11d8]
test eax, eax
je 0x44240c
push edi
push ebx
call eax
test eax, eax
je 0x4424f4
mov edx, dword [0x4a7b74]
test dword [ebx + 0x78], 0x200
je 0x44243e
mov eax, dword [ebx + 0xbc]
test byte [eax + ebx + 0x20], 1
mov eax, dword [ebx + 0xd4]
je 0x442430
test eax, eax
je 0x44243e
push 0
jmp 0x442436
test eax, eax
je 0x44243e
push 1
push eax
push dword [edx]
call sub.MMFS2.dll_Ordinal_78
mov esi, dword [ebp - 0x484]
cmp dword [esi + 0x54], 0
je 0x44246d
cmp dword [ebx + 0x128], 0
jne 0x44245e
push 0
push ebx
call fcn.00401940
add esp, 8
mov ecx, dword [ebx + 0x128]
test ecx, ecx
je 0x4424c7
mov eax, dword [esi + 0x54]
jmp 0x4424bd
cmp dword [esi + 0x58], 0
je 0x4424c7
mov eax, dword [ebx + 0x78]
or word [ebx + 0x7c], 1
test al, 0x20
jne 0x4424a7
test eax, 0x200
jne 0x4424a7
movzx eax, word [ebx]
movsx ecx, ax
mov eax, dword [0x4a7b74]
push ecx
mov eax, dword [eax + 0x1278]
mov dword [eax + ecx*8 + 4], 0
call fcn.004242b0
jmp 0x4424ad
push ebx
call fcn.0042bc20
mov ecx, dword [ebx + 0x12c]
add esp, 4
test ecx, ecx
je 0x4424c7
mov eax, dword [esi + 0x58]
mov ecx, dword [ecx]
dec eax
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x34]
mov eax, dword [ebp - 0x454]
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
inc eax
mov dword [ebp - 0x454], eax
cmp eax, dword [ebp - 0x4a4]
jl 0x441800
xor esi, esi
jmp 0x442521
mov dword [ebp - 0x434], 3
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
mov esi, dword [ebp - 0x43c]
jmp 0x442521
mov dword [ebp - 0x434], 5
mov esi, dword [ebp - 0x43c]
jmp 0x442521
mov esi, dword [ebp - 0x470]
jmp 0x442521
mov esi, 1
push dword [ebp - 0x47c]
call fcn.00467cf6
push dword [ebp - 0x484]
call fcn.00467cf6
push dword [ebp - 0x460]
call fcn.00467cf6
push dword [ebp - 0x488]
call fcn.00467cf6
push dword [ebp - 0x458]
call fcn.00467cf6
push dword [ebp - 0x440]
call fcn.00467cf6
add esp, 0x18
test esi, esi
jne 0x442b6a
mov eax, dword [0x4a7b74]
mov ecx, dword [eax + 0x1278]
cmp dword [eax + 0x3c], esi
jle 0x4425c9
mov edi, edi
cmp dword [ecx], 0
jne 0x44258d
add ecx, 8
cmp dword [ecx], 0
je 0x442585
mov edx, dword [ecx]
test byte [edx + 0x78], 0x10
je 0x4425bd
cmp dword [edx + 0xcc], 9
jne 0x4425bd
mov edi, dword [edx + 0x1b2]
test edi, edi
je 0x4425bd
mov eax, dword [eax + 0x1278]
mov eax, dword [eax + edi*8 - 8]
mov dword [edx + 0x1b2], eax
mov eax, dword [0x4a7b74]
inc esi
cmp esi, dword [eax + 0x3c]
jl 0x442580
mov edi, dword [ebp - 0x474]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x448], 0
cmp dword [eax + 0x2c], 0
jle 0x4426fe
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x440]
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
mov esi, dword [ebp - 0x440]
push esi
call fcn.00467d2e
add esp, 4
lea ecx, [ebp - 0x430]
push 0
push ecx
push esi
push eax
push edi
mov dword [ebp - 0x458], eax
call ebx
test eax, eax
je 0x442b57
mov eax, dword [ebp - 0x430]
cmp eax, dword [ebp - 0x444]
jb 0x442b57
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x470], eax
mov eax, dword [ebp - 0x440]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x454], 0
test eax, eax
jle 0x4426d2
mov esi, dword [0x4a7b74]
mov edi, dword [ebp - 0x470]
jmp 0x442680
movzx ecx, word [edi]
mov eax, dword [esi + 0x1278]
lea edi, [edi + 2]
mov eax, dword [eax + ecx*8]
cmp dword [eax + 0xbc], 0
je 0x4426b0
mov eax, dword [eax + 0xd4]
test eax, eax
je 0x4426b0
push eax
push dword [esi]
call sub.MMFS2.dll_Ordinal_95
mov esi, dword [0x4a7b74]
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x454]
cdq
sub eax, edx
inc ecx
sar eax, 1
mov dword [ebp - 0x454], ecx
cmp ecx, eax
jl 0x442680
mov edi, dword [ebp - 0x474]
push dword [ebp - 0x458]
call fcn.00467cf6
mov eax, dword [0x4a7b74]
mov esi, dword [ebp - 0x448]
mov eax, dword [eax + 0x1c]
inc esi
add esp, 4
mov dword [ebp - 0x448], esi
cmp esi, dword [eax + 0x2c]
jl 0x4425e0
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x444]
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
mov esi, dword [ebp - 0x444]
test esi, esi
je 0x442872
push esi
call fcn.00467d2e
add esp, 4
lea ecx, [ebp - 0x430]
push 0
push ecx
push esi
push eax
push edi
mov dword [ebp - 0x454], eax
call ebx
test eax, eax
je 0x442b6a
mov eax, dword [ebp - 0x430]
cmp eax, dword [ebp - 0x444]
jb 0x442b6a
mov eax, dword [0x4a7b74]
mov esi, dword [ebp - 0x454]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x460], eax
cmp word [eax], 0xffff
je 0x442864
mov edi, eax
lea ecx, [ecx]
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x498], esi
test ax, ax
js 0x442848
mov word [edi + 6], ax
mov edx, dword [0x4a7b74]
movzx ecx, ax
mov eax, dword [edx + 0x1278]
mov esi, dword [eax + ecx*8]
mov ecx, edi
sub ecx, dword [edx + 0x58]
mov eax, 0xe070381d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
or eax, 0xffff8000
mov word [esi + 0x14], ax
lea eax, [esi + 0x16]
mov esi, dword [ebp - 0x498]
mov ecx, 0xffff8000
mov word [eax], cx
movzx edx, word [esi]
mov ecx, dword [ebp - 0x470]
add esi, 2
movzx edi, cx
test dx, dx
js 0x442842
jmp 0x442810
mov word [eax], dx
mov eax, dword [0x4a7b74]
movzx ecx, dx
mov eax, dword [eax + 0x1278]
add esi, 2
mov eax, dword [eax + ecx*8]
add eax, 0x16
mov word [eax - 2], di
mov ecx, 0xffff8000
mov word [eax], cx
movzx edi, dx
movzx edx, word [esi - 2]
test dx, dx
jns 0x442810
mov edi, dword [ebp - 0x460]
add edi, 0x92
mov dword [ebp - 0x460], edi
cmp word [edi], 0xffff
jne 0x442790
mov edi, dword [ebp - 0x474]
push dword [ebp - 0x454]
call fcn.00467cf6
add esp, 4
mov eax, dword [0x4a7b6c]
cmp dword [eax + 0x284], 0
je 0x442885
call fcn.004409b0
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x4a8]
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
mov eax, dword [ebp - 0x4a8]
test eax, eax
je 0x442af0
add eax, 0xff
cdq
and edx, 0xff
lea ecx, [edx + eax]
mov eax, dword [0x4a7b6c]
sar ecx, 8
shl ecx, 0xa
add eax, 0x284
add ecx, 8
push eax
push ecx
call fcn.00427ab0
add esp, 8
test eax, eax
je 0x442b6a
mov eax, dword [0x4a7b6c]
mov dword [ebp - 0x458], 0
mov ecx, dword [eax + 0x284]
mov eax, dword [ebp - 0x4a8]
mov dword [ebp - 0x48c], ecx
mov dword [ecx], eax
mov dword [ecx + 4], 0x100
test eax, eax
jle 0x442af0
xor eax, eax
push eax
mov dword [ebp - 0x440], eax
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x444]
push eax
push edi
call ebx
test eax, eax
je 0x442af0
cmp dword [ebp - 0x430], 4
jb 0x442af0
mov esi, dword [ebp - 0x444]
test esi, esi
je 0x44299d
push esi
call fcn.00467d2e
add esp, 4
mov dword [ebp - 0x440], eax
test eax, eax
je 0x442b6a
push 0
lea ecx, [ebp - 0x430]
push ecx
push esi
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
mov eax, dword [ebp - 0x430]
cmp eax, dword [ebp - 0x444]
jb 0x442b6a
mov ecx, dword [ebp - 0x440]
mov esi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x48c]
mov dword [eax + esi*4 + 8], ecx
test ecx, ecx
je 0x442ae1
cmp dword [ecx + 4], 0xc
jne 0x442ae1
xor edx, edx
mov dword [ebp - 0x448], edx
cmp dword [ecx], edx
jle 0x442ae1
lea eax, [ecx + 8]
jmp 0x4429e0
mov esi, eax
lea eax, [esi + 2]
mov dword [ebp - 0x470], eax
jmp 0x4429f0
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4429f0
mov eax, dword [ecx + 4]
sub esi, dword [ebp - 0x470]
imul eax, edx
add eax, ecx
push 0
mov dword [ebp - 0x498], eax
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x444]
push eax
push edi
sar esi, 1
mov dword [ebp - 0x454], 0
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
mov eax, dword [ebp - 0x444]
test eax, eax
je 0x442a9d
add eax, eax
push eax
mov dword [ebp - 0x470], eax
call fcn.00467d2e
add esp, 4
mov dword [ebp - 0x454], eax
test eax, eax
je 0x442b6a
push 0
lea ecx, [ebp - 0x430]
push ecx
push dword [ebp - 0x470]
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
mov eax, dword [ebp - 0x444]
add eax, eax
cmp dword [ebp - 0x430], eax
jb 0x442b6a
mov ecx, dword [ebp - 0x498]
mov eax, dword [ebp - 0x454]
mov edx, dword [ebp - 0x448]
mov dword [ecx + esi*2 + 0xa], eax
mov eax, dword [ebp - 0x444]
mov dword [ecx + esi*2 + 0xe], eax
mov ecx, dword [ebp - 0x440]
inc edx
mov dword [ebp - 0x448], edx
lea eax, [ecx + 8]
cmp edx, dword [ecx]
jl 0x4429e0
mov esi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x48c]
inc esi
mov dword [ebp - 0x458], esi
cmp esi, dword [eax]
jl 0x442923
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x444]
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
mov edx, dword [0x4a7b70]
mov esi, dword [edx + 0x80]
mov ecx, esi
mov dword [ebp - 0x440], esi
movzx eax, word [ecx]
test ax, ax
je 0x442b3b
mov edi, edi
cwde
sub ecx, eax
movzx eax, word [ecx]
test ax, ax
jne 0x442b30
mov eax, dword [ebp - 0x444]
sub ecx, esi
cmp eax, ecx
je 0x442b7b
mov ebx, dword [ebp - 0x438]
mov esi, 5
jmp 0x440f1d
mov eax, dword [ebp - 0x458]
test eax, eax
je 0x442b6a
push eax
call fcn.00467cf6
add esp, 4
mov esi, dword [ebp - 0x434]
mov ebx, dword [ebp - 0x438]
jmp 0x440f1d
test eax, eax
je 0x442cd5
cmp word [esi], 0
je 0x442cd5
lea ecx, [ecx]
push 0
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [esi + 4]
push eax
push edi
call ebx
test eax, eax
je 0x442eda
cmp dword [ebp - 0x430], 2
jb 0x442eda
push 0
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [esi + 6]
push eax
push edi
call ebx
test eax, eax
je 0x442eda
cmp dword [ebp - 0x430], 2
jb 0x442eda
push 0
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [esi + 8]
push eax
push edi
call ebx
test eax, eax
je 0x442eda
cmp dword [ebp - 0x430], 2
jb 0x442eda
push 0
lea eax, [ebp - 0x430]
push eax
push 2
lea eax, [esi + 0xa]
push eax
push edi
call ebx
test eax, eax
je 0x442eda
cmp dword [ebp - 0x430], 2
jb 0x442eda
mov eax, dword [ebp - 0x440]
add esi, 0xe
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 2]
add ecx, eax
mov dword [ebp - 0x454], ecx
test ecx, ecx
jle 0x442cb4
lea esp, [esp]
push 0
lea eax, [ebp - 0x430]
push eax
push 1
lea eax, [esi + 0xa]
push eax
push edi
call ebx
test eax, eax
je 0x442eda
cmp dword [ebp - 0x430], 1
jb 0x442eda
push 0
lea eax, [ebp - 0x430]
push eax
push 1
lea eax, [esi + 0xb]
push eax
push edi
call ebx
test eax, eax
je 0x442eda
cmp dword [ebp - 0x430], 1
jb 0x442eda
movsx eax, word [esi]
add esi, eax
mov eax, dword [ebp - 0x454]
dec eax
mov dword [ebp - 0x454], eax
test eax, eax
jg 0x442c50
mov esi, dword [ebp - 0x440]
movsx eax, word [esi]
sub esi, eax
mov dword [ebp - 0x440], esi
cmp word [esi], 0
jne 0x442b90
mov edx, dword [0x4a7b70]
mov esi, dword [edx + 0x80]
cmp word [esi], 0
je 0x442d1b
movzx edx, byte [esi + 2]
lea ecx, [esi + 0xe]
test edx, edx
jle 0x442d10
lea esp, [esp]
cmp dword [ecx + 2], 0xfffffffa
jne 0x442d06
mov eax, dword [0x4a7b74]
mov ax, word [eax + 0xd0]
mov word [esi + 6], ax
movsx eax, word [ecx]
dec edx
add ecx, eax
test edx, edx
jg 0x442cf0
movsx eax, word [esi]
sub esi, eax
cmp word [esi], 0
jne 0x442ce1
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x4a0]
push eax
push edi
mov dword [ebp - 0x4a0], 0
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
cmp dword [ebp - 0x4a0], 0
je 0x442f23
mov eax, dword [0x4a7b74]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + 0x978]
mov eax, dword [0x4a7b70]
mov eax, dword [eax + 0x974]
test eax, eax
je 0x442b6a
push 0
lea ecx, [ebp - 0x430]
push ecx
push 8
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 8
jb 0x442b6a
mov ecx, dword [0x4a7b70]
mov eax, dword [ecx + 0x974]
cmp dword [eax], 0xd
jne 0x442f07
push 0
lea eax, [ebp - 0x430]
push eax
push 0xc
lea eax, [ebp - 0x428]
push eax
push edi
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 0xc
jb 0x442b6a
test esi, esi
je 0x442df3
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x54]
cmp eax, dword [ebp - 0x428]
je 0x442e1c
push dword [0x4a7b70]
call fcn.00420880
mov eax, dword [0x4a7b74]
push dword [ebp - 0x428]
mov eax, dword [eax + 0x4f4]
push dword [eax + 0x34]
call fcn.00433300
add esp, 0xc
mov esi, eax
mov eax, dword [0x4a7b74]
mov eax, dword [eax + 0x1c]
mov dword [eax + 0x978], esi
test esi, esi
je 0x442e3b
mov eax, dword [esi]
push dword [ebp - 0x424]
mov ecx, esi
call dword [eax + 0x38]
mov eax, dword [ebp - 0x420]
test eax, eax
je 0x442f14
mov dword [ebp - 0x44c], 0
jle 0x442f14
lea esp, [esp]
push 0
lea eax, [ebp - 0x430]
push eax
push 4
lea eax, [ebp - 0x440]
push eax
push edi
mov dword [ebp - 0x440], 0
call ebx
test eax, eax
je 0x442b6a
cmp dword [ebp - 0x430], 4
jb 0x442b6a
test esi, esi
je 0x442ec3
mov eax, dword [esi]
push dword [ebp - 0x44c]
mov ecx, esi
call dword [eax + 0x18]
sub eax, 0
je 0x442eb0
dec eax
je 0x442eea
dec eax
jne 0x442ec3
push dword [ebp - 0x440]
mov eax, dword [esi]
push dword [ebp - 0x44c]
mov ecx, esi
call dword [eax + 0x40]
mov eax, dword [ebp - 0x44c]
inc eax
mov dword [ebp - 0x44c], eax
cmp eax, dword [ebp - 0x420]
jl 0x442e60
jmp 0x442f14
mov ebx, dword [ebp - 0x438]
mov esi, 1
jmp 0x440f1d
movss xmm0, dword [ebp - 0x440]
mov eax, dword [esi]
push ecx
mov ecx, esi
movss dword [esp], xmm0
push dword [ebp - 0x44c]
call dword [eax + 0x44]
jmp 0x442ec3
test esi, esi
jne 0x442f14
push ecx
call fcn.00420880
add esp, 4
mov eax, dword [0x4a7b74]
mov eax, dword [eax + 0x1c]
mov byte [eax + 0x97c], 1
xor esi, esi
jmp 0x440f18
mov esi, 1
xor ebx, ebx
jmp 0x440f1d
mov ebx, esi
jmp 0x440f1d
call fcn.004680fb
int3