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

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
push edi
movss xmm0, dword [esp + 0x50]
movsd xmm2, qword [0x4c5bf0]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4c5b80]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
movss xmm1, dword [esp + 0x54]
movsd xmm5, qword [0x4c5bf8]
movd xmm4, dword [esp + 0x64]
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
movss xmm0, dword [esp + 0x58]
cvttsd2si ecx, xmm1
movsd xmm1, qword [0x4c5be8]
mov eax, dword [esp + 0x60]
cvttss2si esi, xmm0
cvtps2pd xmm0, xmm0
andpd xmm1, xmm0
movapd xmm3, xmm1
movapd xmm1, xmm0
xorpd xmm1, xmm3
cmpltsd xmm1, xmm2
andpd xmm2, xmm1
orpd xmm2, xmm3
movapd xmm1, xmm0
addsd xmm1, xmm2
subsd xmm1, xmm2
movapd xmm2, xmm1
subsd xmm2, xmm0
cmpnlesd xmm2, xmm3
andpd xmm2, xmm5
subsd xmm1, xmm2
mov dword [esp + 0x14], esi
cvtpd2ps xmm1, xmm1
cvtdq2pd xmm4, xmm4
cvtss2sd xmm1, xmm1
subsd xmm0, xmm1
mulsd xmm0, xmm4
cvttsd2si esi, xmm0
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x6c]
push esi
mov esi, dword [esp + 0x58]
push esi
mov esi, dword [esp + 0x54]
mov edi, eax
mov ebp, eax
mov ebx, eax
shr eax, 0x18
push eax
shr ebp, 8
and ebx, 0xff
push ebx
mov dword [esp + 0x60], ecx
sub ecx, dword [esp + 0x24]
shr edi, 0x10
and ebp, 0xff
push ebp
and edi, 0xff
push edi
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x74]
push eax
mov dword [esp + 0x34], ecx
dec ecx
push ecx
push edx
push esi
mov dword [esp + 0x38], edx
movsd qword [esp + 0x60], xmm4
call fcn.00439e50
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x50], eax
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push ecx
push ebx
push ebp
push edi
push edx
inc eax
push eax
mov eax, dword [esp + 0x58]
push eax
push esi
call fcn.00439e50
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x64]
add esp, 0x50
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x5c]
push ebx
push ebp
push edi
push edx
mov dword [esp + 0x48], eax
push ecx
dec eax
push eax
push esi
call fcn.00439e50
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x38]
add eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x84]
push ebx
push ebp
push edi
push edx
mov dword [esp + 0x74], eax
push ecx
inc eax
push eax
push esi
call fcn.00439e50
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb4]
add esp, 0x50
cmp byte [esp + 0x68], 0
push edx
je 0x441f14
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x24]
push ebx
push ebp
push edi
push edx
mov edx, dword [esp + 0x2c]
dec eax
push eax
push ecx
push edx
push esi
call fcn.0043a070
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x88]
push ebx
push ebp
push edi
push eax
mov eax, dword [esp + 0x58]
push ecx
inc edx
push edx
push eax
push esi
call fcn.0043a070
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
add esp, 0x58
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x38]
push ebx
push ebp
push edi
push ecx
mov ecx, dword [esp + 0x6c]
push edx
push eax
push ecx
push esi
call fcn.00439ed0
add esp, 0x2c
jmp 0x441fd6
sub eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x1c]
push eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x1c]
push ebx
push ebp
push edi
push ecx
push edx
push eax
push esi
call fcn.00439e50
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x64]
push ebx
push ebp
push edi
push ecx
push edx
push eax
push esi
call fcn.00439e50
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xb0]
add esp, 0x50
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x1c]
push ebx
push ebp
push edi
push ecx
push edx
push eax
push esi
call fcn.00439e50
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x60]
push ebx
push ebp
push edi
push ecx
push edx
push eax
push esi
call fcn.00439e50
add esp, 0x50
movss xmm0, dword [esp + 0x58]
cvtps2pd xmm0, xmm0
movapd xmm1, xmm0
mulsd xmm1, xmm0
movsd qword [esp + 0x40], xmm1
subsd xmm1, qword [0x4c5bf8]
sqrtsd xmm0, xmm1
movapd xmm1, xmm0
addsd xmm1, qword [0x4c5b80]
cvttsd2si eax, xmm1
mov dword [esp + 0x34], eax
mov dword [esp + 0x58], 1
cmp eax, 1
jl 0x4429cd
mov eax, dword [esp + 0x5c]
jmp 0x442030
movsd xmm1, qword [0x4c5be8]
movsd xmm2, qword [0x4c5bf0]
movsd xmm4, qword [0x4c5bf8]
andpd xmm1, xmm0
movapd xmm3, xmm1
movapd xmm1, xmm0
xorpd xmm1, xmm3
cmpltsd xmm1, xmm2
andpd xmm2, xmm1
orpd xmm2, xmm3
movapd xmm1, xmm0
addsd xmm1, xmm2
subsd xmm1, xmm2
movapd xmm2, xmm1
subsd xmm2, xmm0
cvttsd2si edx, xmm0
cmpnlesd xmm2, xmm3
andpd xmm2, xmm4
subsd xmm1, xmm2
subsd xmm0, xmm1
mulsd xmm0, qword [esp + 0x38]
cvttsd2si ecx, xmm0
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x50]
sub ecx, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
lea edx, [ecx - 1]
mov ecx, dword [esp + 0x10]
sub ecx, dword [esp + 0x58]
cmp byte [esp + 0x6c], 0
mov dword [esp + 0x24], ecx
je 0x4420d3
cmp ecx, dword [eax]
jl 0x442117
cmp ecx, dword [eax + 8]
jge 0x442117
cmp edx, dword [eax + 4]
jl 0x442117
cmp edx, dword [eax + 0xc]
jge 0x442117
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
mov ecx, esi
call eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esi]
dec ecx
imul eax, ecx
add eax, dword [esp + 0x24]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x30]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov eax, dword [esp + 0x74]
add esp, 0x18
cmp byte [esp + 0x6c], 0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
lea ecx, [edx + ecx + 1]
mov dword [esp + 0x30], ecx
je 0x442145
mov edx, dword [esp + 0x24]
cmp edx, dword [eax]
jl 0x442186
cmp edx, dword [eax + 8]
jge 0x442186
cmp ecx, dword [eax + 4]
jl 0x442186
cmp ecx, dword [eax + 0xc]
jge 0x442186
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x30]
add eax, dword [esp + 0x24]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x2c]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x20], ecx
test dl, dl
je 0x4421b2
cmp ecx, dword [eax]
jl 0x442201
cmp ecx, dword [eax + 8]
jge 0x442201
mov ecx, dword [esp + 0x18]
dec ecx
cmp ecx, dword [eax + 4]
jl 0x4421fd
cmp ecx, dword [eax + 0xc]
jge 0x4421fd
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
mov ecx, dword [esp + 0x18]
dec ecx
imul eax, ecx
add eax, dword [esp + 0x20]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x2c]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ecx, dword [esp + 0x20]
test dl, dl
je 0x44221c
cmp ecx, dword [eax]
jl 0x442264
cmp ecx, dword [eax + 8]
jge 0x442264
mov ecx, dword [esp + 0x30]
cmp ecx, dword [eax + 4]
jl 0x442264
cmp ecx, dword [eax + 0xc]
jge 0x442264
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x30]
add eax, dword [esp + 0x20]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x30]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ecx, dword [esp + 0x58]
cmp ecx, dword [esp + 0x34]
je 0x442434
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x10]
sub ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x30], ecx
test dl, dl
je 0x4422a6
cmp ecx, dword [eax]
jl 0x4422e7
cmp ecx, dword [eax + 8]
jge 0x4422e7
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 4]
jl 0x4422e7
cmp ecx, dword [eax + 0xc]
jge 0x4422e7
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
mov ecx, esi
call eax
imul eax, dword [esp + 0x1c]
add eax, dword [esp + 0x30]
mov edx, dword [esi]
add eax, eax
add eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x2c]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov eax, dword [esp + 0x74]
add esp, 0x18
cmp byte [esp + 0x6c], 0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
lea ecx, [ecx + edx + 1]
mov dword [esp + 0x2c], ecx
je 0x442315
cmp ecx, dword [eax]
jl 0x442356
cmp ecx, dword [eax + 8]
jge 0x442356
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 4]
jl 0x442356
cmp ecx, dword [eax + 0xc]
jge 0x442356
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x1c]
add eax, dword [esp + 0x2c]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x28]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ecx, dword [esp + 0x58]
add ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x1c], ecx
test dl, dl
je 0x442385
mov ecx, dword [esp + 0x30]
cmp ecx, dword [eax]
jl 0x4423cd
cmp ecx, dword [eax + 8]
jge 0x4423cd
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 4]
jl 0x4423cd
cmp ecx, dword [eax + 0xc]
jge 0x4423cd
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x1c]
add eax, dword [esp + 0x30]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x30]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x74]
add esp, 0x18
test dl, dl
je 0x4423ec
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [eax]
jl 0x442434
cmp ecx, dword [eax + 8]
jge 0x442434
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 4]
jl 0x442434
cmp ecx, dword [eax + 0xc]
jge 0x442434
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x1c]
add eax, dword [esp + 0x2c]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x30]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x74]
add esp, 0x18
cmp byte [esp + 0x68], 0
mov ecx, dword [esp + 0x64]
je 0x442637
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x24]
push ebx
push ebp
push edi
push ecx
mov dword [esp + 0x38], eax
dec eax
push eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x44]
push edx
push eax
push esi
call fcn.0043a070
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x84]
add eax, ecx
lea ecx, [ecx + edx + 1]
mov edx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x94]
push ebx
push ebp
push edi
push edx
push eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
push ecx
push eax
push esi
mov dword [esp + 0x8c], ecx
call fcn.0043a070
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x6c]
add esp, 0x58
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x30]
push ebx
push ebp
push edi
push edx
mov edx, dword [esp + 0x38]
push ecx
push eax
push edx
push esi
mov dword [esp + 0x58], eax
call fcn.00439ed0
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x90]
push edx
push ebx
push ebp
push edi
mov dword [esp + 0x74], eax
push ecx
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x68]
push edx
push eax
push esi
call fcn.00439ed0
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb0]
add eax, dword [esp + 0xa8]
add esp, 0x58
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x30]
push ebx
push ebp
push edi
push edx
mov edx, dword [esp + 0x48]
push ecx
push edx
push eax
push esi
mov dword [esp + 0x48], eax
call fcn.00439ed0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x58]
push ebx
push ebp
push edi
push eax
mov eax, dword [esp + 0x64]
push ecx
push edx
push eax
push esi
call fcn.00439ed0
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
add esp, 0x58
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x24]
push ebx
push ebp
push edi
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
push esi
call fcn.0043a070
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x5c]
push ecx
push ebx
push ebp
push edi
push edx
push eax
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x6c]
push ecx
push edx
push esi
call fcn.0043a070
add esp, 0x58
jmp 0x44298a
sub ecx, dword [esp + 0x54]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x10]
sub ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
test dl, dl
je 0x442672
cmp ecx, dword [eax]
jl 0x4426b3
cmp ecx, dword [eax + 8]
jge 0x4426b3
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 4]
jl 0x4426b3
cmp ecx, dword [eax + 0xc]
jge 0x4426b3
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x1c]
add eax, dword [esp + 0x2c]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x30]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x14]
cmp byte [esp + 0x6c], 0
mov dword [esp + 0x30], ecx
je 0x4426dd
cmp ecx, dword [eax]
jl 0x44271e
cmp ecx, dword [eax + 8]
jge 0x44271e
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 4]
jl 0x44271e
cmp ecx, dword [eax + 0xc]
jge 0x44271e
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x1c]
add eax, dword [esp + 0x30]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x28]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ecx, dword [esp + 0x50]
add ecx, dword [esp + 0x14]
cmp byte [esp + 0x6c], 0
mov dword [esp + 0x28], ecx
je 0x442748
mov edx, dword [esp + 0x24]
cmp edx, dword [eax]
jl 0x44278d
cmp edx, dword [eax + 8]
jge 0x44278d
cmp ecx, dword [eax + 4]
jl 0x44278d
cmp ecx, dword [eax + 0xc]
jge 0x44278d
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x28]
add eax, dword [esp + 0x24]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x1c]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x74]
add esp, 0x18
cmp byte [esp + 0x6c], 0
je 0x4427ab
mov edx, dword [esp + 0x20]
cmp edx, dword [eax]
jl 0x4427ec
cmp edx, dword [eax + 8]
jge 0x4427ec
cmp ecx, dword [eax + 4]
jl 0x4427ec
cmp ecx, dword [eax + 0xc]
jge 0x4427ec
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x28]
add eax, dword [esp + 0x20]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x28]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ecx, dword [esp + 0x58]
cmp ecx, dword [esp + 0x34]
je 0x44298e
cmp byte [esp + 0x6c], 0
je 0x44281c
mov ecx, dword [esp + 0x24]
cmp ecx, dword [eax]
jl 0x44285d
cmp ecx, dword [eax + 8]
jge 0x44285d
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 4]
jl 0x442861
cmp ecx, dword [eax + 0xc]
jge 0x442861
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
mov ecx, esi
call eax
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x24]
mov edx, dword [esi]
add eax, eax
add eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x34]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ecx, dword [esp + 0x18]
cmp byte [esp + 0x6c], 0
je 0x44287f
mov edx, dword [esp + 0x20]
cmp edx, dword [eax]
jl 0x4428c0
cmp edx, dword [eax + 8]
jge 0x4428c0
cmp ecx, dword [eax + 4]
jl 0x4428c0
cmp ecx, dword [eax + 0xc]
jge 0x4428c0
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x20]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x34]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov eax, dword [esp + 0x74]
add esp, 0x18
mov ecx, dword [esp + 0x50]
add ecx, dword [esp + 0x58]
cmp byte [esp + 0x6c], 0
mov dword [esp + 0x1c], ecx
je 0x4428ea
mov edx, dword [esp + 0x2c]
cmp edx, dword [eax]
jl 0x44292f
cmp edx, dword [eax + 8]
jge 0x44292f
cmp ecx, dword [eax + 4]
jl 0x44292f
cmp ecx, dword [eax + 0xc]
jge 0x44292f
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x1c]
add eax, dword [esp + 0x2c]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x34]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x34]
add esp, 0x18
cmp byte [esp + 0x6c], 0
je 0x44294d
mov edx, dword [esp + 0x30]
cmp edx, dword [eax]
jl 0x44298e
cmp edx, dword [eax + 8]
jge 0x44298e
cmp ecx, dword [eax + 4]
jl 0x44298e
cmp ecx, dword [eax + 0xc]
jge 0x44298e
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
imul eax, dword [esp + 0x1c]
add eax, dword [esp + 0x30]
mov ecx, esi
add eax, eax
add eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esi]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x60]
add eax, dword [esp + 0x34]
push ecx
push edx
push ebx
push ebp
push edi
push eax
call fcn.0042c9b0
add esp, 0x18
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
movsd xmm1, qword [esp + 0x40]
inc edx
mov ecx, edx
imul ecx, edx
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
subsd xmm1, xmm0
sqrtsd xmm0, xmm1
movapd xmm1, xmm0
addsd xmm1, qword [0x4c5b80]
cvttsd2si ecx, xmm1
mov dword [esp + 0x58], edx
mov dword [esp + 0x34], ecx
cmp edx, ecx
jle 0x442030
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret