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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, eax
push ebx
and esp, 0xffffffe0
sub esp, 0x180
mov ebx, dword [eax + 0x7720]
xor eax, eax
xor edx, edx
xor ecx, ecx
mov dword [esp + eax + 0xb8], edx
mov dword [esp + eax + 0xbc], ecx
add eax, 8
cmp eax, 0xc8
jb 0xad3b19
mov eax, dword [esi + 0xcb8]
mov edx, dword [esi + 0x774c]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x7748]
mov dword [esp + 0x94], edx
mov edx, dword [esi + 0x773c]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 0x7738]
mov dword [esp + 0x8c], edx
mov edx, dword [esi + 0x7744]
mov dword [esp + 0x88], eax
mov eax, dword [esi + 0x7740]
mov dword [esp + 0x84], edx
mov edx, dword [ebx + 0xbc]
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 0xb8]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 4]
test eax, eax
mov dword [esp + 0x98], eax
je 0xad3c19
mov edx, dword [ebx + 0x40]
xor eax, eax
mov edi, dword [edx + eax]
mov ecx, dword [edx + eax + 4]
mov dword [esp + eax + 0xb8], edi
mov dword [esp + eax + 0xbc], ecx
add eax, 8
cmp eax, 0xc8
jb 0xad3bb4
mov eax, dword [esp + 0xb8]
mov edi, dword [esp + 0x44]
cmp edi, eax
je 0xad3c19
movsx eax, byte [eax + 0xdfe12c]
mov dword [esp], esi
mov dword [esp + 0x10], eax
movsx eax, byte [edi + 0xdfe12c]
mov dword [esp + 0xc], eax
mov eax, str.slice_c_but_2pass_stats_say__c_n
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
call fcn.00a2d890
mov eax, dword [ebx + 4]
mov dword [esp + 0x98], eax
cmp dword [esp + 0x44], 1
je 0xad40f0
mov eax, dword [esp + 0x90]
movsd xmm2, qword [ebx + 0x20]
mulsd xmm2, qword [ebx + 0x18]
add eax, dword [esp + 0x88]
addsd xmm2, xmm2
mov edx, dword [esp + 0x94]
adc edx, dword [esp + 0x8c]
add eax, dword [esp + 0x80]
adc edx, dword [esp + 0x84]
shld edx, eax, 3
shl eax, 3
sub eax, dword [esp + 0x78]
sbb edx, dword [esp + 0x7c]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 0x620]
mov dword [esp + 0x94], edx
fild qword [esp + 0x90]
mov edx, eax
dec eax
jle 0xad4a50
mov eax, dword [esi + 0x35c]
fst qword [esp + 0x90]
mov edi, dword [esi + 0x7720]
movsd xmm1, qword [esp + 0x90]
mov dword [esp + 0x90], ebx
mov ebx, edx
mov ecx, dword [eax + 0x7720]
sub edi, ecx
sar edi, 3
imul edi, edi, 0xfcfcfcfd
lea ecx, [edi + 1]
add edi, edx
lea esi, [esi]
mov eax, ecx
cdq
idiv ebx
mov eax, dword [esi + edx*4 + 0x35c]
mov edx, dword [eax + 0x5a0]
test edx, edx
je 0xad3d04
mov eax, dword [eax + 0x7720]
pxor xmm0, xmm0
cvtss2sd xmm0, dword [eax + 0x1d4]
maxsd xmm0, qword [eax + 0x1e0]
addsd xmm1, xmm0
inc ecx
cmp edi, ecx
jne 0xad3cd0
mov ebx, dword [esp + 0x90]
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0xad4670
mov eax, dword [esp + 0x44]
movsd xmm5, qword [esp + 0xe0]
mov edx, dword [ebx + 0x110]
lea eax, [ebx + eax*8]
movsd xmm3, qword [eax + 0x160]
movsd xmm4, qword [eax + 0x178]
mov eax, dword [esi + 0x618]
movsd qword [esp + 0x30], xmm3
movsd qword [esp + 0x80], xmm4
cmp edx, eax
jg 0xad4620
movsd xmm4, qword [0xdfe198]
movsd xmm6, qword [esp + 0xf0]
pxor xmm0, xmm0
pxor xmm3, xmm3
cvtsd2ss xmm0, xmm6
subsd xmm1, xmm5
cvtss2sd xmm3, xmm0
pxor xmm7, xmm7
movapd xmm0, xmm2
movsd qword [esp + 0x78], xmm6
subsd xmm0, xmm1
divsd xmm0, xmm2
minsd xmm0, qword [0xdfe1b8]
maxsd xmm0, xmm4
divsd xmm3, xmm0
movapd xmm0, xmm3
cvtsd2ss xmm7, xmm0
pxor xmm0, xmm0
movss dword [esp + 0x90], xmm7
cvtsi2sd xmm0, eax
comisd xmm0, xmmword [ebx + 0x10]
jb 0xad3e63
movsd xmm2, qword [ebx + 0xb0]
comisd xmm2, xmmword [0xdfe160]
jb 0xad3e70
fstp qword [esp + 0x88]
pxor xmm3, xmm3
pxor xmm1, xmm1
cvtsi2sd xmm1, edx
divsd xmm0, xmm1
mulsd xmm0, qword [0xdfe210]
minsd xmm0, qword [0xdfe160]
maxsd xmm0, xmm3
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x88]
divsd xmm0, xmm2
movsd qword [esp], xmm0
call sub.msvcrt.dll_pow
pxor xmm1, xmm1
cvtss2sd xmm1, dword [esp + 0x90]
pxor xmm5, xmm5
fstp qword [esp + 0x90]
movsd xmm0, qword [esp + 0x90]
mulsd xmm0, xmm1
cvtsd2ss xmm5, xmm0
movss dword [esp + 0x90], xmm5
jmp 0xad3e80
fstp st(0)
jmp 0xad3e80
fstp st(0)
lea esi, [esi]
lea edi, [edi]
movss xmm0, dword [esp + 0x90]
mulss xmm0, dword [0xdfe148]
movss dword [esp], xmm0
call fcn.00bd2200
mov edi, dword [ebx + 8]
test edi, edi
fstp dword [esp + 0x88]
movss xmm0, dword [esp + 0x88]
mulss xmm0, dword [0xdfe218]
addss xmm0, dword [0xdfe134]
movss dword [ebx + 0x58], xmm0
jne 0xad4372
pxor xmm2, xmm2
cvtss2sd xmm2, dword [esp + 0x90]
mov eax, dword [esp + 0x44]
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x80]
movapd xmm3, xmm0
minsd xmm1, xmm2
cmpnlesd xmm3, xmm2
andpd xmm0, xmm3
movapd xmm2, xmm3
andnpd xmm2, xmm1
orpd xmm2, xmm0
pxor xmm0, xmm0
cvtsd2ss xmm0, xmm2
lea ecx, [eax + 0x24]
mov eax, dword [esp + 0x98]
pxor xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd qword [ebx + 0x120], xmm1
movsd qword [ebx + ecx*8 + 8], xmm1
test eax, eax
je 0xad4092
test edi, edi
je 0xad3f68
mov eax, dword [esi + 0x3b38]
mov edx, dword [eax + 0x64]
test edx, edx
jne 0xad3f68
movss xmm2, dword [esi + 0x2a0]
andps xmm2, xmmword [0xdfe240]
cvtss2sd xmm2, xmm2
mulsd xmm2, xmm1
movsd qword [ebx + 0x128], xmm2
mov eax, 0x9999999a
movsd xmm3, qword [esp + 0xc8]
movsd xmm2, qword [0xdfe150]
mov dword [esp + 8], eax
mov eax, 0x3ff19999
maxsd xmm2, xmm1
mov dword [esp + 0xc], eax
movapd xmm1, xmm3
movsd qword [esp + 0x90], xmm3
divsd xmm1, xmm2
movss dword [esp + 0x88], xmm0
movsd qword [esp + 0x98], xmm2
movsd qword [esp], xmm1
call sub.msvcrt.dll_pow
movsd xmm2, qword [esp + 0x98]
movss xmm0, dword [esp + 0x88]
maxsd xmm2, qword [0xdfe160]
movsd xmm3, qword [esp + 0x90]
maxsd xmm3, qword [0xdfe160]
divsd xmm3, xmm2
pxor xmm2, xmm2
sqrtsd xmm3, xmm3
cvtsi2sd xmm2, dword [esp + 0xd4]
addsd xmm2, qword [0xdfe150]
fstp qword [esp + 0x98]
movsd xmm1, qword [esp + 0x98]
mulsd xmm1, xmm2
pxor xmm2, xmm2
cvtsi2sd xmm2, dword [esp + 0xd0]
mulsd xmm3, xmm2
pxor xmm2, xmm2
addsd xmm1, xmm3
cvtsi2sd xmm2, dword [esp + 0xd8]
addsd xmm1, xmm2
movsd qword [ebx + 0x1e0], xmm1
mov ecx, dword [ebx + 0x94]
test ecx, ecx
je 0xad4060
movsd xmm1, qword [ebx + 0x80]
movsd qword [ebx + 0x1e0], xmm1
test edi, edi
je 0xad4074
minsd xmm1, qword [ebx + 0x1d8]
movsd qword [ebx + 0x1e0], xmm1
mov eax, dword [esi + 0x7720]
pxor xmm4, xmm4
cvtsd2ss xmm4, xmm1
movss dword [eax + 0x1d4], xmm4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esi + 0x3b38]
mov eax, dword [eax + 0x64]
test eax, eax
je 0xad4ae1
mov eax, dword [esi + 0xcb8]
pxor xmm1, xmm1
cvtsi2ss xmm1, dword [ebx + 0x9c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x90]
lea eax, [eax + edx*4]
movss xmm2, dword [eax + 8]
mulss xmm1, dword [eax + 4]
mulss xmm2, xmm0
addss xmm1, dword [eax + 0x10]
divss xmm1, xmm2
cvtss2sd xmm1, xmm1
movsd qword [ebx + 0x1e0], xmm1
jmp 0xad4046
mov eax, dword [esi + 0x3be0]
movsd xmm2, qword [ebx + 0xf0]
mov edi, dword [esi + 0x3be4]
mov eax, dword [eax + 0x10]
mov edi, dword [edi + 0x10]
lea edx, [eax - 1]
cmp edx, 1
setbe cl
cmp eax, 6
sete dl
or cl, dl
lea edx, [edi - 1]
cmp edx, 1
mov byte [esp + 0x90], cl
setbe cl
cmp edi, 6
sete dl
or dl, cl
mov ecx, dword [esi + 0x3b38]
cmp eax, 4
mov byte [esp + 0x88], dl
mov edx, dword [ecx + 4]
mov dword [esp + 0x80], edx
mov edx, dword [esi + 0x3be0]
mov edx, dword [edx + 4]
mov dword [esp + 0x78], edx
mov edx, dword [esi + 0x3be4]
mov edx, dword [edx + 4]
mov dword [esp + 0x70], edx
mov edx, dword [esi + 0x3be0]
movss xmm1, dword [edx + 0x8c]
mov edx, dword [esi + 0x3be4]
movss xmm0, dword [edx + 0x8c]
je 0xad4b05
cmp edi, 4
je 0xad4b22
cmp byte [esp + 0x90], 0
je 0xad4b60
cmp byte [esp + 0x88], 0
je 0xad41ca
addss xmm1, xmm0
pxor xmm0, xmm0
mulss xmm1, dword [0xdfe14c]
cvtss2sd xmm1, xmm1
addsd xmm1, qword [ebx + 0xe8]
cvtsd2ss xmm0, xmm1
mov eax, dword [ecx + 0x7c]
test eax, eax
je 0xad4ad0
mulsd xmm2, qword [0xdfe198]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
movss dword [ebx + 0x58], xmm0
subss xmm0, dword [0xdfe134]
mov dword [esp], 0x40000000
mulss xmm0, dword [0xdfe138]
movss dword [esp + 4], xmm0
call fcn.00bd2220
mov eax, dword [esp + 0x98]
test eax, eax
fstp dword [esp + 0x90]
movss xmm0, dword [esp + 0x90]
mulss xmm0, dword [0xdfe140]
je 0xad4a83
mov eax, 0x9999999a
movsd xmm2, qword [esp + 0xc8]
pxor xmm3, xmm3
mov dword [esp + 8], eax
mov eax, 0x3ff19999
cvtss2sd xmm3, xmm0
mov dword [esp + 0xc], eax
maxsd xmm3, qword [0xdfe150]
movapd xmm1, xmm2
movss dword [esp + 0x88], xmm0
divsd xmm1, xmm3
movsd qword [esp + 0x90], xmm2
movsd qword [esp + 0x98], xmm3
movsd qword [esp], xmm1
call sub.msvcrt.dll_pow
movss xmm0, dword [esp + 0x88]
movsd xmm3, qword [esp + 0x98]
movsd xmm2, qword [esp + 0x90]
maxsd xmm3, qword [0xdfe160]
maxsd xmm2, qword [0xdfe160]
divsd xmm2, xmm3
sqrtsd xmm3, xmm2
pxor xmm2, xmm2
cvtsi2sd xmm2, dword [esp + 0xd4]
addsd xmm2, qword [0xdfe150]
fstp qword [esp + 0x98]
movsd xmm1, qword [esp + 0x98]
mulsd xmm1, xmm2
pxor xmm2, xmm2
cvtsi2sd xmm2, dword [esp + 0xd0]
mulsd xmm3, xmm2
pxor xmm2, xmm2
addsd xmm1, xmm3
cvtsi2sd xmm2, dword [esp + 0xd8]
addsd xmm1, xmm2
movsd qword [ebx + 0x1e0], xmm1
mov eax, dword [ebx + 8]
test eax, eax
je 0xad4a65
mov eax, dword [esi + 0x7720]
minsd xmm1, qword [ebx + 0x1d8]
pxor xmm6, xmm6
movsd qword [ebx + 0x1e0], xmm1
cvtsd2ss xmm6, xmm1
movss dword [esp + 0x98], xmm0
movss dword [eax + 0x1d4], xmm6
mov dword [esp], esi
call fcn.00ac6720
movss xmm0, dword [esp + 0x98]
mov dword [ebx + 0x9c], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x9999999a
mov edx, 0x3ff19999
movsd xmm7, qword [esp + 0xc8]
mov dword [esp + 8], eax
movsd qword [esp + 0x68], xmm7
pxor xmm0, xmm0
mov dword [esp + 0xc], edx
cvtss2sd xmm0, dword [esp + 0x90]
movsd xmm1, qword [0xdfe150]
movsd qword [esp + 0x90], xmm0
maxsd xmm1, xmm0
pxor xmm2, xmm2
movsd qword [esp + 0x98], xmm1
cvtsi2sd xmm2, dword [esp + 0xd4]
addsd xmm2, qword [0xdfe150]
movsd qword [esp + 0x70], xmm2
movapd xmm2, xmm7
divsd xmm2, xmm1
movsd qword [esp], xmm2
call sub.msvcrt.dll_pow
movsd xmm1, qword [esp + 0x98]
movsd xmm5, qword [0xdfe160]
pxor xmm4, xmm4
maxsd xmm1, xmm5
cvtsi2sd xmm4, dword [esp + 0xd0]
movsd qword [esp + 0x88], xmm5
movsd qword [esp + 0x58], xmm4
movsd xmm2, qword [esp + 0x68]
movsd xmm3, qword [ebx + 0x78]
maxsd xmm2, xmm5
addsd xmm3, qword [ebx + 0x80]
movsd qword [esp + 0x50], xmm2
movsd xmm7, qword [0xdfe220]
divsd xmm2, xmm1
movsd xmm0, qword [esp + 0x90]
sqrtsd xmm1, xmm2
movapd xmm2, xmm3
mulsd xmm1, xmm4
pxor xmm3, xmm3
fstp qword [esp + 0x98]
cvtsi2sd xmm3, dword [esp + 0xd8]
movsd xmm4, qword [esp + 0xe8]
subsd xmm2, xmm3
movsd xmm6, qword [esp + 0x98]
movsd qword [esp + 0x60], xmm2
mulsd xmm6, qword [esp + 0x70]
subsd xmm2, xmm1
movapd xmm3, xmm4
movapd xmm1, xmm2
divsd xmm3, qword [ebx + 0x60]
subsd xmm1, xmm6
addsd xmm5, xmm3
movsd xmm2, qword [esp + 0x80]
comisd xmm7, xmm3
ja 0xad44ce
movsd xmm2, qword [0xdfe1b8]
subsd xmm2, xmm3
mulsd xmm2, xmm0
maxsd xmm2, qword [esp + 0x78]
divsd xmm4, xmm5
minsd xmm2, qword [esp + 0x80]
pxor xmm7, xmm7
movsd qword [esp + 0x38], xmm2
movsd qword [esp + 0x78], xmm4
movsd qword [esp + 0x48], xmm7
movapd xmm5, xmm4
jmp 0xad45c4
movsd xmm7, qword [esp + 0x80]
comisd xmm7, xmm0
jbe 0xad45ee
mov eax, 0x9999999a
mulsd xmm0, qword [0xdfe228]
movsd xmm1, qword [0xdfe150]
mov dword [esp + 8], eax
mov eax, 0x3ff19999
cvtsd2ss xmm0, xmm0
mov dword [esp + 0xc], eax
cvtss2sd xmm0, xmm0
movsd xmm2, qword [esp + 0x68]
maxsd xmm1, xmm0
movsd qword [esp + 0x90], xmm0
divsd xmm2, xmm1
movsd qword [esp + 0x98], xmm1
movsd qword [esp], xmm2
call sub.msvcrt.dll_pow
movsd xmm1, qword [esp + 0x98]
movsd xmm6, qword [esp + 0x50]
maxsd xmm1, qword [esp + 0x88]
movsd xmm7, qword [esp + 0x60]
divsd xmm6, xmm1
movsd xmm0, qword [esp + 0x90]
sqrtsd xmm1, xmm6
movsd xmm5, qword [esp + 0x78]
mulsd xmm1, qword [esp + 0x58]
subsd xmm7, xmm1
movapd xmm1, xmm7
fstp qword [esp + 0x98]
movsd xmm2, qword [esp + 0x98]
mulsd xmm2, qword [esp + 0x70]
subsd xmm1, xmm2
movapd xmm2, xmm0
comisd xmm5, xmm1
jbe 0xad45de
movsd xmm3, qword [esp + 0x38]
comisd xmm3, xmm0
ja 0xad4513
movsd xmm6, qword [esp + 0x48]
comisd xmm6, xmm1
ja 0xad4500
mov dword [esp], esi
movsd qword [esp + 0x90], xmm2
call fcn.00ac6720
mov edi, dword [ebx + 8]
movsd xmm2, qword [esp + 0x90]
mov dword [ebx + 0x9c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x98], eax
jmp 0xad3ed8
mov ecx, dword [ebx + 0x118]
movsd xmm4, qword [0xdfe198]
movapd xmm0, xmm5
movsd xmm3, qword [0xdfe160]
mulsd xmm2, xmm4
mov ecx, dword [ecx + edx*4 - 4]
divsd xmm0, qword [ecx + 0x28]
subsd xmm3, xmm0
movapd xmm0, xmm3
pxor xmm3, xmm3
cvtsi2sd xmm3, edx
mulsd xmm0, xmm3
sqrtsd xmm0, xmm0
maxsd xmm0, xmm4
mulsd xmm2, xmm0
jmp 0xad3d6a
fstp st(0)
mov dword [esp], esi
movsd qword [esp + 0x90], xmm1
movsd qword [esp + 0x98], xmm2
call fcn.00ac6720
movsd xmm4, qword [0xdfe198]
movsd xmm6, qword [ebx + 0xd0]
cmp dword [esi + 0x2f4], 5
movsd xmm5, qword [ebx + 0xd8]
pxor xmm0, xmm0
mulsd xmm6, xmm4
mulsd xmm5, xmm4
movsd xmm2, qword [esp + 0x98]
movsd xmm1, qword [esp + 0x90]
mov dword [ebx + 0x9c], eax
cvtsi2sd xmm0, eax
je 0xad4c90
mov ecx, dword [esi + 0x3b38]
movss xmm7, dword [ecx + 0x40]
comiss xmm7, dword [0xdfe268]
jae 0xad4cfd
movsd xmm7, qword [0xdfe160]
mulsd xmm0, qword [0xdfe260]
movsd xmm3, qword [0xdfe188]
movsd qword [esp + 0x88], xmm7
mov dword [esp + 0xd4], eax
xor eax, eax
mov edx, dword [ecx + 0x3c]
mov dword [esp + 0xd0], eax
mov eax, dword [ebx + 0x30]
mulsd xmm0, xmm3
movsd qword [esp + 0xc8], xmm7
addsd xmm0, xmm6
movapd xmm3, xmm5
movsd qword [ebx + 0xd0], xmm0
addsd xmm3, xmm7
pxor xmm5, xmm5
divsd xmm0, xmm3
movsd qword [ebx + 0xd8], xmm3
cvtsd2ss xmm5, xmm0
mov dword [esp + 0x100], eax
xor eax, eax
mov dword [esp + 0xfc], eax
xor eax, eax
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x44]
cmp dword [esi + 0x270], 1
movss dword [esp + 0x108], xmm5
mov dword [esp + 0xb8], eax
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x16c], edx
mov dword [esp + 0x168], eax
je 0xad4c60
mov ecx, dword [ecx + 0x64]
lea edx, [esp + 0xb8]
mov eax, esi
movsd qword [esp + 0x80], xmm4
movsd xmm0, qword [ebx + 0xc0]
movsd qword [esp + 0x90], xmm1
movsd qword [esp + 0x98], xmm2
divsd xmm0, qword [ebx + 0xa8]
call fcn.00ad2630
mov edi, dword [ebx + 0xc]
movsd xmm4, qword [esp + 0x88]
movapd xmm3, xmm4
test edi, edi
cvtsd2ss xmm0, xmm0
jne 0xad4930
mov ecx, dword [ebx + 0x9c]
test ecx, ecx
je 0xad4930
mov edx, dword [esi + 0x308]
movsd xmm5, qword [ebx + 0x10]
movsd xmm2, qword [esp + 0x98]
mov eax, dword [esi + 0x618]
movsd xmm1, qword [esp + 0x90]
movsd xmm4, qword [esp + 0x80]
test edx, edx
je 0xad4dea
test eax, eax
jle 0xad4dea
mov eax, dword [esi + 0x3b38]
pxor xmm3, xmm3
pxor xmm5, xmm5
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
sub eax, dword [esi + 0x3bf8]
sbb edx, dword [esi + 0x3bfc]
mov dword [esp + 0x98], eax
mov eax, dword [esi + 0x318]
mov dword [esp + 0x9c], edx
fild qword [esp + 0x98]
add eax, 0x80000000
cvtsi2sd xmm3, eax
mov eax, dword [esi + 0x31c]
addsd xmm3, qword [0xdfe180]
add eax, 0x80000000
fstp qword [esp + 0x98]
cvtsi2sd xmm5, eax
addsd xmm5, qword [0xdfe180]
mulsd xmm3, qword [esp + 0x98]
divsd xmm3, xmm5
movsd xmm5, qword [ebx + 0x18]
mulsd xmm5, xmm3
comisd xmm5, xmmword [0xdfe170]
jbe 0xad4ddc
comisd xmm3, xmmword [esp + 0x88]
jb 0xad4dfb
sqrtsd xmm3, xmm3
mulsd xmm2, xmm3
subsd xmm1, xmm5
movapd xmm3, xmm1
divsd xmm3, xmm2
comisd xmm3, xmmword [0xdfe230]
jb 0xad4d55
addsd xmm3, qword [esp + 0x88]
minsd xmm3, qword [0xdfe1b8]
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm3
cvtsd2ss xmm0, xmm0
lea esi, [esi]
lea edi, [edi]
cmp dword [esp + 0x44], 2
je 0xad4bd0
mov eax, dword [esi + 0x618]
test eax, eax
jle 0xad4cd7
cmp dword [esi + 0x270], 1
je 0xad4d30
mov edi, dword [esp + 0x44]
movsd xmm4, qword [ebx + 0x190]
comisd xmm3, xmmword [0xdfe158]
lea ecx, [edi + 0x24]
movsd xmm1, qword [ebx + ecx*8 + 8]
movsd xmm2, qword [ebx + ecx*8 + 8]
divsd xmm1, xmm4
mulsd xmm2, xmm4
jbe 0xad4b3f
cmp eax, 3
jle 0xad4b3f
mulsd xmm2, xmm4
movss xmm5, dword [0xdfe134]
cvtss2sd xmm0, xmm0
movapd xmm7, xmm1
minsd xmm2, xmm0
cmpnlesd xmm7, xmm0
movapd xmm0, xmm7
andpd xmm1, xmm7
andnpd xmm0, xmm2
orpd xmm1, xmm0
movss dword [esp + 0x80], xmm5
pxor xmm0, xmm0
cvtsd2ss xmm0, xmm1
movaps xmm1, xmm0
mov dword [esp + 0x88], ecx
mulss xmm1, dword [0xdfe148]
movss dword [esp + 0x90], xmm0
movss dword [esp], xmm1
call fcn.00bd2200
mov edx, dword [esp + 0x44]
mov eax, esi
movss xmm0, dword [esp + 0x90]
cvtss2sd xmm0, xmm0
fstp dword [esp + 0x98]
movss xmm1, dword [esp + 0x98]
mulss xmm1, dword [0xdfe218]
addss xmm1, dword [esp + 0x80]
movss dword [ebx + 0x58], xmm1
call fcn.00ad2860
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 8]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x98], eax
cvtsd2ss xmm0, xmm0
jmp 0xad3f13
fst qword [esp + 0x90]
movsd xmm1, qword [esp + 0x90]
jmp 0xad3d10
mov eax, dword [esi + 0x7720]
pxor xmm6, xmm6
cvtsd2ss xmm6, xmm1
movss dword [eax + 0x1d4], xmm6
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esi + 0x3b44]
pxor xmm1, xmm1
mov eax, dword [ebx + 0x26c]
mov edx, dword [esi + edx*4 + 0x3b90]
movss xmm2, dword [eax + 8]
cvtsi2ss xmm1, dword [edx + 0x1bc8]
mulss xmm2, xmm0
mulss xmm1, dword [eax + 4]
addss xmm1, dword [eax + 0x10]
divss xmm1, xmm2
cvtss2sd xmm1, xmm1
movsd qword [ebx + 0x1e0], xmm1
jmp 0xad4319
cvtss2sd xmm0, xmm0
addsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
jmp 0xad41e9
movss xmm2, dword [esi + 0x2a0]
andps xmm2, xmmword [0xdfe240]
cvtss2sd xmm2, xmm2
mulsd xmm1, xmm2
movsd qword [ebx + 0x128], xmm1
jmp 0xad40a3
cvtss2sd xmm1, xmm1
movsd xmm3, qword [0xdfe198]
mulsd xmm3, xmm2
subsd xmm1, xmm3
cvtsd2ss xmm1, xmm1
jmp 0xad4189
cvtss2sd xmm0, xmm0
movsd xmm3, qword [0xdfe198]
mulsd xmm3, xmm2
subsd xmm0, xmm3
cvtsd2ss xmm0, xmm0
jmp 0xad4192
movsd xmm5, qword [0xdfe178]
comisd xmm5, xmm3
jbe 0xad4994
divsd xmm1, xmm4
jmp 0xad4994
cmp byte [esp + 0x88], 0
jne 0xad4d4d
mov edi, dword [esp + 0x80]
pxor xmm3, xmm3
mov eax, dword [esp + 0x78]
mov edx, edi
sub edx, eax
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
mov eax, edi
mov edi, dword [esp + 0x70]
sub eax, edi
mov edi, eax
sar edi, 0x1f
xor eax, edi
sub eax, edi
cvtsi2ss xmm3, eax
add eax, edx
mulss xmm1, xmm3
pxor xmm3, xmm3
cvtsi2ss xmm3, edx
mulss xmm0, xmm3
pxor xmm3, xmm3
cvtsi2ss xmm3, eax
addss xmm0, xmm1
divss xmm0, xmm3
jmp 0xad41ca
cmp dword [esi + 0x60], 1
jle 0xad493b
cmp dword [ebx + 0x140], 2
je 0xad493b
movss xmm4, dword [0xdfe134]
movsd xmm0, qword [ebx + 0x148]
divsd xmm0, qword [ebx + 0x150]
cvtsd2ss xmm0, xmm0
mov dword [esp], 0x40000000
subss xmm0, xmm4
movss dword [esp + 0x80], xmm4
mulss xmm0, dword [0xdfe138]
movss dword [esp + 4], xmm0
call fcn.00bd2220
mov ecx, 0x26
movss xmm1, dword [esi + 0x2a0]
andps xmm1, xmmword [0xdfe240]
fstp dword [esp + 0x98]
movss xmm0, dword [esp + 0x98]
mulss xmm0, dword [0xdfe140]
divss xmm0, xmm1
jmp 0xad49ce
mov ecx, dword [ecx + 0x64]
lea edx, [esp + 0xb8]
mov eax, esi
movsd xmm0, qword [ebx + 0xe0]
call fcn.00ad2630
movsd xmm3, qword [esp + 0x88]
cvtsd2ss xmm0, xmm0
jmp 0xad4930
mov ecx, dword [esi + 0x3b38]
pxor xmm3, xmm3
movss xmm7, dword [ecx + 0x40]
cvtss2sd xmm3, dword [ecx + 0x40]
comiss xmm7, dword [0xdfe258]
jb 0xad4e09
minsd xmm3, xmm4
movsd xmm7, qword [0xdfe160]
divsd xmm0, xmm3
movsd qword [esp + 0x88], xmm7
movsd xmm3, qword [0xdfe1a0]
jmp 0xad4712
cmp dword [esi + 0x270], 1
je 0xad4d5e
mov eax, dword [esp + 0x44]
movss xmm4, dword [0xdfe134]
lea ecx, [eax + 0x24]
movss dword [esp + 0x80], xmm4
jmp 0xad49ce
movsd xmm3, qword [0xdfe160]
cvtss2sd xmm7, xmm7
movsd qword [esp + 0x88], xmm3
minsd xmm7, xmm3
movsd xmm3, qword [0xdfe188]
divsd xmm0, xmm7
movsd xmm7, qword [esp + 0x88]
jmp 0xad4712
mov eax, dword [esp + 0x44]
movss xmm6, dword [0xdfe134]
lea ecx, [eax + 0x24]
movss dword [esp + 0x80], xmm6
jmp 0xad49ce
movaps xmm0, xmm1
jmp 0xad41ca
movapd xmm3, xmm4
jmp 0xad491a
movsd xmm4, qword [esp + 0x88]
comisd xmm4, xmmword [ebx + 0x28]
je 0xad4d30
movss xmm4, dword [0xdfe134]
movss xmm0, dword [esi + 0x288]
mov dword [esp], 0x40000000
movss dword [esp + 0x80], xmm4
subss xmm0, xmm4
mulss xmm0, dword [0xdfe138]
movss dword [esp + 4], xmm0
call fcn.00bd2220
mov eax, dword [esp + 0x44]
movss xmm1, dword [esi + 0x2a0]
andps xmm1, xmmword [0xdfe240]
lea ecx, [eax + 0x24]
fstp dword [esp + 0x98]
movss xmm0, dword [esp + 0x98]
mulss xmm0, dword [0xdfe140]
divss xmm0, xmm1
jmp 0xad49ce
movsd xmm3, qword [esp + 0x88]
jmp 0xad4930
pxor xmm3, xmm3
cvtsi2sd xmm3, eax
divsd xmm3, xmm5
jmp 0xad48c1
movsd xmm3, qword [esp + 0x88]
jmp 0xad48eb
movsd xmm7, qword [0xdfe160]
mulsd xmm0, qword [0xdfe250]
movsd xmm3, qword [0xdfe1a0]
movsd qword [esp + 0x88], xmm7
jmp 0xad4712