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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
push ebx
push esi
push edi
lea eax, [esp + 0x18]
mov esi, ecx
push 4
push eax
mov dword [esp + 0x28], esi
call fcn.0043e760
add esp, 8
lea ecx, [esp + 0x18]
push ecx
lea edx, [ebp + 8]
push edx
lea ecx, [esi + 0x14]
call fcn.0047b990
xor ebx, ebx
test eax, eax
je 0x4881f0
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
call edx
test eax, eax
je 0x487d29
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], ebx
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [ecx], 0xc000017c
je 0x489102
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea ecx, [esp + 0x10]
push 4
push ecx
call fcn.0043e760
add esp, 8
lea edx, [esp + 0x10]
mov edi, esi
push edx
lea eax, [ebp + 8]
add edi, 0x3c
push eax
mov ecx, edi
call fcn.0047bd00
test eax, eax
je 0x48800e
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 0xc]
cmp edx, dword [ecx + 8]
jbe 0x48800e
lea ecx, [esp + 0x28]
call fcn.00478040
lea ecx, [esp + 0x34]
call fcn.00478040
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 8]
xor ebx, ebx
cmp esi, dword [ebp + 0xc]
jae 0x487da8
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x28]
push eax
call edx
cmp eax, ebx
jne 0x487e0c
add esi, 1
cmp esi, edi
jb 0x487d88
xor ebx, ebx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x10]
sub eax, ebx
je 0x487fcc
sub eax, 1
je 0x487f74
sub eax, 1
je 0x487eea
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov dword [edx], ebx
lea ecx, [esp + 0x34]
mov dword [eax], 0xc000000d
call fcn.00478160
lea ecx, [esp + 0x28]
call fcn.00478160
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4890f2
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0x10], ebx
jmp 0x4890f2
cmp eax, 1
jne 0x487e4e
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], ebx
mov dword [ecx], 0x8000001a
lea ecx, [esp + 0x34]
call fcn.00478160
lea ecx, [esp + 0x28]
call fcn.00478160
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4890f2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0x10], ebx
jmp 0x4890f2
cmp dword [0x100a4968], ebx
je 0x487ead
push 0x10087e78
push eax
lea ecx, [esp + 0x8c]
call fcn.0043b250
push eax
push 0x10096000
push 0x100981e0
lea ecx, [esp + 0x70]
call fcn.00439e80
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00439f40
mov ecx, eax
call fcn.00438db0
lea ecx, [esp + 0x60]
call fcn.00438c70
lea ecx, [esp + 0x84]
call fcn.004250e0
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], ebx
mov dword [ecx], 0xc0000229
lea ecx, [esp + 0x34]
call fcn.00478160
lea ecx, [esp + 0x28]
call fcn.00478160
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4890f2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0x10], ebx
jmp 0x4890f2
cmp dword [esp + 0x30], ebx
mov eax, dword [ebp + 0x20]
mov dword [eax], ebx
je 0x487f00
lea ecx, [esp + 0x34]
call fcn.00478190
jmp 0x487f02
xor eax, eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
push ecx
mov ecx, dword [esp + 0x4c]
push eax
call fcn.00478880
mov edx, dword [ebp + 0x24]
lea ecx, [esp + 0x34]
mov dword [edx], eax
call fcn.00478160
lea ecx, [esp + 0x28]
call fcn.00478160
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4890f2
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0x10], ebx
jmp 0x4890f2
cmp dword [esp + 0x30], ebx
mov eax, dword [ebp + 0x20]
mov dword [eax], ebx
je 0x487f8c
lea ecx, [esp + 0x34]
call fcn.00478190
mov esi, eax
jmp 0x487f8e
xor esi, esi
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00478170
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
push esi
lea ecx, [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.00478740
jmp 0x487f40
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x2c]
mov dword [eax], ebx
call fcn.00478170
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
lea ecx, [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0x38]
call fcn.004786b0
jmp 0x487f40
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x488048
cmp eax, 2
je 0x488048
cmp eax, 1
je 0x488048
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], ebx
mov dword [ecx], 0xc000000d
lea ecx, [esp + 0x10]
call fcn.004497a0
lea ecx, [esp + 0x18]
call fcn.00478f30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea edx, [esp + 0x7c]
push edx
call fcn.00479140
mov esi, eax
mov eax, dword [esp + 0x14]
add esp, 4
cmp eax, ebx
je 0x48806b
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0x10], ebx
mov eax, dword [esi]
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x48807d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x7c]
cmp eax, ebx
je 0x48808d
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
lea eax, [esp + 0x14]
push 4
push eax
call fcn.0043e760
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov edx, dword [edx + 0x40]
add esp, 8
lea eax, [esp + 0x14]
push eax
call edx
mov esi, eax
cmp esi, ebx
je 0x488142
cmp dword [0x100a4968], ebx
je 0x488115
push 0x10087e78
push esi
lea ecx, [esp + 0x8c]
call fcn.0043b250
push eax
push 0x10095e7c
push 0x100981e0
lea ecx, [esp + 0x70]
call fcn.00439e80
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00439f40
mov ecx, eax
call fcn.00438db0
lea ecx, [esp + 0x60]
call fcn.00438c70
lea ecx, [esp + 0x84]
call fcn.004250e0
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and esi, 0xefffffff
mov dword [eax], ebx
mov dword [ecx], esi
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x487def
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], ebx
jmp 0x487def
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
add ecx, 0xc
call fcn.004498a0
lea ecx, [esp + 0x28]
call fcn.00478040
lea ecx, [esp + 0x34]
call fcn.00478040
xor esi, esi
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x28]
push eax
call edx
cmp eax, ebx
jne 0x488607
add esi, 1
cmp esi, dword [ebp + 0xc]
jbe 0x488167
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 8], ecx
lea edx, [esp + 0x10]
push edx
lea eax, [ebp + 8]
push eax
mov ecx, edi
call fcn.0047be30
mov eax, dword [ebp + 0x10]
sub eax, ebx
je 0x488785
sub eax, 1
je 0x48872d
sub eax, 1
je 0x4886a3
lea ecx, [esp + 0x34]
call fcn.00478160
lea ecx, [esp + 0x28]
call fcn.00478160
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x4881e0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4881f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
lea ecx, [esp + 0x28]
call fcn.0048ee80
push ebx
lea eax, [esp + 0x2c]
push eax
push ebx
push 0x40
push 0x10087394
lea ecx, [esp + 0xc0]
call fcn.00477e80
mov ecx, eax
call fcn.00478190
mov ecx, dword [ebp + 8]
push eax
push ecx
lea ecx, [esp + 0x138]
call fcn.00477e30
mov ecx, eax
call fcn.00478190
mov ecx, dword [esp + 0x28]
push eax
call fcn.0047e980
test eax, eax
je 0x488b12
lea ecx, [esp + 0x28]
call fcn.0048ee70
mov ecx, eax
call fcn.0048f390
test eax, eax
jne 0x488b52
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x2c]
call fcn.00474a90
lea eax, [esp + 0x10]
push 4
push eax
call fcn.0043e760
mov ecx, dword [esp + 0x28]
add esp, 8
lea edx, [esp + 0x10]
push edx
lea eax, [ebp + 8]
add ecx, 0x60
push eax
call fcn.0047bd00
test eax, eax
jne 0x4889ec
jmp 0x4882a0
mov edx, dword [ebp + 8]
lea ecx, [esp + 0xc8]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
call fcn.004809f0
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x48]
call eax
mov ecx, dword [ebp + 0x10]
push eax
push ecx
lea edx, [esp + 0xcc]
push edx
call fcn.00479ab0
mov esi, eax
mov eax, dword [esp + 0x24]
add esp, 0x14
cmp eax, ebx
je 0x488309
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0x10], ebx
mov esi, dword [esi]
cmp esi, ebx
mov dword [esp + 0x10], esi
je 0x48831b
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov eax, dword [esp + 0xbc]
cmp eax, ebx
je 0x488335
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0xbc], ebx
lea ecx, [esp + 0x24]
push 4
push ecx
call fcn.0043e760
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x60]
add esp, 8
lea eax, [esp + 0x24]
push eax
push 2
call edx
mov esi, eax
cmp esi, ebx
jne 0x488b60
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
jmp 0x488370
lea ecx, [esp + 0x74]
call fcn.00478040
lea eax, [esp + 0x1c]
push 4
push eax
call fcn.0043e760
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
add esp, 8
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x7c]
push eax
call edx
mov esi, eax
cmp esi, ebx
jne 0x488837
cmp dword [esp + 0xdc], ebx
jne 0x4887c7
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
call edx
test eax, eax
jne 0x4883da
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
call edx
test eax, eax
je 0x4883eb
lea eax, [esp + 0x74]
mov ecx, eax
push eax
push ecx
lea ecx, [esp + 0x68]
call fcn.00479900
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
test eax, eax
je 0x4885e5
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
test eax, eax
jne 0x4885e5
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x70]
lea eax, [esp + 0x70]
push eax
call edx
lea eax, [esp + 0x6c]
push 4
push eax
call fcn.0043e760
mov eax, dword [esp + 0x78]
mov esi, dword [eax]
add esp, 8
lea ecx, [esp + 0x6c]
push ecx
push 0x20019
push 0x10087394
lea ecx, [esp + 0x90]
mov edi, eax
add esi, 0x10
call fcn.00477e80
mov ecx, eax
call fcn.00478190
mov edx, dword [esi]
push eax
mov ecx, edi
call edx
mov esi, eax
cmp esi, ebx
jne 0x488c05
lea ecx, [esp + 0xe0]
call fcn.00478040
lea ecx, [esp + 0xec]
call fcn.00478040
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
lea edx, [esp + 0xe0]
push edx
call eax
mov esi, eax
cmp esi, ebx
jne 0x488cac
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0xe4]
call fcn.00478140
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
cmp eax, ebx
mov dword [esp + 0xe8], eax
je 0x4884f6
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0xd4]
push eax
call edx
push eax
lea ecx, [esp + 0xf0]
call fcn.00478140
lea ecx, [esp + 0xd4]
call fcn.00478160
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0x14], ecx
lea esi, [eax + 0x14]
mov edi, eax
jne 0x488516
add ecx, 0x100
push ecx
lea ecx, [eax + 0xc]
call fcn.00479660
mov eax, dword [esi]
lea ecx, [eax + 1]
lea edx, [eax*8]
mov dword [esi], ecx
sub edx, eax
mov eax, dword [edi + 0xc]
lea ecx, [esp + 0xe0]
lea esi, [eax + edx*8]
push ecx
mov ecx, esi
call fcn.00478140
mov edx, dword [esp + 0xe8]
lea eax, [esp + 0xec]
push eax
lea ecx, [esi + 0xc]
mov dword [esi + 8], edx
call fcn.00478140
mov ecx, dword [esp + 0xf8]
mov dword [esi + 0x18], ecx
mov edx, dword [esp + 0xfc]
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 0x100]
mov dword [esi + 0x20], eax
mov ecx, dword [esp + 0x104]
mov dword [esi + 0x24], ecx
mov edx, dword [esp + 0x108]
mov dword [esi + 0x28], edx
mov eax, dword [esp + 0x10c]
mov dword [esi + 0x2c], eax
mov ecx, dword [esp + 0x110]
mov dword [esi + 0x30], ecx
mov edx, dword [esp + 0x114]
lea ecx, [esp + 0xec]
mov dword [esi + 0x34], edx
call fcn.00478160
lea ecx, [esp + 0xe0]
call fcn.00478160
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x4885d1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x4885e5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x4885f9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0x74]
call fcn.00478160
jmp 0x488370
cmp eax, 1
jne 0x488631
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], ebx
mov dword [ecx], 0x8000001a
lea ecx, [esp + 0x34]
call fcn.00478160
lea ecx, [esp + 0x28]
call fcn.00478160
jmp 0x488125
cmp dword [0x100a4968], ebx
je 0x488690
push 0x10087e78
push eax
lea ecx, [esp + 0x8c]
call fcn.0043b250
push eax
push 0x10095e7c
push 0x100981e0
lea ecx, [esp + 0x70]
call fcn.00439e80
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00439f40
mov ecx, eax
call fcn.00438db0
lea ecx, [esp + 0x60]
call fcn.00438c70
lea ecx, [esp + 0x84]
call fcn.004250e0
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], ebx
mov dword [ecx], 0xc0000229
jmp 0x48861a
cmp dword [esp + 0x30], ebx
mov eax, dword [ebp + 0x20]
mov dword [eax], ebx
je 0x4886b9
lea ecx, [esp + 0x34]
call fcn.00478190
jmp 0x4886bb
xor eax, eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
push ecx
mov ecx, dword [esp + 0x4c]
push eax
call fcn.00478880
mov edx, dword [ebp + 0x24]
lea ecx, [esp + 0x34]
mov dword [edx], eax
call fcn.00478160
lea ecx, [esp + 0x28]
call fcn.00478160
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x487def
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], ebx
jmp 0x487def
cmp dword [esp + 0x30], ebx
mov eax, dword [ebp + 0x20]
mov dword [eax], ebx
je 0x488745
lea ecx, [esp + 0x34]
call fcn.00478190
mov esi, eax
jmp 0x488747
xor esi, esi
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00478170
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
push esi
lea ecx, [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.00478740
jmp 0x4886f9
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x2c]
mov dword [eax], ebx
call fcn.00478170
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
lea ecx, [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0x38]
call fcn.004786b0
jmp 0x4886f9
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x4887db
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0x74]
call fcn.00478160
lea ecx, [esp + 0x60]
call fcn.00479a00
lea ecx, [esp + 0x60]
call fcn.00479a00
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x488812
mov edi, edi
mov esi, dword [eax + 4]
push eax
call fcn.00422000
add esp, 4
cmp esi, ebx
mov eax, esi
jne 0x488800
mov eax, dword [esp + 0x24]
cmp eax, ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
je 0x4882a0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x24], ebx
jmp 0x4882a0
cmp esi, 1
jne 0x488e6d
lea ecx, [esp + 0x1c]
call fcn.00478f30
lea ecx, [esp + 0x74]
call fcn.00478160
xor ebx, ebx
lea edi, [esi + 3]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], ebx
cmp dword [esp + 0x98], edi
jae 0x48889c
push ebx
call fcn.0043e950
add esp, 4
test edi, edi
jne 0x48888a
xor ebx, ebx
jmp 0x488895
push edi
call fcn.0043e800
add esp, 4
mov ebx, eax
mov dword [esp + 0x94], ebx
mov ecx, dword [0x100a4870]
mov edx, dword [esp + 0x80]
lea eax, [esp + 0x11c]
push eax
mov eax, dword [ebp + 8]
push edi
push ebx
push 0
add ecx, 0x75c
push edx
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0xb0], edi
call eax
call eax
mov esi, eax
test esi, esi
je 0x4888f5
cmp esi, 0xc0000023
je 0x4888ea
cmp esi, 0x80000005
jne 0x488990
add edi, 0x100
jmp 0x488870
mov ecx, dword [ebx + 0xc]
shr ecx, 1
push ecx
lea edx, [ebx + 0x10]
push edx
lea ecx, [esp + 0xac]
call fcn.00478050
lea ecx, [esp + 0x9c]
call fcn.00478040
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x68]
call fcn.00478ff0
lea ecx, [esp + 0x9c]
mov esi, eax
call fcn.00478160
test esi, esi
jne 0x488982
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x1c]
cmp dword [eax + 0x20], ecx
lea esi, [eax + 0x20]
mov dword [esp + 0xd0], eax
jne 0x488967
add ecx, 0x100
push ecx
lea ecx, [eax + 0x18]
call fcn.00478e60
mov eax, dword [esi]
mov ecx, dword [esp + 0xd0]
lea edx, [eax + 1]
mov dword [esi], edx
mov edx, dword [ecx + 0x18]
mov ecx, dword [esp + 0x80]
mov dword [edx + eax*4], ecx
lea ecx, [esp + 0xa4]
call fcn.00478160
jmp 0x4889a4
cmp esi, 0x8000001a
jne 0x488d3e
mov dword [esp + 0x7c], 0
add dword [esp + 0x80], 1
cmp dword [esp + 0x7c], 0
jne 0x488870
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x10]
push edx
lea eax, [ebp + 8]
push eax
add ecx, 0x60
call fcn.0047be30
lea ecx, [esp + 0x94]
call fcn.00424680
lea ecx, [esp + 0x60]
call fcn.0047a820
lea ecx, [esp + 0x24]
call fcn.00478f30
xor ebx, ebx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x48]
mov esi, dword [esp + 0x10]
call eax
cmp eax, dword [esi + 0x24]
mov edi, dword [esp + 0x20]
jle 0x488a1a
lea ecx, [ebp + 8]
push ecx
lea ecx, [edi + 0x60]
call fcn.0044be80
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x488a7b
jmp 0x488a6f
mov ecx, dword [ebp + 8]
lea eax, [esp + 0xc0]
push eax
push ecx
mov ecx, edi
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
call fcn.004809f0
test eax, eax
mov edx, dword [esp + 0x10]
je 0x488ee7
mov ecx, dword [esp + 0xc0]
cmp ecx, dword [edx + 0x28]
mov esi, dword [esp + 0xc4]
lea eax, [edx + 0x28]
jne 0x488a66
cmp esi, dword [eax + 4]
je 0x488ee7
mov dword [eax], ecx
mov dword [eax + 4], esi
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x488a8f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x488aa3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x488ab7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x28]
call fcn.00478160
lea ecx, [esp + 0x28]
call fcn.0048ee80
push ebx
lea eax, [esp + 0x2c]
push eax
push ebx
push 0x40
push 0x10087394
lea ecx, [esp + 0xc0]
call fcn.00477e80
mov ecx, eax
call fcn.00478190
mov ecx, dword [ebp + 8]
push eax
push ecx
lea ecx, [esp + 0x138]
call fcn.00477e30
mov ecx, eax
call fcn.00478190
push eax
mov ecx, edi
call fcn.0047e980
test eax, eax
jne 0x488244
cmp dword [0x100a4968], ebx
je 0x488b44
push 0x10095ba4
push 0x100981e0
lea ecx, [esp + 0x68]
call fcn.00439e80
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00438db0
lea ecx, [esp + 0x60]
call fcn.00438c70
mov edx, dword [ebp + 0x20]
mov dword [edx], 1
jmp 0x4890c1
mov eax, dword [ebp + 0x20]
mov dword [eax], 1
jmp 0x4890c1
cmp dword [0x100a4968], ebx
je 0x488bbf
push 0x10087e78
push esi
lea ecx, [esp + 0x8c]
call fcn.0043b250
push eax
push 0x100981b8
push 0x100981e0
lea ecx, [esp + 0x70]
call fcn.00439e80
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00439f40
mov ecx, eax
call fcn.00438db0
lea ecx, [esp + 0x60]
call fcn.00438c70
lea ecx, [esp + 0x84]
call fcn.004250e0
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and esi, 0xefffffff
mov dword [eax], ebx
mov dword [ecx], esi
lea ecx, [esp + 0x24]
call fcn.00478f30
lea ecx, [esp + 0x10]
call fcn.004497a0
lea ecx, [esp + 0x14]
call fcn.00478f30
lea ecx, [esp + 0x28]
call fcn.004795d0
lea ecx, [esp + 0x18]
call fcn.00478f30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
cmp dword [0x100a4968], ebx
je 0x488c6a
push 0x10087e78
push esi
lea ecx, [esp + 0xb4]
call fcn.0043b250
push eax
push 0x10098184
push 0x100981e0
lea ecx, [esp + 0x94]
call fcn.00439e80
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00439f40
mov ecx, eax
call fcn.00438db0
lea ecx, [esp + 0x84]
call fcn.00438c70
lea ecx, [esp + 0xac]
call fcn.004250e0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and esi, 0xefffffff
mov dword [edx], ebx
mov dword [eax], esi
lea ecx, [esp + 0x6c]
call fcn.00478f30
lea ecx, [esp + 0x70]
call fcn.00478f30
lea ecx, [esp + 0x1c]
call fcn.00478f30
lea ecx, [esp + 0x74]
call fcn.00478160
lea ecx, [esp + 0x60]
call fcn.0047a820
jmp 0x488bcf
cmp dword [0x100a4968], ebx
je 0x488d11
push 0x10087e78
push esi
lea ecx, [esp + 0xb4]
call fcn.0043b250
push eax
push 0x1009814c
push 0x100981e0
lea ecx, [esp + 0x94]
call fcn.00439e80
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00439f40
mov ecx, eax
call fcn.00438db0
lea ecx, [esp + 0x84]
call fcn.00438c70
lea ecx, [esp + 0xac]
call fcn.004250e0
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov dword [ecx], ebx
and esi, 0xefffffff
lea ecx, [esp + 0xec]
mov dword [edx], esi
call fcn.00478160
lea ecx, [esp + 0xe0]
call fcn.00478160
jmp 0x488c7a
cmp dword [0x100a4968], 0
je 0x488db0
push 0x10087e78
push esi
lea ecx, [esp + 0xb4]
call fcn.00439f80
push eax
push 0x10098100
push 0x100981e0
lea ecx, [esp + 0x94]
call fcn.00439e80
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00439f40
mov ecx, eax
call fcn.00438db0
lea ecx, [esp + 0x84]
call fcn.00438c70
mov eax, dword [esp + 0xb0]
xor edi, edi
cmp eax, edi
je 0x488db2
push eax
call fcn.0043e950
add esp, 4
jmp 0x488db2
xor edi, edi
cmp ebx, edi
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], edi
mov dword [ecx], esi
je 0x488dc9
push ebx
call fcn.0043e950
add esp, 4
lea ecx, [esp + 0x60]
call fcn.00479a00
lea ecx, [esp + 0x60]
call fcn.00479a00
mov eax, dword [esp + 0x60]
cmp eax, edi
je 0x488df5
mov esi, dword [eax + 4]
push eax
call fcn.00422000
add esp, 4
cmp esi, edi
mov eax, esi
jne 0x488de3
mov eax, dword [esp + 0x24]
cmp eax, edi
je 0x488e09
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x488e1d
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x488e31
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x44]
cmp eax, edi
je 0x488e45
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x30]
cmp eax, edi
je 0x488e59
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x30], edi
lea ecx, [esp + 0x28]
call fcn.00478160
mov eax, dword [esp + 0x18]
cmp eax, edi
jmp 0x4890f8
cmp dword [0x100a4968], ebx
je 0x488ed2
push 0x10087e78
push esi
lea ecx, [esp + 0xb4]
call fcn.0043b250
push eax
push 0x10095f34
push 0x100981e0
lea ecx, [esp + 0x94]
call fcn.00439e80
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00438db0
mov ecx, eax
call fcn.00439f40
mov ecx, eax
call fcn.00438db0
lea ecx, [esp + 0x84]
call fcn.00438c70
lea ecx, [esp + 0xac]
call fcn.004250e0
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and esi, 0xefffffff
mov dword [eax], ebx
mov dword [ecx], esi
jmp 0x488c8c
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp + 0xc]
cmp ecx, eax
jae 0x489035
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [edx + 0xc]
lea esi, [ecx + eax*8]
mov eax, dword [ebp + 0x10]
sub eax, ebx
je 0x488ff9
sub eax, 1
je 0x488fa7
sub eax, 1
mov eax, dword [ebp + 0x20]
mov dword [eax], ebx
je 0x488f30
mov ecx, dword [ebp + 0x24]
mov dword [ecx], 0xc000000d
jmp 0x4890a1
cmp dword [esi + 8], ebx
je 0x488f3f
lea ecx, [esi + 0xc]
call fcn.00478190
jmp 0x488f41
xor eax, eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esi + 0x34]
push ecx
mov ecx, dword [esi + 0x30]
push edx
mov edx, dword [esi + 0x2c]
push ecx
mov ecx, dword [esi + 0x28]
push edx
mov edx, dword [esi + 0x24]
push ecx
mov ecx, dword [esi + 0x20]
push edx
mov edx, dword [esi + 0x1c]
push ecx
mov ecx, dword [esi + 0x18]
push edx
push ecx
push eax
mov ecx, edi
call fcn.00478880
mov edx, dword [ebp + 0x24]
mov dword [edx], eax
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x488f8e
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x4890c1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x4890bd
mov eax, dword [ebp + 0x20]
mov dword [eax], ebx
cmp dword [esi + 8], ebx
je 0x488fbd
lea ecx, [esi + 0xc]
call fcn.00478190
mov edi, eax
jmp 0x488fbf
xor edi, edi
lea ecx, [esp + 0xac]
push ecx
mov ecx, esi
call fcn.00478170
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esi + 0x1c]
push eax
mov eax, dword [esi + 0x18]
push ecx
push edx
push eax
push edi
lea ecx, [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.00478740
jmp 0x488f75
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xd4]
push ecx
mov ecx, esi
mov dword [eax], ebx
call fcn.00478170
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esi + 0x1c]
push eax
mov eax, dword [esi + 0x18]
push ecx
push edx
push eax
lea ecx, [esp + 0xe8]
push ecx
mov ecx, edi
call fcn.004786b0
jmp 0x488f75
sub ecx, eax
mov eax, ecx
cmp eax, dword [edx + 0x20]
jae 0x489093
mov ecx, dword [ebp + 0x20]
mov dword [ecx], ebx
mov edx, dword [edx + 0x18]
mov ecx, dword [0x100a4870]
lea eax, [edx + eax*4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [eax]
push edx
mov edx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 8]
add ecx, 0x75c
push eax
mov eax, dword [ecx]
push edx
mov edx, dword [eax + 0x24]
call edx
call eax
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x488f8e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
jmp 0x488f8a
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], ebx
mov dword [ecx], 0x8000001a
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
push edx
call ecx
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov dword [esp + 0x10], ebx
je 0x4890c1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x44]
cmp eax, ebx
je 0x4890d5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x4890e9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x28]
call fcn.00478160
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x489102
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20