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

Disassembly:
sub esp, 0x40
mov eax, dword [0x6ee2dc]
push ebx
mov ebx, dword [0xa0b138]
cmp dword [ebx + 0x108040], 4
push edi
lea edi, [ebx + 0x2a0]
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], ebx
je 0x52528d
mov eax, dword [0x705898]
mov eax, dword [eax + 0xf8]
mov ecx, dword [eax]
push ebp
push esi
push 1
push 0xae
push eax
call dword [ecx + 0xe4]
mov eax, dword [0x705898]
movss xmm0, dword [eax + 0x3b8]
mulss xmm0, dword [0x655efc]
cvttss2si edx, xmm0
movss xmm0, dword [eax + 0x3b8]
mulss xmm0, dword [0x64f658]
cvttss2si ecx, xmm0
movss xmm0, dword [eax + 0x3b4]
mulss xmm0, dword [0x64ec30]
xor ebp, ebp
push ebp
push edx
cvttss2si edx, xmm0
movss xmm0, dword [eax + 0x3b4]
mulss xmm0, dword [0x649448]
push ecx
push edx
cvttss2si eax, xmm0
push eax
call fcn.004b8e60
mov ecx, dword [0x705898]
mov eax, dword [ecx + 0x3c4]
shl eax, 5
add eax, 0x8e89b0
and eax, 0xfffffff
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x107da8]
add esp, 0x14
cmp eax, ebp
jge 0x524320
push 0x64
neg eax
push eax
mov eax, dword [edi + 0x107db8]
lea edx, [eax*8]
sub edx, eax
shl edx, 4
push edx
push ebp
call fcn.00449ca0
add esp, 0x10
neg eax
mov dword [esp + 0x30], eax
jmp 0x52434b
jle 0x524347
push 0x64
push eax
mov eax, dword [edi + 0x107db8]
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 4
push ecx
push ebp
call fcn.00449ca0
add esp, 0x10
mov dword [esp + 0x30], eax
jmp 0x52434b
mov dword [esp + 0x30], ebp
mov esi, dword [ebx + 0x120a30]
lea edx, [esi + 3]
cmp edx, 0x64
mov dword [esp + 0x34], esi
jle 0x524367
mov dword [esp + 0x2c], 0x64
jmp 0x524374
mov eax, dword [ebx + 0x120a30]
add eax, 3
mov dword [esp + 0x2c], eax
cmp esi, dword [esp + 0x2c]
mov dword [esp + 0x20], esi
jge 0x5250ba
shl esi, 5
lea edi, [esi + ebx + 0x120a44]
lea esp, [esp]
mov eax, dword [0x705898]
mov ecx, dword [eax + 0x3c4]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
lea esi, [ecx + edx*2]
mov ecx, dword [eax + 0x107da0]
imul esi, esi, 0x1510
add esi, eax
cmp ecx, ebp
jne 0x5243d6
mov eax, dword [eax + 0x107da4]
push 0x10
push eax
push 0x2a0
push 0x48
call fcn.00449ca0
add esp, 0x10
mov dword [esp + 0x18], eax
jmp 0x524401
cmp ecx, 2
jne 0x5243f9
mov ecx, dword [eax + 0x107da4]
push 0x10
push ecx
push 0x48
push 0x2a0
call fcn.00449ca0
add esp, 0x10
mov dword [esp + 0x18], eax
jmp 0x524401
mov dword [esp + 0x18], 0x48
mov eax, dword [esp + 0x20]
sub eax, dword [ebx + 0x120a30]
mov ecx, dword [esp + 0x18]
push 0x20
push 0x20
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esp + 0x38]
push 0x68
push 0x210
shl edx, 4
lea eax, [edx + eax + 0x4c]
push 0xa
push eax
push ecx
lea edx, [esi + 0x10]
push edx
mov dword [esp + 0x34], eax
call fcn.00522050
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
add esp, 0x20
cmp dword [eax + 0x107dac], ecx
jne 0x5244d6
cmp dword [eax + 0x107db4], ebp
mov eax, dword [eax + 0x107db0]
je 0x52449f
and eax, 0x8000000f
jns 0x524470
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 8
jl 0x52447e
mov edx, 0x10
sub edx, eax
mov eax, edx
push 8
push eax
push 0x64
push ebp
call fcn.00449ca0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov eax, 0x40
add esp, 0x10
jmp 0x5244e6
and eax, 0x8000001f
mov dword [esp + 0x10], ebp
jns 0x5244af
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x10
jl 0x5244bd
mov ecx, 0x20
sub ecx, eax
mov eax, ecx
push 0x10
push eax
push 0x40
push 0x20
call fcn.00449ca0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
add esp, 0x10
jmp 0x5244e6
mov dword [esp + 0x10], ebp
xor eax, eax
mov ecx, 0x280
mov edx, 0x1c0
push dword [esp + 0x10]
push eax
push 0x68
push 0x210
push 0xa
push edx
push ecx
lea eax, [esi + 0x760]
push eax
call fcn.005227b0
add esp, 0x20
cmp dword [edi - 0x10], ebp
je 0x524e54
mov eax, dword [edi - 0xc]
mov edx, dword [esp + 0x14]
add eax, 0x8d0
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 5
add ecx, ebx
add edx, 4
push ebp
push ecx
mov dword [esp + 0x2c], edx
call fcn.005282d0
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0x848], eax
mov dword [esi + 0x84c], edx
mov ebx, dword [0x705898]
cvtsi2ss xmm0, ecx
mulss xmm0, dword [ebx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
cvtsi2ss xmm0, dword [esp + 0x20]
mulss xmm0, dword [ebx + 0x3b4]
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x18], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x18]
or eax, edx
mov dword [esi + 0x86c], eax
mov ebx, dword [esp + 0x20]
mov dword [esi + 0x868], ebp
add ecx, 0x60
cvtsi2ss xmm0, ecx
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x18], eax
add ebx, 0x60
cvtsi2ss xmm0, ebx
mulss xmm0, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x18]
or eax, edx
mov dword [esi + 0x87c], eax
mov dword [esi + 0x878], ebp
mov eax, dword [edi - 8]
add eax, 0x8d9
mov edx, eax
shl edx, 4
sub edx, eax
shl edx, 5
add edx, dword [esp + 0x40]
push 0
push edx
call fcn.005282d0
mov dword [esi + 0x8d8], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x8dc], edx
mov ecx, dword [0x705898]
add eax, 4
cvtsi2ss xmm0, eax
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x20], eax
cvtsi2ss xmm0, ebx
mulss xmm0, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x20]
or eax, edx
mov dword [esi + 0x8fc], eax
mov eax, dword [esp + 0x24]
add eax, 0x1c
cvtsi2ss xmm0, eax
mov dword [esi + 0x8f8], ebp
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x20], eax
lea edx, [ebx + 0x78]
cvtsi2ss xmm0, edx
mulss xmm0, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x20]
or eax, edx
mov dword [esi + 0x908], ebp
mov ebp, dword [esp + 0x24]
mov dword [esi + 0x90c], eax
mov eax, dword [edi - 4]
add eax, 0x902
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 5
add ecx, dword [esp + 0x48]
push 0
push ecx
add ebp, 0x1c
call fcn.005282d0
mov dword [esi + 0x968], eax
mov dword [esi + 0x96c], edx
mov ecx, dword [0x705898]
cvtsi2ss xmm0, ebp
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x28], eax
cvtsi2ss xmm0, ebx
mulss xmm0, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x28]
or eax, edx
mov dword [esi + 0x98c], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x988], ebp
add eax, 0x3c
cvtsi2ss xmm0, eax
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x28], eax
lea edx, [ebx + 0xba]
cvtsi2ss xmm0, edx
mulss xmm0, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x28]
or eax, edx
mov dword [esi + 0x99c], eax
mov eax, dword [esp + 0x2c]
add eax, 0x3c
cvtsi2ss xmm0, eax
mov dword [esi + 0x998], ebp
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x28], eax
cvtsi2ss xmm0, ebx
mulss xmm0, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x28]
or eax, edx
mov dword [esi + 0xa1c], eax
mov eax, dword [esp + 0x2c]
add eax, 0x50
cvtsi2ss xmm0, eax
mov dword [esi + 0xa18], ebp
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x28], eax
lea edx, [ebx + 0x78]
cvtsi2ss xmm0, edx
mulss xmm0, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x28]
or eax, edx
mov dword [esi + 0xa2c], eax
mov dword [esi + 0xa28], ebp
mov eax, dword [edi]
cdq
mov ecx, 0x3c
idiv ecx
push edx
push eax
push str._4d_02d
lea edx, [esp + 0x60]
push edx
call fcn.00631251
mov ebp, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x64]
push eax
push 0x10
push 0xc
push 0xa
lea ecx, [ebp + 0x40]
push ecx
add edx, 0xd8
push edx
lea eax, [esi + 0xa30]
push 7
push eax
call fcn.005238e0
mov ecx, dword [0x705898]
lea eax, [ebp + 0x50]
cvtsi2ss xmm0, eax
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x58], eax
cvtsi2ss xmm0, ebx
mulss xmm0, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x58]
or eax, edx
mov dword [esi + 0xe9c], eax
mov dword [esi + 0xe98], ebp
mov ebp, dword [esp + 0x5c]
lea ecx, [ebp + 0x64]
cvtsi2ss xmm0, ecx
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
add ebx, 0x78
cvtsi2ss xmm0, ebx
mulss xmm0, dword [ecx + 0x3b4]
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
mov dword [esp + 0x6c], edx
cdq
or ecx, eax
mov eax, dword [esp + 0x6c]
or eax, edx
add esp, 0x48
mov dword [esi + 0xeac], eax
mov dword [esi + 0xea8], ecx
mov edx, dword [edi + 4]
push edx
lea eax, [esp + 0x40]
push 0x64eae0
push eax
call fcn.00631251
mov ebx, dword [esp + 0x24]
lea ecx, [esp + 0x48]
push ecx
push 0x10
push 0x10
push 0xa
lea edx, [ebp + 0x54]
push edx
lea eax, [ebx + 0x10c]
push eax
lea ecx, [esi + 0xeb0]
push 2
push ecx
call fcn.005238e0
lea ecx, [ebx + 0x13c]
mov ebx, dword [0x705898]
lea eax, [ebp + 4]
cvtsi2ss xmm0, eax
mulss xmm0, dword [ebx + 0x3b8]
mov dword [esp + 0x50], eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
cvtsi2ss xmm0, ecx
mulss xmm0, dword [ebx + 0x3b4]
mov ecx, eax
mov dword [esp + 0x40], edx
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ecx, eax
mov eax, dword [esp + 0x40]
or eax, edx
mov edx, dword [esp + 0x50]
mov dword [esi + 0x104c], eax
add edx, 0x50
mov dword [esi + 0x1048], ecx
mov ecx, dword [0x705898]
cvtsi2ss xmm0, edx
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mov eax, edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
lea eax, [edx + 0x13c]
add eax, 0x40
cvtsi2ss xmm0, eax
mulss xmm0, dword [ecx + 0x3b4]
push 1
push 0x80
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebx, eax
mov eax, dword [esp + 0x44]
push 0x10
push 0x10
or eax, edx
push 0x70
mov dword [esi + 0x105c], eax
push 0xa
mov dword [esi + 0x1058], ebx
mov ebx, dword [esp + 0x5c]
lea eax, [ebp + 0x48]
push eax
lea eax, [ebx + 0x13c]
push eax
lea ecx, [esi + 0x1180]
push 1
push ecx
call fcn.00522370
mov edx, dword [edi + 8]
add esp, 0x54
push edx
call fcn.004b4970
add esp, 4
cmp eax, 0x160
lea eax, [ebp + 0x4c]
jl 0x524b2f
push 0
push 0
push 0xa
push eax
lea eax, [ebx + 0x134]
push eax
mov eax, dword [edi + 8]
push eax
call fcn.004b4970
add esp, 4
push eax
lea eax, [esi + 0x13f0]
push eax
call fcn.004af620
jmp 0x524b6d
mov ecx, dword [edi + 8]
push 0x14
push 0x80
push 0xa
push eax
lea eax, [ebx + 0x134]
push eax
push ecx
call fcn.004b4970
add esp, 4
push eax
lea eax, [esi + 0x13f0]
push eax
call fcn.004af620
mov dword [esi + 0x1458], 0x80000000
mov dword [esi + 0x145c], 0x3f800000
mov eax, dword [edi + 0xc]
add eax, 0x96d
mov edx, eax
shl edx, 4
add ebx, 0x18c
sub edx, eax
add esp, 0x1c
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x38]
shl edx, 5
add edx, ebx
push 0
add ebp, 0xc
push edx
mov dword [esp + 0x1c], ebp
call fcn.005282d0
mov dword [esi + 0x10b8], eax
mov dword [esi + 0x10bc], edx
mov ecx, dword [0x705898]
cvtsi2ss xmm0, ebp
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
cvtsi2ss xmm0, dword [esp + 0x18]
mulss xmm0, dword [ecx + 0x3b4]
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x18], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x18]
or eax, edx
mov dword [esi + 0x10dc], eax
mov eax, dword [esp + 0x1c]
add eax, 0x58
cvtsi2ss xmm0, eax
mov dword [esi + 0x10d8], ebp
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
lea eax, [edx + 0x18c]
add eax, 0x80
cvtsi2ss xmm0, eax
mulss xmm0, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x18]
or eax, edx
mov dword [esi + 0x10e8], ebp
mov ebp, dword [esp + 0x20]
mov dword [esi + 0x10ec], eax
mov eax, dword [edi + 0xc]
add eax, 0x93b
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 5
add ecx, ebx
add ebp, 0x184
push 0
push ecx
mov dword [esp + 0x20], ebp
call fcn.005282d0
mov dword [esi + 0x1148], eax
cvtsi2ss xmm0, dword [esp + 0x34]
mov dword [esi + 0x114c], edx
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov dword [esp + 0x28], edx
cvtsi2ss xmm0, ebp
mulss xmm0, dword [ecx + 0x3b4]
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ecx, eax
mov eax, dword [esp + 0x28]
or eax, edx
mov edx, dword [esp + 0x34]
mov dword [esi + 0x116c], eax
mov dword [esi + 0x1168], ecx
mov ecx, dword [0x705898]
add edx, 0x18
cvtsi2ss xmm0, edx
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x20], eax
add edx, 0x90
cvtsi2ss xmm0, edx
mulss xmm0, dword [ecx + 0x3b4]
mov ecx, dword [esp + 0x2c]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x20]
or eax, edx
mov dword [esi + 0x117c], eax
mov dword [esi + 0x1178], ebp
lea eax, [ebx + 0x108420]
xor ebp, ebp
push eax
push ecx
mov dword [esi + 0x14f8], ebp
mov dword [esi + 0x14fc], ebp
mov dword [esi + 0x1508], ebp
mov dword [esi + 0x150c], ebp
call fcn.00528260
mov eax, dword [edi - 0xc]
add eax, 0x8d0
mov edx, eax
shl edx, 4
sub edx, eax
mov eax, dword [esp + 0x34]
shl edx, 5
add edx, ebx
push edx
push eax
call fcn.00528260
mov eax, dword [edi - 8]
mov edx, dword [esp + 0x3c]
add eax, 0x8d9
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 5
add ecx, ebx
push ecx
push edx
call fcn.00528260
mov eax, dword [edi - 4]
mov edx, dword [esp + 0x44]
add eax, 0x902
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 5
add ecx, ebx
push ecx
push edx
call fcn.00528260
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x4c]
add eax, 0x93b
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 5
add ecx, ebx
push ecx
push edx
call fcn.00528260
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x54]
add eax, 0x96d
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 5
add ecx, ebx
push ecx
push edx
call fcn.00528260
mov eax, dword [edi + 8]
add esp, 0x40
push eax
call fcn.004b4940
push eax
call fcn.00522e70
add esp, 8
jmp 0x525084
push 0x6495e0
push 0x10
mov dword [esi + 0x868], ebp
mov dword [esi + 0x86c], ebp
mov dword [esi + 0x878], ebp
mov dword [esi + 0x87c], ebp
push 0xc
push ebp
mov dword [esi + 0x8f8], ebp
mov dword [esi + 0x8fc], ebp
mov dword [esi + 0x908], ebp
mov dword [esi + 0x90c], ebp
push 0x1c0
push 0x280
mov dword [esi + 0x988], ebp
mov dword [esi + 0x98c], ebp
mov dword [esi + 0x998], ebp
mov dword [esi + 0x99c], ebp
lea ecx, [esi + 0xa30]
push 7
push ecx
mov dword [esi + 0xa18], ebp
mov dword [esi + 0xa1c], ebp
mov dword [esi + 0xa28], ebp
mov dword [esi + 0xa2c], ebp
call fcn.005238e0
push 0x6495e0
push 0x10
push 0x10
push ebp
push 0x1c0
push 0x280
lea edx, [esi + 0xeb0]
push 2
push edx
mov dword [esi + 0xe98], ebp
mov dword [esi + 0xe9c], ebp
mov dword [esi + 0xea8], ebp
mov dword [esi + 0xeac], ebp
call fcn.005238e0
add esp, 0x40
push 1
push ebp
push ebp
push ebp
push ebp
push ebp
push 0x1c0
push 0x280
lea eax, [esi + 0x1180]
push 1
push eax
mov dword [esi + 0x1048], ebp
mov dword [esi + 0x104c], ebp
mov dword [esi + 0x1058], ebp
mov dword [esi + 0x105c], ebp
call fcn.00522370
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esi + 0x1468], ebp
mov dword [esi + 0x146c], ebp
mov dword [esi + 0x1478], ebp
mov dword [esi + 0x147c], ebp
mov dword [esi + 0x10d8], ebp
mov dword [esi + 0x10dc], ebp
mov dword [esi + 0x10e8], ebp
mov dword [esi + 0x10ec], ebp
add eax, 0x28
mov dword [esi + 0x1168], ebp
mov dword [esi + 0x116c], ebp
mov dword [esi + 0x1178], ebp
mov dword [esi + 0x117c], ebp
mov ebp, dword [0x705898]
cvtsi2ss xmm0, eax
mulss xmm0, dword [ebp + 0x3b8]
mov dword [esp + 0x3c], eax
add ecx, 0xa8
cvttss2si eax, xmm0
and eax, 0xffff
mov dword [esp + 0x38], ecx
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
cvtsi2ss xmm0, ecx
mulss xmm0, dword [ebp + 0x3b4]
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
mov dword [esp + 0x40], edx
cdq
or ecx, eax
mov eax, dword [esp + 0x40]
or eax, edx
mov dword [esi + 0x14fc], eax
mov dword [esi + 0x14f8], ecx
mov ecx, dword [esp + 0x3c]
add ecx, 0x18
cvtsi2ss xmm0, ecx
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0xa0000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x38], eax
add edx, 0xc0
cvtsi2ss xmm0, edx
mulss xmm0, dword [ecx + 0x3b4]
mov ecx, dword [esp + 0x44]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x38]
or eax, edx
mov dword [esi + 0x150c], eax
lea eax, [ebx + 0x109500]
push eax
push ecx
mov dword [esi + 0x1508], ebp
call fcn.00528260
add esp, 0x30
xor ebp, ebp
mov edx, dword [esp + 0x1c]
push ebp
push ebp
push ebp
push 0x151
push esi
push edx
call fcn.00550200
mov eax, dword [esp + 0x38]
add eax, 1
add esp, 0x18
add edi, 0x20
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
jl 0x524390
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
call fcn.004eace0
mov eax, dword [0x705898]
mov ecx, dword [eax + 0x3c4]
push ecx
call fcn.004eac40
add esp, 4
call fcn.004eac90
cmp esi, dword [esp + 0x2c]
mov dword [esp + 0x20], esi
jge 0x5251e2
shl esi, 5
lea edx, [esi + ebx + 0x120a34]
mov dword [esp + 0x28], edx
mov eax, dword [edi + 0x107da0]
cmp eax, ebp
jne 0x52511a
mov eax, dword [edi + 0x107da4]
push 0x10
push eax
push 0x2a0
push 0x48
call fcn.00449ca0
add esp, 0x10
mov esi, eax
jmp 0x525140
cmp eax, 2
jne 0x52513b
mov ecx, dword [edi + 0x107da4]
push 0x10
push ecx
push 0x48
push 0x2a0
call fcn.00449ca0
add esp, 0x10
mov esi, eax
jmp 0x525140
mov esi, 0x48
mov eax, dword [esp + 0x20]
sub eax, dword [ebx + 0x120a30]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esp + 0x30]
shl edx, 4
lea ecx, [edx + eax + 0x4c]
mov eax, dword [esp + 0x28]
cmp dword [eax], ebp
mov dword [esp + 0x14], ecx
je 0x5251c8
mov edx, dword [eax + 0x18]
push edx
call fcn.004b4970
add esp, 4
cmp eax, 0x160
mov dword [esp + 0x34], eax
jl 0x5251c8
call fcn.004eace0
mov eax, dword [0x705898]
mov ecx, dword [eax + 0x3c4]
push ecx
call fcn.004eac40
call fcn.004eac90
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
push 1
push 0x80000000
push 0x14
push 0x80
push 0xa
add edx, 0x4c
push edx
add esi, 0x134
push esi
push eax
call fcn.004b0950
add esp, 0x24
mov eax, dword [esp + 0x20]
add dword [esp + 0x28], 0x20
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
jl 0x5250f4
mov ecx, dword [0x705898]
mov eax, dword [ecx + 0xf8]
mov edx, dword [eax]
push ebp
push 0xae
push eax
call dword [edx + 0xe4]
mov eax, dword [0x705898]
mov eax, dword [eax + 0x3c4]
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*8]
mov eax, dword [edi + 0x107da0]
shl edx, 4
cmp eax, ebp
lea esi, [edx + edi + 0x107480]
jne 0x525239
mov eax, dword [edi + 0x107da4]
push 0x10
push eax
push 0xffffffffffffffe0
push 0x20
call fcn.00449ca0
add esp, 0x10
jmp 0x52525a
cmp eax, 2
jne 0x525255
mov ecx, dword [edi + 0x107da4]
push 0x10
push ecx
push 0x20
push 0xffffffffffffffe0
call fcn.00449ca0
add esp, 0x10
jmp 0x52525a
mov eax, 0x20
mov edx, dword [ebx + 0x120a30]
push edx
push 3
push 0x64
push 0x148
push 0xa
push 0x4c
push eax
lea eax, [esi + 0x10]
push eax
call fcn.00522970
mov ecx, dword [esp + 0x3c]
push ebp
push ebp
push ebp
push 0x49
push esi
push ecx
call fcn.00550200
add esp, 0x38
pop esi
pop ebp
mov ecx, dword [esp + 0x44]
pop edi
pop ebx
call fcn.0062fcdf
add esp, 0x40
ret