Function at 0x4479f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c4
mov ecx, dword [0x48f174]
mov dl, byte [0x7f0ac4]
or eax, 0xffffffff
mov dword [esp + 4], eax
mov dword [esp + 0x20], eax
mov eax, dword [0x48f170]
push ebx
xor ebx, ebx
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x1c]
cmp eax, 2
push esi
push edi
mov dword [esp + 0x20], 0xff
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], ebx
mov byte [esp + 0x27], dl
jne 0x447a48
mov byte [0x7f0ac4], al
jmp 0x447a52
cmp eax, 1
jne 0x447a52
mov dword [0x8015f0], eax
lea eax, [esp + 0x80]
push 0xc8
push eax
call fcn.004015a0
lea ecx, [esp + 0x218]
push 0xc8
push ecx
call fcn.004015a0
lea edx, [esp + 0x368]
push 0xc8
push edx
call fcn.004015a0
lea eax, [esp + 0x438]
push 0xc8
push eax
call fcn.004015a0
lea ecx, [esp + 0x168]
push 0xc8
push ecx
call fcn.004015a0
mov edx, dword [0x48f174]
mov eax, dword [0x48f170]
mov ecx, dword [0x14435b8]
push edx
push eax
push ecx
lea edx, [esp + 0xb4]
push edx
lea eax, [esp + 0x778]
push eax
call fcn.0044b540
mov edx, dword [0x48f170]
mov esi, eax
mov eax, dword [0x14435b8]
mov ecx, 0x32
lea edi, [esp + 0xbc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
push ecx
push edx
push eax
lea ecx, [esp + 0x258]
push ecx
lea edx, [esp + 0x534]
push edx
call fcn.0044b540
mov edx, dword [0x14435b8]
add esp, 0x50
mov esi, eax
mov eax, dword [0x48f174]
push eax
mov ecx, 0x32
lea edi, [esp + 0x214]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f170]
push ecx
push edx
lea eax, [esp + 0x364]
push eax
lea ecx, [esp + 0x5c0]
push ecx
call fcn.0044b540
mov edx, dword [0x48f174]
push edx
mov esi, eax
mov eax, dword [0x48f170]
push eax
mov ecx, 0x32
lea edi, [esp + 0x374]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x14435b8]
push ecx
lea edx, [esp + 0x440]
push edx
lea eax, [esp + 0x69c]
push eax
call fcn.0044b540
mov ecx, 0x32
mov esi, eax
lea edi, [esp + 0x448]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
mov edx, dword [0x48f170]
mov eax, dword [0x14435b8]
push ecx
push edx
push eax
lea ecx, [esp + 0x17c]
push ecx
lea edx, [esp + 0x840]
push edx
call fcn.0044b540
add esp, 0x3c
push ebx
push ebx
push ebx
sub esp, 0xc8
mov esi, eax
mov eax, dword [0x48f174]
mov ecx, 0x32
lea edi, [esp + 0x21c]
rep movsd dword es:[edi], dword [esi]
mov edi, esp
push eax
mov ecx, 0x32
mov esi, 0x14435b0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f170]
push ecx
push ebx
push ebx
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x22c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov eax, dword [0x48f174]
imul eax, dword [0x48f170]
add esp, 0x1ac
cmp dword [0xd69a80], 1
jne 0x447caf
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xc4]
push edx
push eax
call fcn.004015e0
mov ecx, dword [0x48f174]
imul ecx, dword [0x48f170]
mov edx, dword [esp + 0x110]
push ecx
push edx
call fcn.004015e0
mov eax, dword [0x48f174]
imul eax, dword [0x48f170]
mov ecx, dword [esp + 0x264]
lea eax, [eax + eax*2]
push eax
push ecx
call fcn.004015e0
mov edx, dword [0x48f174]
imul edx, dword [0x48f170]
mov eax, dword [esp + 0x2b0]
push edx
push eax
call fcn.004015e0
mov ecx, dword [0x48f174]
imul ecx, dword [0x48f170]
mov edx, dword [0x1449530]
push ecx
push edx
call fcn.004015e0
jmp 0x447d2b
mov ecx, dword [esp + 0xc4]
lea eax, [eax + eax*2]
push eax
push ecx
call fcn.004015a0
mov edx, dword [0x48f174]
imul edx, dword [0x48f170]
mov eax, dword [esp + 0x110]
push edx
push eax
call fcn.004015a0
mov eax, dword [0x48f174]
imul eax, dword [0x48f170]
mov edx, dword [esp + 0x264]
lea ecx, [eax + eax*2]
push ecx
push edx
call fcn.004015a0
mov eax, dword [0x48f174]
imul eax, dword [0x48f170]
mov ecx, dword [esp + 0x2b0]
push eax
push ecx
call fcn.004015a0
mov edx, dword [0x48f174]
imul edx, dword [0x48f170]
mov eax, dword [0x1449530]
push edx
push eax
call fcn.004015a0
mov edx, dword [esp + 0x64]
mov eax, 1
add esp, 0x28
sub esp, 0x10
xor ecx, ecx
mov dword [esp + 0x114], eax
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x1dc], eax
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 8], ecx
sub esp, 0xc8
mov dword [eax + 0xc], edx
mov ecx, 0x32
mov esi, 0x1449640
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0040a000
push 1
call fcn.0044fd60
mov dword [esp + 0xf0], ebx
add esp, 0xdc
mov ebx, 0x74e156
mov eax, 1
lea esp, [esp]
cmp byte [ebx + 0x216], 1
jne 0x447ff5
cmp dword [esp + 0x28], 0
jne 0x447dfa
cmp dword [0xd69a54], eax
mov dword [esp + 0x28], eax
jne 0x447dfa
mov eax, dword [0x74f6c4]
mov ecx, dword [0x74f6c8]
lea edx, [esp + 0x40]
push edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
call fcn.0044bdc0
push eax
call dword [0x47d2a4]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push 0x10
push 5
push eax
push ecx
call fcn.00450280
add esp, 0x10
movzx esi, word [ebx - 0xe]
movzx edx, word [ebx]
imul esi, esi, 0xc8
movzx eax, word [ebx - 2]
push 0
push edx
movzx edx, word [ebx + 6]
push eax
movzx eax, word [ebx - 8]
sub esp, 0xc8
mov edi, esp
add esi, 0x14434e8
mov ecx, 0x32
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [ebx + 8]
push ecx
movzx ecx, word [ebx - 0xa]
push edx
push eax
push ecx
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x22c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
movzx esi, word [ebx - 0xc]
movzx edx, word [ebx + 4]
imul esi, esi, 0xc8
movzx eax, word [ebx + 2]
add esp, 0x1ac
push 0
push edx
movzx edx, word [ebx + 0xa]
push eax
movzx eax, word [ebx - 4]
sub esp, 0xc8
mov edi, esp
add esi, 0x14434e8
mov ecx, 0x32
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [ebx + 0xc]
push ecx
movzx ecx, word [ebx - 6]
push edx
push eax
push ecx
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x3bc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
movzx ecx, word [ebx + 0x20e]
movzx edx, word [ebx - 0xa]
movzx esi, word [ebx + 0x210]
movzx edi, word [ebx - 8]
lea eax, [ecx + edx]
add esp, 0x1ac
mov dword [esp + 0x30], eax
push 0
lea eax, [esi + edi]
mov dword [esp + 0x38], eax
movzx eax, word [ebx + 6]
push 0
add eax, ecx
movzx ecx, word [ebx + 8]
push 1
add eax, edx
push 1
lea edx, [ebx + 0xe]
push edx
movzx edx, word [ebx + 0x20c]
push edx
add ecx, esi
mov esi, dword [esp + 0x48]
push 0x10101
push 0x969696
add ecx, edi
sub esp, 0x10
mov edx, esp
mov dword [edx], esi
mov esi, dword [esp + 0x64]
mov dword [edx + 4], esi
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
sub esp, 0xc8
lea eax, [esp + 0x3d0]
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x178]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0040d680
movzx ecx, word [ebx + 0x212]
movzx edx, word [ebx - 6]
movzx esi, word [ebx + 0x214]
movzx edi, word [ebx - 4]
lea eax, [ecx + edx]
add esp, 0xfc
mov dword [esp + 0x30], eax
lea eax, [esi + edi]
push 0
mov dword [esp + 0x38], eax
movzx eax, word [ebx + 0xa]
push 0
add eax, ecx
movzx ecx, word [ebx + 0xc]
push 1
add eax, edx
push 1
lea edx, [ebx + 0x10d]
push edx
movzx edx, word [ebx + 0x20c]
push edx
push 0x10101
add ecx, esi
mov esi, dword [esp + 0x4c]
push 0xffffff
sub esp, 0x10
mov edx, esp
mov dword [edx], esi
mov esi, dword [esp + 0x64]
add ecx, edi
mov dword [edx + 4], esi
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
sub esp, 0xc8
lea eax, [esp + 0x400]
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x308]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0040d680
mov ecx, dword [esp + 0x110]
add esp, 0xfc
add ecx, 1
mov dword [esp + 0x4c], ecx
mov eax, 1
add dword [esp + 0x14], eax
add ebx, 0x226
cmp ebx, 0x74f6d2
jl 0x447da0
cmp byte [0x7f0ac4], 1
jne 0x4482ff
cmp dword [ebp + 0x1c], 0
jne 0x4482ff
cmp dword [0xd69a38], 1
jne 0x44803d
mov edx, dword [0x74b15c]
mov ebx, dword [0x74b158]
mov dword [esp + 0x14], edx
jmp 0x44804c
mov eax, dword [0x74b154]
mov ebx, dword [0x74b150]
mov dword [esp + 0x14], eax
cmp byte [0x7f0de9], 1
jne 0x44829b
cmp byte [0x7f0de8], 0
jne 0x4481a0
mov ecx, dword [0x7f0ab4]
mov edx, dword [0x7f0ab8]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x7f0abc]
mov dword [eax + 4], edx
mov edx, dword [0x7f0ac0]
mov dword [eax + 8], ecx
sub esp, 0xc8
mov dword [eax + 0xc], edx
mov ecx, 0x32
mov esi, 0x1449640
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0040a000
mov ecx, dword [0x7f0dc8]
mov edx, dword [0x7f0dcc]
add esp, 0xc8
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x7f0dd0]
mov dword [eax + 4], edx
mov edx, dword [0x7f0dd4]
mov dword [eax + 8], ecx
sub esp, 0xc8
mov dword [eax + 0xc], edx
mov ecx, 0x32
mov esi, 0x1449640
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0040a000
mov eax, dword [esp + 0xec]
mov ecx, dword [0x7f0db8]
mov edx, dword [0x7f0dbc]
add esp, 0xd8
push 1
push 0x7f0deb
push 3
push eax
push ebx
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x7f0dc0]
mov dword [eax + 4], edx
mov edx, dword [0x7f0dc4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
sub esp, 0xc8
lea eax, [esp + 0x414]
mov edi, esp
mov ecx, 0x32
mov esi, 0x1449640
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0040cbc0
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x104]
add esp, 0xf0
push 1
push ecx
mov ecx, dword [0x7f0aa4]
push 0
push edx
mov edx, dword [0x7f0aa8]
push ebx
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x7f0aac]
mov dword [eax + 4], edx
mov edx, dword [0x7f0ab0]
mov dword [eax + 8], ecx
sub esp, 0xc8
mov dword [eax + 0xc], edx
lea eax, [esp + 0x3d4]
mov edi, esp
push eax
jmp 0x4482e8
mov ecx, dword [0x7f0dbc]
mov esi, dword [0x7f0db8]
mov edx, dword [0x7f0dc4]
mov edi, dword [0x7f0dc0]
push 1
push 0x7f0deb
push 3
push ebx
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], ecx
mov dword [esp + 0x54], ecx
mov ecx, edx
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x368]
mov dword [eax + 8], edi
push edx
mov dword [eax + 0xc], ecx
call fcn.0040d480
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [esp + 0x80], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x88], eax
add esp, 0x24
mov eax, edi
sub eax, esi
sub eax, edx
add eax, ecx
mov ecx, dword [esp + 0x14]
push 1
push 0x7f0deb
cdq
push 3
push ecx
mov ecx, dword [esp + 0x4c]
sub eax, edx
mov edx, dword [esp + 0x44]
push ebx
sar eax, 1
add esi, eax
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
sub esp, 0xc8
lea edx, [esp + 0x424]
mov edi, esp
mov ecx, 0x32
mov esi, 0x1449640
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.0040cbc0
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x104]
mov edx, dword [0x7f0aa4]
add esp, 0xf0
push 1
push eax
push 0
push ecx
mov ecx, dword [0x7f0aa8]
push ebx
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [0x7f0aac]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
lea edx, [esp + 0x33c]
jmp 0x4482d6
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [0x7f0aa4]
push 1
push eax
push 0
push ecx
mov ecx, dword [0x7f0aa8]
push ebx
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [0x7f0aac]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov byte [0x7f0deb], 0
lea edx, [esp + 0x31c]
mov ecx, dword [0x7f0ab0]
sub esp, 0xc8
mov edi, esp
push edx
mov dword [eax + 0xc], ecx
mov ecx, 0x32
mov esi, 0x1449640
rep movsd dword es:[edi], dword [esi]
call fcn.0040cbc0
add esp, 0xf0
or esi, 0xffffffff
lea eax, [esp + 0x50]
push esi
push eax
call fcn.0044fda0
lea ecx, [esp + 0x58]
push ecx
call fcn.0044fef0
mov eax, 1
add esp, 0xc
cmp dword [0x8014ec], eax
je 0x448592
cmp dword [0x8014f8], eax
je 0x448592
cmp dword [ebp + 0x18], esi
jne 0x448597
cmp dword [ebp + 0x10], 0
jne 0x448517
call dword [0x47d388]
mov edx, dword [0x48f174]
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
push edx
mov ebx, eax
mov eax, dword [0x48f170]
push eax
push 0
push 0
mov ecx, 0x32
lea esi, [esp + 0x164]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2f4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov edx, dword [0x48f170]
add esp, 0x1ac
push 0xff
push 0
push 0
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x21c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
push ecx
push edx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x5cc]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413eb0
add esp, 0x1ac
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x424]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0043cad0
add esp, 0xcc
call dword [0x47d388]
mov ecx, dword [0xd69a90]
sub eax, ebx
add ecx, eax
xor edx, edx
mov eax, 0x2bc
div ecx
mov ebx, eax
call fcn.0044a920
mov edx, dword [0x48f174]
mov eax, dword [0x48f170]
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
push edx
push eax
push 0
push 0
mov ecx, 0x32
lea esi, [esp + 0x22c]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14494a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
add esp, 0x1ac
call fcn.0044a940
mov edi, 1
cmp ebx, edi
mov dword [0x7d7f34], 0
jle 0x448517
mov dword [esp + 0x1c], 0x100
call dword [0x47d388]
mov esi, eax
mov eax, dword [esp + 0x1c]
cdq
idiv ebx
sub eax, 1
mov dword [0x7d7f34], eax
push 1
call dword [0x47d080]
mov ecx, dword [0x1069b78]
cmp ecx, 1
je 0x44858b
call fcn.004500c0
cmp eax, 1
je 0x448517
cmp dword [0xd69a8c], 1
jne 0x4484f5
lea edx, [esp + 0x78]
push 0xffffffffffffffff
push edx
call fcn.0044fda0
add esp, 8
test eax, eax
jne 0x448517
call dword [0x47d388]
mov ecx, dword [0xd69a90]
lea edx, [esi + ecx]
cmp edx, eax
jae 0x4484b8
add dword [esp + 0x1c], 0x100
add edi, 1
cmp edi, ebx
jl 0x4484a1
mov ecx, dword [0x8014ec]
mov edx, dword [0x8014f4]
mov eax, 0xff
mov dword [0x7d7f30], eax
mov dword [0x7d7f34], eax
xor eax, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x28], edx
mov dword [0x14b4a58], eax
mov dword [0x14b4a5c], eax
mov dword [0x14b4a60], eax
mov esi, dword [esp + 0x10]
xor edi, edi
cmp dword [0xd69a40], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x1c], edi
jne 0x4487db
push 0xd0
call fcn.004500e0
add esp, 4
cmp eax, 1
jne 0x44877c
cmp esi, 0xffffffff
jne 0x448746
xor esi, esi
jmp 0x448778
call fcn.0044bde0
jmp 0x448517
cmp dword [ebp + 0x18], esi
je 0x448517
mov eax, dword [0x48f174]
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
push eax
mov ecx, 0x32
lea esi, [esp + 0x158]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f170]
push ecx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2f4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov eax, dword [ebp + 0x18]
imul eax, eax, 0x226
movzx edx, word [eax + 0x74e152]
movzx ebx, word [eax + 0x74e150]
add esp, 0x1ac
push 0
push edx
push ebx
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x2e4]
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [eax + 0x74e162]
movzx eax, word [eax + 0x74e160]
push ecx
push eax
push edx
push ebx
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2f4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov edx, dword [0x48f174]
mov eax, dword [0x48f170]
mov ecx, dword [ebp + 0x18]
add esp, 0x1ac
push 0xff
push 0
push 0
sub esp, 0xc8
mov edi, esp
push edx
push eax
mov dword [esp + 0xfc], ecx
push 0
push 0
mov ecx, 0x32
lea esi, [esp + 0x22c]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14434e8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00413eb0
mov edx, dword [0x48f170]
add esp, 0x1ac
push 0
push 0
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
mov esi, 0x14434e8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
push ecx
push edx
push 0
push 0
call fcn.00453a30
mov eax, dword [0xd69a6c]
push eax
push 0
push 0
push 7
push 1
push str.SYS_OK
call fcn.0044a4b0
add esp, 0xf8
lea ecx, [esp + 0x14]
push 0xffffffffffffffff
push ecx
call fcn.0044fda0
lea edx, [esp + 0x1c]
push edx
call fcn.0044fef0
add esp, 0xc
cmp dword [0x8014ec], 1
je 0x448f6d
call fcn.004500c0
cmp eax, 1
je 0x448f6d
push 0x1f4
call dword [0x47d080]
mov eax, dword [0x1069b78]
cmp eax, 1
jne 0x448f6d
call fcn.0044bde0
jmp 0x448f6d
cmp esi, 0xa
jge 0x44877c
lea ecx, [esi + 1]
cmp ecx, 0xa
jge 0x44877c
mov eax, ecx
imul eax, eax, 0x226
add eax, 0x74e36c
cmp byte [eax], 1
je 0x448776
add eax, 0x226
add ecx, 1
cmp eax, 0x74f8e8
jl 0x448760
jmp 0x44877c
mov esi, ecx
mov dword [esp + 0x10], esi
push 0xc8
call fcn.004500e0
add esp, 4
cmp eax, 1
jne 0x448819
push eax
call fcn.0044fd60
add esp, 4
cmp esi, 0xffffffff
jne 0x4487ac
mov eax, dword [esp + 0x4c]
add eax, esi
mov dword [esp + 0x10], eax
jmp 0x448819
cmp esi, edi
jle 0x448819
lea eax, [esi - 1]
cmp eax, 0xa
jge 0x448819
mov ecx, eax
imul ecx, ecx, 0x226
add ecx, 0x74e36c
cmp byte [ecx], 1
je 0x4487a6
sub eax, 1
sub ecx, 0x226
cmp eax, 0xa
jl 0x4487c6
jmp 0x448819
push edi
call fcn.0044fd60
add esp, 4
cmp eax, 1
jne 0x448819
push eax
call fcn.0044fd60
push str._rank
call fcn.004306a0
add esp, 8
cmp eax, 0xffffffff
jne 0x44880f
push edi
push edi
push 1
push 7
call fcn.00445b60
add esp, 0x10
push 1
call fcn.0044fd60
add esp, 4
mov edi, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x14], esi
mov ebx, 0x74e15e
jmp 0x448830
cmp byte [ebx + 0x20e], 1
jne 0x448981
movzx eax, word [ebx - 0x10]
movzx edx, word [ebx]
movzx ecx, word [ebx - 0x12]
add edx, eax
push edx
movzx edx, word [ebx - 2]
add edx, ecx
push edx
push eax
mov eax, dword [ebp + 8]
push ecx
push eax
call fcn.00450060
add esp, 0x14
cmp eax, 1
jne 0x448981
cmp edi, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
jne 0x44887b
cmp edi, esi
je 0x44895c
mov ecx, dword [0xd69a6c]
push ecx
push 0
push 0
push 7
push 1
push str.SYS_OV
call fcn.0044a4b0
mov eax, dword [esp + 0x2c]
mov edx, dword [0x48f174]
add esp, 0x18
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
push edx
mov dword [esp + 0x104], eax
mov dword [esp + 0xe8], eax
mov eax, dword [0x48f170]
push eax
push 0
push 0
mov ecx, 0x32
lea esi, [esp + 0x164]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2f4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
movzx eax, word [ebx - 0xc]
movzx edx, word [ebx - 0xe]
add esp, 0x1ac
push 0
push eax
push edx
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x2e4]
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [ebx + 4]
push ecx
movzx ecx, word [ebx + 2]
push ecx
push eax
push edx
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2f4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov edi, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1c0]
add esp, 0x1ac
mov dword [esp + 0x1c], 1
movzx eax, word [ebx - 0xc]
movzx edx, word [ebx + 4]
movzx ecx, word [ebx - 0xe]
add edx, eax
push edx
movzx edx, word [ebx + 2]
add edx, ecx
push edx
push eax
push ecx
call fcn.00450000
add esp, 0x10
cmp eax, 1
je 0x44899c
add esi, 1
add ebx, 0x226
cmp ebx, 0x74f6da
mov dword [esp + 0x14], esi
jl 0x448830
jmp 0x4489ca
mov eax, dword [0xd69a6c]
push eax
push 0
push 0
push 7
push 1
push str.SYS_OK
call fcn.0044a4b0
lea ecx, [esp + 0x88]
push 0xffffffffffffffff
push ecx
call fcn.0044fda0
add esp, 0x20
mov dword [esp + 0x20], esi
cmp esi, 0xa
jne 0x448f6d
cmp dword [esp + 0x40], 0
jne 0x448dc8
cmp dword [0xd69a40], 0
jne 0x448b61
mov edi, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x14], esi
mov ebx, 0x74e162
lea ebx, [ebx]
cmp byte [ebx + 0x20a], 1
jne 0x448b0e
cmp edi, esi
jne 0x448b0e
cmp edi, dword [esp + 0x2c]
je 0x448aff
mov edx, dword [0xd69a6c]
push edx
push 0
push 0
push 7
push 1
push str.SYS_OV
call fcn.0044a4b0
mov eax, dword [esp + 0x2c]
add esp, 0x18
push 0
push 0
push 0
sub esp, 0xc8
mov edi, esp
mov dword [esp + 0x100], eax
mov dword [esp + 0xe4], eax
mov eax, dword [0x48f174]
push eax
mov ecx, 0x32
lea esi, [esp + 0x158]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f170]
push ecx
push 0
push 0
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2f4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
movzx eax, word [ebx - 0x10]
movzx edx, word [ebx - 0x12]
add esp, 0x1ac
push 0
push eax
push edx
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x2e4]
rep movsd dword es:[edi], dword [esi]
movzx ecx, word [ebx]
push ecx
movzx ecx, word [ebx - 2]
push ecx
push eax
push edx
sub esp, 0xc8
mov ecx, 0x32
lea esi, [esp + 0x2f4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov edi, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1c0]
add esp, 0x1ac
mov dword [esp + 0x1c], 1
push 0x1c
call fcn.004500e0
add esp, 4
cmp eax, 1
je 0x448b29
add esi, 1
add ebx, 0x226
cmp ebx, 0x74f6de
mov dword [esp + 0x14], esi
jl 0x448a00
jmp 0x448b58
mov edx, dword [0xd69a6c]
push edx
push 0
push 0
push 7
push 1
push str.SYS_OK
call fcn.0044a4b0
lea eax, [esp + 0x80]
push 0xffffffffffffffff
push eax
call fcn.0044fda0
add esp, 0x20
mov dword [esp + 0x20], esi
cmp esi, 0xa
jne 0x448f6d
cmp dword [esp + 0x1c], 1
jne 0x448bc6
call fcn.0044a920
mov eax, dword [0x11239ac]
mov edx, dword [0x11239a8]
push 0
push eax
push edx
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x21c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x11239b4]
push ecx
mov ecx, dword [0x11239b0]
push ecx
push eax
push edx
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14494a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
add esp, 0x1ac
call fcn.0044a940
cmp byte [0x7f0ac4], 0
je 0x448ecf
mov edx, dword [0x7f0db4]
mov eax, dword [0x7f0db0]
mov ecx, dword [0x7f0dac]
push edx
mov edx, dword [0x7f0da8]
push eax
push ecx
push edx
call fcn.0044bdc0
push eax
call fcn.00450060
add esp, 0x14
cmp eax, 1
jne 0x448c60
lea eax, [esp + 0x58]
push 0xffffffffffffffff
push eax
call fcn.0044fda0
add esp, 8
test eax, eax
je 0x448ecf
cmp byte [0x7f0dea], 1
jne 0x448ecf
cmp byte [0x7f0de9], 1
jne 0x448ecf
cmp dword [0xd69a64], 1
jne 0x448ecf
mov ecx, dword [0xd69a70]
push ecx
push 0
push 0
push 6
push 1
push 0x9cc188
call fcn.0044a4b0
add esp, 0x18
jmp 0x448ecf
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x28]
mov ebx, dword [ebp + 8]
push 1
push 0
push edx
push eax
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
mov esi, 0x14493e0
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
mov esi, 0x14493e0
push ebx
rep movsd dword es:[edi], dword [esi]
call fcn.00447270
add esp, 0x1a4
cmp eax, 0xfd
jg 0x448d0c
je 0x4490ad
cmp eax, 0xffffffff
je 0x448ccc
test eax, eax
jne 0x448ecf
mov dword [esp + 0x48], eax
mov dword [esp + 0x28], eax
jmp 0x448ecf
mov ecx, dword [0x1449934]
mov edx, dword [0x1449930]
mov eax, dword [0x7f0a98]
push ecx
mov ecx, dword [0x7f0a94]
push edx
push eax
push ecx
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
mov esi, 0x1449910
push ebx
rep movsd dword es:[edi], dword [esi]
call fcn.004519c0
add esp, 0xdc
jmp 0x448ecf
cmp eax, 0xfe
jne 0x448ecf
mov dword [esp + 0x20], eax
mov edx, dword [0x48f170]
push 0x80
xor ebx, ebx
push ebx
push ebx
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
mov esi, 0x14493e0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
push ecx
push edx
push ebx
push ebx
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14493e0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
lea eax, [esp + 0x22c]
push eax
mov dword [0x8015f0], ebx
mov dword [0x7d7f30], ebx
mov dword [0x7d7f34], ebx
call fcn.0044ca70
lea ecx, [esp + 0x3c0]
add esp, 0x1b0
push ecx
call fcn.0044ca70
lea edx, [esp + 0x35c]
push edx
call fcn.0044ca70
lea eax, [esp + 0x428]
push eax
call fcn.0044ca70
lea ecx, [esp + 0x154]
push ecx
call fcn.0044ca70
mov eax, dword [esp + 0x30]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x1c], 1
jne 0x448e81
call fcn.0044a920
mov edx, dword [0x48f170]
push 0x42
push 0x226
push 0
sub esp, 0xc8
mov edi, esp
push 0x32
push edx
push 0x226
push 0
mov ecx, 0x32
lea esi, [esp + 0x164]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14493e0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
mov eax, dword [0x11239ac]
mov edx, dword [0x11239a8]
add esp, 0x1ac
push 0
push eax
push edx
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
lea esi, [esp + 0x21c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x11239b4]
push ecx
mov ecx, dword [0x11239b0]
push ecx
push eax
push edx
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14494a8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
add esp, 0x1ac
call fcn.0044a940
jmp 0x448ecf
mov edx, dword [0x48f170]
push 0x42
push 0x226
push 0
sub esp, 0xc8
mov edi, esp
push 0x32
push edx
push 0x226
push 0
mov ecx, 0x32
lea esi, [esp + 0x164]
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14493e0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
add esp, 0x1ac
lea eax, [esp + 0x50]
push eax
call fcn.0044fef0
add esp, 4
cmp eax, 1
jne 0x448f26
cmp dword [0x801504], 0
je 0x448f26
cmp dword [0xd69a3c], 0
jne 0x448f1b
mov ecx, dword [0xd69af0]
push 0
push eax
push eax
push ecx
call fcn.00445b60
add esp, 0x10
test eax, eax
je 0x4490ad
cmp eax, 0x80
je 0x448d1b
jmp 0x448f26
cmp dword [ebp + 0x1c], 2
je 0x448f26
call fcn.00443980
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x48]
push 1
mov dword [0x8014ec], esi
mov dword [0x8014f4], edx
mov dword [0x8014f8], 0
call dword [0x47d080]
mov eax, dword [0x1069b78]
cmp eax, 1
je 0x4490a8
cmp dword [esp + 0x20], 0xff
je 0x44854b
cmp esi, 1
je 0x448fe2
cmp dword [ebp + 0x14], 0
jne 0x448fe2
mov esi, 0xf7
call dword [0x47d388]
mov edi, eax
call fcn.0044a920
mov dword [0x7d7f34], esi
call fcn.0044a940
push 1
call dword [0x47d080]
mov edx, dword [0x1069b78]
cmp edx, 1
je 0x4490a8
call fcn.004500c0
cmp eax, 1
je 0x448fe2
cmp dword [0xd69a8c], 1
jne 0x448fcd
lea eax, [esp + 0x30]
push 0xffffffffffffffff
push eax
call fcn.0044fda0
add esp, 8
test eax, eax
jne 0x448fe2
call dword [0x47d388]
lea ecx, [edi + 0xf]
cmp ecx, eax
jae 0x448f90
sub esi, 8
cmp esi, 0xffffffff
jg 0x448f78
mov edx, dword [0x48f170]
push 0x80
xor ebx, ebx
push ebx
push ebx
sub esp, 0xc8
mov edi, esp
mov ecx, 0x32
mov esi, 0x14493e0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x48f174]
push ecx
push edx
push ebx
push ebx
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14493e0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
lea eax, [esp + 0x22c]
push eax
mov dword [0x8015f0], ebx
mov dword [0x7d7f30], ebx
mov dword [0x7d7f34], ebx
call fcn.0044ca70
lea ecx, [esp + 0x3c0]
add esp, 0x1b0
push ecx
call fcn.0044ca70
lea edx, [esp + 0x35c]
push edx
call fcn.0044ca70
lea eax, [esp + 0x428]
push eax
call fcn.0044ca70
lea ecx, [esp + 0x154]
push ecx
call fcn.0044ca70
push 1
mov dword [0x8014ec], ebx
mov dword [0x8014f4], ebx
mov dword [0x8014f8], ebx
call fcn.0044fd60
mov eax, dword [esp + 0x34]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0044bde0
mov edx, dword [0x48f174]
mov eax, dword [0x48f170]
push 0x80
xor ebx, ebx
push ebx
push ebx
sub esp, 0xc8
mov edi, esp
push edx
push eax
push ebx
push ebx
mov ecx, 0x32
mov esi, 0x14493e0
rep movsd dword es:[edi], dword [esi]
sub esp, 0xc8
mov ecx, 0x32
mov esi, 0x14493e0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.004144a0
lea ecx, [esp + 0x22c]
push ecx
mov byte [0x7f0ac4], bl
mov dword [0x8015f0], ebx
mov dword [0x7d7f30], ebx
mov dword [0x7d7f34], ebx
call fcn.0044ca70
lea edx, [esp + 0x3c0]
add esp, 0x1b0
push edx
call fcn.0044ca70
lea eax, [esp + 0x35c]
push eax
call fcn.0044ca70
lea ecx, [esp + 0x428]
push ecx
call fcn.0044ca70
lea edx, [esp + 0x154]
push edx
call fcn.0044ca70
add esp, 0x10
cmp dword [ebp + 0x1c], 2
jne 0x449163
mov al, byte [esp + 0x27]
mov byte [0x7f0ac4], al
mov eax, 0x74e36c
jmp 0x449170
mov byte [eax], 0
add eax, 0x226
cmp eax, 0x74f8e8
jl 0x449170
pop edi
pop esi
mov eax, 0xff
pop ebx
mov esp, ebp
pop ebp
ret