Function at 0x100ab8f0
Capabilities:
Encode data using xor
Hash data using fnv

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 0x1026b292
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x150
mov eax, dword [0x103230ac]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x74], esi
mov ecx, dword [0x10c0dd10]
add ecx, 0x72c821ae
xor ecx, 0x43f50f5d
cmp byte [ecx + 7], 0
je 0x100ad0cc
cmp byte [0x103a7aac], 0
jne 0x100ab972
cmp dword [esi + 0x4c], 0
je 0x100ad0cc
lea ecx, [esi + 0x44]
call fcn.10086f20
jmp 0x100ad0cc
mov eax, dword [0x1040e4d4]
add eax, 0x5bba3cc6
xor eax, 0x89e261d6
cmp dword [esi + 0x4c], 0
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x9c], eax
je 0x100ad0cc
mov ecx, dword [ecx + 0x134]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movss xmm1, dword [0x1030bb18]
mov esi, dword [esi + 0x48]
mov dword [ebp - 0x60], esi
movss xmm0, dword [eax]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [eax + 8]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [0x103a7abc]
mulss xmm0, xmm1
mov edi, dword [esi]
mov dword [ebp - 0x70], edi
cvttss2si eax, xmm0
movss xmm0, dword [0x103a7ab8]
mulss xmm0, xmm1
movzx edx, al
mov dword [ebp - 0xc0], eax
shl edx, 8
cvttss2si ecx, xmm0
movss xmm0, dword [0x103a7ab4]
mulss xmm0, xmm1
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x90]
movzx eax, al
cvttss2si ecx, xmm0
or edx, eax
shl edx, 8
movss xmm0, dword [0x103a7ab0]
mulss xmm0, xmm1
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
movzx eax, al
cvttss2si ecx, xmm0
or edx, eax
shl edx, 8
movzx eax, cl
or edx, eax
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x98], edx
cmp edi, esi
je 0x100ad0cc
nop word [eax + eax]
cmp dword [edi + 8], 0
lea eax, [edi + 8]
je 0x100ad0bf
lea ecx, [eax + 4]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x74]
push eax
lea eax, [ebp - 0x148]
add ecx, 4
push eax
call fcn.100ad580
mov ecx, dword [ebp - 0x5c]
xorps xmm2, xmm2
mov edx, dword [eax]
movss xmm1, dword [ecx + 0x28]
add edx, 0xc
ucomiss xmm1, xmm2
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x7c], 0
lahf
test ah, 0x44
jnp 0x100abb2c
mov eax, dword [0x10c0dd10]
movss xmm0, dword [ecx + 0x2c]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov dword [ebp - 0x44], 0x3f800000
mov dword [ebp - 0x3c], 0
mov eax, dword [eax + 0xf0]
subss xmm0, dword [eax + 0x10]
call fcn.1000e030
divss xmm0, xmm1
lea ecx, [ebp - 0x7c]
lea edx, [ebp - 0x3c]
movss xmm1, dword [0x1030b86c]
comiss xmm2, xmm0
movss dword [ebp - 0x7c], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x44]
comiss xmm0, xmm1
seta al
test al, al
cmove ecx, edx
mov edx, dword [ebp - 0x64]
movss xmm0, dword [ecx]
mov ecx, dword [ebp - 0x5c]
movss dword [ebp - 0x7c], xmm0
jmp 0x100abb34
movss xmm1, dword [0x1030b86c]
mov eax, dword [ecx + 0x48]
sub eax, dword [ecx + 0x44]
sar eax, 4
cmp eax, 1
jbe 0x100abb47
cmp byte [ecx], 0
jne 0x100abb4a
xorps xmm1, xmm1
mov eax, dword [0x1040e4d4]
movss xmm0, dword [edx]
add eax, 0x5bba3cc6
xor eax, 0x89e261d6
movss xmm2, dword [eax + 4]
mulss xmm2, dword [0x1030b888]
call fcn.1003cca0
mov ecx, dword [ebp - 0x64]
lea edx, [ebp - 0x3c]
movss xmm3, dword [0x1030b86c]
xorps xmm1, xmm1
comiss xmm1, xmm0
mov dword [ebp - 0x44], 0x3f800000
mov dword [ebp - 0x3c], 0
movss dword [ecx], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x44]
comiss xmm0, xmm3
seta al
test al, al
lea eax, [edi + 8]
cmove ecx, edx
movss xmm0, dword [ecx]
mov ecx, dword [ebp - 0x64]
movss dword [ecx], xmm0
cmp byte [eax + 5], 0
je 0x100abbcb
comiss xmm0, xmm1
jbe 0x100abbcb
movss dword [ebp - 0x30], xmm3
jmp 0x100abbd0
movss dword [ebp - 0x30], xmm1
mov ecx, dword [ebp - 0x74]
push eax
lea eax, [ebp - 0x150]
add ecx, 0x24
push eax
call fcn.100ad580
movss xmm1, dword [ebp - 0x30]
mov ecx, dword [eax]
mov eax, dword [0x1040e4d4]
add ecx, 0xc
add eax, 0x5bba3cc6
mov dword [ebp - 0x34], ecx
xor eax, 0x89e261d6
movss xmm0, dword [ecx]
movss xmm2, dword [eax + 4]
mulss xmm2, dword [0x1030b888]
call fcn.1003cca0
mov ecx, dword [ebp - 0x34]
lea edx, [ebp - 0x3c]
movss xmm2, dword [0x1030b86c]
xorps xmm6, xmm6
comiss xmm6, xmm0
mov dword [ebp - 0x44], 0x3f800000
mov dword [ebp - 0x3c], 0
movss dword [ecx], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x44]
comiss xmm0, xmm2
seta al
test al, al
cmove ecx, edx
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [ebp - 0x64]
comiss xmm6, dword [eax]
jae 0x100ad0bf
mov eax, dword [0x10c0dd10]
xorps xmm1, xmm1
add eax, 0x72c821ae
movss dword [ebp - 0x68], xmm1
xor eax, 0x43f50f5d
movss dword [ebp - 0x3c], xmm6
movss dword [ebp - 0x6c], xmm1
mov ecx, dword [eax + 0x134]
mov eax, dword [0x103c22ec]
mov dword [ebp - 0x44], ecx
test al, 1
jne 0x100abe24
or eax, 1
mov dword [0x103c22ec], eax
mov dword [ebp - 4], 0
mov eax, dword [0x103bf630]
mov ecx, dword [0x103bf634]
mov dword [ebp - 0x38], eax
cmp eax, ecx
je 0x100abd24
mov dword [ebp - 0x30], eax
nop
mov ecx, dword [eax]
mov dword [ebp - 0x4c], ecx
test ecx, ecx
je 0x100abd16
mov eax, dword [ecx + 0xc]
mov ecx, 0x811c9dc5
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov dword [ebp - 0x48], eax
nop dword [eax]
inc ecx
cmp byte [ecx + eax], 0
jne 0x100abce0
xor edx, edx
test ecx, ecx
je 0x100abd13
mov esi, dword [ebp - 0x34]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x48]
cmp edx, ecx
jb 0x100abcf0
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x34], 0x4e9f1122
mov esi, dword [ebp - 0x60]
je 0x100abd3d
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103bf634]
jne 0x100abcc0
xor eax, eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
mov dword [0x103c22f0], eax
jmp 0x100abe32
mov ecx, dword [ebp - 0x4c]
xor edx, edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x58], edx
cmp dword [ecx + 4], edx
jle 0x100abdfa
xor eax, eax
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx]
add ecx, eax
mov dword [ebp - 0x38], ecx
mov ecx, dword [ecx + 0x28]
test ecx, ecx
je 0x100abd8c
cmp dword [ecx + 4], 0
jle 0x100abd8c
push 0
mov edx, 0x1c93bcf0
call fcn.1013c990
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test edx, edx
je 0x100abd8f
mov ecx, dword [eax + 0x2c]
add ecx, edx
add dword [ebp - 0x34], ecx
jmp 0x100abd8f
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, 0x811c9dc5
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov dword [ebp - 0x50], eax
nop
inc ecx
cmp byte [ecx + eax], 0
jne 0x100abda0
xor edx, edx
test ecx, ecx
je 0x100abdd3
mov esi, dword [ebp - 0x30]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x50]
cmp edx, ecx
jb 0x100abdb0
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], 0x1c93bcf0
mov esi, dword [ebp - 0x60]
je 0x100abe01
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, dword [ebp - 0x48]
add eax, 0x3c
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x48], eax
cmp edx, dword [ecx + 4]
jl 0x100abd56
mov eax, dword [0x103bf630]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, edx
jmp 0x100abd26
mov eax, dword [ebp - 0x38]
mov edx, dword [0x103bf630]
mov dword [ebp - 0x38], edx
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
mov dword [0x103c22f0], eax
jmp 0x100abe32
mov edx, dword [0x103bf630]
mov eax, dword [0x103c22f0]
mov dword [ebp - 0x38], edx
mov eax, dword [ecx + eax]
mov dword [ebp - 0x54], eax
mov eax, dword [0x103c3c0c]
test al, 1
jne 0x100abfd3
or eax, 1
mov dword [0x103c3c0c], eax
mov dword [ebp - 4], 1
mov ecx, dword [0x103bf634]
cmp edx, ecx
je 0x100abec7
mov eax, edx
mov dword [ebp - 0x34], edx
cmp eax, ecx
je 0x100abec7
mov ecx, dword [eax]
mov dword [ebp - 0x58], ecx
test ecx, ecx
je 0x100abeb6
mov eax, dword [ecx + 0xc]
mov ecx, 0x811c9dc5
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov dword [ebp - 0x50], eax
inc ecx
cmp byte [ecx + eax], 0
jne 0x100abe80
xor edx, edx
test ecx, ecx
je 0x100abeb3
mov esi, dword [ebp - 0x30]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x50]
cmp edx, ecx
jb 0x100abe90
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], 0x72e242a1
mov esi, dword [ebp - 0x60]
je 0x100abedd
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x34], eax
cmp eax, dword [0x103bf634]
jne 0x100abe67
mov edx, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
mov dword [0x103c3bcc], eax
jmp 0x100abfd8
mov ecx, dword [ebp - 0x58]
xor edx, edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x4c], edx
cmp dword [ecx + 4], edx
jle 0x100abf9a
xor eax, eax
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx]
add ecx, eax
mov dword [ebp - 0x38], ecx
mov ecx, dword [ecx + 0x28]
test ecx, ecx
je 0x100abf2c
cmp dword [ecx + 4], 0
jle 0x100abf2c
push 0
mov edx, 0x84cdad2
call fcn.1013c990
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test edx, edx
je 0x100abf2f
mov ecx, dword [eax + 0x2c]
add ecx, edx
add dword [ebp - 0x34], ecx
jmp 0x100abf2f
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, 0x811c9dc5
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov dword [ebp - 0x50], eax
nop
inc ecx
cmp byte [ecx + eax], 0
jne 0x100abf40
xor edx, edx
test ecx, ecx
je 0x100abf73
mov esi, dword [ebp - 0x30]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x50]
cmp edx, ecx
jb 0x100abf50
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], 0x84cdad2
mov esi, dword [ebp - 0x60]
je 0x100abfb0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, dword [ebp - 0x48]
add eax, 0x3c
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
cmp edx, dword [ecx + 4]
jl 0x100abef6
mov eax, dword [0x103bf630]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, edx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x44]
mov dword [0x103c3bcc], eax
jmp 0x100abfd8
mov eax, dword [ebp - 0x38]
mov edx, dword [0x103bf630]
mov dword [ebp - 0x38], edx
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x44]
mov dword [0x103c3bcc], eax
jmp 0x100abfd8
mov eax, dword [0x103c3bcc]
cmp dword [ebp - 0x54], 2
je 0x100ac021
cmp dword [ecx + eax], 0
jle 0x100ac021
movq xmm0, qword [ebp - 0xf0]
mov eax, dword [ebp - 0xe8]
movq qword [ebp - 0x88], xmm0
movss xmm3, dword [ebp - 0x88]
movss xmm4, dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
movss xmm5, dword [ebp - 0x80]
movss dword [ebp - 0x6c], xmm5
movss dword [ebp - 0x68], xmm3
jmp 0x100ac240
mov ecx, dword [0x10c0dd10]
add ecx, 0x72c821ae
xor ecx, 0x43f50f5d
mov eax, dword [ecx + 0xb0]
mov dword [ebp - 0x58], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + 0x134]
mov dword [ebp - 0x50], eax
mov eax, dword [0x103c6d10]
test al, 1
jne 0x100ac1c1
or eax, 1
mov dword [0x103c6d10], eax
mov dword [ebp - 4], 2
cmp edx, dword [0x103bf634]
je 0x100ac0d4
mov eax, dword [edx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x100ac0c6
mov eax, dword [eax + 0xc]
mov ecx, 0x811c9dc5
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov dword [ebp - 0x54], eax
nop word [eax + eax]
inc ecx
cmp byte [ecx + eax], 0
jne 0x100ac090
xor edx, edx
test ecx, ecx
je 0x100ac0c3
mov esi, dword [ebp - 0x30]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x54]
cmp edx, ecx
jb 0x100ac0a0
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], 0x72e242a1
mov esi, dword [ebp - 0x60]
je 0x100ac0e7
mov edx, dword [ebp - 0x38]
add edx, 4
mov dword [ebp - 0x38], edx
cmp edx, dword [0x103bf634]
jne 0x100ac071
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c6d1c], eax
jmp 0x100ac1c6
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x44], edx
cmp dword [ecx + 4], edx
jle 0x100ac19a
xor eax, eax
mov dword [ebp - 0x4c], eax
mov ecx, dword [ecx]
add ecx, eax
mov dword [ebp - 0x38], ecx
mov ecx, dword [ecx + 0x28]
test ecx, ecx
je 0x100ac136
cmp dword [ecx + 4], 0
jle 0x100ac136
push 0
mov edx, 0x24779c4c
call fcn.1013c990
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x38]
test edx, edx
je 0x100ac139
mov ecx, dword [eax + 0x2c]
add ecx, edx
add dword [ebp - 0x34], ecx
jmp 0x100ac139
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, 0x811c9dc5
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov dword [ebp - 0x54], eax
inc ecx
cmp byte [ecx + eax], 0
jne 0x100ac148
xor edx, edx
test ecx, ecx
je 0x100ac17b
mov esi, dword [ebp - 0x30]
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp - 0x54]
cmp edx, ecx
jb 0x100ac158
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], 0x24779c4c
mov esi, dword [ebp - 0x60]
je 0x100ac1aa
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, dword [ebp - 0x4c]
add eax, 0x3c
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x4c], eax
cmp edx, dword [ecx + 4]
jl 0x100ac100
mov edx, dword [ebp - 0x34]
mov eax, edx
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c6d1c], eax
jmp 0x100ac1c6
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x34]
mov dword [0x103c6d1c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100ac1c6
mov eax, dword [0x103c6d1c]
mov ecx, dword [ebp - 0x50]
push dword [ecx + eax]
mov ecx, dword [ebp - 0x58]
call dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x100ac226
mov edx, dword [eax]
mov ecx, eax
mov edx, dword [edx + 0x278]
call edx
test al, al
je 0x100ac226
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x88], xmm0
movss xmm3, dword [ebp - 0x88]
movss xmm4, dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
movss xmm5, dword [ebp - 0x80]
movss dword [ebp - 0x6c], xmm5
movss dword [ebp - 0x68], xmm3
jmp 0x100ac235
movss xmm5, dword [ebp - 0x6c]
movss xmm4, dword [ebp - 0x3c]
movss xmm3, dword [ebp - 0x68]
movss xmm2, dword [0x1030b86c]
xorps xmm6, xmm6
mov eax, dword [0x10c0dd10]
mov edx, dword [ebp - 0x5c]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x44], ecx
cmp ecx, eax
je 0x100ac360
movaps xmm1, xmm3
movaps xmm0, xmm4
mulss xmm0, xmm4
mulss xmm1, xmm3
addss xmm0, xmm1
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm0, xmm1
call fcn.1000e050
comiss xmm0, xmm6
jbe 0x100ac360
mov eax, dword [edx + 0x48]
movss xmm1, dword [0x1030b8c0]
sub eax, 0x10
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], eax
movss xmm0, dword [eax + 4]
subss xmm0, xmm4
call fcn.1002eb90
mov eax, dword [ebp - 0x3c]
movss xmm1, dword [0x1030b8c0]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [eax]
subss xmm0, dword [ebp - 0x68]
call fcn.1002eb90
movss xmm1, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
addss xmm1, xmm0
movss xmm0, dword [eax + 8]
subss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x30], xmm1
movss xmm1, dword [0x1030b8c0]
call fcn.1002eb90
addss xmm0, dword [ebp - 0x30]
call fcn.1000e050
mulss xmm0, dword [0x1030b6f8]
lea ecx, [ebp - 0x54]
lea edx, [ebp - 0x40]
xorps xmm6, xmm6
comiss xmm6, xmm0
movss dword [ebp - 0x54], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x50]
comiss xmm0, dword [0x1030b86c]
movss xmm0, dword [0x1030b86c]
seta al
test al, al
cmove ecx, edx
subss xmm0, dword [ecx]
comiss xmm6, xmm0
movss dword [ebp - 0x3c], xmm0
jae 0x100ad0bf
jmp 0x100ac365
movss dword [ebp - 0x3c], xmm2
cmp byte [edi + 0xd], 0
lea eax, [edi + 8]
je 0x100ac3c1
mov ecx, dword [ebp - 0x74]
push eax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ecx + 0x24]
call fcn.100ad580
xorps xmm6, xmm6
mov eax, dword [eax]
movss xmm0, dword [eax + 0xc]
comiss xmm0, xmm6
jbe 0x100ac3c1
mov ecx, dword [ebp - 0x74]
lea eax, [edi + 8]
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ecx + 0x24]
call fcn.100ad580
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x7c]
push ecx
mov ecx, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, 0xc
push eax
push edx
call fcn.100aa9f0
jmp 0x100ad0bf
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x50], 0xff
mov dword [ebp - 0x40], 0
mov eax, dword [edx + 0x44]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xc0]
movzx eax, al
movd xmm0, eax
mov eax, dword [ebp - 0x64]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax]
mulss xmm0, dword [ebp - 0x3c]
mulss xmm0, dword [0x1030b820]
cvttss2si edx, xmm0
mov eax, edx
mov dword [ebp - 0x54], edx
shr eax, 0x1f
test al, al
lea eax, [ebp - 0x54]
cmove ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0x50]
cmovle eax, ecx
mov ecx, dword [ebp - 0x94]
mov byte [ebp - 0x78], cl
mov ecx, dword [ebp - 0x8c]
mov byte [ebp - 0x77], cl
mov ecx, dword [ebp - 0x90]
mov eax, dword [eax]
mov byte [ebp - 0x76], cl
mov ecx, dword [ebp - 0x9c]
add ecx, 0x24
mov byte [ebp - 0x75], al
mov dword [ebp - 0x140], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x13c], eax
mov esi, dword [ebp - 0x60]
or eax, 3
mov dword [ebp - 4], 3
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x4c]
jne 0x100ac6c3
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x48]
mov ecx, dword [eax + 0x44]
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x50], edx
sar eax, 4
mov dword [ebp - 0x40], ecx
cmp eax, 1
jbe 0x100ac6c3
cmp byte [0x103a7aad], 0
je 0x100ac6c3
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xbc], 0
movss xmm0, dword [eax]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [eax + 8]
mov dword [ebp - 0xb8], 0
movss dword [ebp - 0xdc], xmm0
cmp ecx, edx
je 0x100ac6c3
mov esi, dword [ebp - 0x78]
mov edi, ecx
mov eax, dword [0x1040e4d4]
lea ecx, [ebp - 0xa4]
push 0
push ecx
add eax, 0x5bba3cc6
lea ecx, [ebp - 0xe4]
xor eax, 0x89e261d6
push ecx
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.1016c470
test al, al
je 0x100ac699
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0xbc]
push 0
push eax
push edi
call fcn.1016c470
test al, al
je 0x100ac699
mov eax, dword [ebp - 0x3c]
movss xmm4, dword [0x1030b70c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x54], eax
mov eax, esi
shr eax, 0x18
mov dword [ebp - 0x40], eax
mov eax, esi
movd xmm3, dword [ebp - 0x40]
shr eax, 0x10
movzx edx, al
mov eax, esi
shr eax, 8
movzx ecx, al
mov eax, dword [ebp - 0x94]
movzx eax, al
movd xmm2, edx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm3, xmm3
mulss xmm1, xmm4
mulss xmm0, xmm4
comiss xmm6, xmm1
mulss xmm2, xmm4
mulss xmm3, xmm4
movss xmm4, dword [0x1030b86c]
jbe 0x100ac5bd
movaps xmm1, xmm6
jmp 0x100ac5c1
minss xmm1, xmm4
movss xmm5, dword [0x1030bb18]
movss xmm7, dword [0x1030b7fc]
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si ecx, xmm1
shl ecx, 0x10
comiss xmm6, xmm0
jbe 0x100ac5ea
movaps xmm0, xmm6
jmp 0x100ac5ee
minss xmm0, xmm4
mulss xmm0, xmm5
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm2
jbe 0x100ac609
movaps xmm2, xmm6
jmp 0x100ac60d
minss xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si eax, xmm2
or ecx, eax
comiss xmm6, xmm3
jbe 0x100ac625
movaps xmm3, xmm6
jmp 0x100ac629
minss xmm3, xmm4
movss xmm0, dword [ebp - 0xbc]
mulss xmm3, xmm5
push ecx
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xb8]
addss xmm3, xmm7
mov dword [esp], 0x3f800000
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0xa0]
cvttss2si eax, xmm3
movss dword [ebp - 0xfc], xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [ebp - 0x54]
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.100cced0
movq xmm0, qword [edi]
xorps xmm6, xmm6
mov eax, dword [edi + 8]
add edi, 0x10
movq qword [ebp - 0xe4], xmm0
mov dword [ebp - 0xdc], eax
cmp edi, dword [ebp - 0x50]
jne 0x100ac501
mov edi, dword [ebp - 0x70]
mov esi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x48]
sub eax, dword [ecx + 0x44]
sar eax, 4
cmp eax, 1
jbe 0x100ad0a9
movss xmm2, dword [ecx + 0x84]
xorps xmm6, xmm6
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jnp 0x100ad0a9
movss xmm1, dword [ecx + 0x88]
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jnp 0x100ad0a9
mov eax, dword [ebp - 0x64]
mov ecx, dword [0x1040e4d4]
add ecx, 0x5bba3cc6
movss dword [ebp - 0xac], xmm2
xor ecx, 0x89e261d6
movss dword [ebp - 0xa8], xmm1
movss xmm0, dword [eax]
mulss xmm0, dword [0x1030bacc]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x3c], ecx
cvttss2si eax, xmm0
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1030b70c]
comiss xmm6, xmm0
ja 0x100ac7bb
minss xmm0, dword [0x1030b86c]
mulss xmm0, dword [0x1030bb18]
addss xmm0, dword [0x1030b7fc]
cvttss2si eax, xmm0
shl eax, 0x18
mov dword [ebp - 0x40], eax
test eax, eax
je 0x100ac7bb
movss xmm2, dword [0x1030b9a4]
lea eax, [ebp - 0xac]
push 0x1f
push ecx
mov dword [esp], 0x40c2c75c
xorps xmm3, xmm3
push eax
call fcn.100cca60
mov eax, dword [ebp - 0x3c]
mov ecx, eax
push dword [ebp - 0x40]
push dword [eax + 0x58]
push dword [eax + 0x60]
call fcn.100cbf70
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x58], 0
movss xmm1, dword [0x1030bb18]
movss xmm0, dword [0x103a7ab8]
mulss xmm0, xmm1
mov edi, dword [0x1040e4d4]
add edi, 0x5bba3cc6
xor edi, 0x89e261d6
cvttss2si edx, xmm0
push 0x7a
push 0x168
mov dword [ebp - 0x30], edi
movss xmm0, dword [0x103a7ab4]
mulss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x103a7ab0]
mulss xmm0, xmm1
movss xmm1, dword [0x1030b70c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x5c]
mulss xmm0, xmm1
movss dword [ebp - 0x4c], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov ecx, dword [edi + 0xc]
mulss xmm0, xmm1
movss dword [ebp - 0x48], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss xmm1, dword [eax + 0x84]
movss dword [ebp - 0xb4], xmm1
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [eax + 0x88]
movss dword [ebp - 0x40], xmm0
movss dword [ebp - 0xb0], xmm0
call fcn.100cb250
mov ecx, dword [edi + 0xc]
xor edx, edx
mov dword [ebp - 0x44], edx
mov eax, dword [ecx + 0x28]
movss xmm0, dword [eax]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [eax + 4]
mov eax, dword [ecx + 0x34]
movss dword [ebp - 0x68], xmm0
mov dword [ebp - 0x38], eax
nop dword [eax + eax]
movss xmm0, dword [ebp - 0x4c]
xorps xmm1, xmm1
comiss xmm1, xmm0
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x50], eax
movss xmm2, dword [0x1030b86c]
jbe 0x100ac8c0
xorps xmm0, xmm0
jmp 0x100ac8c4
minss xmm0, xmm2
movss xmm3, dword [0x1030bb18]
movss xmm4, dword [0x1030b7fc]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x48]
shl eax, 0x10
comiss xmm1, xmm0
jbe 0x100ac8f2
xorps xmm0, xmm0
jmp 0x100ac8f6
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x58]
shl ecx, 8
or ecx, eax
comiss xmm1, xmm0
mov dword [ebp - 0x3c], ecx
ja 0x100ac929
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
or eax, ecx
mov dword [ebp - 0x3c], eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1030b75c]
movss dword [ebp - 0x54], xmm0
call fcn.1002eba0
mulss xmm0, dword [0x1030b9a0]
addss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x54]
call fcn.1002eb80
mov edx, dword [ebp - 0x50]
mulss xmm0, dword [0x1030b9a0]
mov ecx, dword [ebp - 0x3c]
movss xmm2, dword [ebp - 0x6c]
mov eax, dword [edx + 0x38]
addss xmm0, dword [ebp - 0xb4]
movss xmm3, dword [ebp - 0x68]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x34]
movss dword [eax + 4], xmm0
mov eax, dword [edx + 0x38]
movss dword [eax + 8], xmm2
movss dword [eax + 0xc], xmm3
mov eax, dword [edx + 0x38]
mov dword [eax + 0x10], ecx
add dword [edx + 0x38], 0x14
inc dword [edx + 0x34]
mov edx, dword [ebp - 0x44]
inc edx
mov dword [ebp - 0x44], edx
cmp edx, 0x79
jl 0x100ac8a0
movss xmm0, dword [ebp - 0x4c]
xorps xmm1, xmm1
comiss xmm1, xmm0
mov edi, dword [edi + 0xc]
movss xmm4, dword [0x1030b86c]
jbe 0x100ac9d6
xorps xmm0, xmm0
jmp 0x100ac9da
minss xmm0, xmm4
movss xmm5, dword [0x1030bb18]
movss xmm6, dword [0x1030b7fc]
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0x48]
shl esi, 0x10
comiss xmm1, xmm0
jbe 0x100aca08
xorps xmm0, xmm0
jmp 0x100aca0c
minss xmm0, xmm4
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x58]
shl eax, 8
or esi, eax
comiss xmm1, xmm0
jbe 0x100aca2c
xorps xmm0, xmm0
jmp 0x100aca30
minss xmm0, xmm4
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb0]
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
or esi, eax
mov eax, dword [edi + 0x38]
or esi, 0xaa000000
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [edi + 0x38]
movss dword [eax + 8], xmm2
movss dword [eax + 0xc], xmm3
mov eax, dword [edi + 0x38]
mov dword [eax + 0x10], esi
xor esi, esi
mov eax, dword [ebp - 0x38]
add dword [edi + 0x38], 0x14
inc dword [edi + 0x34]
mov edi, dword [ebp - 0x70]
movzx eax, ax
mov edx, eax
add eax, 0x79
movzx eax, ax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
mov ecx, dword [ebp - 0x30]
add edx, esi
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x3c]
mov word [eax], dx
add dword [ecx + 0x3c], 2
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x3c]
inc ecx
add ecx, esi
inc esi
mov edx, dword [eax + 0xc]
mov eax, dword [edx + 0x3c]
mov word [eax], cx
add dword [edx + 0x3c], 2
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x3c]
mov word [eax], dx
add dword [ecx + 0x3c], 2
mov edx, dword [ebp - 0x3c]
cmp esi, 0x78
jl 0x100aca90
mov eax, dword [0x10c0dd10]
mov ecx, dword [ebp - 0x5c]
add eax, 0x72c821ae
mov esi, dword [0x1040e4d4]
xor eax, 0x43f50f5d
movss xmm3, dword [0x1030bc24]
add esi, 0x5bba3cc6
movss xmm2, dword [0x1030b9a4]
xor esi, 0x89e261d6
movss xmm1, dword [ecx + 0x84]
mov eax, dword [eax + 0xf0]
movss xmm0, dword [ecx + 0x88]
movss dword [ebp - 0xc8], xmm1
movss xmm1, dword [ecx + 0x2c]
subss xmm1, dword [eax + 0x10]
movss dword [ebp - 0x54], xmm0
lea eax, [ebp - 0xc8]
movss dword [ebp - 0xc4], xmm0
movss xmm0, dword [0x1030bc54]
push 0x20
mulss xmm1, dword [0x1030bae8]
push ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x58], esi
subss xmm0, xmm1
movss dword [ebp - 0x50], xmm1
mulss xmm0, dword [0x1030b738]
movss dword [esp], xmm0
push eax
call fcn.100cca60
mov ecx, dword [ebp - 0x98]
xorps xmm5, xmm5
movss xmm0, dword [0x1030b70c]
mov eax, ecx
shr eax, 0x18
mov dword [ebp - 0x40], eax
mov eax, ecx
movd xmm4, dword [ebp - 0x40]
shr eax, 0x10
movss xmm6, dword [0x1030b86c]
movzx edx, al
mov eax, ecx
shr eax, 8
mov esi, dword [esi + 0xc]
movzx ecx, al
mov eax, dword [ebp - 0x98]
movzx eax, al
movd xmm3, edx
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm3, xmm3
mulss xmm1, xmm0
cvtdq2ps xmm4, xmm4
comiss xmm5, xmm1
mulss xmm2, xmm0
mulss xmm3, xmm0
mulss xmm4, xmm0
movaps xmm0, xmm1
minss xmm0, xmm6
movss dword [ebp - 0x70], xmm1
movss dword [ebp - 0x30], xmm2
movss dword [ebp - 0x34], xmm3
movss dword [ebp - 0x40], xmm4
movss dword [ebp - 0x3c], xmm0
jbe 0x100acc0c
xorps xmm1, xmm1
jmp 0x100acc14
movaps xmm1, xmm0
movss dword [ebp - 0x3c], xmm0
movss xmm7, dword [0x1030bb18]
mulss xmm1, xmm7
addss xmm1, dword [0x1030b7fc]
cvttss2si ecx, xmm1
shl ecx, 0x10
comiss xmm5, xmm2
jbe 0x100acc45
movaps xmm1, xmm2
xorps xmm0, xmm0
minss xmm1, xmm6
movss dword [ebp - 0x44], xmm1
jmp 0x100acc51
movaps xmm0, xmm2
minss xmm0, xmm6
movss dword [ebp - 0x44], xmm0
movss xmm2, dword [0x1030b7fc]
mulss xmm0, xmm7
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm3
jbe 0x100acc80
movaps xmm0, xmm3
xorps xmm1, xmm1
minss xmm0, xmm6
movss dword [ebp - 0x4c], xmm0
jmp 0x100acc8c
movaps xmm1, xmm3
minss xmm1, xmm6
movss dword [ebp - 0x4c], xmm1
mulss xmm1, xmm7
addss xmm1, xmm2
cvttss2si eax, xmm1
or ecx, eax
comiss xmm5, xmm4
jbe 0x100accb0
movaps xmm0, xmm4
xorps xmm1, xmm1
minss xmm0, xmm6
movss dword [ebp - 0x48], xmm0
jmp 0x100accbc
movaps xmm1, xmm4
minss xmm1, xmm6
movss dword [ebp - 0x48], xmm1
mulss xmm1, xmm7
push ecx
mov dword [esp], 0x3f800000
push 0
addss xmm1, xmm2
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, esi
push eax
push dword [esi + 0x58]
push dword [esi + 0x60]
call fcn.100cb460
movss xmm3, dword [ebp - 0x50]
lea eax, [ebp - 0x108]
mulss xmm3, dword [0x1030b738]
mov dword [esi + 0x58], 0
movss xmm0, dword [ebp - 0xc8]
mov esi, dword [ebp - 0x58]
subss xmm3, dword [0x1030b88c]
movss xmm2, dword [0x1030b9a4]
push 0x20
push ecx
mov ecx, dword [esi + 0xc]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x54]
mov dword [esp], 0x3fc90fdb
push eax
movss dword [ebp - 0x104], xmm0
call fcn.100cca60
mov esi, dword [esi + 0xc]
xorps xmm1, xmm1
comiss xmm1, dword [ebp - 0x70]
jbe 0x100acd53
xorps xmm0, xmm0
jmp 0x100acd58
movss xmm0, dword [ebp - 0x3c]
movss xmm2, dword [0x1030bb18]
movss xmm3, dword [0x1030b7fc]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si ecx, xmm0
shl ecx, 0x10
comiss xmm1, dword [ebp - 0x30]
jbe 0x100acd82
xorps xmm0, xmm0
jmp 0x100acd87
movss xmm0, dword [ebp - 0x44]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm1, dword [ebp - 0x34]
jbe 0x100acda3
xorps xmm0, xmm0
jmp 0x100acda8
movss xmm0, dword [ebp - 0x4c]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
or ecx, eax
comiss xmm1, dword [ebp - 0x40]
jbe 0x100acdc1
xorps xmm0, xmm0
jmp 0x100acdc6
movss xmm0, dword [ebp - 0x48]
mulss xmm0, xmm2
push ecx
mov dword [esp], 0x3f800000
push 0
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov ecx, esi
push eax
push dword [esi + 0x58]
push dword [esi + 0x60]
call fcn.100cb460
mov edx, dword [ebp - 0x5c]
mov dword [esi + 0x58], 0
add edx, 0x50
mov eax, dword [0x1040e4d4]
mov esi, dword [ebp - 0x60]
add eax, 0x5bba3cc6
xor eax, 0x89e261d6
cmp dword [edx + 0x14], 0x10
mov dword [ebp - 0x34], eax
jb 0x100ace19
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x1c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ace36
sub ecx, dword [ebp - 0x40]
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.1002c1c0
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 4
mov eax, dword [0x1040e4d4]
add eax, 0x5bba3cc6
movss xmm0, dword [ecx]
xor eax, 0x89e261d6
mulss xmm0, dword [0x1030bb18]
add eax, 0xbc
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 0x54], eax
mov edx, dword [eax]
cvttss2si ecx, xmm0
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x5c]
movss xmm0, dword [ecx + 0x88]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ecx + 0x84]
mov ecx, dword [ebp - 0x34]
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [eax + 4]
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx + 0x38]
mov dword [ebp - 0x40], ecx
add ecx, 0x4c
movss dword [ebp - 0x4c], xmm0
mov eax, dword [eax + 8]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0xd8]
push eax
call fcn.100d2030
mov ecx, dword [ebp - 0x40]
call fcn.100cafd0
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
movss xmm2, dword [eax + 4]
je 0x100acf4a
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
movss xmm3, dword [0x1030bbc0]
cmovae eax, dword [ebp - 0x2c]
push 0
push 0
push eax
push ecx
lea eax, [ebp - 0xd0]
mov dword [esp], 0xbf800000
push eax
call fcn.100d1050
movss xmm0, dword [ebp - 0xd0]
addss xmm0, dword [0x1030b868]
movss xmm2, dword [ebp - 0xcc]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0xd0], xmm1
jmp 0x100acf4d
xorps xmm1, xmm1
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x128]
movzx eax, al
mulss xmm1, dword [0x1030b7fc]
mov dword [ebp - 0x40], eax
mulss xmm2, dword [0x1030b7fc]
mov dword [ebp - 0x128], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
movss xmm5, dword [ebp - 0x48]
mulss xmm0, dword [0x1030b7c0]
subss xmm5, xmm1
movss xmm6, dword [ebp - 0x58]
subss xmm6, xmm2
cvttss2si eax, xmm0
movss dword [ebp - 0x110], xmm5
movzx eax, al
movss dword [ebp - 0x10c], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1030b70c]
movss dword [ebp - 0x11c], xmm0
call fcn.100b2d10
addss xmm5, dword [0x1030b86c]
addss xmm6, dword [0x1030b86c]
movss xmm2, dword [ebp - 0x4c]
push 0
push ecx
mov dword [esp], 0
push 0
push dword [ebp - 0x3c]
movss dword [ebp - 0x118], xmm5
push eax
lea eax, [ebp - 0x118]
movss dword [ebp - 0x114], xmm6
push eax
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x44]
mov ecx, dword [eax + 0xc]
call fcn.100cd700
movd xmm0, dword [ebp - 0x40]
lea ecx, [ebp - 0x138]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x138], 0x3f800000
mov dword [ebp - 0x134], 0x3f800000
mov dword [ebp - 0x130], 0x3f800000
mulss xmm0, dword [0x1030b70c]
movss dword [ebp - 0x12c], xmm0
call fcn.100b2d10
movss xmm2, dword [ebp - 0x4c]
push 0
push ecx
mov dword [esp], 0
push 0
push dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x110]
push eax
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x44]
mov ecx, dword [eax + 0xc]
call fcn.100cd700
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0xc]
dec dword [ecx + 0x4c]
call fcn.100cafd0
lea ecx, [ebp - 0x2c]
call fcn.1002aa60
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x24], eax
mov edi, dword [edi]
mov dword [ebp - 0x70], edi
cmp edi, esi
jne 0x100aba70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1023505f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret