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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101bbe65
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x10203360]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], edx
mov ebx, dword [ebp + 0xc]
cmp dword [ebx + 0x3874], 0
je 0x10010244
mov eax, dword [0x105cbfb0]
add eax, 0x4fd8cdb0
xor eax, 0x91d5c6d7
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [0x1029e3ac]
test al, 1
jne 0x1000f70e
or eax, 1
mov dword [0x1029e3ac], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x1000f639
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1000f62e
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000f608
xor edx, edx
test ecx, ecx
je 0x1000f62e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f615
cmp edi, 0x4e9f1122
je 0x1000f64f
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x1000f5f5
mov ebx, dword [ebp + 0xc]
xor eax, eax
mov dword [0x1029cb50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f713
mov eax, dword [ebp - 0x14]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
cmp dword [eax + 4], esi
jle 0x1000f6e4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000f699
cmp dword [ecx + 4], 0
jle 0x1000f699
push 0
mov edx, 0x940131c5
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1000f696
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x14]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000f6a2
xor edx, edx
test ecx, ecx
je 0x1000f6cc
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f6b0
cmp edi, 0x940131c5
je 0x1000f6f7
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1000f668
mov ebx, dword [ebp + 0xc]
mov eax, esi
mov dword [0x1029cb50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f713
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov ebx, dword [ebp + 0xc]
mov dword [0x1029cb50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f713
mov eax, dword [0x1029cb50]
push dword [eax + ebx]
mov ecx, dword [ebp - 0x28]
call dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x10010244
mov ecx, dword [0x105cbfb0]
add ecx, 0x4fd8cdb0
xor ecx, 0x91d5c6d7
mov eax, dword [ecx + 0x10c]
mov dword [ebp - 0x24], eax
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x1029cb78]
test al, 1
jne 0x1000f88e
or eax, 1
mov dword [0x1029cb78], eax
mov dword [ebp - 4], 1
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x1000f7b8
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1000f7ad
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000f787
xor edx, edx
test ecx, ecx
je 0x1000f7ad
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f794
cmp edi, 0xcd2ed041
je 0x1000f7ce
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x1000f774
mov ebx, dword [ebp + 0xc]
xor eax, eax
mov dword [0x1029e41c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f893
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x1000f864
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000f818
cmp dword [ecx + 4], 0
jle 0x1000f818
push 0
mov edx, 0xa2ccb41a
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1000f815
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000f821
xor edx, edx
test ecx, ecx
je 0x1000f84c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f830
cmp edi, 0xa2ccb41a
je 0x1000f877
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x1000f7e7
mov ebx, dword [ebp + 0xc]
mov eax, esi
mov dword [0x1029e41c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f893
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
mov ebx, dword [ebp + 0xc]
mov dword [0x1029e41c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f893
mov eax, dword [0x1029e41c]
mov ecx, dword [ebp - 0x28]
movsx eax, word [eax + ecx]
mov ecx, dword [ebp - 0x24]
push eax
call dword [ebp - 0x2c]
mov ecx, dword [0x1029cb60]
mov dword [ebp - 0x28], eax
test cl, 1
jne 0x1000f8e2
or ecx, 1
mov dword [0x1029cb60], ecx
mov dword [ebp - 4], 2
mov ecx, ebx
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
call eax
mov edx, 0xdf272d79
mov ecx, eax
call fcn.101149c0
mov dword [0x1029e3bc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f8e7
mov eax, dword [0x1029e3bc]
test byte [eax + ebx], 8
jne 0x1001022c
mov eax, dword [0x1029cb7c]
test al, 1
jne 0x1000fa33
or eax, 1
mov dword [0x1029cb7c], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x1000f964
nop dword [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1000f959
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000f933
xor edx, edx
test ecx, ecx
je 0x1000f959
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f940
cmp edi, 0x4e9f1122
je 0x1000f97b
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x1000f920
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov dword [0x1029cb84], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fa3b
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x1000fa14
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000f9c5
cmp dword [ecx + 4], 0
jle 0x1000f9c5
push 0
mov edx, 0xddb9e02d
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1000f9c2
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000f9d0
xor edx, edx
test ecx, ecx
je 0x1000f9fc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f9e0
cmp edi, 0xddb9e02d
je 0x1000fa28
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x1000f994
mov ecx, esi
mov dword [ebp - 0x1c], esi
mov dword [0x1029cb84], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fa3b
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x14]
jmp 0x1000f966
mov eax, dword [0x1029cb84]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x1029e430]
test al, 1
jne 0x1000fb7a
or eax, 1
mov dword [0x1029e430], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x1000faa9
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1000fa9e
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fa78
xor edx, edx
test ecx, ecx
je 0x1000fa9e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fa85
cmp edi, 0x4e9f1122
je 0x1000fac0
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x1000fa65
xor eax, eax
lea ecx, [eax + 1]
mov dword [ebp - 4], 0xffffffff
mov dword [0x1029e3f0], ecx
jmp 0x1000fb80
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x1000fb68
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000fb11
cmp dword [ecx + 4], 0
jle 0x1000fb11
push 0
mov edx, 0xddb9e02d
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1000fb0e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fb20
xor edx, edx
test ecx, ecx
je 0x1000fb4c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fb30
cmp edi, 0xddb9e02d
je 0x1000fb6f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x1000fae0
mov eax, esi
jmp 0x1000faab
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x1000faab
mov ecx, dword [0x1029e3f0]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne 0x1001022c
mov ecx, dword [ebp + 8]
mov eax, dword [0x105cbfb0]
add eax, 0x4fd8cdb0
xor eax, 0x91d5c6d7
movd xmm1, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x28]
cvtdq2ps xmm1, xmm1
mov eax, dword [eax + 0x108]
mulss xmm1, dword [eax + 0x20]
test ecx, ecx
je 0x1000fd31
mov eax, dword [0x1029cb88]
movss xmm0, dword [0x101f06cc]
mov dword [ebp - 0x2c], 0x3a83126f
test al, 1
jne 0x1000fd06
or eax, 1
mov dword [0x1029cb88], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x1000fc44
nop dword [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1000fc39
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fc13
xor edx, edx
test ecx, ecx
je 0x1000fc39
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fc20
cmp edi, 0x72e242a1
je 0x1000fc5b
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x1000fc00
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov dword [0x1029e400], edx
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fd0c
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], esi
cmp dword [eax + 4], esi
jle 0x1000fcf4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000fca5
cmp dword [ecx + 4], 0
jle 0x1000fca5
push 0
mov edx, 0xf3e9a9ed
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1000fca2
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fcb0
xor edx, edx
test ecx, ecx
je 0x1000fcdc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fcc0
cmp edi, 0xf3e9a9ed
je 0x1000fcfb
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1000fc74
mov edx, esi
jmp 0x1000fc46
mov edx, dword [ebx + 0x2c]
add edx, dword [ebp - 0x18]
jmp 0x1000fc46
mov edx, dword [0x1029e400]
mov esi, dword [ebp + 0xc]
lea eax, [ecx + 0x12c]
add ecx, 0x130
cmp byte [edx + esi], 0
cmove ecx, eax
lea eax, [ebp - 0x2c]
comiss xmm0, dword [ecx]
cmovbe eax, ecx
movss xmm6, dword [eax]
jmp 0x1000fd39
movss xmm6, dword [0x101f0aa0]
mov eax, dword [0x1029e3d4]
test al, 1
jne 0x1000fe7c
or eax, 1
mov dword [0x1029e3d4], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x1000fda7
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1000fd9c
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fd76
xor edx, edx
test ecx, ecx
je 0x1000fd9c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fd83
cmp edi, 0x72e242a1
je 0x1000fdba
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x1000fd63
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x1029e3ec], eax
jmp 0x1000fe81
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x1000fe58
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000fe04
cmp dword [ecx + 4], 0
jle 0x1000fe04
push 0
mov edx, 0x9441c788
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1000fe01
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fe10
xor edx, edx
test ecx, ecx
je 0x1000fe3c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fe20
cmp edi, 0x9441c788
je 0x1000fe68
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x1000fdd3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1029e3ec], eax
jmp 0x1000fe81
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x1029e3ec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fe81
mov eax, dword [0x1029e3ec]
mov ecx, dword [ebp + 0xc]
cmp byte [eax + ecx], 0
je 0x1000fe92
mulss xmm6, dword [0x101f07c0]
mov eax, dword [0x1029e3a8]
test al, 1
jne 0x1000ffd4
or eax, 1
mov dword [0x1029e3a8], eax
mov dword [ebp - 4], 7
mov ebx, dword [0x1029b360]
cmp ebx, dword [0x1029b364]
je 0x1000ff04
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1000fef9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fed3
xor edx, edx
test ecx, ecx
je 0x1000fef9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fee0
cmp edi, 0x72e242a1
je 0x1000ff13
add ebx, 4
cmp ebx, dword [0x1029b364]
jne 0x1000fec0
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov dword [0x1029e418], eax
jmp 0x1000ffd9
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x1000ffb8
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000ff61
cmp dword [ecx + 4], 0
jle 0x1000ff61
push 0
mov edx, 0xe4f7740e
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1000ff5e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000ff70
xor edx, edx
test ecx, ecx
je 0x1000ff9c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000ff80
cmp edi, 0xe4f7740e
je 0x1000ffc4
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x1000ff30
mov ecx, dword [ebp + 0xc]
mov eax, esi
mov dword [0x1029e418], eax
jmp 0x1000ffd9
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0xc]
mov dword [0x1029e418], eax
jmp 0x1000ffd9
mov eax, dword [0x1029e418]
movss xmm0, dword [eax + ecx]
movss xmm5, dword [0x101f0824]
comiss xmm0, xmm5
jb 0x1000fff3
mulss xmm6, dword [0x101f0790]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x100101c0
mov edx, dword [ebp + 8]
xorps xmm4, xmm4
comiss xmm1, xmm4
jbe 0x10010066
movss xmm3, dword [edx + 0x84]
movaps xmm2, xmm5
subss xmm3, dword [eax + 0x84]
movss xmm0, dword [edx + 0x8c]
subss xmm0, dword [eax + 0x8c]
divss xmm2, xmm1
movss xmm1, dword [edx + 0x88]
subss xmm1, dword [eax + 0x88]
mulss xmm3, xmm2
mulss xmm0, xmm2
mulss xmm1, xmm2
movss dword [ebp - 0x30], xmm0
mov eax, dword [ebp - 0x30]
unpcklps xmm3, xmm1
movq qword [edx + 0x54], xmm3
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [edx + 0x1c]
movss xmm3, dword [0x101f0728]
and ecx, 1
je 0x10010124
test byte [eax + 0x1c], 1
je 0x1001011d
movss xmm1, dword [eax + 0x364]
xorps xmm2, xmm2
comiss xmm1, xmm4
jbe 0x100100de
comiss xmm3, xmm1
jbe 0x100100de
movss xmm0, dword [edx + 0x36c]
ucomiss xmm0, dword [eax + 0x36c]
lahf
test ah, 0x44
jp 0x100100db
movaps xmm0, xmm5
subss xmm0, xmm1
mulss xmm0, dword [0x101f07a0]
comiss xmm0, xmm4
jbe 0x100100db
comiss xmm5, xmm0
mov eax, dword [ebp - 0x10]
jbe 0x100100de
movaps xmm2, xmm0
addss xmm2, dword [0x101f07c8]
mulss xmm2, xmm6
jmp 0x100100de
mov eax, dword [ebp - 0x10]
movss xmm5, dword [edx + 0x54]
movss xmm1, dword [edx + 0x58]
movaps xmm0, xmm5
mulss xmm0, xmm5
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000cb10
comiss xmm0, xmm3
jbe 0x1001011d
comiss xmm2, xmm4
jbe 0x1001011d
divss xmm2, xmm0
mulss xmm5, xmm2
mulss xmm2, dword [edx + 0x58]
movss dword [edx + 0x54], xmm5
movss dword [edx + 0x58], xmm2
mov dword [edx + 0x5c], 0
cmp dword [edx + 0x18], 0xc
jl 0x10010244
test ecx, ecx
je 0x10010244
movss xmm1, dword [edx + 0x58]
movss xmm0, dword [edx + 0x54]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000cb10
comiss xmm0, xmm3
jbe 0x10010244
comiss xmm3, dword [edx + 0x24c]
jb 0x10010244
movss xmm0, dword [eax + 0x258]
ucomiss xmm0, dword [edx + 0x258]
lahf
test ah, 0x44
jp 0x10010244
movss xmm0, dword [0x101f06bc]
comiss xmm0, dword [edx + 0x254]
jbe 0x10010244
mov byte [edx + 0xd], 1
mov dword [edx + 0x5c], 0
mov dword [edx + 0x58], 0
mov dword [edx + 0x54], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
test byte [ecx + 0x1c], 1
je 0x10010244
movss xmm0, dword [ecx + 0x24c]
xorps xmm4, xmm4
ucomiss xmm0, xmm4
xorps xmm2, xmm2
lahf
test ah, 0x44
jnp 0x100101e7
movaps xmm2, xmm0
movss xmm3, dword [ecx + 0x54]
movss xmm1, dword [ecx + 0x58]
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000cb10
comiss xmm0, dword [0x101f0728]
jbe 0x1001023d
comiss xmm2, xmm4
jbe 0x1001023d
divss xmm2, xmm0
mulss xmm3, xmm2
mulss xmm2, dword [ecx + 0x58]
movss dword [ecx + 0x54], xmm3
movss dword [ecx + 0x58], xmm2
jmp 0x1001023d
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x58], 0
mov dword [ecx + 0x54], 0
mov dword [ecx + 0x5c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret