Function at 0x10166850
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101f444b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x38
push esi
push edi
mov eax, dword [0x10285040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movss dword [ebp - 0x2c], xmm3
mov dword [ebp - 0x24], ecx
mov edi, dword [ebx + 0xc]
mov ecx, edi
mov esi, dword [ebx + 8]
mov dword [edi + 0x60], esi
mov eax, dword [0x103350f4]
call eax
test al, al
je 0x1016753e
mov eax, dword [0x103201d0]
test al, 1
jne 0x101669fd
or eax, 1
mov dword [0x103201d0], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
je 0x1016692a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x1016691c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x101668f3
xor edx, edx
test ecx, ecx
je 0x1016691c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10166900
cmp edi, 0x72e242a1
je 0x10166943
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
jne 0x101668e0
xor eax, eax
mov edi, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov dword [0x1031e968], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10166a02
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], edi
cmp dword [eax + 4], edi
jle 0x101669e8
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10166994
cmp dword [ecx + 4], 0
jle 0x10166994
push 0
mov edx, 0x99ed136f
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10166991
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101669a0
xor edx, edx
test ecx, ecx
je 0x101669cc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101669b0
cmp edi, 0x99ed136f
je 0x101669ef
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10166960
mov eax, edi
jmp 0x1016692c
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1016692c
mov eax, dword [0x1031e968]
movss xmm1, dword [ebx + 0x10]
addss xmm1, dword [eax + esi]
movss xmm4, dword [0x102713f4]
movss xmm2, dword [0x102712cc]
comiss xmm4, xmm1
jbe 0x10166a2a
addss xmm1, xmm2
comiss xmm4, xmm1
ja 0x10166a21
movss xmm3, dword [0x10271280]
comiss xmm1, xmm3
jbe 0x10166a40
subss xmm1, xmm2
comiss xmm1, xmm3
ja 0x10166a37
mov eax, dword [ebx + 0x18]
cmp dword [edi + 0x70], eax
je 0x1016753e
movss xmm5, dword [edi + 0x6c]
movss xmm0, dword [ebx + 0x14]
ucomiss xmm5, xmm0
lahf
test ah, 0x44
jnp 0x1016753e
subss xmm0, xmm5
maxss xmm0, dword [0x10270e70]
movss dword [edi + 0x74], xmm0
movss xmm0, dword [ebp - 0x2c]
comiss xmm4, xmm0
jbe 0x10166a89
nop
addss xmm0, xmm2
comiss xmm4, xmm0
ja 0x10166a80
comiss xmm0, xmm3
jbe 0x10166a99
nop
subss xmm0, xmm2
comiss xmm0, xmm3
ja 0x10166a90
comiss xmm4, xmm1
movss dword [edi + 0x78], xmm0
jbe 0x10166aac
addss xmm1, xmm2
comiss xmm4, xmm1
ja 0x10166aa3
comiss xmm1, xmm3
jbe 0x10166aba
subss xmm1, xmm2
comiss xmm1, xmm3
ja 0x10166ab1
mov eax, dword [0x103201c8]
movss dword [edi + 0x7c], xmm1
test al, 1
jne 0x10166c0d
or eax, 1
mov dword [0x103201c8], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1031cd84]
je 0x10166b3a
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10166b2c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10166b03
xor edx, edx
test ecx, ecx
je 0x10166b2c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10166b10
cmp edi, 0x1eee87cc
je 0x10166b53
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1031cd84]
jne 0x10166af0
xor eax, eax
mov edi, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov dword [0x1032020c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10166c12
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], edi
cmp dword [eax + 4], edi
jle 0x10166bf8
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10166ba4
cmp dword [ecx + 4], 0
jle 0x10166ba4
push 0
mov edx, 0x559d81af
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10166ba1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10166bb0
xor edx, edx
test ecx, ecx
je 0x10166bdc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10166bc0
cmp edi, 0x559d81af
je 0x10166bff
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x10166b70
mov eax, edi
jmp 0x10166b3c
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x10166b3c
mov eax, dword [0x1032020c]
movq xmm0, qword [eax + esi]
movq qword [edi + 0xb0], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edi + 0xb8], eax
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [0x103201ac]
test al, 1
jne 0x10166d8d
or eax, 1
mov dword [0x103201ac], eax
mov dword [ebp - 4], 2
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1031cd84]
je 0x10166cbf
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10166cb1
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10166c88
xor edx, edx
test ecx, ecx
je 0x10166cb1
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10166c95
cmp edi, 0x4e9f1122
je 0x10166cd8
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1031cd84]
jne 0x10166c75
xor eax, eax
mov edi, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov dword [0x1031e910], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10166d92
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], edi
cmp dword [eax + 4], edi
jle 0x10166d78
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10166d25
cmp dword [ecx + 4], 0
jle 0x10166d25
push 0
mov edx, 0x940131c5
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10166d22
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x10166d30
xor edx, edx
test ecx, ecx
je 0x10166d5c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10166d40
cmp edi, 0x940131c5
je 0x10166d7f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x10166cf1
mov eax, edi
jmp 0x10166cc1
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x10166cc1
mov eax, dword [0x1031e910]
push dword [eax + esi]
mov ecx, dword [ebp - 0x28]
call dword [ebp - 0x30]
mov dword [edi + 0x64], eax
cmp eax, dword [edi + 0x68]
jne 0x10166da9
cmp byte [edi + 4], 0
je 0x10166dd3
xor ecx, ecx
nop dword [eax + eax]
mov eax, dword [esi + 0x2990]
add eax, ecx
je 0x10166dc8
mov dword [eax + 0xc], 0xffffffff
mov dword [eax + 0x10], 0xffffffff
add ecx, 0x38
cmp ecx, 0x2d8
jl 0x10166db0
movss xmm4, dword [edi + 0x74]
mov eax, dword [0x103201a8]
mulss xmm4, dword [0x102710f0]
mov dword [ebp - 0x38], 0x3f800000
movss xmm3, dword [edi + 0xa4]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x28], 0x3f800000
mov dword [ebp - 0x2c], 0
test al, 1
jne 0x10166f4d
or eax, 1
mov dword [0x103201a8], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1031cd84]
je 0x10166e7a
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10166e6c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10166e43
xor edx, edx
test ecx, ecx
je 0x10166e6c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10166e50
cmp edi, 0x72e242a1
je 0x10166e93
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1031cd84]
jne 0x10166e30
xor eax, eax
mov edi, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov dword [0x10320230], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10166f52
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], edi
cmp dword [eax + 4], edi
jle 0x10166f38
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10166ee4
cmp dword [ecx + 4], 0
jle 0x10166ee4
push 0
mov edx, 0xe4f7740e
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10166ee1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10166ef0
xor edx, edx
test ecx, ecx
je 0x10166f1c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10166f00
cmp edi, 0xe4f7740e
je 0x10166f3f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x10166eb0
mov eax, edi
jmp 0x10166e7c
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x10166e7c
mov eax, dword [0x10320230]
movss xmm0, dword [eax + esi]
lea ecx, [ebp - 0x2c]
addss xmm0, dword [edi + 0xa8]
movss xmm5, dword [0x10271024]
lea eax, [ebp - 0x30]
xorps xmm6, xmm6
comiss xmm0, xmm6
movss dword [ebp - 0x30], xmm0
cmovae ecx, eax
lea eax, [ebp - 0x28]
comiss xmm5, xmm0
cmovae eax, ecx
movss xmm2, dword [eax]
movaps xmm1, xmm2
subss xmm1, xmm3
comiss xmm1, xmm4
jbe 0x10166f9a
addss xmm3, xmm4
jmp 0x10166fb2
movaps xmm0, xmm4
xorps xmm0, xmmword [0x10271af0]
comiss xmm0, xmm1
jbe 0x10166faf
subss xmm3, xmm4
jmp 0x10166fb2
movaps xmm3, xmm2
comiss xmm3, xmm6
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x34]
movss dword [ebp - 0x30], xmm3
cmovae ecx, eax
lea eax, [ebp - 0x38]
comiss xmm5, xmm3
cmovae eax, ecx
mov eax, dword [eax]
mov dword [edi + 0xa4], eax
mov eax, dword [0x103235d8]
test al, 1
jne 0x1016711d
or eax, 1
mov dword [0x103235d8], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1031cd84]
je 0x1016704a
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1016703c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10167013
xor edx, edx
test ecx, ecx
je 0x1016703c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10167020
cmp edi, 0x54aff69
je 0x10167063
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1031cd84]
jne 0x10167000
xor eax, eax
mov edi, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov dword [0x103235b8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10167122
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], edi
cmp dword [eax + 4], edi
jle 0x10167108
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101670b4
cmp dword [ecx + 4], 0
jle 0x101670b4
push 0
mov edx, 0x3775d33c
call fcn.1012b660
add esp, 4
test eax, eax
je 0x101670b1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x101670c0
xor edx, edx
test ecx, ecx
je 0x101670ec
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101670d0
cmp edi, 0x3775d33c
je 0x1016710f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x10167080
mov eax, edi
jmp 0x1016704c
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x1016704c
mov eax, dword [0x103235b8]
cmp dword [eax + esi], 0
je 0x1016712f
mov dword [eax + esi], 0
mov dword [esi + 0x286], 0
movss xmm0, dword [esi + 0xa134]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jnp 0x10167154
mov dword [esi + 0xa134], 0
movss xmm2, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x24]
push edi
call fcn.10163cd0
movss xmm2, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x24]
push edi
call fcn.10165770
mov eax, dword [0x1033503c]
mov ecx, edi
call eax
mov eax, dword [0x103351a4]
mov ecx, edi
call eax
mov ecx, dword [esi + 0x2990]
lea edx, [esi + 0x2990]
mov eax, edx
movss xmm1, dword [ecx + 0x290]
movaps xmm0, xmm1
call fcn.1000d440
xorps xmm5, xmm5
comiss xmm5, xmm0
jae 0x101671f2
mulss xmm1, dword [edi + 0x74]
addss xmm1, dword [ecx + 0x294]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm5, xmm1
jbe 0x101671d3
addss xmm1, dword [0x10271024]
jmp 0x101671e4
movss xmm0, dword [0x10271024]
comiss xmm1, xmm0
jbe 0x101671e4
subss xmm1, xmm0
movss dword [ecx + 0x294], xmm1
lea eax, [esi + 0x2990]
mov esi, dword [edx]
movss xmm3, dword [0x1027101c]
movss xmm2, dword [esi + 0x218]
comiss xmm2, xmm5
jbe 0x101672ef
movss xmm1, dword [esi + 0x220]
mov edx, eax
movaps xmm0, xmm1
call fcn.1000d440
comiss xmm5, xmm0
movss xmm4, dword [0x10271024]
jae 0x10167275
mulss xmm1, dword [edi + 0x74]
addss xmm1, dword [esi + 0x224]
comiss xmm1, xmm4
jb 0x10167241
movaps xmm1, xmm3
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm5, xmm1
jbe 0x1016725b
addss xmm1, xmm4
jmp 0x10167264
comiss xmm1, xmm4
jbe 0x10167264
subss xmm1, xmm4
mov edx, dword [ebx + 8]
movss dword [esi + 0x224], xmm1
add edx, 0x2990
movss xmm1, dword [esi + 0x21c]
movaps xmm0, xmm1
call fcn.1000d440
comiss xmm5, xmm0
jae 0x101672ef
mulss xmm1, dword [edi + 0x74]
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x30], 0x3f800000
mov dword [ebp - 0x38], 0
addss xmm1, xmm2
comiss xmm1, xmm5
movss dword [ebp - 0x34], xmm1
cmovae ecx, eax
lea eax, [ebp - 0x30]
comiss xmm4, xmm1
cmovae eax, ecx
lea ecx, [ebp - 0x38]
movss xmm0, dword [eax]
lea eax, [ebp - 0x34]
comiss xmm0, xmm5
mov dword [ebp - 0x30], 0x3f800000
mov dword [ebp - 0x38], 0
movss dword [ebp - 0x34], xmm0
cmovae ecx, eax
lea eax, [ebp - 0x30]
comiss xmm4, xmm0
cmovae eax, ecx
mov eax, dword [eax]
mov dword [esi + 0x218], eax
mov esi, dword [edx]
movss xmm2, dword [esi + 0x218]
comiss xmm2, xmm5
jbe 0x1016738b
movss xmm1, dword [esi + 0x21c]
comiss xmm5, xmm1
jbe 0x1016738b
movaps xmm0, xmm1
call fcn.1000d440
comiss xmm5, xmm0
jae 0x1016738b
mulss xmm1, dword [edi + 0x74]
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x30], 0x3f800000
mov dword [ebp - 0x38], 0
addss xmm1, xmm2
movss xmm2, dword [0x10271024]
comiss xmm1, xmm5
movss dword [ebp - 0x34], xmm1
cmovae ecx, eax
lea eax, [ebp - 0x30]
comiss xmm2, xmm1
cmovae eax, ecx
lea ecx, [ebp - 0x38]
movss xmm0, dword [eax]
lea eax, [ebp - 0x34]
comiss xmm0, xmm5
mov dword [ebp - 0x30], 0x3f800000
mov dword [ebp - 0x38], 0
movss dword [ebp - 0x34], xmm0
cmovae ecx, eax
lea eax, [ebp - 0x30]
comiss xmm2, xmm0
cmovae eax, ecx
mov eax, dword [eax]
mov dword [esi + 0x218], eax
jmp 0x10167393
movss xmm2, dword [0x10271024]
mov ecx, dword [edx]
movss xmm1, dword [ecx + 0x258]
movaps xmm0, xmm1
call fcn.1000d440
comiss xmm5, xmm0
jae 0x101673f5
mulss xmm1, dword [edi + 0x74]
addss xmm1, dword [ecx + 0x25c]
comiss xmm1, xmm2
jb 0x101673bf
movaps xmm1, xmm3
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm5, xmm1
jbe 0x101673d9
addss xmm1, xmm2
jmp 0x101673e2
comiss xmm1, xmm2
jbe 0x101673e2
subss xmm1, xmm2
mov esi, dword [ebx + 8]
movss dword [ecx + 0x25c], xmm1
lea edx, [esi + 0x2990]
jmp 0x101673f8
mov esi, dword [ebx + 8]
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2990]
mov dword [eax + 0x2cc], 0
mov dword [eax + 0x2c0], 0
mov eax, dword [edx]
cmp dword [eax + 0x18], 0
jne 0x10167424
mov dword [eax + 0x20], 0
mov eax, dword [edx]
cmp dword [eax + 0x50], 0
jne 0x10167433
mov dword [eax + 0x58], 0
mov eax, dword [edx]
cmp dword [eax + 0x88], 0
jne 0x10167448
mov dword [eax + 0x90], 0
mov eax, dword [edx]
cmp dword [eax + 0xc0], 0
jne 0x1016745d
mov dword [eax + 0xc8], 0
mov eax, dword [edx]
cmp dword [eax + 0xf8], 0
jne 0x10167472
mov dword [eax + 0x100], 0
mov eax, dword [edx]
cmp dword [eax + 0x130], 0
jne 0x10167487
mov dword [eax + 0x138], 0
mov eax, dword [edx]
cmp dword [eax + 0x168], 0
jne 0x1016749c
mov dword [eax + 0x170], 0
mov eax, dword [edx]
cmp dword [eax + 0x1a0], 0
jne 0x101674b1
mov dword [eax + 0x1a8], 0
mov ecx, 0x1c0
nop word [eax + eax]
mov eax, dword [esi + 0x2990]
cmp dword [eax + ecx + 0x18], 0
jne 0x101674d5
mov dword [eax + ecx + 0x20], 0
add ecx, 0x38
cmp ecx, 0x2d8
jl 0x101674c0
movss xmm0, dword [edi + 0x80]
lea ecx, [ebp - 0x44]
mov eax, dword [0x10335168]
push ecx
mov ecx, esi
mov dword [ebp - 0x44], 0
movss dword [ebp - 0x40], xmm0
mov dword [ebp - 0x3c], 0
call eax
mov eax, dword [edi + 0x64]
movq xmm0, qword [edi + 0xb0]
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0xb8]
movq qword [edi + 0xbc], xmm0
movss xmm0, dword [ebx + 0x14]
mov dword [edi + 0xc4], eax
mov eax, dword [ebx + 0x18]
mov byte [edi + 4], 0
mov dword [edi + 0x70], eax
movss dword [edi + 0x6c], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x14