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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1021ed85
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x102d2084]
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 + 0x9960], 0
je 0x10010510
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0xb0]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [0x10370f2c]
test al, 1
jne 0x1000f9ce
or eax, 1
mov dword [0x10370f2c], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1000f8f9
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1000f8ee
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000f8c8
xor edx, edx
test ecx, ecx
je 0x1000f8ee
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f8d5
cmp edi, 0x4e9f1122
je 0x1000f90f
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1000f8b5
mov ebx, dword [ebp + 0xc]
xor eax, eax
mov dword [0x1036f688], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f9d3
mov eax, dword [ebp - 0x14]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
cmp dword [eax + 4], esi
jle 0x1000f9a4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000f959
cmp dword [ecx + 4], 0
jle 0x1000f959
push 0
mov edx, 0x940131c5
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1000f956
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 0x1000f962
xor edx, edx
test ecx, ecx
je 0x1000f98c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f970
cmp edi, 0x940131c5
je 0x1000f9b7
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 0x1000f928
mov ebx, dword [ebp + 0xc]
mov eax, esi
mov dword [0x1036f688], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f9d3
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov ebx, dword [ebp + 0xc]
mov dword [0x1036f688], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f9d3
mov eax, dword [0x1036f688]
push dword [eax + ebx]
mov ecx, dword [ebp - 0x28]
call dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x10010510
mov ecx, dword [0x10bbb620]
add ecx, 0x91761abb
xor ecx, 0xfd410b50
mov eax, dword [ecx + 0xf4]
mov dword [ebp - 0x24], eax
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x1036f6d0]
test al, 1
jne 0x1000fb4e
or eax, 1
mov dword [0x1036f6d0], eax
mov dword [ebp - 4], 1
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1000fa78
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1000fa6d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fa47
xor edx, edx
test ecx, ecx
je 0x1000fa6d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fa54
cmp edi, 0xcd2ed041
je 0x1000fa8e
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1000fa34
mov ebx, dword [ebp + 0xc]
xor eax, eax
mov dword [0x10370fb4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fb53
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x1000fb24
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000fad8
cmp dword [ecx + 4], 0
jle 0x1000fad8
push 0
mov edx, 0xa2ccb41a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1000fad5
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 0x1000fae1
xor edx, edx
test ecx, ecx
je 0x1000fb0c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000faf0
cmp edi, 0xa2ccb41a
je 0x1000fb37
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 0x1000faa7
mov ebx, dword [ebp + 0xc]
mov eax, esi
mov dword [0x10370fb4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fb53
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
mov ebx, dword [ebp + 0xc]
mov dword [0x10370fb4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fb53
mov eax, dword [0x10370fb4]
mov ecx, dword [ebp - 0x28]
movsx eax, word [eax + ecx]
mov ecx, dword [ebp - 0x24]
push eax
call dword [ebp - 0x2c]
mov ecx, dword [0x1036f698]
mov dword [ebp - 0x28], eax
test cl, 1
jne 0x1000fba2
or ecx, 1
mov dword [0x1036f698], 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.10139140
mov dword [0x10370f44], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fba7
mov eax, dword [0x10370f44]
test byte [eax + ebx], 8
jne 0x100104f8
mov eax, dword [0x1036f6d4]
test al, 1
jne 0x1000fcf3
or eax, 1
mov dword [0x1036f6d4], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1000fc24
nop dword [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1000fc19
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fbf3
xor edx, edx
test ecx, ecx
je 0x1000fc19
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fc00
cmp edi, 0x4e9f1122
je 0x1000fc3b
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1000fbe0
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov dword [0x1036f6ec], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fcfb
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x1000fcd4
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000fc85
cmp dword [ecx + 4], 0
jle 0x1000fc85
push 0
mov edx, 0xddb9e02d
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1000fc82
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 0x1000fc90
xor edx, edx
test ecx, ecx
je 0x1000fcbc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fca0
cmp edi, 0xddb9e02d
je 0x1000fce8
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 0x1000fc54
mov ecx, esi
mov dword [ebp - 0x1c], esi
mov dword [0x1036f6ec], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fcfb
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x14]
jmp 0x1000fc26
mov eax, dword [0x1036f6ec]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x10370fd0]
test al, 1
jne 0x1000fe3a
or eax, 1
mov dword [0x10370fd0], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1000fd69
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1000fd5e
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fd38
xor edx, edx
test ecx, ecx
je 0x1000fd5e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fd45
cmp edi, 0x4e9f1122
je 0x1000fd80
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1000fd25
xor eax, eax
lea ecx, [eax + 1]
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370f88], ecx
jmp 0x1000fe40
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x1000fe28
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 0x1000fdd1
cmp dword [ecx + 4], 0
jle 0x1000fdd1
push 0
mov edx, 0xddb9e02d
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1000fdce
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 0x1000fde0
xor edx, edx
test ecx, ecx
je 0x1000fe0c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fdf0
cmp edi, 0xddb9e02d
je 0x1000fe2f
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 0x1000fda0
mov eax, esi
jmp 0x1000fd6b
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x1000fd6b
mov ecx, dword [0x10370f88]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne 0x100104f8
mov ecx, dword [ebp + 8]
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
movd xmm1, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x28]
cvtdq2ps xmm1, xmm1
mov eax, dword [eax + 0xf0]
mulss xmm1, dword [eax + 0x20]
test ecx, ecx
je 0x1000fff1
mov eax, dword [0x1036f6f0]
movss xmm0, dword [0x102ba63c]
mov dword [ebp - 0x2c], 0x3a83126f
test al, 1
jne 0x1000ffc6
or eax, 1
mov dword [0x1036f6f0], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1000ff04
nop dword [eax + 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 0x1000ff1b
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1000fec0
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov dword [0x10370f98], edx
mov dword [ebp - 4], 0xffffffff
jmp 0x1000ffcc
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ebx
cmp dword [eax + 4], ebx
jle 0x1000ffb4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov edi, dword [eax]
add edi, ecx
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x1000ff65
cmp dword [ecx + 4], 0
jle 0x1000ff65
push 0
mov edx, 0xf3e9a9ed
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1000ff62
mov ecx, dword [edi + 0x2c]
add ecx, eax
add ebx, ecx
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x1c]
mov esi, dword [edi]
mov ebx, 0x811c9dc5
xor ecx, ecx
nop
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, ebx
imul ebx, eax, 0x1000193
cmp edx, ecx
jb 0x1000ff80
cmp ebx, 0xf3e9a9ed
je 0x1000ffbb
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov ebx, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1000ff34
mov edx, ebx
jmp 0x1000ff06
mov edx, dword [edi + 0x2c]
add edx, dword [ebp - 0x18]
jmp 0x1000ff06
mov edx, dword [0x10370f98]
mov esi, dword [ebp + 0xc]
lea eax, [ecx + 0x134]
add ecx, 0x138
cmp byte [edx + esi], 0
cmove ecx, eax
lea eax, [ebp - 0x2c]
comiss xmm0, dword [ecx]
cmovbe eax, ecx
movss xmm6, dword [eax]
jmp 0x1000fff9
movss xmm6, dword [0x102baa60]
mov eax, dword [0x10370f5c]
test al, 1
jne 0x1001013c
or eax, 1
mov dword [0x10370f5c], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x10010067
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1001005c
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10010036
xor edx, edx
test ecx, ecx
je 0x1001005c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10010043
cmp edi, 0x72e242a1
je 0x1001007a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x10010023
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370f80], eax
jmp 0x10010141
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x10010118
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100100c4
cmp dword [ecx + 4], 0
jle 0x100100c4
push 0
mov edx, 0x9441c788
call fcn.10138e60
add esp, 4
test eax, eax
je 0x100100c1
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 0x100100d0
xor edx, edx
test ecx, ecx
je 0x100100fc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100100e0
cmp edi, 0x9441c788
je 0x10010128
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 0x10010093
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370f80], eax
jmp 0x10010141
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x10370f80], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10010141
mov eax, dword [0x10370f80]
mov ecx, dword [ebp + 0xc]
cmp byte [eax + ecx], 0
je 0x10010152
mulss xmm6, dword [0x102ba740]
mov eax, dword [0x10370f28]
test al, 1
jne 0x10010294
or eax, 1
mov dword [0x10370f28], eax
mov dword [ebp - 4], 7
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x100101c4
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x100101b9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10010193
xor edx, edx
test ecx, ecx
je 0x100101b9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100101a0
cmp edi, 0x72e242a1
je 0x100101d3
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x10010180
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov dword [0x10370fb0], eax
jmp 0x10010299
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x10010278
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 0x10010221
cmp dword [ecx + 4], 0
jle 0x10010221
push 0
mov edx, 0xe4f7740e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1001021e
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 0x10010230
xor edx, edx
test ecx, ecx
je 0x1001025c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10010240
cmp edi, 0xe4f7740e
je 0x10010284
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 0x100101f0
mov ecx, dword [ebp + 0xc]
mov eax, esi
mov dword [0x10370fb0], eax
jmp 0x10010299
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0xc]
mov dword [0x10370fb0], eax
jmp 0x10010299
mov eax, dword [0x10370fb0]
movss xmm0, dword [eax + ecx]
movss xmm5, dword [0x102ba7b4]
comiss xmm0, xmm5
jb 0x100102b3
mulss xmm6, dword [0x102ba714]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x10010475
mov edx, dword [ebp + 8]
xorps xmm4, xmm4
comiss xmm1, xmm4
jbe 0x1001031b
movss xmm0, dword [edx + 0x84]
movaps xmm2, xmm5
movss xmm3, dword [edx + 0x88]
subss xmm0, dword [eax + 0x84]
subss xmm3, dword [eax + 0x88]
divss xmm2, xmm1
movss xmm1, dword [edx + 0x8c]
subss xmm1, dword [eax + 0x8c]
mulss xmm0, xmm2
mulss xmm3, xmm2
mulss xmm1, xmm2
movss dword [edx + 0x54], xmm0
movss dword [edx + 0x58], xmm3
movss dword [edx + 0x5c], xmm1
mov ecx, dword [edx + 0x1c]
movss xmm3, dword [0x102ba6b4]
and ecx, 1
je 0x100103d9
test byte [eax + 0x1c], 1
je 0x100103d2
movss xmm1, dword [eax + 0x364]
xorps xmm2, xmm2
comiss xmm1, xmm4
jbe 0x10010393
comiss xmm3, xmm1
jbe 0x10010393
movss xmm0, dword [edx + 0x36c]
ucomiss xmm0, dword [eax + 0x36c]
lahf
test ah, 0x44
jp 0x10010390
movaps xmm0, xmm5
subss xmm0, xmm1
mulss xmm0, dword [0x102ba720]
comiss xmm0, xmm4
jbe 0x10010390
comiss xmm5, xmm0
mov eax, dword [ebp - 0x10]
jbe 0x10010393
movaps xmm2, xmm0
addss xmm2, dword [0x102ba748]
mulss xmm2, xmm6
jmp 0x10010393
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.1000da70
comiss xmm0, xmm3
jbe 0x100103d2
comiss xmm2, xmm4
jbe 0x100103d2
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 0x10010510
test ecx, ecx
je 0x10010510
movss xmm1, dword [edx + 0x58]
movss xmm0, dword [edx + 0x54]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000da70
comiss xmm0, xmm3
jbe 0x10010510
comiss xmm3, dword [edx + 0x24c]
jb 0x10010510
movss xmm0, dword [eax + 0x258]
ucomiss xmm0, dword [edx + 0x258]
lahf
test ah, 0x44
jp 0x10010510
movss xmm0, dword [0x102ba62c]
comiss xmm0, dword [edx + 0x254]
jbe 0x10010510
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 0x10010510
movss xmm0, dword [ecx + 0x24c]
xorps xmm4, xmm4
ucomiss xmm0, xmm4
xorps xmm2, xmm2
lahf
test ah, 0x44
jnp 0x1001049c
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.1000da70
comiss xmm0, dword [0x102ba6b4]
jbe 0x100104df
comiss xmm2, xmm4
jbe 0x100104df
divss xmm2, xmm0
mulss xmm3, xmm2
mulss xmm2, dword [ecx + 0x58]
movss dword [ecx + 0x54], xmm3
movss dword [ecx + 0x58], xmm2
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
mov eax, dword [ebp + 8]
mov dword [eax + 0x5c], 0
mov dword [eax + 0x58], 0
mov dword [eax + 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