Function at 0x4ce120
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.00484f10
add esp, 8
lea ecx, [esp + 0x10]
push ecx
lea edx, [ebp + 8]
push edx
lea ecx, [esi + 0x14]
call fcn.004939c0
xor esi, esi
test eax, eax
je 0x4ce609
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
call edx
test eax, eax
je 0x4ce199
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 0x4cf4ff
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.00484f10
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.004943d0
test eax, eax
je 0x4ce40a
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0xc]
cmp edx, dword [ecx + 8]
jbe 0x4ce40a
xor ebx, ebx
xor esi, esi
cmp dword [ebp + 0x10], esi
lea ecx, [esp + 0x34]
setne bl
call fcn.004c4320
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 0x4ce23a
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 0x4ce28a
add edi, 1
cmp edi, dword [ebp + 0xc]
jb 0x4ce209
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x10]
sub eax, esi
je 0x4ce3c8
sub eax, 1
je 0x4ce37c
sub eax, 1
je 0x4ce349
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov dword [edx], esi
lea ecx, [esp + 0x30]
mov dword [eax], 0xc000000d
call fcn.004c5ce0
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4ce2ba
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
jmp 0x4ce2b6
cmp eax, 1
jne 0x4ce2d7
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0x8000001a
lea ecx, [esp + 0x30]
call fcn.004c5ce0
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4ce2ba
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 0x4cf4ff
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 0x4ce336
push 0x100b0e60
push eax
lea ecx, [esp + 0x90]
call fcn.00481840
push eax
push 0x100bfa44
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00480470
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.00480530
mov ecx, eax
call fcn.0047f3c0
lea ecx, [esp + 0x20]
call fcn.0047f280
lea ecx, [esp + 0x88]
call fcn.0046b040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc0000229
jmp 0x4ce29d
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.004c5070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x4ce29d
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.004c4450
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.004c4f30
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x4ce29d
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.004c4450
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.004c4e90
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x4ce29d
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x4ce444
cmp eax, 1
je 0x4ce444
cmp eax, 2
je 0x4ce444
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc000000d
lea ecx, [esp + 0xc]
call fcn.004c5300
lea ecx, [esp + 0x10]
call fcn.004ba940
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea edx, [esp + 0x74]
push edx
call fcn.004c5550
mov edi, eax
mov eax, dword [esp + 0x10]
add esp, 4
cmp eax, esi
je 0x4ce467
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 0x4ce479
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x74]
cmp eax, esi
je 0x4ce489
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
lea eax, [esp + 0x14]
push 4
push eax
call fcn.00484f10
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 0x4ce53e
cmp dword [0x100ccb64], esi
je 0x4ce511
push 0x100b0e60
push edi
lea ecx, [esp + 0x90]
call fcn.00481840
push eax
push 0x100bf9c4
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00480470
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.00480530
mov ecx, eax
call fcn.0047f3c0
lea ecx, [esp + 0x20]
call fcn.0047f280
lea ecx, [esp + 0x88]
call fcn.0046b040
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 0x4ce278
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
jmp 0x4ce278
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x14]
push eax
add ecx, 0xc
call fcn.0048ff90
xor ebx, ebx
cmp dword [ebp + 0x10], esi
lea ecx, [esp + 0x34]
setne bl
call fcn.004c4320
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 0x4ce901
add edi, 1
cmp edi, dword [ebp + 0xc]
jbe 0x4ce570
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.004c8210
mov eax, dword [ebp + 0x10]
sub eax, esi
je 0x4cea2a
sub eax, 1
je 0x4ce9d7
sub eax, 1
je 0x4ce99d
lea ecx, [esp + 0x30]
call fcn.004c5ce0
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4ce5f9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4ce609
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x4ce619
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0x4c]
call fcn.004f26f0
push esi
push esi
push esi
lea eax, [esp + 0x58]
push eax
push esi
push 0x40
push 0x100b0384
lea ecx, [esp + 0xa4]
call fcn.004c4160
mov ecx, eax
call fcn.004f47c0
mov ecx, dword [ebp + 8]
push eax
push ecx
lea ecx, [esp + 0x50]
call fcn.004c4110
mov ecx, eax
call fcn.004f47c0
mov ecx, dword [esp + 0x28]
push eax
call fcn.004cb640
test eax, eax
je 0x4ceedf
lea ecx, [esp + 0x4c]
call fcn.004f26e0
mov ecx, eax
call fcn.004f49f0
test eax, eax
lea ecx, [esp + 0x4c]
jne 0x4cef33
lea edx, [esp + 0x10]
push edx
call fcn.004c4020
lea eax, [esp + 0xc]
push 4
push eax
call fcn.00484f10
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.004943d0
test eax, eax
jne 0x4ced5f
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.004cdd60
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.004c71c0
mov edi, eax
mov eax, dword [esp + 0x20]
add esp, 0x14
cmp eax, esi
je 0x4ce72a
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 0x4ce73c
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov eax, dword [esp + 0xcc]
cmp eax, esi
je 0x4ce756
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.00484f10
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 0x4cef95
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
lea ecx, [esp + 0x78]
call fcn.004c4320
lea eax, [esp + 0x14]
push 4
push eax
call fcn.00484f10
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 0x4ceb97
cmp dword [esp + 0xe4], esi
jne 0x4ceb24
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
test eax, eax
jne 0x4ce7f4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
call edx
test eax, eax
je 0x4ce805
lea eax, [esp + 0x78]
mov ecx, eax
push eax
push ecx
lea ecx, [esp + 0x28]
call fcn.004c6160
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test eax, eax
je 0x4ceb02
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
test eax, eax
jne 0x4ceb02
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.004c4320
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 0x4cf031
cmp ebx, esi
mov ecx, dword [esp + 0x2c]
je 0x4cea73
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 0x4cf0d8
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x7c]
call fcn.004c4450
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.004f29e0
mov eax, dword [esp + 0x9c]
cmp eax, esi
je 0x4ceabe
push eax
call fcn.00485000
add esp, 4
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
jmp 0x4ceabe
cmp eax, 1
jne 0x4ce922
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0x8000001a
lea ecx, [esp + 0x30]
call fcn.004c5ce0
jmp 0x4ce521
cmp dword [0x100ccb64], esi
je 0x4ce981
push 0x100b0e60
push eax
lea ecx, [esp + 0x90]
call fcn.00481840
push eax
push 0x100bf98c
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00480470
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.00480530
mov ecx, eax
call fcn.0047f3c0
lea ecx, [esp + 0x20]
call fcn.0047f280
lea ecx, [esp + 0x88]
call fcn.0046b040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc0000229
lea ecx, [esp + 0x30]
call fcn.004c5ce0
jmp 0x4ce521
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.004c5070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.004c5ce0
jmp 0x4ce521
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.004c4450
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.004c4f30
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.004c5ce0
jmp 0x4ce521
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.004c4450
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.004c4e90
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.004c5ce0
jmp 0x4ce521
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0xe8]
push eax
call edx
mov edi, eax
cmp edi, esi
jne 0x4cf15e
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x7c]
call fcn.004c4450
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.004f2990
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x10]
call fcn.004c6680
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x4ceae5
push eax
call fcn.00485000
add esp, 4
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x34]
call fcn.004c4440
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x4ceb02
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 0x4ceb16
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x78]
call fcn.004c4440
jmp 0x4ce787
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4ceb38
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x78]
call fcn.004c4440
lea ecx, [esp + 0x20]
call fcn.004c6310
lea ecx, [esp + 0x20]
call fcn.004c6310
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x4ceb72
jmp 0x4ceb60
mov edi, dword [eax + 4]
push eax
call fcn.00468000
add esp, 4
cmp edi, esi
mov eax, edi
jne 0x4ceb60
mov eax, dword [esp + 0x1c]
cmp eax, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
je 0x4ce6c4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], esi
jmp 0x4ce6c4
cmp edi, 1
jne 0x4cf2d3
lea ecx, [esp + 0x14]
call fcn.004ba940
lea ecx, [esp + 0x78]
call fcn.004c4440
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 0x4cec06
mov eax, dword [esp + 0x80]
push eax
call fcn.00485000
add esp, 4
cmp ebx, esi
jne 0x4cebf6
mov dword [esp + 0x80], esi
jmp 0x4cec06
push ebx
call fcn.00485050
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 0x4cec65
cmp edi, 0xc0000023
je 0x4cec5a
cmp edi, 0x80000005
jne 0x4ced07
add ebx, 0x100
jmp 0x4cebd0
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.004c4330
lea ecx, [esp + 0xc0]
call fcn.004c4320
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x28]
call fcn.004c5450
lea ecx, [esp + 0xc0]
mov edi, eax
call fcn.004c4440
cmp edi, esi
jne 0x4cecf9
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 0x4cecde
add ecx, 0x100
push ecx
lea ecx, [eax + 0x18]
call fcn.004c51f0
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.004c4440
jmp 0x4ced17
cmp edi, 0x8000001a
jne 0x4cf1d8
mov dword [esp + 0x74], esi
add dword [esp + 0x98], 1
cmp dword [esp + 0x74], esi
jne 0x4cebd0
lea eax, [esp + 0xc]
push eax
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 0xdc
call fcn.004c8210
lea ecx, [esp + 0x80]
call fcn.0046a570
lea ecx, [esp + 0x20]
call fcn.004c71a0
lea ecx, [esp + 0x1c]
call fcn.004ba940
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 0x4cede7
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0xdc
call fcn.004c8340
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4ced9a
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 0x4cedae
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 0x4cedc2
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 0x4cedd6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.004c4440
mov ebx, dword [ebp + 8]
jmp 0x4cee8f
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.004cdd60
test eax, eax
mov edx, dword [esp + 0xc]
je 0x4cf34d
mov ecx, dword [esp + 0xd8]
cmp ecx, dword [edx + 0x28]
mov edi, dword [esp + 0xdc]
lea eax, [edx + 0x28]
jne 0x4cee35
cmp edi, dword [eax + 4]
je 0x4cf34d
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 0x4cee5e
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 0x4cee72
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 0x4cee86
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.004c4440
lea ecx, [esp + 0x4c]
call fcn.004f26f0
push esi
push esi
push esi
lea eax, [esp + 0x58]
push eax
push esi
push 0x40
push 0x100b0384
lea ecx, [esp + 0xa4]
call fcn.004c4160
mov ecx, eax
call fcn.004f47c0
push eax
push ebx
lea ecx, [esp + 0x50]
call fcn.004c4110
mov ecx, eax
call fcn.004f47c0
mov ecx, dword [esp + 0x28]
push eax
call fcn.004cb640
test eax, eax
jne 0x4ce66c
cmp dword [0x100ccb64], esi
je 0x4cef11
push 0x100bf6b8
push 0x100bfa00
lea ecx, [esp + 0x28]
call fcn.00480470
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.0047f3c0
lea ecx, [esp + 0x20]
call fcn.0047f280
mov eax, dword [esp + 0x64]
cmp eax, esi
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 1
je 0x4cf4e2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4cf4de
lea eax, [esp + 0xa4]
push eax
call fcn.004c4020
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 0x4cef5e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp edi, 1
mov eax, dword [ebp + 0x20]
jne 0x4cef8a
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov eax, dword [esp + 0x64]
cmp eax, esi
mov dword [ecx], 0xc0000034
je 0x4cf4e2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4cf4de
mov dword [eax], 1
jmp 0x4cf4ce
cmp dword [0x100ccb64], esi
je 0x4ceff4
push 0x100b0e60
push edi
lea ecx, [esp + 0x90]
call fcn.00481840
push eax
push 0x100bf964
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00480470
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.00480530
mov ecx, eax
call fcn.0047f3c0
lea ecx, [esp + 0x20]
call fcn.0047f280
lea ecx, [esp + 0x88]
call fcn.0046b040
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.004ba940
lea ecx, [esp + 0xc]
call fcn.004c5300
lea ecx, [esp + 0x10]
call fcn.004ba940
lea ecx, [esp + 0x4c]
call fcn.004c55f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
cmp dword [0x100ccb64], esi
je 0x4cf096
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00481840
push eax
push 0x100bf930
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00480470
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.00480530
mov ecx, eax
call fcn.0047f3c0
lea ecx, [esp + 0x88]
call fcn.0047f280
lea ecx, [esp + 0xb0]
call fcn.0046b040
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.004c5ce0
lea ecx, [esp + 0x2c]
call fcn.004ba940
lea ecx, [esp + 0x14]
call fcn.004ba940
lea ecx, [esp + 0x78]
call fcn.004c4440
lea ecx, [esp + 0x20]
call fcn.004c71a0
jmp 0x4cf004
cmp dword [0x100ccb64], esi
je 0x4cf13d
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00481840
push eax
push 0x100bf8fc
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00480470
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.00480530
mov ecx, eax
call fcn.0047f3c0
lea ecx, [esp + 0x88]
call fcn.0047f280
lea ecx, [esp + 0xb0]
call fcn.0046b040
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.0046a570
jmp 0x4cf0a6
cmp dword [0x100ccb64], esi
je 0x4cf1c3
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00481840
push eax
push 0x100bf8c0
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00480470
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.00480530
mov ecx, eax
call fcn.0047f3c0
lea ecx, [esp + 0x88]
call fcn.0047f280
lea ecx, [esp + 0xb0]
call fcn.0046b040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
jmp 0x4cf0a6
cmp dword [0x100ccb64], esi
je 0x4cf245
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00480570
push eax
push 0x100bf870
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00480470
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.00480530
mov ecx, eax
call fcn.0047f3c0
lea ecx, [esp + 0x88]
call fcn.0047f280
mov eax, dword [esp + 0xb4]
cmp eax, esi
je 0x4cf245
push eax
call fcn.00485000
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 0x4cf263
push eax
call fcn.00485000
add esp, 4
lea ecx, [esp + 0x20]
call fcn.004c6310
lea ecx, [esp + 0x20]
call fcn.004c6310
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x4cf292
lea ecx, [ecx]
mov edi, dword [eax + 4]
push eax
call fcn.00468000
add esp, 4
cmp edi, esi
mov eax, edi
jne 0x4cf280
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x4cf2a6
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 0x4cf2ba
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 0x4cf4ce
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x4cf4ca
cmp dword [0x100ccb64], esi
je 0x4cf338
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00481840
push eax
push 0x100bf844
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00480470
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.0047f3c0
mov ecx, eax
call fcn.00480530
mov ecx, eax
call fcn.0047f3c0
lea ecx, [esp + 0x88]
call fcn.0047f280
lea ecx, [esp + 0xb0]
call fcn.0046b040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
jmp 0x4cf0b8
mov ecx, dword [edx + 0x14]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jae 0x4cf45c
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 0x4cf421
sub eax, 1
je 0x4cf3d9
sub eax, 1
je 0x4cf395
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 0x4cf2b1
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.004c5070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4cf2ba
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
jmp 0x4cf2b6
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0x88]
push ecx
lea ecx, [edi + 4]
mov dword [eax], esi
call fcn.004c4450
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.004c4f30
mov edx, dword [ebp + 0x24]
mov dword [edx], eax
jmp 0x4cf2a6
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [edi + 4]
mov dword [eax], esi
call fcn.004c4450
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.004c4e90
jmp 0x4cf3bb
sub eax, ecx
cmp eax, dword [edx + 0x20]
jae 0x4cf4a0
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 0x4cf3bb
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 0x4cf4ce
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 0x4cf4e2
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 0x4cf4f6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.004c4440
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20