Function at 0x4b3fb0
Capabilities:
Get geographical location
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x85ff38
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8ce6f4]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov edi, ecx
call fcn.007c9a2f
cmp byte [edi + 8], 0
mov esi, dword [eax + 4]
je 0x4b5caa
mov ecx, dword [edi + 0xe7c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4048ec
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe80]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4048cc
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe84]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4048b0
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe8c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40488c
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe90]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40486c
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe9c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404848
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x244]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404838
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x24c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404828
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x26c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404810
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x248]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404804
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [esi]
mov ecx, dword [edi + 0x250]
mov edx, dword [eax + 0x80]
push ecx
push 0x4047f4
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x254]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4047e8
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x255]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4047d8
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x258]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4047cc
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xa0]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x402d2c
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xac]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4047a8
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xb0]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404784
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xeb8]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404778
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xa1]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404764
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x256]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404750
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [esi]
movzx ecx, byte [edi + 0x322]
mov edx, dword [eax + 0x80]
push ecx
push 0x404730
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x324]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404700
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x90]
push 0x494
lea ecx, [edi + 0x330]
push ecx
push 0x4046e4
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x328]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4046b4
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x7c4]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40468c
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x147]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404668
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x158]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404640
push 0x402d18
mov ecx, esi
call edx
or ebp, 0xffffffff
cmp byte [edi + 0x159], 0
je 0x4b43b4
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4b4338
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
fld qword [edi + 0x168]
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [esp + 0x34]
fld qword [edi + 0x160]
mov dword [esp + 0x58], 0
fstp qword [esp]
push 0x40462c
push ecx
call fcn.004aa600
mov ebx, dword [esp + 0x3c]
mov edx, dword [esi]
mov eax, dword [edx + 0x88]
add esp, 0x18
push ebx
push 0x404614
push 0x402d18
mov ecx, esi
call eax
lea eax, [ebx - 0x10]
mov dword [esp + 0x48], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b43cc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4b43cc
mov edx, dword [esi]
mov eax, dword [edx + 0x88]
push 0
push 0x404614
push 0x402d18
mov ecx, esi
call eax
movzx eax, byte [edi + 0xa4]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x4045ec
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x90]
push 0x10
lea ecx, [edi + 0x148]
push ecx
push 0x4045cc
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xf00]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4045ac
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe94]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404590
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe98]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404574
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xb1]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40455c
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x310]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404548
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x314]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404534
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x318]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404520
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xef8]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4044f4
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x146]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4044c8
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xef9]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404498
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xebe]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404474
push 0x404460
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xebf]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404444
push 0x404460
mov ecx, esi
call edx
push 1
mov ecx, edi
call fcn.004b2910
mov eax, dword [edi + 0x31c]
sub eax, 0x10
push eax
call fcn.004a9b50
lea ebx, [eax + 0x10]
add esp, 4
mov dword [esp + 0x3c], ebx
mov eax, dword [esi]
mov edx, dword [eax + 0x88]
push ebx
push 0x404420
push 0x402d18
mov ecx, esi
mov dword [esp + 0x54], 1
call edx
lea eax, [ebx - 0x10]
mov dword [esp + 0x48], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b45cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
movzx eax, byte [edi + 0x266]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x404404
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x267]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4043e0
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0x260]
sub eax, 0x10
push eax
call fcn.004a9b50
lea ebx, [eax + 0x10]
add esp, 4
mov dword [esp + 0x3c], ebx
mov eax, dword [esi]
mov edx, dword [eax + 0x88]
push ebx
push 0x4043b0
push 0x402d18
mov ecx, esi
mov dword [esp + 0x54], 2
call edx
lea eax, [ebx - 0x10]
mov dword [esp + 0x48], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b465e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [edi + 0x25c]
sub eax, 0x10
push eax
call fcn.004a9b50
lea ebx, [eax + 0x10]
add esp, 4
mov dword [esp + 0x3c], ebx
mov edx, dword [esi]
mov eax, dword [edx + 0x88]
push ebx
push 0x404388
push 0x402d18
mov ecx, esi
mov dword [esp + 0x54], 3
call eax
lea eax, [ebx - 0x10]
mov dword [esp + 0x48], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b46b5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
movzx eax, byte [edi + 0x268]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x40436c
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x264]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404330
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x265]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40430c
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0x274]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x4042fc
push 0x402d18
mov ecx, esi
call eax
movzx eax, byte [edi + 0x270]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x4042e4
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x278]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4042d0
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x27c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4042bc
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x280]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4042a0
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x284]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404280
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x285]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404260
push 0x402d18
mov ecx, esi
call edx
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4b47f7
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
lea ecx, [edi + 0xd78]
push ecx
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x50], 4
call fcn.00637b60
mov eax, dword [eax]
mov edx, dword [esi]
add esp, 8
push eax
mov eax, dword [edx + 0x88]
push 0x404240
push 0x402d18
mov ecx, esi
call eax
movzx eax, byte [edi + 0xd64]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x404218
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xd68]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404204
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xd6c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4041f0
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xd70]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4041cc
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe8a]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4041ac
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe38]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404174
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe39]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404140
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0xe3c]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x404124
push 0x402d18
mov ecx, esi
call eax
movzx eax, byte [edi + 0xe8b]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x4040f0
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x824]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4040c8
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x82d]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40409c
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x830]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40407c
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x82c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40405c
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x834]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x404030
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x90]
push 0x510
lea ecx, [edi + 0x83c]
push ecx
push 0x404000
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x825]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403fe0
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x826]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403fb4
push 0x402d18
mov ecx, esi
call edx
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4b4a53
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
fld dword [edi + 0x828]
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0x2c]
push 0x403fa8
push ecx
mov byte [esp + 0x58], 5
call fcn.004aa600
mov eax, dword [esp + 0x34]
mov edx, dword [esi]
mov edx, dword [edx + 0x88]
add esp, 0x10
push eax
push 0x403f90
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x838]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403f70
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0x32c]
sub eax, 0x10
push eax
call fcn.004a9b50
lea ebx, [eax + 0x10]
add esp, 4
mov dword [esp + 0x3c], ebx
mov eax, dword [esi]
mov edx, dword [eax + 0x88]
push ebx
push 0x403f4c
push 0x402d18
mov ecx, esi
mov byte [esp + 0x54], 6
call edx
add ebx, 0xfffffff0
mov byte [esp + 0x48], 5
lea eax, [ebx + 0xc]
lock xadd dword [eax], ebp
dec ebp
test ebp, ebp
jg 0x4b4b11
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
movzx eax, byte [edi + 0xe53]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x403f2c
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe54]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403f0c
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xebc]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403ee8
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xebd]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403eb4
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
xor ecx, ecx
cmp byte [edi + 0xe56], cl
sete cl
push ecx
push 0x403e88
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe57]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403e68
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe58]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403e40
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe60]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403e2c
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0xe5c]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403e18
push 0x402d18
mov ecx, esi
call eax
movzx eax, byte [edi + 0x18c]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x403df0
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0xefc]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403dd8
push 0x402d18
mov ecx, esi
call eax
movzx eax, byte [edi + 0x320]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x403dbc
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe64]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403d9c
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe68]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403d80
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe6c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403d6c
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe70]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403d4c
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0xef0]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403d30
push 0x402d18
mov ecx, esi
call eax
mov eax, dword [edi + 0xef4]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403d04
push 0x402d18
mov ecx, esi
call eax
movzx eax, byte [edi + 0xeec]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x403ce8
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xeed]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403cb8
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xa2]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403ca4
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xf0b]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403c84
push 0x402d18
mov ecx, esi
call edx
movzx ecx, word [edi + 0xe88]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403c60
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe50]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403c4c
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe51]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403c30
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe55]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403c18
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x7c8]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403bf8
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0x7cc]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403be0
push 0x403bd0
mov ecx, esi
call eax
mov eax, dword [edi + 0x7d0]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403bb8
push 0x403bd0
mov ecx, esi
call eax
mov eax, dword [edi + 0x7d4]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x403ba8
push 0x403bd0
mov ecx, esi
call edx
mov eax, dword [edi + 0x7d8]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403b80
push 0x403b5c
mov ecx, esi
call eax
mov eax, dword [edi + 0x7dc]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403b48
push 0x403b5c
mov ecx, esi
call eax
mov eax, dword [edi + 0x7e0]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403b30
push 0x403b5c
mov ecx, esi
call eax
mov eax, dword [edi + 0x7e4]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x403b0c
push 0x403b5c
mov ecx, esi
call edx
mov ecx, dword [edi + 0x7e8]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403aec
push 0x403b5c
mov ecx, esi
call edx
mov ecx, dword [edi + 0x7ec]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403ad0
push 0x403b5c
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x7f0]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403ab4
push 0x403b5c
mov ecx, esi
call edx
mov ecx, dword [edi + 0x7f4]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403aa0
push 0x403b5c
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x7f8]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403a68
push 0x403b5c
mov ecx, esi
call edx
mov ecx, dword [edi + 0x7fc]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403a50
push 0x403b5c
mov ecx, esi
call edx
mov ebp, dword [edi + 0x800]
mov dword [esp + 0x18], 0
test ebp, ebp
je 0x4b50e4
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4b432e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x48], 7
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4b432e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
xor eax, eax
test ebp, ebp
setne al
mov byte [esp + 0x48], 8
test eax, eax
je 0x4b432e
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x24]
push 0x403a48
mov ebx, ebp
mov ebp, dword [ebp]
push edx
call fcn.004aa600
add esp, 0xc
lea eax, [esp + 0x28]
push eax
lea ecx, [ebx + 8]
call fcn.004c4c50
mov eax, dword [eax]
mov ebx, dword [esp + 0x20]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push ebx
push 0x403b5c
mov ecx, esi
mov byte [esp + 0x54], 9
call eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x48], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5092
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x48], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b50bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [esp + 0x48], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b50dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebp, ebp
jne 0x4b4fc5
movzx eax, byte [edi + 0x144]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x403a24
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x145]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403a00
push 0x402d18
mov ecx, esi
call edx
cmp byte [edi + 0xb1], 0
je 0x4b515d
cmp byte [edi + 0x145], 0
je 0x4b5143
mov eax, dword [edi + 0xf4]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0xf4]
call edx
cmp byte [edi + 0x144], 0
je 0x4b515d
mov eax, dword [edi + 0x11c]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x11c]
call edx
movzx ecx, byte [edi + 0xf09]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4039e0
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xf0a]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4039c4
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x88]
push 0
push 0
push 0x40399c
mov ecx, esi
call edx
mov eax, dword [edi + 0xeac]
xor ebp, ebp
mov dword [esp + 0x28], eax
test eax, eax
jle 0x4b5260
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4b432e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
push ebp
lea ecx, [esp + 0x24]
push 0x403988
push ecx
mov byte [esp + 0x54], 0xa
call fcn.004aa600
add esp, 0xc
test ebp, ebp
js 0x4b528d
cmp ebp, dword [edi + 0xeac]
jge 0x4b528d
mov edx, dword [edi + 0xea8]
mov ebx, dword [esp + 0x20]
lea eax, [edx + ebp*4]
mov eax, dword [eax]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push ebx
push 0x40399c
mov ecx, esi
call eax
lea eax, [ebx - 0x10]
mov byte [esp + 0x48], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5255
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc ebp
cmp ebp, dword [esp + 0x28]
jl 0x4b51c2
mov edx, dword [esi]
mov eax, dword [edx + 0x88]
push 0
push 0
push 0x403974
mov ecx, esi
call eax
mov ebp, dword [edi + 0x194]
mov dword [esp + 0x1c], 0
test ebp, ebp
je 0x4b54ea
jmp 0x4b5296
call fcn.007c8676
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp]
mov dword [esp + 0x14], ecx
cmp edx, dword [ebp + 0xe]
jne 0x4b52e0
mov cl, byte [ebp + 0x12]
cmp cl, byte [ebp + 0xc]
jne 0x4b52e0
mov dl, byte [ebp + 0x13]
cmp dl, byte [ebp + 0xd]
jne 0x4b52e0
mov eax, dword [ebp + 0x24]
cmp eax, dword [ebp + 0x14]
jne 0x4b52e0
mov ecx, dword [ebp + 0x28]
cmp ecx, dword [ebp + 0x18]
jne 0x4b52e0
mov edx, dword [ebp + 0x2c]
cmp edx, dword [ebp + 0x1c]
jne 0x4b52e0
mov eax, dword [ebp + 0x30]
cmp dword [eax - 0xc], 0
jne 0x4b52e0
cmp dword [ebp + 0x34], 5
je 0x4b54df
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4b432e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x2c]
push 0x403958
push edx
mov byte [esp + 0x54], 0xb
call fcn.004aa600
add esp, 0xc
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4b432e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov ebx, dword [ebp + 0x30]
mov byte [esp + 0x48], 0xc
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4b432e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x48], 0xd
test ebx, ebx
je 0x4b539b
test ebx, 0xffff0000
jne 0x4b539b
movzx ebx, bx
push ebx
call fcn.007cfe78
test eax, eax
je 0x4b53a5
push ebx
push eax
lea ecx, [esp + 0x20]
call fcn.004a8d10
jmp 0x4b53a5
push ebx
lea ecx, [esp + 0x1c]
call fcn.004b10a0
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push 0x403954
push edx
mov byte [esp + 0x54], 0xe
call fcn.004b1a10
push 0x403954
push eax
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0x60], 0xf
call fcn.004af3d0
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x24]
mov eax, dword [eax]
push ecx
mov ecx, dword [ebp + 0x28]
push edx
mov edx, dword [ebp + 0x34]
push ecx
movzx ecx, word [ebp + 0xa]
push edx
movzx edx, byte [ebp + 8]
push eax
movzx eax, word [ebp + 0xc]
push ecx
push edx
push eax
lea ecx, [esp + 0x58]
push 0x403924
push ecx
mov byte [esp + 0x88], 0x10
call fcn.004aa600
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
add esp, 0x40
mov byte [esp + 0x48], 0xf
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b5434
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0x48], 0xe
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5459
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x48], 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b547e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
mov edx, dword [esi]
mov eax, dword [edx + 0x88]
push ebx
push ebp
push 0x403974
mov ecx, esi
call eax
inc dword [esp + 0x1c]
lea eax, [ebx - 0x10]
mov byte [esp + 0x48], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b54be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
mov byte [esp + 0x48], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b54df
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x14], 0
jne 0x4b5292
movzx eax, byte [edi + 0x1b0]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x40390c
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0x1b4]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x4038f4
push 0x402d18
mov ecx, esi
call eax
movzx eax, byte [edi + 0x1e4]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x4038e4
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0x1e8]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x4038d0
push 0x402d18
mov ecx, esi
call eax
movzx eax, byte [edi + 0x218]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x4038b0
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe44]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40389c
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe48]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403888
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe4c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403874
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xa3]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403844
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xe52]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40382c
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [esi]
mov ecx, dword [edi + 0xf04]
mov edx, dword [eax + 0x80]
push ecx
push 0x403810
push 0x402d18
mov ecx, esi
call edx
push 1
lea ecx, [edi + 0x170]
call fcn.0052b150
xor ebp, ebp
lea ebx, [edi + 0xf10]
movzx ecx, byte [edi + ebp + 0x818]
mov eax, dword [ebx]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push ecx
push eax
push 0x4037ec
mov ecx, esi
call edx
inc ebp
add ebx, 4
cmp ebp, 8
jl 0x4b5643
movzx ecx, byte [edi + 0x820]
mov eax, dword [edi + 0xf30]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push ecx
push eax
push 0x4037ec
mov ecx, esi
call edx
xor ebp, ebp
lea ebx, [edi + 0xf34]
movzx ecx, byte [edi + ebp + 0x821]
mov eax, dword [ebx]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push ecx
push eax
push 0x4037ec
mov ecx, esi
call edx
inc ebp
add ebx, 4
cmp ebp, 2
jl 0x4b5691
mov eax, dword [edi + 0x224]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x4037d8
push 0x402d18
mov ecx, esi
call eax
mov eax, dword [edi + 0x21c]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x4037c8
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x220]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4037b8
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0xa5]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403794
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xa8]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403780
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x321]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40375c
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x228]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x40373c
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0x22c]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403720
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x236]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4036f0
push 0x402d18
mov ecx, esi
call edx
movzx ecx, byte [edi + 0x234]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4036c0
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [esi]
movzx ecx, byte [edi + 0x235]
mov edx, dword [eax + 0x80]
push ecx
push 0x403690
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0x238]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403680
push 0x402d18
mov ecx, esi
call eax
mov eax, dword [edi + 0x23c]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403668
push 0x402d18
mov ecx, esi
call eax
mov eax, dword [edi + 0x240]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x40364c
push 0x402d18
mov ecx, esi
call eax
mov eax, dword [edi + 0xec0]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403630
push 0x402d18
mov ecx, esi
call eax
mov eax, dword [edi + 0xec4]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x403618
push 0x402d18
mov ecx, esi
call eax
mov eax, dword [edi + 0xec8]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x403604
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xecc]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4035f0
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xed0]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x4035d8
push 0x402d18
mov ecx, esi
call edx
mov eax, dword [edi + 0xe40]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push 0x4035cc
push 0x402d18
mov ecx, esi
call eax
cmp byte [edi + 9], 0
je 0x4b5bd0
mov edx, dword [esi]
mov eax, dword [edx + 0x88]
push 0
push 0
push 0x4035bc
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0x80]
push 1
push 0x4035a4
push 0x4035bc
mov ecx, esi
call eax
mov eax, dword [edi + 0xed4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], 0
test eax, eax
je 0x4b5bcc
xor eax, eax
cmp dword [esp + 0x14], eax
setne al
test eax, eax
je 0x4b432e
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ebx + 8]
add ebx, 8
cmp dword [edx - 0xc], 0
mov dword [esp + 0x14], ecx
je 0x4b5bbd
call fcn.007cff5d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4b432e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push 0x403a48
push edx
mov byte [esp + 0x54], 0x11
call fcn.004aa600
mov ebp, dword [ebx + 8]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
sub ebp, 0x10
add esp, 0xc
call edx
cmp dword [ebp + 0xc], 0
lea edx, [ebp + 0xc]
jl 0x4b59ea
cmp eax, dword [ebp]
jne 0x4b59ea
mov dword [esp + 0x1c], ebp
mov eax, 1
lock xadd dword [edx], eax
jmp 0x4b5a2b
mov ecx, dword [ebp + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4b5cbe
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 4]
lea edx, [eax + eax + 2]
push edx
add ebp, 0x10
push ebp
lea eax, [eax + eax + 2]
push eax
add ecx, 0x10
push ecx
call fcn.0080217f
add esp, 0x10
mov ecx, dword [esp + 0x1c]
add ecx, 0x10
mov dword [esp + 0x18], ecx
push 0x402a88
push 0x4022fc
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 0x12
call fcn.004aa070
push 0x402300
push 0x402308
lea ecx, [esp + 0x20]
call fcn.004aa070
push 0x40230c
push 0x402314
lea ecx, [esp + 0x20]
call fcn.004aa070
push 0x4035a0
lea edx, [esp + 0x40]
push ebx
push edx
call fcn.004af3d0
add ebx, 4
push ebx
push eax
lea eax, [esp + 0x4c]
push eax
mov byte [esp + 0x60], 0x13
call fcn.004ac680
push 0x4035a0
push eax
lea ecx, [esp + 0x50]
push ecx
mov byte [esp + 0x6c], 0x14
call fcn.004af3d0
lea edx, [esp + 0x3c]
push edx
push eax
lea eax, [esp + 0x60]
push eax
mov byte [esp + 0x78], 0x15
call fcn.004ac680
add esp, 0x30
mov eax, dword [eax]
mov ebx, dword [esp + 0x28]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x88]
push ebx
push 0x4035bc
mov ecx, esi
mov byte [esp + 0x54], 0x16
call eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0x48], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5b08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x48], 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5b2d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x48], 0x13
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5b52
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x48], 0x12
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5b77
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x48], 0x11
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5b9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [esp + 0x48], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5bbd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc dword [esp + 0x20]
cmp dword [esp + 0x14], 0
jne 0x4b5952
mov byte [edi + 9], 0
movzx eax, byte [edi + 0xf08]
mov edx, dword [esi]
mov edx, dword [edx + 0x80]
push eax
push 0x403584
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe74]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403560
push 0x402d18
mov ecx, esi
call edx
mov ecx, dword [edi + 0xe78]
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
push ecx
push 0x403544
push 0x402d18
mov ecx, esi
call edx
cmp dword [esi + 0x58], 0
je 0x4b5c5d
mov edi, dword [esi]
mov eax, dword [edi + 0x7c]
push 0
push 0x402a88
push 0x402a88
mov ecx, esi
call eax
mov edx, dword [edi + 0x80]
neg eax
sbb eax, eax
inc eax
push eax
push 0x402a88
push 0x402a88
mov ecx, esi
call edx
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x48], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5c82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov dword [esp + 0x48], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b5caa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
call fcn.004a8580
int3