Function at 0x4a2120
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.00458f10
add esp, 8
lea ecx, [esp + 0x10]
push ecx
lea edx, [ebp + 8]
push edx
lea ecx, [esi + 0x14]
call fcn.004679c0
xor esi, esi
test eax, eax
je 0x4a2609
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
call edx
test eax, eax
je 0x4a2199
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 0x4a34ff
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.00458f10
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.004683d0
test eax, eax
je 0x4a240a
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0xc]
cmp edx, dword [ecx + 8]
jbe 0x4a240a
xor ebx, ebx
xor esi, esi
cmp dword [ebp + 0x10], esi
lea ecx, [esp + 0x34]
setne bl
call fcn.00498320
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 0x4a223a
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 0x4a228a
add edi, 1
cmp edi, dword [ebp + 0xc]
jb 0x4a2209
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x10]
sub eax, esi
je 0x4a23c8
sub eax, 1
je 0x4a237c
sub eax, 1
je 0x4a2349
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov dword [edx], esi
lea ecx, [esp + 0x30]
mov dword [eax], 0xc000000d
call fcn.00499ce0
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4a22ba
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
jmp 0x4a22b6
cmp eax, 1
jne 0x4a22d7
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0x8000001a
lea ecx, [esp + 0x30]
call fcn.00499ce0
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4a22ba
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 0x4a34ff
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 0x4a2336
push 0x100b0e60
push eax
lea ecx, [esp + 0x90]
call fcn.00455840
push eax
push 0x100bfa44
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00454470
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.00454530
mov ecx, eax
call fcn.004533c0
lea ecx, [esp + 0x20]
call fcn.00453280
lea ecx, [esp + 0x88]
call fcn.0043f040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc0000229
jmp 0x4a229d
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.00499070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x4a229d
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.00498450
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.00498f30
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x4a229d
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.00498450
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.00498e90
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x4a229d
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x4a2444
cmp eax, 1
je 0x4a2444
cmp eax, 2
je 0x4a2444
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc000000d
lea ecx, [esp + 0xc]
call fcn.00499300
lea ecx, [esp + 0x10]
call fcn.0048e940
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea edx, [esp + 0x74]
push edx
call fcn.00499550
mov edi, eax
mov eax, dword [esp + 0x10]
add esp, 4
cmp eax, esi
je 0x4a2467
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 0x4a2479
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x74]
cmp eax, esi
je 0x4a2489
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
lea eax, [esp + 0x14]
push 4
push eax
call fcn.00458f10
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 0x4a253e
cmp dword [0x100ccb64], esi
je 0x4a2511
push 0x100b0e60
push edi
lea ecx, [esp + 0x90]
call fcn.00455840
push eax
push 0x100bf9c4
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00454470
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.00454530
mov ecx, eax
call fcn.004533c0
lea ecx, [esp + 0x20]
call fcn.00453280
lea ecx, [esp + 0x88]
call fcn.0043f040
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 0x4a2278
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
jmp 0x4a2278
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x14]
push eax
add ecx, 0xc
call fcn.00463f90
xor ebx, ebx
cmp dword [ebp + 0x10], esi
lea ecx, [esp + 0x34]
setne bl
call fcn.00498320
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 0x4a2901
add edi, 1
cmp edi, dword [ebp + 0xc]
jbe 0x4a2570
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.0049c210
mov eax, dword [ebp + 0x10]
sub eax, esi
je 0x4a2a2a
sub eax, 1
je 0x4a29d7
sub eax, 1
je 0x4a299d
lea ecx, [esp + 0x30]
call fcn.00499ce0
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4a25f9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4a2609
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x4a2619
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0x4c]
call fcn.004c66f0
push esi
push esi
push esi
lea eax, [esp + 0x58]
push eax
push esi
push 0x40
push 0x100b0384
lea ecx, [esp + 0xa4]
call fcn.00498160
mov ecx, eax
call fcn.004c87c0
mov ecx, dword [ebp + 8]
push eax
push ecx
lea ecx, [esp + 0x50]
call fcn.00498110
mov ecx, eax
call fcn.004c87c0
mov ecx, dword [esp + 0x28]
push eax
call fcn.0049f640
test eax, eax
je 0x4a2edf
lea ecx, [esp + 0x4c]
call fcn.004c66e0
mov ecx, eax
call fcn.004c89f0
test eax, eax
lea ecx, [esp + 0x4c]
jne 0x4a2f33
lea edx, [esp + 0x10]
push edx
call fcn.00498020
lea eax, [esp + 0xc]
push 4
push eax
call fcn.00458f10
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.004683d0
test eax, eax
jne 0x4a2d5f
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.004a1d60
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.0049b1c0
mov edi, eax
mov eax, dword [esp + 0x20]
add esp, 0x14
cmp eax, esi
je 0x4a272a
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 0x4a273c
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov eax, dword [esp + 0xcc]
cmp eax, esi
je 0x4a2756
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.00458f10
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 0x4a2f95
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
lea ecx, [esp + 0x78]
call fcn.00498320
lea eax, [esp + 0x14]
push 4
push eax
call fcn.00458f10
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 0x4a2b97
cmp dword [esp + 0xe4], esi
jne 0x4a2b24
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
test eax, eax
jne 0x4a27f4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
call edx
test eax, eax
je 0x4a2805
lea eax, [esp + 0x78]
mov ecx, eax
push eax
push ecx
lea ecx, [esp + 0x28]
call fcn.0049a160
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test eax, eax
je 0x4a2b02
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
test eax, eax
jne 0x4a2b02
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.00498320
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 0x4a3031
cmp ebx, esi
mov ecx, dword [esp + 0x2c]
je 0x4a2a73
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 0x4a30d8
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x7c]
call fcn.00498450
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.004c69e0
mov eax, dword [esp + 0x9c]
cmp eax, esi
je 0x4a2abe
push eax
call fcn.00459000
add esp, 4
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
jmp 0x4a2abe
cmp eax, 1
jne 0x4a2922
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0x8000001a
lea ecx, [esp + 0x30]
call fcn.00499ce0
jmp 0x4a2521
cmp dword [0x100ccb64], esi
je 0x4a2981
push 0x100b0e60
push eax
lea ecx, [esp + 0x90]
call fcn.00455840
push eax
push 0x100bf98c
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00454470
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.00454530
mov ecx, eax
call fcn.004533c0
lea ecx, [esp + 0x20]
call fcn.00453280
lea ecx, [esp + 0x88]
call fcn.0043f040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc0000229
lea ecx, [esp + 0x30]
call fcn.00499ce0
jmp 0x4a2521
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.00499070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.00499ce0
jmp 0x4a2521
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.00498450
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.00498f30
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.00499ce0
jmp 0x4a2521
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.00498450
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.00498e90
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.00499ce0
jmp 0x4a2521
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0xe8]
push eax
call edx
mov edi, eax
cmp edi, esi
jne 0x4a315e
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x7c]
call fcn.00498450
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.004c6990
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x10]
call fcn.0049a680
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x4a2ae5
push eax
call fcn.00459000
add esp, 4
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x34]
call fcn.00498440
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x4a2b02
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 0x4a2b16
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x78]
call fcn.00498440
jmp 0x4a2787
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x4a2b38
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x78]
call fcn.00498440
lea ecx, [esp + 0x20]
call fcn.0049a310
lea ecx, [esp + 0x20]
call fcn.0049a310
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x4a2b72
jmp 0x4a2b60
mov edi, dword [eax + 4]
push eax
call fcn.0043c000
add esp, 4
cmp edi, esi
mov eax, edi
jne 0x4a2b60
mov eax, dword [esp + 0x1c]
cmp eax, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
je 0x4a26c4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], esi
jmp 0x4a26c4
cmp edi, 1
jne 0x4a32d3
lea ecx, [esp + 0x14]
call fcn.0048e940
lea ecx, [esp + 0x78]
call fcn.00498440
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 0x4a2c06
mov eax, dword [esp + 0x80]
push eax
call fcn.00459000
add esp, 4
cmp ebx, esi
jne 0x4a2bf6
mov dword [esp + 0x80], esi
jmp 0x4a2c06
push ebx
call fcn.00459050
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 0x4a2c65
cmp edi, 0xc0000023
je 0x4a2c5a
cmp edi, 0x80000005
jne 0x4a2d07
add ebx, 0x100
jmp 0x4a2bd0
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.00498330
lea ecx, [esp + 0xc0]
call fcn.00498320
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x28]
call fcn.00499450
lea ecx, [esp + 0xc0]
mov edi, eax
call fcn.00498440
cmp edi, esi
jne 0x4a2cf9
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 0x4a2cde
add ecx, 0x100
push ecx
lea ecx, [eax + 0x18]
call fcn.004991f0
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.00498440
jmp 0x4a2d17
cmp edi, 0x8000001a
jne 0x4a31d8
mov dword [esp + 0x74], esi
add dword [esp + 0x98], 1
cmp dword [esp + 0x74], esi
jne 0x4a2bd0
lea eax, [esp + 0xc]
push eax
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 0xdc
call fcn.0049c210
lea ecx, [esp + 0x80]
call fcn.0043e570
lea ecx, [esp + 0x20]
call fcn.0049b1a0
lea ecx, [esp + 0x1c]
call fcn.0048e940
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 0x4a2de7
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0xdc
call fcn.0049c340
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4a2d9a
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 0x4a2dae
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 0x4a2dc2
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 0x4a2dd6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.00498440
mov ebx, dword [ebp + 8]
jmp 0x4a2e8f
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.004a1d60
test eax, eax
mov edx, dword [esp + 0xc]
je 0x4a334d
mov ecx, dword [esp + 0xd8]
cmp ecx, dword [edx + 0x28]
mov edi, dword [esp + 0xdc]
lea eax, [edx + 0x28]
jne 0x4a2e35
cmp edi, dword [eax + 4]
je 0x4a334d
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 0x4a2e5e
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 0x4a2e72
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 0x4a2e86
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.00498440
lea ecx, [esp + 0x4c]
call fcn.004c66f0
push esi
push esi
push esi
lea eax, [esp + 0x58]
push eax
push esi
push 0x40
push 0x100b0384
lea ecx, [esp + 0xa4]
call fcn.00498160
mov ecx, eax
call fcn.004c87c0
push eax
push ebx
lea ecx, [esp + 0x50]
call fcn.00498110
mov ecx, eax
call fcn.004c87c0
mov ecx, dword [esp + 0x28]
push eax
call fcn.0049f640
test eax, eax
jne 0x4a266c
cmp dword [0x100ccb64], esi
je 0x4a2f11
push 0x100bf6b8
push 0x100bfa00
lea ecx, [esp + 0x28]
call fcn.00454470
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.004533c0
lea ecx, [esp + 0x20]
call fcn.00453280
mov eax, dword [esp + 0x64]
cmp eax, esi
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 1
je 0x4a34e2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4a34de
lea eax, [esp + 0xa4]
push eax
call fcn.00498020
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 0x4a2f5e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp edi, 1
mov eax, dword [ebp + 0x20]
jne 0x4a2f8a
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov eax, dword [esp + 0x64]
cmp eax, esi
mov dword [ecx], 0xc0000034
je 0x4a34e2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4a34de
mov dword [eax], 1
jmp 0x4a34ce
cmp dword [0x100ccb64], esi
je 0x4a2ff4
push 0x100b0e60
push edi
lea ecx, [esp + 0x90]
call fcn.00455840
push eax
push 0x100bf964
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00454470
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.00454530
mov ecx, eax
call fcn.004533c0
lea ecx, [esp + 0x20]
call fcn.00453280
lea ecx, [esp + 0x88]
call fcn.0043f040
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.0048e940
lea ecx, [esp + 0xc]
call fcn.00499300
lea ecx, [esp + 0x10]
call fcn.0048e940
lea ecx, [esp + 0x4c]
call fcn.004995f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
cmp dword [0x100ccb64], esi
je 0x4a3096
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00455840
push eax
push 0x100bf930
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00454470
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.00454530
mov ecx, eax
call fcn.004533c0
lea ecx, [esp + 0x88]
call fcn.00453280
lea ecx, [esp + 0xb0]
call fcn.0043f040
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.00499ce0
lea ecx, [esp + 0x2c]
call fcn.0048e940
lea ecx, [esp + 0x14]
call fcn.0048e940
lea ecx, [esp + 0x78]
call fcn.00498440
lea ecx, [esp + 0x20]
call fcn.0049b1a0
jmp 0x4a3004
cmp dword [0x100ccb64], esi
je 0x4a313d
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00455840
push eax
push 0x100bf8fc
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00454470
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.00454530
mov ecx, eax
call fcn.004533c0
lea ecx, [esp + 0x88]
call fcn.00453280
lea ecx, [esp + 0xb0]
call fcn.0043f040
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.0043e570
jmp 0x4a30a6
cmp dword [0x100ccb64], esi
je 0x4a31c3
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00455840
push eax
push 0x100bf8c0
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00454470
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.00454530
mov ecx, eax
call fcn.004533c0
lea ecx, [esp + 0x88]
call fcn.00453280
lea ecx, [esp + 0xb0]
call fcn.0043f040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
jmp 0x4a30a6
cmp dword [0x100ccb64], esi
je 0x4a3245
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00454570
push eax
push 0x100bf870
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00454470
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.00454530
mov ecx, eax
call fcn.004533c0
lea ecx, [esp + 0x88]
call fcn.00453280
mov eax, dword [esp + 0xb4]
cmp eax, esi
je 0x4a3245
push eax
call fcn.00459000
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 0x4a3263
push eax
call fcn.00459000
add esp, 4
lea ecx, [esp + 0x20]
call fcn.0049a310
lea ecx, [esp + 0x20]
call fcn.0049a310
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x4a3292
lea ecx, [ecx]
mov edi, dword [eax + 4]
push eax
call fcn.0043c000
add esp, 4
cmp edi, esi
mov eax, edi
jne 0x4a3280
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x4a32a6
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 0x4a32ba
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 0x4a34ce
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x4a34ca
cmp dword [0x100ccb64], esi
je 0x4a3338
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00455840
push eax
push 0x100bf844
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00454470
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.004533c0
mov ecx, eax
call fcn.00454530
mov ecx, eax
call fcn.004533c0
lea ecx, [esp + 0x88]
call fcn.00453280
lea ecx, [esp + 0xb0]
call fcn.0043f040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
jmp 0x4a30b8
mov ecx, dword [edx + 0x14]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jae 0x4a345c
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 0x4a3421
sub eax, 1
je 0x4a33d9
sub eax, 1
je 0x4a3395
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 0x4a32b1
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.00499070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x4a32ba
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
jmp 0x4a32b6
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0x88]
push ecx
lea ecx, [edi + 4]
mov dword [eax], esi
call fcn.00498450
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.00498f30
mov edx, dword [ebp + 0x24]
mov dword [edx], eax
jmp 0x4a32a6
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [edi + 4]
mov dword [eax], esi
call fcn.00498450
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.00498e90
jmp 0x4a33bb
sub eax, ecx
cmp eax, dword [edx + 0x20]
jae 0x4a34a0
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 0x4a33bb
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 0x4a34ce
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 0x4a34e2
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 0x4a34f6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.00498440
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20