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

Disassembly:
sub esp, 0x4c
mov eax, dword [0x6ee2dc]
push ebp
push edi
mov dword [esp + 0x50], eax
call fcn.00506490
mov ebp, eax
add ebp, 0x115b8
mov dword [esp + 0x10], ebp
call fcn.00506490
mov ecx, dword [ebp + 0x4c00]
cmp ecx, 3
mov edi, dword [0x705898]
mov dword [esp + 0xc], eax
je 0x5058f1
push ebx
push esi
mov esi, dword [edi + 0x3c4]
mov eax, esi
imul esi, esi, 0x2560
shl eax, 5
add eax, 0x8e89b0
and eax, 0xfffffff
add esi, ebp
test ecx, ecx
mov dword [esp + 0x30], eax
jne 0x504b00
mov eax, dword [ebp + 0x4c04]
push 0xc
push eax
push 0x2c0
push 0x58
call fcn.00449ca0
add esp, 0x10
mov ebx, eax
jmp 0x504b26
cmp ecx, 2
jne 0x504b21
mov ecx, dword [ebp + 0x4c04]
push 0xc
push ecx
push 0x58
push 0xfffffdf0
call fcn.00449ca0
add esp, 0x10
mov ebx, eax
jmp 0x504b26
mov ebx, 0x58
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x2126c]
push eax
call fcn.004b5980
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x2126c]
push edx
call fcn.004b5930
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x21260]
add esp, 8
cmp ecx, 0x31
mov dword [esp + 0x44], eax
jne 0x504b63
mov eax, 0x1ea
jmp 0x504b69
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*2]
mov ecx, dword [0xa22fec]
shl eax, 4
movzx edx, byte [eax + ecx + 4]
add eax, ecx
movzx eax, byte [eax + 2]
mov ecx, dword [ebp + 0x4c10]
push ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], eax
call fcn.004b5980
mov edx, dword [ebp + 0x4c10]
push edx
mov dword [esp + 0x24], eax
call fcn.004b5930
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x21260]
add esp, 8
cmp ecx, 0x31
mov dword [esp + 0x20], eax
jne 0x504bbe
mov eax, 0x1ea
jmp 0x504bc4
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*2]
mov ecx, dword [0xa22fec]
push 0x40
push 0x40
push 0xd0
push 0x1d0
shl eax, 4
movzx edx, byte [eax + ecx + 4]
add eax, ecx
movzx eax, byte [eax + 2]
push 0x64
push 0x90
lea ecx, [esi + 0x10]
push ebx
push ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
call fcn.00522050
push 0x20
push 0x20
push 0xec
push 0x64
push 0xb0
lea ebp, [ebx + 0xbc]
lea edx, [esi + 0x760]
push ebp
push edx
call fcn.00522330
cvtsi2ss xmm0, ebp
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x64eb58]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov dword [esi + 0xa4c], ebp
mov dword [esi + 0xa48], ecx
lea edx, [ebx + 0x164]
cvtsi2ss xmm0, edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x6525b8]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
or ebp, edx
shl eax, 0x10
or ecx, eax
mov dword [esi + 0xa5c], ebp
mov ebp, dword [esp + 0x50]
mov dword [esi + 0xa58], ecx
mov edx, dword [ebp + 0x21264]
push edx
lea eax, [esp + 0x88]
push 0x64ea8c
push eax
call fcn.00631251
add esp, 0x48
lea ecx, [esp + 0x48]
push ecx
push 0x14
push 0x10
push 0x64
push 0x9a
lea edx, [ebx + 0x158]
push edx
lea eax, [esi + 0xa60]
push 5
push eax
call fcn.005238e0
mov ecx, dword [ebp + 0x21184]
mov edx, dword [esp + 0x3c]
lea eax, [edx + ecx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 5
lea edx, [ecx + ebp + 0x1f550]
push 0
push edx
call fcn.005282d0
mov dword [esi + 0xd88], eax
mov dword [esi + 0xd8c], edx
lea eax, [ebx + 8]
cvtsi2ss xmm0, eax
mulss xmm0, dword [edi + 0x3b4]
mov dword [esp + 0x4c], eax
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x652594]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov edx, dword [esp + 0x4c]
add edx, 0xf0
mov dword [esi + 0xda8], ecx
mov dword [esi + 0xdac], ebp
cvtsi2ss xmm0, edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x6525d8]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov dword [esi + 0xdb8], ecx
mov dword [esi + 0xdbc], ebp
lea eax, [ebx + 0x178]
cvtsi2ss xmm0, eax
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x64e2a0]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov dword [esi + 0xe38], ecx
mov dword [esi + 0xe3c], ebp
lea edx, [ebx + 0x198]
cvtsi2ss xmm0, edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x64eb10]
and eax, 0xffff
cdq
mov ecx, eax
mov ebp, edx
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
cdq
shld edx, eax, 0x10
or ebp, edx
mov edx, dword [esp + 0x48]
shl eax, 0x10
add edx, 1
push edx
or ecx, eax
lea eax, [esp + 0x74]
push 0x64eae0
push eax
mov dword [esi + 0xe48], ecx
mov dword [esi + 0xe4c], ebp
call fcn.00631251
lea ecx, [esp + 0x7c]
push ecx
push 0x10
push 0x10
push 0x64
push 0xe4
lea edx, [ebx + 0x198]
push edx
lea eax, [esi + 0xe50]
push 2
push eax
call fcn.005238e0
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 0x21260]
add esp, 0x54
push ecx
push eax
call fcn.00523f10
lea ecx, [esp + 0x44]
push ecx
push 0x10
mov ebp, eax
push 0x280
push ebp
call fcn.004afd50
mov eax, dword [esp + 0x54]
cdq
push 0x14
sub eax, edx
push 0x280
push 0x64
sar eax, 1
mov edx, ebx
sub edx, eax
push 0xc8
add edx, 0x164
push edx
push 0x14
push 0x10
call fcn.004b06e0
push ebp
push 1
push 0x10
lea eax, [esi + 0xf70]
push 1
push eax
call fcn.004b0490
lea eax, [ebx + 0x110]
cvtsi2ss xmm0, eax
mulss xmm0, dword [edi + 0x3b4]
add esp, 0x48
cvttss2si eax, xmm0
and eax, 0xffff
cdq
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x652428]
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov dword [esi + 0x18ec], ebp
mov dword [esi + 0x18e8], ecx
lea edx, [ebx + 0x168]
cvtsi2ss xmm0, edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x6525d4]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ebp, edx
mov edx, dword [esp + 0x18]
or ecx, eax
mov dword [esi + 0x18fc], ebp
mov dword [esi + 0x18f8], ecx
mov eax, dword [edx + 0x4c10]
cmp eax, 0x8ca0
lea ebp, [ebx + 0x168]
jl 0x50500d
mov eax, 0x8ca0
push eax
lea eax, [esp + 0x4c]
push 0x64ea8c
push eax
call fcn.00631251
lea ecx, [esp + 0x54]
push ecx
push 0x10
push 0x10
push 0x64
push 0xf8
push ebp
lea eax, [esi + 0x1900]
push 5
push eax
call fcn.005238e0
lea eax, [ebx + 0x110]
cvtsi2ss xmm0, eax
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x64ea9c]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov dword [esi + 0x1c4c], ebp
mov dword [esi + 0x1c48], ecx
lea edx, [ebx + 0x168]
cvtsi2ss xmm0, edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x64eaa0]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ebp, edx
mov edx, dword [esp + 0x44]
or ecx, eax
mov dword [esi + 0x1c5c], ebp
mov dword [esi + 0x1c58], ecx
mov eax, dword [edx + 0x4c10]
push eax
lea ebp, [esi + 0x1c60]
call fcn.004b59f0
add esp, 0x30
test eax, eax
mov dword [esp + 0x10], eax
jge 0x50511d
lea ecx, [esp + 0x48]
push 0x64ead8
push ecx
call fcn.00631251
add esp, 8
jmp 0x505130
push eax
lea edx, [esp + 0x4c]
push 0x64ea8c
push edx
call fcn.00631251
add esp, 0xc
lea eax, [esp + 0x48]
push eax
push 0x10
push 0x10
push 0x64
push 0x10c
lea eax, [ebx + 0x168]
push eax
push 5
push ebp
call fcn.005238e0
movss xmm1, dword [edi + 0x3b8]
mulss xmm1, dword [0x6502b8]
lea eax, [ebx + 0x110]
cvtsi2ss xmm0, eax
cvttss2si eax, xmm1
and eax, 0xffff
or eax, 0x640000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ecx, eax
mov ebp, edx
movaps xmm1, xmm0
mulss xmm1, dword [edi + 0x3b4]
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or ecx, eax
or ebp, edx
mov dword [esi + 0x1fa8], ecx
mov dword [esi + 0x1fac], ebp
lea edx, [ebx + 0x1b8]
cvtsi2ss xmm1, edx
mulss xmm1, dword [edi + 0x3b4]
cvttss2si eax, xmm1
movss xmm1, dword [edi + 0x3b8]
mulss xmm1, dword [0x6525d0]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm1
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
add esp, 0x20
cmp dword [esp + 0x10], 0
movss dword [esp + 0x34], xmm0
mov dword [esi + 0x1fb8], ecx
mov dword [esi + 0x1fbc], ebp
jge 0x505218
mov dword [esp + 0x10], 0xa8
jmp 0x505256
mov edx, dword [esp + 0x20]
push edx
call fcn.004b59c0
mov ebp, eax
add esp, 4
cmp ebp, 1
jg 0x505231
mov ebp, 1
mov eax, ebp
sub eax, dword [esp + 0x10]
movss xmm0, dword [esp + 0x34]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [ecx + ecx*2]
add eax, eax
add eax, eax
add eax, eax
cdq
idiv ebp
mov dword [esp + 0x10], eax
movss xmm1, dword [edi + 0x3b8]
mulss xmm0, dword [edi + 0x3b4]
mulss xmm1, dword [0x6502b8]
cvttss2si eax, xmm1
and eax, 0xffff
or eax, 0x640000
cdq
shld edx, eax, 0x10
shl eax, 0x10
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
mov ebp, edx
cdq
or ecx, eax
or ebp, edx
mov edx, dword [esp + 0x10]
mov dword [esi + 0x2038], ecx
mov dword [esi + 0x203c], ebp
lea eax, [edx + ebx + 0x110]
cvtsi2ss xmm0, eax
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x6525d0]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov dword [esi + 0x2048], ecx
mov dword [esi + 0x204c], ebp
lea eax, [ebx + 0x110]
cvtsi2ss xmm0, eax
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x6525c8]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov dword [esi + 0x20c8], ecx
mov dword [esi + 0x20cc], ebp
lea edx, [ebx + 0x168]
cvtsi2ss xmm0, edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x64fb7c]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov edx, dword [esp + 0x2c]
mov dword [esi + 0x20d8], ecx
mov dword [esi + 0x20dc], ebp
push edx
lea eax, [esp + 0x4c]
push 0x64ead0
push eax
call fcn.00631251
lea ecx, [esp + 0x54]
push ecx
push 0x10
push 0x10
push 0x64
push 0x130
lea edx, [ebx + 0x188]
push edx
lea eax, [esi + 0x20e0]
push 3
push eax
call fcn.005238e0
lea eax, [ebx + 0x110]
cvtsi2ss xmm0, eax
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x651d28]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov dword [esi + 0x2308], ecx
mov dword [esi + 0x230c], ebp
lea edx, [ebx + 0x168]
cvtsi2ss xmm0, edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x64eb00]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
or ebp, edx
mov edx, dword [esp + 0x54]
shl eax, 0x10
push edx
or ecx, eax
lea eax, [esp + 0x78]
push 0x64ea98
push eax
mov dword [esi + 0x2318], ecx
mov dword [esi + 0x231c], ebp
call fcn.00631251
lea ecx, [esp + 0x80]
push ecx
push 0x10
push 0x10
push 0x64
push 0x144
lea edx, [ebx + 0x1a8]
push edx
lea eax, [esi + 0x2320]
push 1
push eax
call fcn.005238e0
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0x4c18]
add esp, 0x58
and eax, 0x8000001f
jns 0x5054e3
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x10
jl 0x5054f1
mov edx, 0x20
sub edx, eax
mov eax, edx
push 0x10
push eax
push 0x80
push 0x40
call fcn.00449ca0
mov dword [esp + 0x20], eax
add ebx, 0x1bc
cvtsi2ss xmm0, ebx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x6496a0]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov dword [esi + 0x2428], ecx
mov dword [esi + 0x242c], ebp
lea edx, [ebx + 0x30]
cvtsi2ss xmm0, edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x652428]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov edx, dword [esp + 0x54]
cmp dword [esp + 0x30], edx
mov dword [esi + 0x2438], ecx
sete al
sub al, 1
mov dword [esi + 0x243c], ebp
cvtsi2ss xmm0, ebx
and eax, dword [esp + 0x20]
mov byte [esi + 0x241b], al
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x64e744]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ebp, edx
or ecx, eax
lea edx, [ebx + 0x30]
mov dword [esi + 0x24b8], ecx
mov dword [esi + 0x24bc], ebp
cvtsi2ss xmm0, edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x651d28]
and eax, 0xffff
cdq
mov ecx, eax
mov ebp, edx
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov edx, dword [esp + 0x48]
cmp dword [esp + 0x3c], edx
mov dword [esi + 0x24c8], ecx
sete al
sub al, 1
mov dword [esi + 0x24cc], ebp
cvtsi2ss xmm0, ebx
add ebx, 0x30
and eax, dword [esp + 0x20]
mov byte [esi + 0x24ab], al
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x64fb7c]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebp, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov dword [esi + 0x2548], ecx
cvtsi2ss xmm0, ebx
mov dword [esi + 0x254c], ebp
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x6525d8]
and eax, 0xffff
cdq
mov ecx, eax
mov ebp, dword [esp + 0x40]
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
mov ebx, edx
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ebx, edx
mov edx, dword [esp + 0x38]
or ecx, eax
cmp edx, dword [esp + 0x50]
mov dword [esi + 0x255c], ebx
mov ebx, dword [esp + 0x24]
sete al
sub al, 1
mov dword [esi + 0x2558], ecx
lea ecx, [ebx + 0x20db0]
push ecx
push ebp
and eax, dword [esp + 0x28]
mov byte [esi + 0x253b], al
call fcn.00528260
lea edx, [ebx + 0x20f90]
push edx
push ebp
call fcn.00528260
mov eax, dword [ebx + 0x21184]
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + eax*4]
mov edx, eax
shl edx, 4
sub edx, eax
shl edx, 5
lea eax, [edx + ebx + 0x1f550]
push eax
push ebp
call fcn.00528260
push 0
push 0
push 0
push 0x256
push esi
push ebp
call fcn.00550200
mov ecx, dword [esp + 0x58]
add esp, 0x40
cmp dword [ecx + 0x4c1c], 0
jle 0x5058ef
mov edx, dword [0x705898]
mov eax, dword [edx + 0x3c4]
mov edx, dword [esp + 0x1c]
lea eax, [eax + eax*4]
shl eax, 5
lea esi, [eax + ecx + 0x4ac0]
mov ecx, dword [ebx + 0x21184]
lea eax, [edx + ecx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 5
lea edx, [ecx + ebx + 0x1f550]
push 0
push edx
call fcn.005282d0
cvtsi2ss xmm0, dword [esp + 0x2c]
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x652594]
and eax, 0xffff
cdq
mov ecx, eax
mov ebp, edx
cvttss2si eax, xmm0
and eax, 0xffff
or eax, 0x640000
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ecx, eax
or ebp, edx
mov edx, dword [esp + 0x2c]
add edx, 0xf0
mov dword [esi + 0x88], ecx
mov dword [esi + 0x8c], ebp
cvtsi2ss xmm0, edx
mulss xmm0, dword [edi + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x3b8]
mulss xmm0, dword [0x6525d8]
mov edi, dword [esp + 0x20]
and eax, 0xffff
cdq
mov ecx, eax
cvttss2si eax, xmm0
and eax, 0xffff
mov ebp, edx
or eax, 0x640000
cdq
shld edx, eax, 0x10
shl eax, 0x10
or ebp, edx
or ecx, eax
mov dword [esi + 0x98], ecx
mov dword [esi + 0x9c], ebp
mov edx, dword [edi + 0x4c1c]
push 0x20
push edx
push 0x80
push 0
call fcn.00449ca0
mov byte [esi + 0x7b], al
mov ecx, dword [edi + 0x4c20]
mov eax, dword [ebx + 0x21184]
mov edi, dword [esp + 0x48]
lea eax, [ecx + eax*4]
mov edx, eax
shl edx, 4
sub edx, eax
shl edx, 5
lea eax, [edx + ebx + 0x1f550]
push eax
push edi
call fcn.00528260
push 0
push 0
push 0
push 0xa
push esi
push edi
call fcn.00550200
add esp, 0x38
pop esi
pop ebx
mov ecx, dword [esp + 0x50]
pop edi
pop ebp
call fcn.0062fcdf
add esp, 0x4c
ret