Function at 0x42fc70
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x184
mov eax, dword [0x45100c]
xor eax, ebp
mov dword [ebp - 4], eax
movss xmm3, dword [0x44d62c]
lea eax, [ebp - 0x140]
push ebx
push esi
mov esi, dword [0x451660]
mov ebx, ecx
push edi
push ecx
push 0
movss xmm2, dword [esi + 0x3bbc]
push 0x44bff8
push ecx
mov ecx, dword [esi + 0x3bb8]
mov dword [esp], 0xbf800000
push eax
mov dword [ebp - 0x84], ebx
call fcn.00426cc0
movss xmm1, dword [esi + 0x3bbc]
lea edx, [ebx + 0xb4]
addss xmm1, dword [esi + 0x37e0]
movss xmm6, dword [0x44d4b0]
mov edi, 0x15
movss xmm0, dword [eax]
xorps xmm7, xmm7
movss xmm2, dword [0x44d600]
movss dword [ebx + 0x218], xmm0
mulss xmm1, dword [ebx]
movss dword [ebx + 0x21c], xmm1
nop dword [eax]
mov ecx, dword [edx - 0x54]
xorps xmm0, xmm0
movzx eax, cl
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x44d730]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm5, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
mulss xmm5, xmm6
addsd xmm0, qword [eax*8 + 0x44d730]
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
cvtpd2ps xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
mulss xmm3, xmm6
addsd xmm0, qword [eax*8 + 0x44d730]
cvtpd2ps xmm4, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
shr ecx, 0x1f
comiss xmm7, xmm5
addsd xmm0, qword [ecx*8 + 0x44d730]
mulss xmm4, xmm6
cvtpd2ps xmm1, xmm0
mulss xmm1, xmm6
mulss xmm1, dword [esi + 0x3790]
jbe 0x42fda7
movaps xmm0, xmm7
jmp 0x42fdb3
movss xmm0, dword [0x44d510]
minss xmm0, xmm5
comiss xmm7, xmm3
movss xmm5, dword [0x44d510]
mulss xmm0, xmm2
addss xmm0, dword [0x44d4dc]
cvttss2si ecx, xmm0
jbe 0x42fdd5
movaps xmm0, xmm7
jmp 0x42fddc
movaps xmm0, xmm5
minss xmm0, xmm3
movss xmm3, dword [0x44d4dc]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm4
jbe 0x42fdff
movaps xmm0, xmm7
jmp 0x42fe06
movaps xmm0, xmm5
minss xmm0, xmm4
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x42fe21
movaps xmm0, xmm7
jmp 0x42fe28
movaps xmm0, xmm5
minss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov dword [edx], eax
add edx, 4
sub edi, 1
jne 0x42fd10
mov eax, dword [esi + 0x3e20]
movss xmm0, dword [eax + 0x210]
subss xmm0, dword [eax + 0x10]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [eax + 0x214]
subss xmm0, dword [eax + 0x14]
mov byte [eax + 0x90], 1
cmp byte [ebx + 0x40], 0
mov eax, dword [esi + 0x3e20]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebx + 0x44]
mov eax, dword [eax + 0x24c]
mov dword [ebp - 0x44], eax
movss dword [ebp - 0x88], xmm0
je 0x42feb0
mov byte [ebx + 0x40], 0
mov eax, dword [esi + 0x3e20]
mov dword [eax + 0x70], edi
mov dword [eax + 0x78], edi
mov dword [eax + 0x80], edi
mov esi, dword [esi + 0x3e20]
sub esp, 8
movss xmm0, dword [esi + 0xd4]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [esi + 0xd8]
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [esi + 0x5c]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [esi + 0x60]
divss xmm0, dword [ebx + 0x21c]
movss dword [ebp - 0x50], xmm0
fld dword [ebp - 0x50]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [esi + 0x60]
fstp dword [ebp - 0x50]
cvttss2si edi, dword [ebp - 0x50]
divss xmm0, dword [ebx + 0x21c]
movss dword [ebp - 0x50], xmm0
fld dword [ebp - 0x50]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov ecx, dword [ebx + 8]
mov eax, 0x2aaaaaab
sub ecx, dword [ebx + 4]
imul ecx
fstp dword [ebp - 0x50]
cvttss2si esi, dword [ebp - 0x50]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
add esi, edi
push str.__d
lea eax, [ecx - 1]
cmp esi, eax
push 0x10
cmovl eax, esi
xor edx, edx
test eax, eax
cmovg edx, eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x50], edx
call fcn.0042c100
mov esi, dword [0x451660]
lea eax, [ebp - 0x14]
movss xmm3, dword [0x44d62c]
add esp, 0x14
movss xmm2, dword [esi + 0x3bbc]
push 0
push eax
push ecx
mov ecx, dword [esi + 0x3bb8]
lea eax, [ebp - 0x180]
mov dword [esp], 0xbf800000
push eax
call fcn.00426cc0
movd xmm0, dword [ebx + 0x48]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [eax]
movss dword [ebx + 0x44], xmm0
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x430ef1
movss xmm3, dword [0x44d62c]
lea eax, [ebp - 0x160]
movss xmm2, dword [esi + 0x3bbc]
push ecx
push 0
push 0x44bff4
push ecx
mov ecx, dword [esi + 0x3bb8]
mov dword [esp], 0xbf800000
push eax
call fcn.00426cc0
movss xmm0, dword [eax]
movss dword [ebp - 0x74], xmm0
cmp edi, dword [ebp - 0x50]
jg 0x430ef1
movss xmm1, dword [ebp - 0x5c]
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0x80], xmm0
movss dword [ebp - 0x9c], xmm0
nop
addss xmm1, dword [ebx + 0x44]
movd xmm0, edi
lea eax, [edi + edi*2]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x64], eax
mov ecx, ebx
mov eax, dword [ebx + 4]
push edi
mov dword [ebp - 0x68], eax
movss dword [ebp - 0x6c], xmm1
mulss xmm0, dword [ebx + 0x21c]
mov dword [ebp - 0x110], edi
addss xmm0, dword [ebp - 0xd0]
movss dword [ebp - 0x40], xmm0
call fcn.0042e380
mov dword [ebp - 0x10c], eax
mov ecx, ebx
lea eax, [ebp - 0x110]
push eax
call fcn.00434070
addss xmm0, dword [ebx + 0x44]
movss xmm1, dword [ebp - 0x88]
mov ecx, ebx
push edi
mov dword [ebp - 0x34], edi
maxss xmm1, xmm0
movss dword [ebp - 0x88], xmm1
call fcn.0042e380
movss xmm1, dword [0x44d638]
lea edx, [ebx + 0x10]
mov ecx, dword [edx]
mov esi, eax
mov dword [ebp - 0x30], esi
movaps xmm2, xmm1
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x60], xmm2
cmp ecx, edi
je 0x4300c0
setl al
jmp 0x4300c6
cmp dword [edx + 4], esi
setle al
test al, al
je 0x4300f0
cmp ecx, edi
jne 0x4300d2
cmp dword [ebx + 0x14], 0
setg al
test al, al
je 0x4300e8
push edx
mov ecx, ebx
call fcn.00434070
movss xmm2, dword [ebp - 0x60]
jmp 0x4300eb
xorps xmm0, xmm0
movss dword [ebp - 0x38], xmm0
mov eax, dword [ebx + 0x18]
lea edx, [ebx + 0x18]
cmp eax, edi
jne 0x4300fe
cmp dword [edx + 4], 0
setg cl
test cl, cl
je 0x430125
cmp eax, edi
jne 0x43010c
cmp dword [ebx + 0x1c], esi
setl cl
lea eax, [ebp - 0x34]
test cl, cl
mov ecx, ebx
cmovne eax, edx
push eax
call fcn.00434070
movaps xmm2, xmm0
lea edx, [ebx + 0x18]
cmp dword [edx], edi
jle 0x430131
addss xmm2, dword [ebx + 0x218]
movss xmm3, dword [ebp - 0x38]
movss xmm0, dword [0x44d638]
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x4301c1
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x4301c1
comiss xmm2, xmm3
mov esi, dword [ebp - 0x44]
jbe 0x4301c4
movss xmm1, dword [ebp - 0x5c]
lea eax, [ebp - 0x138]
addss xmm1, dword [ebx + 0x44]
push 0
push ecx
mov dword [esp], 0
mov ecx, esi
push dword [ebx + 0xec]
movaps xmm0, xmm1
addss xmm1, xmm2
addss xmm0, xmm3
push eax
lea eax, [ebp - 0x150]
push eax
movss dword [ebp - 0x138], xmm1
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x14c], xmm0
addss xmm0, dword [ebx + 0x21c]
movss dword [ebp - 0x134], xmm0
call fcn.00422eb0
jmp 0x4301c4
mov esi, dword [ebp - 0x44]
lea edx, [edi + 1]
movss xmm2, dword [ebp - 0x7c]
movzx eax, dl
addss xmm2, xmm2
xor eax, 0x811c9dc5
movss xmm3, dword [ebp - 0x40]
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
movss dword [ebp - 0x98], xmm3
mov dword [ebp - 0x60], edx
xor ecx, eax
movss dword [ebp - 0x38], xmm2
imul ecx, ecx, 0x1000193
mov eax, edx
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebx + 0x1f0]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.00438920
cmp dword [eax + 4], 0
je 0x4302a4
movss xmm1, dword [ebp - 0x78]
lea eax, [ebp - 0x158]
addss xmm1, dword [ebp - 0x5c]
movaps xmm0, xmm2
push 0
push ecx
mov dword [esp], 0
mov ecx, esi
push dword [ebx + 0xf4]
addss xmm0, xmm1
movss dword [ebp - 0x3c], xmm1
push eax
lea eax, [ebp - 0x9c]
push eax
movss dword [ebp - 0x158], xmm0
movaps xmm0, xmm3
addss xmm0, dword [ebx + 0x21c]
movss dword [ebp - 0x154], xmm0
call fcn.00422eb0
movss xmm0, dword [ebp - 0x3c]
movss xmm2, dword [ebp - 0x38]
movss xmm3, dword [ebp - 0x40]
jmp 0x4302ae
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [ebp - 0x78]
mov eax, dword [ebp - 0x60]
lea ecx, [ebx + 0x210]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00439170
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0xd], 0
jne 0x430503
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [eax + 0x10]
jl 0x430503
cmp eax, dword [ebx + 0x210]
je 0x430503
addss xmm3, dword [ebx + 0x21c]
push 0
push ecx
mov dword [esp], 0
addss xmm2, xmm0
push dword [ebx + 0xf0]
lea eax, [ebp - 0xc4]
movss dword [ebp - 0xc0], xmm3
push eax
lea eax, [ebp - 0x9c]
mov ecx, esi
push eax
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0xc4], xmm2
call fcn.00422eb0
mov ecx, dword [0x451660]
movss xmm2, dword [ebp - 0x5c]
movss xmm0, dword [ebp - 0x38]
movss xmm4, dword [ebp - 0x40]
mov eax, dword [ecx + 0x3e20]
movss xmm1, dword [ecx + 0x37f4]
movss xmm3, dword [ebp - 0xc0]
movaps xmm5, xmm1
maxss xmm2, dword [eax + 0x1f8]
minss xmm0, dword [eax + 0x200]
maxss xmm4, dword [eax + 0x1fc]
minss xmm3, dword [eax + 0x204]
subss xmm2, xmm1
movss xmm1, dword [ecx + 0xdb0]
addss xmm5, xmm0
movss xmm0, dword [ecx + 0x37f8]
movaps xmm6, xmm0
subss xmm4, xmm0
addss xmm6, xmm3
comiss xmm1, xmm2
jb 0x430503
movss xmm0, dword [ecx + 0xdb4]
comiss xmm0, xmm4
jb 0x430503
comiss xmm5, xmm1
jbe 0x430503
comiss xmm6, xmm0
jbe 0x430503
xor ecx, ecx
call fcn.004129a0
mov esi, dword [0x451660]
lea eax, [ebp - 0xb8]
push eax
mov dword [ebp - 0xb8], 1
movups xmm0, xmmword [esi + 0x3868]
lea ecx, [esi + 0x3f64]
movups xmmword [ebp - 0xb4], xmm0
call fcn.00418170
mov eax, dword [ebp - 0x20]
movaps xmm0, xmmword [0x44d700]
movups xmmword [esi + 0x3868], xmm0
push dword [eax + 0x10]
push str.Error_at_line__d:
call fcn.00429250
mov esi, dword [0x451660]
add esp, 8
mov eax, dword [esi + 0x3f64]
mov ecx, dword [esi + 0x3f6c]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x3858], xmm0
dec dword [esi + 0x3f64]
mov ecx, dword [esi + 0x3e20]
cmp byte [ecx + 0x93], 0
jne 0x43047c
mov ecx, dword [ecx + 0x180]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.0042ac10
mov esi, dword [0x451660]
movups xmm0, xmmword [esi + 0x3868]
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xb8], 1
push eax
lea ecx, [esi + 0x3f64]
movups xmmword [ebp - 0xb4], xmm0
call fcn.00418170
mov eax, dword [ebp - 0x20]
movaps xmm0, xmmword [0x44d710]
add eax, 0x14
movups xmmword [esi + 0x3868], xmm0
cmp dword [eax + 0x14], 0x10
jb 0x4304c2
mov eax, dword [eax]
push eax
push 0x447868
call fcn.00429250
mov esi, dword [0x451660]
add esp, 8
mov eax, dword [esi + 0x3f64]
mov ecx, dword [esi + 0x3f6c]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x3858], xmm0
dec dword [esi + 0x3f64]
call fcn.00411040
push dword [ebp - 0x60]
lea eax, [ebp - 0x14]
push str._d
push 0x10
push eax
call fcn.0042c100
mov esi, dword [0x451660]
lea eax, [ebp - 0x14]
movss xmm3, dword [0x44d62c]
add esp, 0xc
movss xmm2, dword [esi + 0x3bbc]
push 0
push eax
push ecx
mov ecx, dword [esi + 0x3bb8]
lea eax, [ebp - 0x170]
mov dword [esp], 0xbf800000
push eax
call fcn.00426cc0
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [ebx + 0x44]
mov edx, dword [ebx + 0xf8]
movss xmm1, dword [ebp - 0x40]
movss dword [ebp - 0xd4], xmm1
subss xmm0, dword [eax]
movss dword [ebp - 0xd8], xmm0
test edx, 0xff000000
je 0x4305da
lea ecx, [ebp - 0x14]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430586
sub ecx, esi
lea eax, [ebp - 0x14]
add ecx, eax
cmp eax, ecx
je 0x4305da
mov esi, dword [ebp - 0x44]
push 0
push ecx
mov dword [esp], 0
mov eax, dword [esi + 0x2c]
movups xmm0, xmmword [esi + 0x60]
push ecx
lea ecx, [ebp - 0x14]
movss xmm2, dword [eax + 0xc]
push ecx
lea ecx, [ebp - 0xb4]
push ecx
push edx
lea ecx, [ebp - 0xd8]
push ecx
mov ecx, dword [eax + 8]
push esi
movups xmmword [ebp - 0xb4], xmm0
call fcn.00426e70
movss xmm1, dword [ebp - 0x40]
cmp dword [ebx + 0x20], edi
jne 0x43092b
call fcn.00411570
mov ecx, ebx
mov byte [ebp - 0x45], al
call fcn.00432de0
test al, al
jne 0x43074d
movss xmm0, dword [ebp - 0x80]
addss xmm0, dword [ebp - 0x78]
movzx eax, byte [ebp - 0x45]
mov edi, dword [ebp - 0x44]
xor eax, 1
push 0
push ecx
addss xmm0, dword [ebp - 0x7c]
mov dword [esp], 0
mov ecx, edi
push dword [ebx + eax*4 + 0xfc]
lea eax, [ebp - 0xe0]
push eax
movss dword [ebp - 0x38], xmm0
lea eax, [ebp - 0x9c]
movss dword [ebp - 0xe0], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebx + 0x21c]
push eax
movss dword [ebp - 0x3c], xmm0
movss dword [ebp - 0xdc], xmm0
call fcn.00422eb0
mov esi, dword [ebx + 0x104]
test esi, 0xff000000
je 0x43074d
test byte [edi + 0x24], 1
mov ecx, edi
movss xmm1, dword [ebp - 0x40]
movss xmm2, dword [0x44d4dc]
movss xmm0, dword [ebp - 0x38]
addss xmm1, xmm2
movss xmm3, dword [0x44d510]
push 0
je 0x4306dd
subss xmm0, xmm2
movss dword [ebp - 0xec], xmm1
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x3c]
subss xmm0, xmm2
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x80]
addss xmm0, xmm2
movss dword [ebp - 0xf0], xmm0
jmp 0x430728
subss xmm0, dword [0x44d4d8]
lea eax, [ebp - 0xf8]
movss dword [ebp - 0xfc], xmm1
push eax
lea eax, [ebp - 0x100]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x3c]
subss xmm0, dword [0x44d4d8]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x80]
addss xmm0, xmm2
movss dword [ebp - 0x100], xmm0
push eax
call fcn.00422800
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 1
push esi
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.00420ef0
mov dword [edi + 0x54], 0
cmp byte [ebp - 0x45], 0
je 0x43092b
call dword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
push 0
push 0x2710
push edx
push eax
call fcn.00444c00
mov esi, eax
mov dword [ebp - 0x70], eax
sub esi, dword [ebx + 0x248]
mov ecx, edx
mov eax, edx
mov dword [ebp - 0x58], ecx
sbb eax, dword [ebx + 0x24c]
mov dword [ebp - 0x4c], eax
jne 0x430794
cmp esi, 0x190
jbe 0x43092b
movss xmm0, dword [0x44d510]
lea eax, [ebx + 0x20]
push eax
mov ecx, ebx
movss dword [ebp - 0x3c], xmm0
call fcn.0042e190
mov edi, eax
mov ecx, ebx
lea eax, [ebx + 0x20]
push eax
call fcn.00434070
cmp byte [ebx + 0x3c], 0
movaps xmm2, xmm0
movss dword [ebp - 0x38], xmm2
je 0x4308a7
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov eax, dword [edx + ecx*4]
mov ecx, dword [edx + ecx*4 + 4]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jge 0x4308a7
mov edx, dword [ebp - 0x64]
lea eax, [edi + edi*2]
mov edi, dword [ebp - 0x68]
mov ecx, dword [edi + edx*4]
mov al, byte [ecx + eax*4]
cmp al, 9
jne 0x43085f
addss xmm0, dword [0x44d510]
xorps xmm1, xmm1
sub esp, 8
cvtsi2ss xmm1, dword [ebx + 0x38]
mulss xmm1, dword [ebp - 0x74]
divss xmm0, xmm1
movss dword [ebp - 0x54], xmm1
movss dword [ebp - 0x3c], xmm0
fld dword [ebp - 0x3c]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm2, dword [ebp - 0x38]
add esp, 8
fstp dword [ebp - 0x3c]
fld dword [ebp - 0x3c]
fstp dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x3c]
addss xmm0, dword [0x44d510]
mulss xmm0, dword [ebp - 0x54]
subss xmm0, xmm2
jmp 0x4308ac
movss xmm3, dword [0x44d62c]
push ecx
push 0
lea ecx, [ebp - 0x18]
mov byte [ebp - 0x18], al
mov eax, dword [0x451660]
push ecx
push ecx
lea ecx, [ebp - 0x178]
mov dword [esp], 0xbf800000
movss xmm2, dword [eax + 0x3bbc]
push ecx
mov ecx, dword [eax + 0x3bb8]
mov byte [ebp - 0x17], 0
call fcn.00426cc0
movss xmm2, dword [ebp - 0x38]
movss xmm0, dword [eax]
jmp 0x4308ac
movss xmm0, dword [ebp - 0x3c]
addss xmm2, dword [ebp - 0x6c]
movss xmm1, dword [ebp - 0x40]
lea eax, [ebp - 0x108]
push 0
push ecx
mov ecx, dword [ebp - 0x44]
addss xmm0, xmm2
mov dword [esp], 0
push dword [ebx + 0xe8]
movss dword [ebp - 0x148], xmm2
push eax
lea eax, [ebp - 0x148]
movss dword [ebp - 0x144], xmm1
movss dword [ebp - 0x108], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebx + 0x21c]
push eax
movss dword [ebp - 0x104], xmm0
call fcn.00422eb0
cmp dword [ebp - 0x4c], 0
ja 0x430919
cmp esi, 0x320
jbe 0x43092b
mov eax, dword [ebp - 0x70]
mov dword [ebx + 0x248], eax
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x24c], eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
mov edi, dword [ecx + eax*4 + 4]
mov esi, dword [ecx + eax*4]
cmp esi, edi
jne 0x430944
mov eax, dword [ebx + 0xb4]
jmp 0x43094c
push esi
mov ecx, ebx
call fcn.0042ee90
mov dword [ebp - 0x4c], eax
sub edi, esi
mov eax, 0x2aaaaaab
xor ecx, ecx
imul edi
xorps xmm1, xmm1
xorps xmm3, xmm3
movss dword [ebp - 0x54], xmm1
mov dword [ebp - 0x3c], ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x430e35
movss xmm4, dword [ebp - 0x40]
movaps xmm2, xmm4
addss xmm2, xmm3
movss dword [ebp - 0x8c], xmm2
movaps xmm0, xmm2
nop
lea edi, [ecx + ecx*2]
mov ecx, ebx
shl edi, 2
add esi, edi
push esi
mov dword [ebp - 0x70], esi
call fcn.0042ee90
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x38], eax
cmp eax, ecx
jne 0x4309c0
mov cl, byte [esi]
cmp cl, 9
je 0x4309bd
cmp cl, 0x20
jne 0x430ae5
mov ecx, dword [ebp - 0x4c]
cmp dword [ebx + 0x240], 0
movaps xmm0, xmm2
je 0x430ae5
cmp dword [ebx + 0x244], 0x10
lea esi, [ebx + 0x230]
movaps xmm0, xmm1
mov edx, esi
addss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0xcc], xmm0
movaps xmm0, xmm4
addss xmm0, xmm3
movss dword [ebp - 0xc8], xmm0
jb 0x430a02
mov edx, dword [esi]
test ecx, 0xff000000
je 0x430a67
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x58], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430a12
sub ecx, dword [ebp - 0x58]
add ecx, edx
cmp edx, ecx
je 0x430a67
mov eax, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x44]
push 0
push ecx
mov eax, dword [eax + 0x2c]
movups xmm0, xmmword [ebx + 0x60]
mov dword [esp], 0
push ecx
movss xmm2, dword [eax + 0xc]
lea ecx, [ebp - 0xb4]
push edx
push ecx
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xcc]
push ecx
mov ecx, dword [eax + 8]
push ebx
movups xmmword [ebp - 0xb4], xmm0
call fcn.00426e70
mov ebx, dword [ebp - 0x84]
cmp dword [esi + 0x14], 0x10
mov eax, dword [0x451660]
mov ecx, dword [eax + 0x3bb8]
mov eax, esi
jb 0x430a7c
mov eax, dword [esi]
movss xmm3, dword [0x44d62c]
push ecx
push 0
push eax
push ecx
lea eax, [ebp - 0x140]
mov dword [esp], 0xbf800000
push eax
mov eax, dword [0x451660]
movss xmm2, dword [eax + 0x3bbc]
call fcn.00426cc0
cmp dword [esi + 0x14], 0x10
mov eax, esi
movss xmm1, dword [ebp - 0x140]
addss xmm1, dword [ebp - 0x54]
movss dword [ebp - 0x54], xmm1
jb 0x430ac5
mov eax, dword [esi]
movss xmm0, dword [ebp - 0xc8]
xorps xmm3, xmm3
movss xmm4, dword [ebp - 0x40]
mov dword [esi + 0x10], 0
mov esi, dword [ebp - 0x70]
mov byte [eax], 0
mov eax, dword [ebp - 0x38]
mov cl, byte [esi]
movaps xmm2, xmm0
movss dword [ebp - 0x38], xmm2
mov dword [ebp - 0x4c], eax
cmp cl, 9
jne 0x430c71
movd xmm0, dword [ebx + 0x38]
sub esp, 8
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xbc], xmm1
mulss xmm0, dword [ebp - 0x74]
addss xmm1, dword [0x44d510]
movss dword [ebp - 0x70], xmm0
divss xmm1, xmm0
movss dword [ebp - 0x58], xmm1
fld dword [ebp - 0x58]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm4, dword [0x44d510]
add esp, 8
inc dword [ebp - 0x3c]
cmp byte [ebx + 0x5f], 0
fstp dword [ebp - 0x58]
fld dword [ebp - 0x58]
fstp dword [ebp - 0x58]
movss xmm2, dword [ebp - 0x58]
addss xmm2, xmm4
mulss xmm2, dword [ebp - 0x70]
movss dword [ebp - 0x54], xmm2
je 0x430de8
mov eax, dword [0x451660]
movss xmm0, dword [ebp - 0xbc]
addss xmm0, dword [ebp - 0x6c]
addss xmm2, dword [ebp - 0x6c]
movss xmm3, dword [eax + 0x3bbc]
lea eax, [ebp - 0xa4]
mov esi, dword [ebp - 0x44]
movaps xmm1, xmm3
mulss xmm1, dword [0x44d4dc]
push ecx
mulss xmm3, dword [0x44d4c4]
addss xmm0, xmm4
mov dword [esp], 0x3f800000
mov ecx, esi
subss xmm2, xmm4
addss xmm1, dword [ebp - 0x38]
push 0x90909090
movss dword [ebp - 0x118], xmm0
push eax
movss dword [ebp - 0xa4], xmm2
lea eax, [ebp - 0x118]
movaps xmm0, xmm1
movss dword [ebp - 0x114], xmm1
movss dword [ebp - 0xa0], xmm1
subss xmm2, xmm3
subss xmm0, xmm3
addss xmm1, xmm3
push eax
movss dword [ebp - 0x120], xmm2
movss dword [ebp - 0x11c], xmm0
movss dword [ebp - 0x128], xmm2
movss dword [ebp - 0x124], xmm1
call fcn.00422cb0
push ecx
mov dword [esp], 0x3f800000
lea eax, [ebp - 0x120]
push 0x90909090
push eax
lea eax, [ebp - 0xa4]
mov ecx, esi
push eax
call fcn.00422cb0
push ecx
mov dword [esp], 0x3f800000
lea eax, [ebp - 0x128]
push 0x90909090
push eax
lea eax, [ebp - 0xa4]
mov ecx, esi
push eax
call fcn.00422cb0
movss xmm0, dword [ebp - 0x38]
xorps xmm3, xmm3
movss xmm4, dword [ebp - 0x40]
jmp 0x430df7
cmp cl, 0x20
jne 0x430d3c
cmp byte [ebx + 0x5f], 0
je 0x430d23
movss xmm0, dword [ebp - 0x74]
mulss xmm0, dword [0x44d4dc]
mov eax, dword [0x451660]
addss xmm1, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x44]
push 3
push ecx
mov dword [esp], 0x4096cbe4
mov ecx, esi
addss xmm1, xmm0
movss xmm0, dword [eax + 0x3bbc]
mulss xmm0, dword [0x44d4dc]
lea eax, [ebp - 0x130]
push eax
addss xmm0, xmm2
movss dword [ebp - 0x130], xmm1
movss xmm2, dword [0x44d528]
movss dword [ebp - 0x12c], xmm0
call fcn.004223f0
push 0x80808080
push dword [esi + 0x54]
mov ecx, esi
push dword [esi + 0x5c]
call fcn.00421c10
movss xmm1, dword [ebp - 0x54]
xorps xmm3, xmm3
addss xmm1, dword [ebp - 0x74]
movss xmm0, dword [ebp - 0x38]
movss xmm4, dword [ebp - 0x40]
inc dword [ebp - 0x3c]
mov dword [esi + 0x54], 0
movss dword [ebp - 0x54], xmm1
jmp 0x430dfc
addss xmm1, dword [ebp - 0x74]
inc dword [ebp - 0x3c]
movaps xmm0, xmm4
addss xmm0, xmm3
movss dword [ebp - 0x54], xmm1
jmp 0x430dfc
mov al, cl
and al, 0xfe
cmp al, 0xfc
jne 0x430d4b
mov ebx, 6
jmp 0x430d84
mov al, cl
and al, 0xfc
cmp al, 0xf8
jne 0x430d5a
mov ebx, 5
jmp 0x430d84
mov al, cl
and al, 0xf8
cmp al, 0xf0
jne 0x430d69
mov ebx, 4
jmp 0x430d84
mov al, cl
and al, 0xf0
cmp al, 0xe0
jne 0x430d78
mov ebx, 3
jmp 0x430d84
and cl, 0xe0
xor ebx, ebx
cmp cl, 0xc0
sete bl
inc ebx
mov esi, dword [ebp - 0x84]
add esi, 0x230
add dword [ebp - 0x3c], ebx
mov ecx, dword [ebp - 0x68]
lea edi, [edi + 0xc]
mov eax, dword [ebp - 0x64]
dec ebx
mov edx, dword [esi + 0x14]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x10]
mov al, byte [edi + eax - 0xc]
mov byte [ebp - 0x1c], al
cmp ecx, edx
jae 0x430dcd
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0x10
jb 0x430dc0
mov eax, dword [esi]
mov dl, byte [ebp - 0x1c]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x430dde
push dword [ebp - 0x1c]
push dword [ebp - 0x8c]
push ecx
mov ecx, esi
call fcn.00437a80
test ebx, ebx
jg 0x430d93
mov ebx, dword [ebp - 0x84]
movss xmm4, dword [ebp - 0x40]
xorps xmm3, xmm3
movaps xmm0, xmm4
addss xmm0, xmm3
movss xmm1, dword [ebp - 0x54]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
movss xmm2, dword [ebp - 0x8c]
mov esi, dword [ecx + eax*4]
mov ecx, dword [ecx + eax*4 + 4]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
mov ecx, dword [ebp - 0x3c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jb 0x430990
movss xmm0, dword [ebp - 0x38]
jmp 0x430e3e
movss xmm0, dword [ebp - 0x40]
addss xmm0, xmm3
cmp dword [ebx + 0x240], 0
je 0x430ee0
cmp dword [ebx + 0x244], 0x10
lea esi, [ebx + 0x230]
addss xmm1, dword [ebp - 0x6c]
movss dword [ebp - 0x90], xmm0
mov edx, esi
movss dword [ebp - 0x94], xmm1
jb 0x430e73
mov edx, dword [esi]
test dword [ebp - 0x4c], 0xff000000
je 0x430ecc
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430e81
sub ecx, edi
add ecx, edx
cmp edx, ecx
je 0x430ecc
mov edi, dword [ebp - 0x44]
push 0
push ecx
mov dword [esp], 0
mov eax, dword [edi + 0x2c]
movups xmm0, xmmword [edi + 0x60]
push ecx
push edx
movss xmm2, dword [eax + 0xc]
lea ecx, [ebp - 0xb4]
push ecx
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x94]
push ecx
mov ecx, dword [eax + 8]
push edi
movups xmmword [ebp - 0xb4], xmm0
call fcn.00426e70
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x430ed6
mov eax, dword [esi]
mov dword [esi + 0x10], 0
mov byte [eax], 0
mov edi, dword [ebp - 0x60]
movss xmm1, dword [ebp - 0x5c]
cmp edi, dword [ebp - 0x50]
jle 0x430020
mov ecx, dword [ebx + 8]
mov eax, 0x2aaaaaab
sub ecx, dword [ebx + 4]
imul ecx
movss xmm1, dword [ebp - 0x88]
addss xmm1, dword [0x44d52c]
mov ecx, dword [0x451660]
sar edx, 1
mov eax, edx
movss dword [ebp - 0x94], xmm1
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x44d730]
mov eax, dword [ecx + 0x3e20]
cvtpd2ps xmm4, xmm0
mulss xmm4, dword [ebx + 0x21c]
mov byte [eax + 0x90], 1
mov eax, dword [ecx + 0x3e20]
movss dword [ebp - 0x90], xmm4
cmp byte [eax + 0x93], 0
jne 0x430fbb
movss xmm2, dword [eax + 0xd4]
lea ecx, [ebp - 0x94]
movss xmm0, dword [eax + 0xd8]
movaps xmm3, xmm2
addss xmm3, xmm1
movss dword [ebp - 0x2c], xmm2
movss xmm1, dword [0x44d638]
addss xmm4, xmm0
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x20], xmm4
call fcn.00411f90
push 0
push ecx
xor edx, edx
lea ecx, [ebp - 0x2c]
call fcn.004120f0
add esp, 8
cmp byte [ebx + 0x3f], 0
je 0x430fdd
mov ecx, ebx
call fcn.004342d0
mov ecx, dword [0x451660]
mov ecx, dword [ecx + 0x3e20]
call fcn.00411280
mov byte [ebx + 0x3f], 0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00443af3
mov esp, ebp
pop ebp
ret