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

Disassembly:
sub esp, 0x38
mov ecx, dword [0x7bfe88]
cmp ecx, 6
mov eax, dword [0x6ee2dc]
mov dword [esp + 0x34], eax
je 0x43f03d
mov eax, dword [0x705898]
push esi
mov esi, dword [eax + 0x3c4]
mov eax, esi
imul esi, esi, 0x38b0
shl eax, 5
add eax, 0x8e89b0
and eax, 0xfffffff
add esi, 0x7b8d28
test ecx, ecx
push edi
mov dword [esp + 0x28], eax
jne 0x43de2a
mov ecx, dword [0x7bfe8c]
push 0x10
push ecx
push 0x98
push 0x1c0
call fcn.00449ca0
add esp, 0x10
mov edi, eax
jmp 0x43de53
cmp ecx, 2
jne 0x43de4e
mov edx, dword [0x7bfe8c]
push 0x10
push edx
push 0x1c0
push 0x98
call fcn.00449ca0
add esp, 0x10
mov edi, eax
jmp 0x43de53
mov edi, 0x98
push ebx
push ebp
push 0x20
push 0x20
push 0xc0
push 0x1f0
push 0xffc0
push edi
lea eax, [esi + 0x10]
push 0x48
push eax
call fcn.00522050
push 1
push 0x80
push 0x20
push 0x20
push 0x80
push 0xffc0
lea eax, [edi + 8]
push eax
push 0x68
lea ecx, [esi + 0x760]
push 1
push ecx
call fcn.00522370
mov ebx, dword [0x705898]
lea ecx, [edi + 0xc]
cvtsi2ss xmm0, ecx
mulss xmm0, dword [ebx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ebx + 0x3b4]
and eax, 0xffff
mulss xmm0, dword [0x64eb20]
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x64], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x64]
or eax, edx
mov dword [esi + 0xa4c], eax
mov dword [esi + 0xa48], ebp
add ecx, 0x14
cvtsi2ss xmm0, ecx
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x3b4]
mulss xmm0, dword [0x64eb1c]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
cvttss2si eax, xmm0
and eax, 0xffff
mov ebp, edx
cdq
or ebx, eax
or ebp, edx
mov dword [esi + 0xa58], ebx
add esp, 0x48
mov dword [esi + 0xa5c], ebp
cmp dword [0x7bfe94], 4
lea ebx, [esi + 0xa60]
jge 0x43dfc3
mov eax, dword [0x7bfe90]
and eax, 0x8000001f
jns 0x43df7a
dec eax
or eax, 0xffffffe0
inc eax
cmp eax, 0x10
jl 0x43df88
mov edx, 0x20
sub edx, eax
mov eax, edx
push 0x10
push eax
push 0x40
push 0x20
call fcn.00449ca0
push 0
push eax
mov eax, dword [0x7bfe94]
push 0x20
push 0x78
lea ecx, [eax*8]
sub ecx, eax
push 0xffc0
lea edx, [edi + ecx*4 + 0x30]
push edx
push 0x98
push ebx
call fcn.005227b0
add esp, 0x30
jmp 0x43dfe0
push 0
push 0
push 0
push 0
push 0
push 0x1c0
push 0x280
push ebx
call fcn.005227b0
add esp, 0x20
mov ecx, dword [0x7bfe90]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
and edx, 0x8000000f
jns 0x43e001
dec edx
or edx, 0xfffffff0
inc edx
cmp edx, 8
mov dword [esp + 0x18], edx
jl 0x43e017
mov ecx, 0x10
sub ecx, edx
mov edx, ecx
mov dword [esp + 0x18], edx
mov eax, dword [0x7bfe94]
cmp eax, 4
jge 0x43e03a
add eax, 2
lea ecx, [eax*8]
sub ecx, eax
lea ecx, [edi + ecx*4]
mov dword [esp + 0x1c], 0x80
jmp 0x43e047
mov ecx, 0x1c0
mov dword [esp + 0x1c], 0
xor eax, eax
cvtsi2ss xmm0, ecx
add ecx, 0x10
mov dword [esp + 0x20], eax
cvtsi2ss xmm1, ecx
jmp 0x43e060
mov edx, dword [esp + 0x18]
mov edi, edi
lea ecx, [eax + eax*8]
shl ecx, 4
test eax, eax
lea ecx, [ecx + esi + 0x1e40]
jne 0x43e07a
mov ebp, 0x8c
sub ebp, edx
jmp 0x43e080
lea ebp, [edx + 0x10c]
mov ebx, dword [0x705898]
movss xmm2, dword [ebx + 0x3b8]
mulss xmm2, xmm0
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov dword [esp + 0x10], edx
cvtsi2ss xmm2, ebp
mulss xmm2, dword [ebx + 0x3b4]
mov ebx, eax
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or ebx, eax
mov eax, dword [esp + 0x10]
or eax, edx
mov dword [ecx + 0x7c], eax
mov edx, ebp
add edx, 0x10
mov dword [ecx + 0x78], ebx
mov ebx, dword [0x705898]
cvtsi2ss xmm2, edx
mulss xmm2, dword [ebx + 0x3b4]
cvttss2si eax, xmm2
movss xmm2, dword [ebx + 0x3b8]
and eax, 0xffff
cdq
mov dword [esp + 0x28], ebp
mov ebp, eax
mov eax, edx
mov dword [esp + 0x10], eax
mulss xmm2, xmm1
cvttss2si eax, xmm2
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
or ebp, eax
mov eax, dword [esp + 0x10]
or eax, edx
mov dword [ecx + 0x8c], eax
mov al, byte [esp + 0x1c]
mov byte [ecx + 0x6b], al
mov eax, dword [esp + 0x20]
add eax, 1
cmp eax, 2
mov dword [ecx + 0x88], ebp
mov dword [esp + 0x20], eax
jl 0x43e05a
lea ecx, [esi + 0xaf0]
lea ebp, [edi + 0x4c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], ebp
lea ebx, [esi + 0x1538]
mov dword [esp + 0x1c], 4
nop
mov edx, dword [esp + 0x20]
push 0x18
push 0x18
push 0xb0
push 0xffc0
push ebp
push 0x4c
push edx
call fcn.00522330
mov ecx, dword [0x705898]
add ebp, 0xffffffe8
cvtsi2ss xmm0, ebp
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
movss xmm0, dword [ecx + 0x3b4]
mulss xmm0, dword [0x64ea64]
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x2c], eax
cvttss2si eax, xmm0
cvtsi2ss xmm0, dword [esp + 0x34]
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x2c]
or eax, edx
mov dword [ebx - 0xc], eax
mov dword [ebx - 0x10], ebp
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x3b4]
mulss xmm0, dword [0x64eac8]
and eax, 0xffff
cdq
or eax, 0xffc00000
add dword [esp + 0x3c], 0x270
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x2c], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x2c]
mov dword [ebx], ebp
mov ebp, dword [esp + 0x34]
or eax, edx
mov dword [ebx + 4], eax
add ebp, 0x1c
add esp, 0x1c
add ebx, 0x90
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], ebp
jne 0x43e170
mov eax, dword [0x7bfe98]
push eax
call fcn.004b41f0
lea ecx, [esp + 0x28]
push ecx
push 0xe
mov ebx, eax
push 0x280
push ebx
call fcn.004afd50
mov eax, dword [esp + 0x38]
push 0x14
push 0x280
push 0xffc0
lea edx, [edi + 0x38]
push edx
cdq
sub eax, edx
sar eax, 1
mov ecx, 0xd4
sub ecx, eax
push ecx
push 0x12
push 0xe
call fcn.004b06e0
push ebx
push 1
push 8
lea edx, [esi + 0x16f0]
push 1
push edx
call fcn.004b0490
mov eax, dword [0x7bfe98]
add esp, 0x44
push eax
lea ebx, [esi + 0x1b70]
call fcn.004b4750
add esp, 4
cmp eax, 8
jl 0x43e2e3
mov eax, 8
mov ecx, dword [0x7bfe9c]
push eax
push ecx
lea edx, [esp + 0x3c]
push 0x64eb14
push edx
call fcn.00631251
lea eax, [esp + 0x44]
push eax
push 0x14
push 0x14
push 0xffc0
lea ecx, [edi + 0x52]
push ecx
push 0xb6
push 3
push ebx
call fcn.005238e0
mov ebx, dword [0x705898]
movss xmm1, dword [0x64dea0]
lea ecx, [edi + 0x6c]
cvtsi2ss xmm0, ecx
mulss xmm0, dword [ebx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ebx + 0x3b4]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x40], eax
mulss xmm0, xmm1
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x40]
or eax, edx
movss xmm2, dword [0x64eb10]
mov dword [esi + 0x1d9c], eax
add ecx, 0x18
cvtsi2ss xmm0, ecx
mov dword [esi + 0x1d98], ebp
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x3b4]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
movss xmm3, dword [0x64eab4]
shl eax, 0x10
mov ebx, eax
mulss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [0x64ea60]
and eax, 0xffff
mov ebp, edx
cdq
or ebx, eax
or ebp, edx
mov dword [esi + 0x1da8], ebx
mov dword [esi + 0x1dac], ebp
mov ecx, dword [0x7bfea0]
lea ecx, [ecx + ecx*2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
movss dword [esp + 0x40], xmm0
movss xmm0, dword [0x649534]
mov edx, dword [esp + 0x40]
cvtsi2ss xmm4, ecx
addss xmm4, xmm0
mulss xmm4, xmm3
movss dword [esp + 0x44], xmm4
mov eax, dword [esp + 0x44]
mov dword [esi + 0x1d90], edx
mov dword [esi + 0x1d94], eax
movss xmm4, dword [0x64ea58]
lea edx, [ecx + 0x18]
movss dword [esp + 0x40], xmm4
mov eax, dword [esp + 0x40]
mov dword [esi + 0x1da0], eax
cvtsi2ss xmm4, edx
subss xmm4, xmm0
mulss xmm4, xmm3
lea eax, [ecx + 0x17]
movss dword [esp + 0x44], xmm4
mov edx, dword [esp + 0x44]
mov dword [esi + 0x1da4], edx
cdq
shld edx, eax, 0xa
shl eax, 0xa
mov ebx, eax
mov ebp, edx
mov eax, ecx
cdq
or ebx, eax
or ebp, edx
shld ebp, ebx, 0x18
mov dword [esi + 0x1d84], ebp
shl ebx, 0x18
or ebx, 0xfc00a
mov dword [esi + 0x1d80], ebx
mov ebx, dword [0x705898]
lea ecx, [edi + 0x88]
cvtsi2ss xmm3, ecx
mulss xmm3, dword [ebx + 0x3b8]
cvttss2si eax, xmm3
movss xmm3, dword [ebx + 0x3b4]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x40], eax
mulss xmm3, xmm1
cvttss2si eax, xmm3
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x40]
or eax, edx
mov dword [esi + 0x1e2c], eax
mov dword [esi + 0x1e28], ebp
add ecx, 0x18
cvtsi2ss xmm1, ecx
mov ecx, dword [0x705898]
mulss xmm1, dword [ecx + 0x3b8]
cvttss2si eax, xmm1
movss xmm1, dword [ecx + 0x3b4]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mulss xmm1, xmm2
cvttss2si eax, xmm1
and eax, 0xffff
mov ebp, edx
cdq
or ebx, eax
or ebp, edx
mov dword [esi + 0x1e38], ebx
mov dword [esi + 0x1e3c], ebp
mov eax, dword [0x7bfea4]
mov ecx, eax
and ecx, 0x80000003
jns 0x43e55d
dec ecx
or ecx, 0xfffffffc
inc ecx
cdq
movss xmm1, dword [0x64eab0]
and edx, 3
add eax, edx
sar eax, 2
lea ebx, [eax + eax*2]
add ebx, ebx
add ebx, ebx
add ebx, ebx
shl ecx, 6
cvtsi2ss xmm3, ebx
addss xmm3, xmm0
cvtsi2ss xmm2, ecx
addss xmm2, xmm0
mulss xmm2, xmm1
movss dword [esp + 0x40], xmm2
mov eax, dword [esp + 0x40]
movss xmm2, dword [0x64eaac]
mov dword [esi + 0x1e20], eax
mulss xmm3, xmm2
movss dword [esp + 0x44], xmm3
mov edx, dword [esp + 0x44]
mov dword [esi + 0x1e24], edx
lea edx, [ebx + 0x18]
lea eax, [ecx + 0x40]
cvtsi2ss xmm3, eax
subss xmm3, xmm0
mulss xmm3, xmm1
cvtsi2ss xmm1, edx
subss xmm1, xmm0
movss dword [esp + 0x40], xmm3
mov eax, dword [esp + 0x40]
mov dword [esi + 0x1e30], eax
lea eax, [ebx + 0x17]
mulss xmm1, xmm2
movss dword [esp + 0x44], xmm1
mov edx, dword [esp + 0x44]
mov dword [esi + 0x1e34], edx
cdq
shld edx, eax, 0xa
shl eax, 0xa
mov ebp, eax
mov eax, edx
mov dword [esp + 0x40], eax
mov eax, ebx
cdq
or ebp, eax
mov eax, dword [esp + 0x40]
or eax, edx
shld eax, ebp, 0xa
mov ebx, eax
shl ebp, 0xa
lea eax, [ecx + 0x3f]
cdq
or ebp, eax
or ebx, edx
shld ebx, ebp, 0xa
shl ebp, 0xa
mov eax, ecx
cdq
or ebp, eax
or ebx, edx
shld ebx, ebp, 4
shl ebp, 4
or ebp, 0xa
mov dword [esi + 0x1e10], ebp
mov dword [esi + 0x1e14], ebx
mov ebx, dword [0x705898]
movss xmm1, dword [ebx + 0x3b4]
lea ecx, [edi - 0x20]
cvtsi2ss xmm0, ecx
mulss xmm0, dword [ebx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [0x64eaa0]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x40], eax
mulss xmm1, xmm0
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x40]
or eax, edx
mov dword [esi + 0x1fdc], eax
mov dword [esi + 0x1fd8], ebp
add ecx, 0x50
cvtsi2ss xmm1, ecx
mov ecx, dword [0x705898]
mulss xmm1, dword [ecx + 0x3b8]
cvttss2si eax, xmm1
and eax, 0xffff
cdq
movss xmm1, dword [ecx + 0x3b4]
or eax, 0xffc00000
shld edx, eax, 0x10
mulss xmm1, dword [0x64eb0c]
shl eax, 0x10
mov ebx, eax
mov ebp, edx
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [esi + 0x1fec], ebp
mov dword [esi + 0x1fe8], ebx
mov ecx, dword [0x705898]
lea ebx, [edi + 0x30]
cvtsi2ss xmm1, ebx
mulss xmm1, dword [ecx + 0x3b8]
cvttss2si eax, xmm1
and eax, 0xffff
movss xmm1, dword [ecx + 0x3b4]
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x40], eax
mulss xmm1, xmm0
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x40]
or eax, edx
mov dword [esi + 0x206c], eax
mov dword [esi + 0x2068], ebp
mov ecx, dword [0x705898]
lea eax, [ebx + 0x10]
cvtsi2ss xmm0, eax
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x3b4]
mulss xmm0, dword [0x64eb08]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x40], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x40]
or eax, edx
mov dword [esi + 0x2078], ebp
mov dword [esi + 0x207c], eax
mov ecx, dword [0x7bfe98]
push ecx
lea ebp, [esi + 0x2080]
call fcn.004b45e0
add esp, 0x34
cmp eax, 0x270f
jl 0x43e7e8
mov eax, 0x270f
push eax
lea edx, [esp + 0x38]
push 0x64eb04
push edx
call fcn.00631251
lea eax, [esp + 0x40]
push eax
push 0x10
push 0x10
push 0xffc0
push ebx
push 0x194
push 4
push ebp
call fcn.005238e0
mov ebx, dword [0x705898]
lea ecx, [edi + 0x44]
cvtsi2ss xmm0, ecx
mulss xmm0, dword [ebx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ebx + 0x3b4]
mulss xmm0, dword [0x64eaa0]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x3c], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x3c]
or eax, edx
mov dword [esi + 0x233c], eax
mov dword [esi + 0x2338], ebp
add ecx, 0x10
cvtsi2ss xmm0, ecx
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x3b4]
mulss xmm0, dword [0x64eb00]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
cvttss2si eax, xmm0
mov ebp, edx
and eax, 0xffff
cdq
or ebx, eax
or ebp, edx
mov dword [esi + 0x2348], ebx
mov dword [esi + 0x234c], ebp
mov ecx, dword [0x7bfe98]
push ecx
call fcn.004b47c0
add esp, 0x30
cmp eax, 3
jl 0x43e8e7
mov eax, 3
push eax
call fcn.00523f40
lea edx, [esp + 0x28]
push edx
push 0xe
mov ebx, eax
push 0x280
push ebx
call fcn.004afd50
push 0x14
push 0x280
push 0xffc0
lea eax, [edi + 0x42]
push eax
mov ecx, 0x1d4
sub ecx, dword [esp + 0x48]
push ecx
push 0x12
push 0xe
call fcn.004b06e0
push ebx
push 1
push 8
lea edx, [esi + 0x2350]
push 1
push edx
call fcn.004b0490
mov ebx, dword [0x705898]
lea ecx, [edi + 0x58]
cvtsi2ss xmm0, ecx
mulss xmm0, dword [ebx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ebx + 0x3b4]
and eax, 0xffff
mulss xmm0, dword [0x64eaa0]
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x54], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x54]
or eax, edx
mov dword [esi + 0x284c], eax
mov dword [esi + 0x2848], ebp
add ecx, 0x10
cvtsi2ss xmm0, ecx
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x3b4]
mulss xmm0, dword [0x64eb00]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
cvttss2si eax, xmm0
and eax, 0xffff
mov ebp, edx
cdq
or ebx, eax
or ebp, edx
mov dword [esi + 0x2858], ebx
mov dword [esi + 0x285c], ebp
mov eax, dword [0x7bfe98]
add esp, 0x44
push eax
call fcn.004b4550
mov ebx, eax
add esp, 4
cmp ebx, 8
jl 0x43ea0e
mov ebx, 8
push ebx
call fcn.00523f30
push ebx
call fcn.00523f30
lea ecx, [esp + 0x2c]
push ecx
push 0xe
mov ebx, eax
push 0x280
push ebx
call fcn.004afd50
push 0x14
push 0x280
push 0xffc0
lea edx, [edi + 0x56]
push edx
mov eax, 0x1d4
sub eax, dword [esp + 0x4c]
push eax
push 0x12
push 0xe
call fcn.004b06e0
push ebx
push 1
push 8
lea ecx, [esi + 0x2860]
push 1
push ecx
call fcn.004b0490
mov ecx, dword [0x705898]
lea ebx, [edi + 0x68]
cvtsi2ss xmm0, ebx
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
and eax, 0xffff
movss xmm0, dword [ecx + 0x3b4]
cdq
mulss xmm0, dword [0x64eaa0]
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x58], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x58]
or eax, edx
mov dword [esi + 0x2d5c], eax
mov dword [esi + 0x2d58], ebp
mov ecx, dword [0x705898]
lea edx, [ebx + 0x10]
cvtsi2ss xmm0, edx
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x3b4]
mulss xmm0, dword [0x64eafc]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x58], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x58]
or eax, edx
mov dword [esi + 0x2d68], ebp
mov dword [esi + 0x2d6c], eax
mov eax, dword [0x7bfe98]
add esp, 0x48
push eax
lea ebp, [esi + 0x2d70]
call fcn.004b4590
add esp, 4
cmp eax, 0x13
jl 0x43eb47
mov eax, 0x13
add eax, 1
push eax
lea ecx, [esp + 0x38]
push 0x64eae0
push ecx
call fcn.00631251
lea edx, [esp + 0x40]
push edx
push 0x10
push 0x10
push 0xffc0
push ebx
push 0x1b4
push 2
push ebp
call fcn.005238e0
mov ebx, dword [0x705898]
lea ecx, [edi + 0x78]
cvtsi2ss xmm0, ecx
mulss xmm0, dword [ebx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ebx + 0x3b4]
and eax, 0xffff
mulss xmm0, dword [0x64eaa0]
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x3c], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x3c]
or eax, edx
mov dword [esi + 0x2f0c], eax
mov dword [esi + 0x2f08], ebp
add ecx, 0x40
cvtsi2ss xmm0, ecx
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x3b4]
mulss xmm0, dword [0x64eb00]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
cvttss2si eax, xmm0
and eax, 0xffff
mov ebp, edx
cdq
or ebx, eax
or ebp, edx
add esp, 0x2c
xor ecx, ecx
mov dword [esi + 0x2f18], ebx
mov dword [esi + 0x2f1c], ebp
mov dword [esp + 0x20], ecx
lea esp, [esp]
mov ebx, dword [0x705898]
movss xmm1, dword [ebx + 0x3b8]
lea eax, [ecx + ecx*8]
shl eax, 4
add eax, esi
mov dword [esp + 0x18], eax
mov edx, ecx
shl edx, 4
lea eax, [edx + edi + 0x7c]
cvtsi2ss xmm0, eax
mov dword [esp + 0x2c], eax
mulss xmm1, xmm0
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x10], eax
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [ebx + 0x3b4]
mulss xmm0, dword [0x64eb00]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x10]
or eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2f98], ebp
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2f9c], ebp
mov ebx, dword [0x705898]
mov eax, dword [esp + 0x2c]
movss xmm1, dword [ebx + 0x3b8]
add eax, 8
cvtsi2ss xmm0, eax
mulss xmm1, xmm0
cvttss2si eax, xmm1
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x10], eax
movss dword [esp + 0x28], xmm0
movss xmm0, dword [ebx + 0x3b4]
mulss xmm0, dword [0x64eaf8]
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x10]
or eax, edx
test ecx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2fa8], ebp
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2fac], ebp
jne 0x43ed5a
mov ecx, dword [0x7bfe98]
push ecx
call fcn.004b4280
jmp 0x43ed6b
cmp ecx, 1
jne 0x43ed8d
mov edx, dword [0x7bfe98]
push edx
call fcn.004b42d0
add esp, 4
cmp eax, 0xf0
jl 0x43ed7a
mov eax, 0xf0
shl eax, 7
mov ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 7
jmp 0x43edde
cmp ecx, 2
jne 0x43edb6
mov eax, dword [0x7bfe98]
push eax
call fcn.004b4320
add esp, 4
cmp eax, 0x73
jl 0x43edaa
mov eax, 0x73
shl eax, 7
mov ecx, eax
mov eax, 0x473c1ab7
jmp 0x43edd9
mov ecx, dword [0x7bfe98]
push ecx
call fcn.004b4370
add esp, 4
cmp eax, 0x64
jl 0x43edcf
mov eax, 0x64
shl eax, 7
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ebx, dword [0x705898]
movss xmm0, dword [ebx + 0x3b8]
mulss xmm0, dword [esp + 0x1c]
mov ecx, edx
cvttss2si eax, xmm0
and eax, 0xffff
movss xmm0, dword [ebx + 0x3b4]
mulss xmm0, dword [0x64eb00]
mov ebx, dword [esp + 0x18]
shr ecx, 0x1f
add ecx, edx
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x10], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x10]
or eax, edx
mov dword [ebx + 0x31dc], eax
add ecx, 0x154
mov dword [ebx + 0x31d8], ebp
cvtsi2ss xmm0, ecx
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b4]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x3b8]
mulss xmm0, dword [esp + 0x28]
and eax, 0xffff
mov ecx, dword [esp + 0x20]
cdq
mov ebp, eax
mov eax, edx
mov dword [esp + 0x10], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
or ebp, eax
mov eax, dword [esp + 0x10]
add ecx, 1
or eax, edx
cmp ecx, 4
mov dword [ebx + 0x31e8], ebp
mov dword [ebx + 0x31ec], eax
mov dword [esp + 0x20], ecx
jl 0x43ec40
mov ebx, dword [0x705898]
lea ecx, [edi + 8]
cvtsi2ss xmm0, ecx
mulss xmm0, dword [ebx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ebx + 0x3b4]
mulss xmm0, dword [0x64eaf4]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebp, eax
mov eax, edx
mov dword [esp + 0x10], eax
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, eax
mov eax, dword [esp + 0x10]
or eax, edx
mov dword [esi + 0x341c], eax
mov dword [esi + 0x3418], ebp
add ecx, 0x10
cvtsi2ss xmm0, ecx
mov ecx, dword [0x705898]
mulss xmm0, dword [ecx + 0x3b8]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0x3b4]
mulss xmm0, dword [0x64eaf0]
and eax, 0xffff
cdq
or eax, 0xffc00000
shld edx, eax, 0x10
shl eax, 0x10
mov ebx, eax
mov ebp, edx
cvttss2si eax, xmm0
and eax, 0xffff
cdq
or ebp, edx
or ebx, eax
mov dword [esi + 0x3428], ebx
mov dword [esi + 0x342c], ebp
mov edx, dword [0x7bfe98]
push edx
call fcn.004b4800
push eax
call fcn.00522e70
mov eax, dword [esp + 0x38]
push 0
push 0
push 0
push 0x38b
push esi
push eax
call fcn.00550200
call fcn.004eace0
mov ecx, dword [0x705898]
mov edx, dword [ecx + 0x3c4]
push edx
call fcn.004eac40
add esp, 0x24
call fcn.004eac90
mov eax, dword [0x7060d0]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xa4]
call fcn.0054df70
call fcn.0054d7a0
pop ebp
xor esi, esi
add edi, 0x19
pop ebx
nop
mov edx, dword [0x7bfe98]
xor ecx, ecx
cmp esi, dword [0x7bfe9c]
push 1
setl cl
lea eax, [esi + edx*8 + 0x164]
sub ecx, 1
and ecx, 0xffbfbfc0
add ecx, 0x80808080
push ecx
push 0x11
push 0x73
push 0xffc1
push edi
push 0x1e4
push eax
call fcn.004b0950
add esi, 1
add esp, 0x20
add edi, 0x14
cmp esi, 8
jl 0x43efe0
mov eax, dword [0x7060d0]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xa8]
pop edi
pop esi
mov ecx, dword [esp + 0x34]
call fcn.0062fcdf
add esp, 0x38
ret