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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xec
push ebx
push esi
push edi
lea eax, [esp + 0x10]
mov esi, ecx
push 4
push eax
mov dword [esp + 0x20], esi
call fcn.0043ef10
add esp, 8
lea ecx, [esp + 0x10]
push ecx
lea edx, [ebp + 8]
push edx
lea ecx, [esi + 0x14]
call fcn.0044d9c0
xor esi, esi
test eax, eax
je 0x488609
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
call edx
test eax, eax
je 0x488199
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov eax, dword [esp + 0x10]
cmp eax, esi
mov dword [ecx], 0xc000017c
je 0x4894ff
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 + 0xc]
push 4
push ecx
call fcn.0043ef10
mov ecx, dword [esp + 0x20]
add esp, 8
lea edx, [esp + 0xc]
push edx
lea eax, [ebp + 8]
add ecx, 0xb8
push eax
call fcn.0044e3d0
test eax, eax
je 0x48840a
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0xc]
cmp edx, dword [ecx + 8]
jbe 0x48840a
xor ebx, ebx
xor esi, esi
cmp dword [ebp + 0x10], esi
lea ecx, [esp + 0x34]
setne bl
call fcn.0047e320
mov eax, dword [esp + 0xc]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov edi, dword [eax + 8]
cmp edi, dword [ebp + 0xc]
jae 0x48823a
mov ecx, dword [ebp + 0xc]
add ecx, 0xffffffff
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0xc]
xor edx, edx
cmp edi, dword [esp + 0x74]
setne dl
sub edx, 1
and edx, ebx
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x30]
push eax
call edx
cmp eax, esi
jne 0x48828a
add edi, 1
cmp edi, dword [ebp + 0xc]
jb 0x488209
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x10]
sub eax, esi
je 0x4883c8
sub eax, 1
je 0x48837c
sub eax, 1
je 0x488349
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov dword [edx], esi
lea ecx, [esp + 0x30]
mov dword [eax], 0xc000000d
call fcn.0047fce0
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4882ba
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
jmp 0x4882b6
cmp eax, 1
jne 0x4882d7
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0x8000001a
lea ecx, [esp + 0x30]
call fcn.0047fce0
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4882ba
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x4894ff
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
cmp dword [0x100ccb64], esi
je 0x488336
push 0x100b0e60
push eax
lea ecx, [esp + 0x90]
call fcn.0043b840
push eax
push 0x100bfa44
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.0043a470
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.0043a530
mov ecx, eax
call fcn.004393c0
lea ecx, [esp + 0x20]
call fcn.00439280
lea ecx, [esp + 0x88]
call fcn.00425040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc0000229
jmp 0x48829d
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
mov dword [eax], esi
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
call fcn.0047f070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x48829d
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.0047e450
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0xc0]
push edx
call fcn.0047ef30
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x48829d
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.0047e450
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
lea eax, [esp + 0xd0]
push eax
call fcn.0047ee90
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x48829d
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x488444
cmp eax, 1
je 0x488444
cmp eax, 2
je 0x488444
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc000000d
lea ecx, [esp + 0xc]
call fcn.0047f300
lea ecx, [esp + 0x10]
call fcn.00474940
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea edx, [esp + 0x74]
push edx
call fcn.0047f550
mov edi, eax
mov eax, dword [esp + 0x10]
add esp, 4
cmp eax, esi
je 0x488467
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0xc], esi
mov eax, dword [edi]
cmp eax, esi
mov dword [esp + 0xc], eax
je 0x488479
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x74]
cmp eax, esi
je 0x488489
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
lea eax, [esp + 0x14]
push 4
push eax
call fcn.0043ef10
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
add esp, 8
lea eax, [esp + 0x14]
push eax
call edx
mov edi, eax
cmp edi, esi
je 0x48853e
cmp dword [0x100ccb64], esi
je 0x488511
push 0x100b0e60
push edi
lea ecx, [esp + 0x90]
call fcn.0043b840
push eax
push 0x100bf9c4
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.0043a470
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.0043a530
mov ecx, eax
call fcn.004393c0
lea ecx, [esp + 0x20]
call fcn.00439280
lea ecx, [esp + 0x88]
call fcn.00425040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x488278
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
jmp 0x488278
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x14]
push eax
add ecx, 0xc
call fcn.00449f90
xor ebx, ebx
cmp dword [ebp + 0x10], esi
lea ecx, [esp + 0x34]
setne bl
call fcn.0047e320
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
xor edi, edi
lea ebx, [ebx]
xor ecx, ecx
cmp edi, dword [ebp + 0xc]
lea eax, [esp + 0x30]
setne cl
push eax
sub ecx, 1
and ecx, ebx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
cmp eax, esi
jne 0x488901
add edi, 1
cmp edi, dword [ebp + 0xc]
jbe 0x488570
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x18]
mov dword [eax + 8], ecx
lea edx, [esp + 0xc]
push edx
lea eax, [ebp + 8]
push eax
lea ecx, [edi + 0xb8]
call fcn.00482210
mov eax, dword [ebp + 0x10]
sub eax, esi
je 0x488a2a
sub eax, 1
je 0x4889d7
sub eax, 1
je 0x48899d
lea ecx, [esp + 0x30]
call fcn.0047fce0
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4885f9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x488609
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x488619
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0x4c]
call fcn.004ac6f0
push esi
push esi
push esi
lea eax, [esp + 0x58]
push eax
push esi
push 0x40
push 0x100b0384
lea ecx, [esp + 0xa4]
call fcn.0047e160
mov ecx, eax
call fcn.004ae7c0
mov ecx, dword [ebp + 8]
push eax
push ecx
lea ecx, [esp + 0x50]
call fcn.0047e110
mov ecx, eax
call fcn.004ae7c0
mov ecx, dword [esp + 0x28]
push eax
call fcn.00485640
test eax, eax
je 0x488edf
lea ecx, [esp + 0x4c]
call fcn.004ac6e0
mov ecx, eax
call fcn.004ae9f0
test eax, eax
lea ecx, [esp + 0x4c]
jne 0x488f33
lea edx, [esp + 0x10]
push edx
call fcn.0047e020
lea eax, [esp + 0xc]
push 4
push eax
call fcn.0043ef10
mov ecx, dword [esp + 0x20]
add esp, 8
lea edx, [esp + 0xc]
push edx
lea eax, [ebp + 8]
add ecx, 0xdc
push eax
call fcn.0044e3d0
test eax, eax
jne 0x488d5f
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
lea ecx, [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], esi
call fcn.00487d60
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
push eax
push ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x5c]
call eax
push eax
lea ecx, [esp + 0xd8]
push ebx
push ecx
call fcn.004811c0
mov edi, eax
mov eax, dword [esp + 0x20]
add esp, 0x14
cmp eax, esi
je 0x48872a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0xc], esi
mov edi, dword [edi]
cmp edi, esi
mov dword [esp + 0xc], edi
je 0x48873c
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov eax, dword [esp + 0xcc]
cmp eax, esi
je 0x488756
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0xcc], esi
lea eax, [esp + 0x1c]
push 4
push eax
call fcn.0043ef10
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0x68]
add esp, 8
lea eax, [esp + 0x1c]
push eax
call edx
mov edi, eax
cmp edi, esi
jne 0x488f95
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
lea ecx, [esp + 0x78]
call fcn.0047e320
lea eax, [esp + 0x14]
push 4
push eax
call fcn.0043ef10
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
add esp, 8
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x80]
push eax
call edx
mov edi, eax
cmp edi, esi
jne 0x488b97
cmp dword [esp + 0xe4], esi
jne 0x488b24
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
test eax, eax
jne 0x4887f4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
call edx
test eax, eax
je 0x488805
lea eax, [esp + 0x78]
mov ecx, eax
push eax
push ecx
lea ecx, [esp + 0x28]
call fcn.00480160
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test eax, eax
je 0x488b02
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
test eax, eax
jne 0x488b02
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x2c]
push eax
call edx
lea ecx, [esp + 0x34]
call fcn.0047e320
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0xc8]
push edx
call eax
mov edi, eax
cmp edi, esi
jne 0x489031
cmp ebx, esi
mov ecx, dword [esp + 0x2c]
je 0x488a73
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x14]
lea eax, [esp + 0x9c]
push eax
call edx
mov edi, eax
cmp edi, esi
jne 0x4890d8
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x7c]
call fcn.0047e450
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xc8]
push ecx
push edx
push eax
lea ecx, [esp + 0xfc]
push ecx
lea ecx, [esp + 0x40]
call fcn.004ac9e0
mov eax, dword [esp + 0x9c]
cmp eax, esi
je 0x488abe
push eax
call fcn.0043f000
add esp, 4
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
jmp 0x488abe
cmp eax, 1
jne 0x488922
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0x8000001a
lea ecx, [esp + 0x30]
call fcn.0047fce0
jmp 0x488521
cmp dword [0x100ccb64], esi
je 0x488981
push 0x100b0e60
push eax
lea ecx, [esp + 0x90]
call fcn.0043b840
push eax
push 0x100bf98c
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.0043a470
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.0043a530
mov ecx, eax
call fcn.004393c0
lea ecx, [esp + 0x20]
call fcn.00439280
lea ecx, [esp + 0x88]
call fcn.00425040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc0000229
lea ecx, [esp + 0x30]
call fcn.0047fce0
jmp 0x488521
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
mov dword [eax], esi
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
mov ecx, edi
call fcn.0047f070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.0047fce0
jmp 0x488521
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.0047e450
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
lea edx, [esp + 0xc0]
push edx
mov ecx, edi
call fcn.0047ef30
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.0047fce0
jmp 0x488521
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.0047e450
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
push edx
lea eax, [esp + 0xd0]
push eax
mov ecx, edi
call fcn.0047ee90
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.0047fce0
jmp 0x488521
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0xe8]
push eax
call edx
mov edi, eax
cmp edi, esi
jne 0x48915e
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x7c]
call fcn.0047e450
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xc8]
push ecx
push edx
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x3c]
call fcn.004ac990
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x10]
call fcn.00480680
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x488ae5
push eax
call fcn.0043f000
add esp, 4
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x34]
call fcn.0047e440
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x488b02
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x488b16
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x78]
call fcn.0047e440
jmp 0x488787
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x488b38
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x78]
call fcn.0047e440
lea ecx, [esp + 0x20]
call fcn.00480310
lea ecx, [esp + 0x20]
call fcn.00480310
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x488b72
jmp 0x488b60
mov edi, dword [eax + 4]
push eax
call fcn.00422000
add esp, 4
cmp edi, esi
mov eax, edi
jne 0x488b60
mov eax, dword [esp + 0x1c]
cmp eax, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
je 0x4886c4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], esi
jmp 0x4886c4
cmp edi, 1
jne 0x4892d3
lea ecx, [esp + 0x14]
call fcn.00474940
lea ecx, [esp + 0x78]
call fcn.0047e440
lea ebx, [edi + 3]
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x74], edi
mov dword [esp + 0x98], esi
mov edi, edi
cmp dword [esp + 0x84], ebx
jae 0x488c06
mov eax, dword [esp + 0x80]
push eax
call fcn.0043f000
add esp, 4
cmp ebx, esi
jne 0x488bf6
mov dword [esp + 0x80], esi
jmp 0x488c06
push ebx
call fcn.0043f050
add esp, 4
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [0x100cca70]
lea edx, [esp + 0xec]
push edx
mov edx, dword [esp + 0x9c]
push ebx
push eax
mov eax, dword [ebp + 8]
push esi
add ecx, 0x7bc
push edx
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x9c], ebx
call eax
call eax
mov edi, eax
cmp edi, esi
je 0x488c65
cmp edi, 0xc0000023
je 0x488c5a
cmp edi, 0x80000005
jne 0x488d07
add ebx, 0x100
jmp 0x488bd0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 8]
shr ecx, 1
push ecx
add eax, 0xc
push eax
lea ecx, [esp + 0xb0]
call fcn.0047e330
lea ecx, [esp + 0xc0]
call fcn.0047e320
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x28]
call fcn.0047f450
lea ecx, [esp + 0xc0]
mov edi, eax
call fcn.0047e440
cmp edi, esi
jne 0x488cf9
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x1c]
cmp dword [eax + 0x20], ecx
lea edi, [eax + 0x20]
mov dword [esp + 0xa4], eax
jne 0x488cde
add ecx, 0x100
push ecx
lea ecx, [eax + 0x18]
call fcn.0047f1f0
mov eax, dword [edi]
mov edx, dword [esp + 0xa4]
lea ecx, [eax + 1]
mov dword [edi], ecx
mov ecx, dword [edx + 0x18]
mov edx, dword [esp + 0x98]
mov dword [ecx + eax*4], edx
lea ecx, [esp + 0xa8]
call fcn.0047e440
jmp 0x488d17
cmp edi, 0x8000001a
jne 0x4891d8
mov dword [esp + 0x74], esi
add dword [esp + 0x98], 1
cmp dword [esp + 0x74], esi
jne 0x488bd0
lea eax, [esp + 0xc]
push eax
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 0xdc
call fcn.00482210
lea ecx, [esp + 0x80]
call fcn.00424570
lea ecx, [esp + 0x20]
call fcn.004811a0
lea ecx, [esp + 0x1c]
call fcn.00474940
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x5c]
mov edi, dword [esp + 0xc]
call eax
cmp eax, dword [edi + 0x24]
jle 0x488de7
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0xdc
call fcn.00482340
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x488d9a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x488dae
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x64]
cmp eax, esi
je 0x488dc2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x54]
cmp eax, esi
je 0x488dd6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.0047e440
mov ebx, dword [ebp + 8]
jmp 0x488e8f
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xd8]
push eax
push ebx
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], esi
call fcn.00487d60
test eax, eax
mov edx, dword [esp + 0xc]
je 0x48934d
mov ecx, dword [esp + 0xd8]
cmp ecx, dword [edx + 0x28]
mov edi, dword [esp + 0xdc]
lea eax, [edx + 0x28]
jne 0x488e35
cmp edi, dword [eax + 4]
je 0x48934d
mov dword [eax], ecx
mov dword [eax + 4], edi
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov eax, dword [esp + 0x10]
cmp eax, esi
mov dword [esp + 0xc], esi
je 0x488e5e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x64]
cmp eax, esi
je 0x488e72
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x54]
cmp eax, esi
je 0x488e86
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.0047e440
lea ecx, [esp + 0x4c]
call fcn.004ac6f0
push esi
push esi
push esi
lea eax, [esp + 0x58]
push eax
push esi
push 0x40
push 0x100b0384
lea ecx, [esp + 0xa4]
call fcn.0047e160
mov ecx, eax
call fcn.004ae7c0
push eax
push ebx
lea ecx, [esp + 0x50]
call fcn.0047e110
mov ecx, eax
call fcn.004ae7c0
mov ecx, dword [esp + 0x28]
push eax
call fcn.00485640
test eax, eax
jne 0x48866c
cmp dword [0x100ccb64], esi
je 0x488f11
push 0x100bf6b8
push 0x100bfa00
lea ecx, [esp + 0x28]
call fcn.0043a470
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.004393c0
lea ecx, [esp + 0x20]
call fcn.00439280
mov eax, dword [esp + 0x64]
cmp eax, esi
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 1
je 0x4894e2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4894de
lea eax, [esp + 0xa4]
push eax
call fcn.0047e020
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x78]
call eax
mov edi, eax
mov eax, dword [esp + 0xa4]
cmp eax, esi
je 0x488f5e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp edi, 1
mov eax, dword [ebp + 0x20]
jne 0x488f8a
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov eax, dword [esp + 0x64]
cmp eax, esi
mov dword [ecx], 0xc0000034
je 0x4894e2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4894de
mov dword [eax], 1
jmp 0x4894ce
cmp dword [0x100ccb64], esi
je 0x488ff4
push 0x100b0e60
push edi
lea ecx, [esp + 0x90]
call fcn.0043b840
push eax
push 0x100bf964
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.0043a470
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.0043a530
mov ecx, eax
call fcn.004393c0
lea ecx, [esp + 0x20]
call fcn.00439280
lea ecx, [esp + 0x88]
call fcn.00425040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
lea ecx, [esp + 0x1c]
call fcn.00474940
lea ecx, [esp + 0xc]
call fcn.0047f300
lea ecx, [esp + 0x10]
call fcn.00474940
lea ecx, [esp + 0x4c]
call fcn.0047f5f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
cmp dword [0x100ccb64], esi
je 0x489096
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.0043b840
push eax
push 0x100bf930
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.0043a470
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.0043a530
mov ecx, eax
call fcn.004393c0
lea ecx, [esp + 0x88]
call fcn.00439280
lea ecx, [esp + 0xb0]
call fcn.00425040
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [edx], esi
mov dword [eax], edi
lea ecx, [esp + 0x30]
call fcn.0047fce0
lea ecx, [esp + 0x2c]
call fcn.00474940
lea ecx, [esp + 0x14]
call fcn.00474940
lea ecx, [esp + 0x78]
call fcn.0047e440
lea ecx, [esp + 0x20]
call fcn.004811a0
jmp 0x489004
cmp dword [0x100ccb64], esi
je 0x48913d
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.0043b840
push eax
push 0x100bf8fc
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.0043a470
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.0043a530
mov ecx, eax
call fcn.004393c0
lea ecx, [esp + 0x88]
call fcn.00439280
lea ecx, [esp + 0xb0]
call fcn.00425040
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov dword [ecx], esi
and edi, 0xefffffff
lea ecx, [esp + 0x9c]
mov dword [edx], edi
call fcn.00424570
jmp 0x4890a6
cmp dword [0x100ccb64], esi
je 0x4891c3
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.0043b840
push eax
push 0x100bf8c0
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.0043a470
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.0043a530
mov ecx, eax
call fcn.004393c0
lea ecx, [esp + 0x88]
call fcn.00439280
lea ecx, [esp + 0xb0]
call fcn.00425040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
jmp 0x4890a6
cmp dword [0x100ccb64], esi
je 0x489245
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.0043a570
push eax
push 0x100bf870
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.0043a470
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.0043a530
mov ecx, eax
call fcn.004393c0
lea ecx, [esp + 0x88]
call fcn.00439280
mov eax, dword [esp + 0xb4]
cmp eax, esi
je 0x489245
push eax
call fcn.0043f000
add esp, 4
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov dword [edx], esi
mov dword [eax], edi
mov eax, dword [esp + 0x80]
cmp eax, esi
je 0x489263
push eax
call fcn.0043f000
add esp, 4
lea ecx, [esp + 0x20]
call fcn.00480310
lea ecx, [esp + 0x20]
call fcn.00480310
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x489292
lea ecx, [ecx]
mov edi, dword [eax + 4]
push eax
call fcn.00422000
add esp, 4
cmp edi, esi
mov eax, edi
jne 0x489280
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x4892a6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4892ba
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 0xc]
call edx
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x4894ce
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x4894ca
cmp dword [0x100ccb64], esi
je 0x489338
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.0043b840
push eax
push 0x100bf844
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.0043a470
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.004393c0
mov ecx, eax
call fcn.0043a530
mov ecx, eax
call fcn.004393c0
lea ecx, [esp + 0x88]
call fcn.00439280
lea ecx, [esp + 0xb0]
call fcn.00425040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
jmp 0x4890b8
mov ecx, dword [edx + 0x14]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jae 0x48945c
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0xc]
lea edi, [eax + ecx*4]
mov eax, dword [ebp + 0x10]
sub eax, esi
je 0x489421
sub eax, 1
je 0x4893d9
sub eax, 1
je 0x489395
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov dword [ecx], esi
mov dword [eax], 0xc000000d
mov ecx, dword [edx]
push edx
jmp 0x4892b1
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
mov dword [eax], esi
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
push edx
push eax
mov eax, dword [edi + 0xc]
push ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.0047f070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4892ba
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
jmp 0x4892b6
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0x88]
push ecx
lea ecx, [edi + 4]
mov dword [eax], esi
call fcn.0047e450
mov edx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
push edx
mov edx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push edx
push eax
mov eax, dword [edi + 0xc]
push ecx
push eax
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x34]
call fcn.0047ef30
mov edx, dword [ebp + 0x24]
mov dword [edx], eax
jmp 0x4892a6
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [edi + 4]
mov dword [eax], esi
call fcn.0047e450
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [edi + 0xc]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
lea eax, [esp + 0xc0]
push eax
call fcn.0047ee90
jmp 0x4893bb
sub eax, ecx
cmp eax, dword [edx + 0x20]
jae 0x4894a0
mov ecx, dword [ebp + 0x20]
mov dword [ecx], esi
mov edx, dword [edx + 0x18]
mov ecx, dword [0x100cca70]
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 [ecx + 0x7bc]
add ecx, 0x7bc
push eax
mov eax, dword [edx + 0x24]
push ebx
call eax
call eax
jmp 0x4893bb
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0x8000001a
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
push edx
call ecx
mov eax, dword [esp + 0x10]
cmp eax, esi
mov dword [esp + 0xc], esi
je 0x4894ce
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x64]
cmp eax, esi
je 0x4894e2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x54]
cmp eax, esi
je 0x4894f6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.0047e440
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20