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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101cba05
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x1026b040]
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 0x10010040
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
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 [0x103064dc]
test al, 1
jne 0x1000f4fe
or eax, 1
mov dword [0x103064dc], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x1000f429
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1000f41e
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1000f3f8
xor edx, edx
test ecx, ecx
je 0x1000f41e
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f405
cmp edi, 0x4e9f1122
je 0x1000f43f
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x1000f3e5
mov ebx, dword [ebp + 0xc]
xor eax, eax
mov dword [0x10304c80], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f503
mov eax, dword [ebp - 0x14]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
cmp dword [eax + 4], esi
jle 0x1000f4d4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000f489
cmp dword [ecx + 4], 0
jle 0x1000f489
push 0
mov edx, 0x940131c5
call fcn.10115470
add esp, 4
test eax, eax
je 0x1000f486
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 [esi + ecx], 0
jne 0x1000f492
xor edx, edx
test ecx, ecx
je 0x1000f4bc
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f4a0
cmp edi, 0x940131c5
je 0x1000f4e7
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 0x1000f458
mov ebx, dword [ebp + 0xc]
mov eax, esi
mov dword [0x10304c80], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f503
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov ebx, dword [ebp + 0xc]
mov dword [0x10304c80], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f503
mov eax, dword [0x10304c80]
push dword [eax + ebx]
mov ecx, dword [ebp - 0x28]
call dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x10010040
mov ecx, dword [0x10633ee0]
add ecx, 0xfab78433
xor ecx, 0xc85d879a
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 [0x10304ca8]
test al, 1
jne 0x1000f67e
or eax, 1
mov dword [0x10304ca8], eax
mov dword [ebp - 4], 1
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x1000f5a8
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1000f59d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1000f577
xor edx, edx
test ecx, ecx
je 0x1000f59d
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f584
cmp edi, 0xcd2ed041
je 0x1000f5be
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x1000f564
mov ebx, dword [ebp + 0xc]
xor eax, eax
mov dword [0x1030654c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f683
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x1000f654
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000f608
cmp dword [ecx + 4], 0
jle 0x1000f608
push 0
mov edx, 0xa2ccb41a
call fcn.10115470
add esp, 4
test eax, eax
je 0x1000f605
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 [esi + ecx], 0
jne 0x1000f611
xor edx, edx
test ecx, ecx
je 0x1000f63c
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f620
cmp edi, 0xa2ccb41a
je 0x1000f667
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 0x1000f5d7
mov ebx, dword [ebp + 0xc]
mov eax, esi
mov dword [0x1030654c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f683
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
mov ebx, dword [ebp + 0xc]
mov dword [0x1030654c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f683
mov eax, dword [0x1030654c]
mov ecx, dword [ebp - 0x28]
movsx eax, word [eax + ecx]
mov ecx, dword [ebp - 0x24]
push eax
call dword [ebp - 0x2c]
mov ecx, dword [0x10304c90]
mov dword [ebp - 0x28], eax
test cl, 1
jne 0x1000f6d2
or ecx, 1
mov dword [0x10304c90], ecx
mov dword [ebp - 4], 2
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x44]
mov ecx, ebx
call eax
mov edx, 0xdf272d79
mov ecx, eax
call fcn.10115740
mov dword [0x103064ec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f6d7
mov eax, dword [0x103064ec]
mov eax, dword [eax + ebx]
shr eax, 3
test al, 1
jne 0x10010028
mov eax, dword [0x10304cac]
test al, 1
jne 0x1000f823
or eax, 1
mov dword [0x10304cac], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x1000f754
nop
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1000f749
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1000f723
xor edx, edx
test ecx, ecx
je 0x1000f749
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f730
cmp edi, 0x4e9f1122
je 0x1000f76b
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x1000f710
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov dword [0x10304cb4], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f82b
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x1000f804
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000f7b5
cmp dword [ecx + 4], 0
jle 0x1000f7b5
push 0
mov edx, 0xddb9e02d
call fcn.10115470
add esp, 4
test eax, eax
je 0x1000f7b2
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 [esi + ecx], 0
jne 0x1000f7c0
xor edx, edx
test ecx, ecx
je 0x1000f7ec
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f7d0
cmp edi, 0xddb9e02d
je 0x1000f818
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 0x1000f784
mov ecx, esi
mov dword [ebp - 0x1c], esi
mov dword [0x10304cb4], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f82b
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x14]
jmp 0x1000f756
mov eax, dword [0x10304cb4]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x10306560]
test al, 1
jne 0x1000f96a
or eax, 1
mov dword [0x10306560], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x1000f899
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1000f88e
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000f868
xor edx, edx
test ecx, ecx
je 0x1000f88e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f875
cmp edi, 0x4e9f1122
je 0x1000f8b0
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x1000f855
xor eax, eax
lea ecx, [eax + 1]
mov dword [ebp - 4], 0xffffffff
mov dword [0x10306520], ecx
jmp 0x1000f970
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x1000f958
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 0x1000f901
cmp dword [ecx + 4], 0
jle 0x1000f901
push 0
mov edx, 0xddb9e02d
call fcn.10115470
add esp, 4
test eax, eax
je 0x1000f8fe
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 0x1000f910
xor edx, edx
test ecx, ecx
je 0x1000f93c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000f920
cmp edi, 0xddb9e02d
je 0x1000f95f
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 0x1000f8d0
mov eax, esi
jmp 0x1000f89b
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x1000f89b
mov ecx, dword [0x10306520]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne 0x10010028
mov ecx, dword [ebp + 8]
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
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 0x1000fb0b
mov eax, dword [0x10304cb8]
test al, 1
jne 0x1000fae6
or eax, 1
mov dword [0x10304cb8], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x1000fa24
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1000fa19
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000f9f3
xor edx, edx
test ecx, ecx
je 0x1000fa19
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fa00
cmp edi, 0x72e242a1
je 0x1000fa3d
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x1000f9e0
xor eax, eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp + 0xc]
mov dword [0x10306530], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000faeb
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], esi
cmp dword [eax + 4], esi
jle 0x1000fad4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000fa87
cmp dword [ecx + 4], 0
jle 0x1000fa87
push 0
mov edx, 0xf3e9a9ed
call fcn.10115470
add esp, 4
test eax, eax
je 0x1000fa84
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
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fa90
xor edx, edx
test ecx, ecx
je 0x1000fabc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000faa0
cmp edi, 0xf3e9a9ed
je 0x1000fadb
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 0x1000fa56
mov eax, esi
jmp 0x1000fa26
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1000fa26
mov eax, dword [0x10306530]
cmp byte [eax + edx], 0
lea eax, [ecx + 0x130]
jne 0x1000fafd
lea eax, [ecx + 0x12c]
movss xmm6, dword [eax]
maxss xmm6, dword [0x10257f04]
jmp 0x1000fb13
movss xmm6, dword [0x102582cc]
mov eax, dword [0x10306504]
test al, 1
jne 0x1000fc62
or eax, 1
mov dword [0x10306504], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x1000fb84
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1000fb79
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fb53
xor edx, edx
test ecx, ecx
je 0x1000fb79
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fb60
cmp edi, 0x72e242a1
je 0x1000fb9a
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x1000fb40
mov edx, dword [ebp + 0xc]
xor eax, eax
mov dword [0x1030651c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fc67
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x1000fc38
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000fbe4
cmp dword [ecx + 4], 0
jle 0x1000fbe4
push 0
mov edx, 0x9441c788
call fcn.10115470
add esp, 4
test eax, eax
je 0x1000fbe1
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 0x1000fbf0
xor edx, edx
test ecx, ecx
je 0x1000fc1c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fc00
cmp edi, 0x9441c788
je 0x1000fc4b
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 0x1000fbb3
mov edx, dword [ebp + 0xc]
mov eax, esi
mov dword [0x1030651c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fc67
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov edx, dword [ebp + 0xc]
mov dword [0x1030651c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fc67
mov eax, dword [0x1030651c]
cmp byte [eax + edx], 0
je 0x1000fc75
mulss xmm6, dword [0x10257ff8]
mov eax, dword [0x103064d8]
test al, 1
jne 0x1000fdb4
or eax, 1
mov dword [0x103064d8], eax
mov dword [ebp - 4], 7
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x1000fce7
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1000fcdc
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1000fcb6
xor edx, edx
test ecx, ecx
je 0x1000fcdc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fcc3
cmp edi, 0x72e242a1
je 0x1000fcf6
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x1000fca3
mov edx, dword [ebp + 0xc]
xor eax, eax
mov dword [0x10306548], eax
jmp 0x1000fdb9
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x1000fd98
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1000fd41
cmp dword [ecx + 4], 0
jle 0x1000fd41
push 0
mov edx, 0xe4f7740e
call fcn.10115470
add esp, 4
test eax, eax
je 0x1000fd3e
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 0x1000fd50
xor edx, edx
test ecx, ecx
je 0x1000fd7c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1000fd60
cmp edi, 0xe4f7740e
je 0x1000fda4
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 0x1000fd10
mov edx, dword [ebp + 0xc]
mov eax, esi
mov dword [0x10306548], eax
jmp 0x1000fdb9
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov edx, dword [ebp + 0xc]
mov dword [0x10306548], eax
jmp 0x1000fdb9
mov eax, dword [0x10306548]
movss xmm0, dword [eax + edx]
movss xmm5, dword [0x1025805c]
comiss xmm0, xmm5
jb 0x1000fdd3
mulss xmm6, dword [0x10257fc8]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
test eax, eax
je 0x1000ffa8
xorps xmm4, xmm4
comiss xmm1, xmm4
jbe 0x1000fe46
movss xmm3, dword [ecx + 0x84]
movaps xmm2, xmm5
subss xmm3, dword [eax + 0x84]
movss xmm0, dword [ecx + 0x8c]
subss xmm0, dword [eax + 0x8c]
divss xmm2, xmm1
movss xmm1, dword [ecx + 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 [ecx + 0x54], xmm3
mov dword [ecx + 0x5c], eax
mov eax, dword [ebp - 0x10]
test byte [ecx + 0x1c], 1
movss xmm3, dword [0x10257f60]
je 0x1000ff0a
test byte [eax + 0x1c], 1
je 0x1000ff03
movss xmm1, dword [eax + 0x364]
xorps xmm2, xmm2
comiss xmm1, xmm4
jbe 0x1000fec4
comiss xmm3, xmm1
jbe 0x1000fec4
movss xmm0, dword [ecx + 0x36c]
ucomiss xmm0, dword [eax + 0x36c]
lahf
test ah, 0x44
jp 0x1000fec1
movaps xmm0, xmm5
subss xmm0, xmm1
mulss xmm0, dword [0x10257fd8]
comiss xmm0, xmm4
jbe 0x1000fec1
comiss xmm5, xmm0
mov eax, dword [ebp - 0x10]
jbe 0x1000fec4
movaps xmm2, xmm0
addss xmm2, dword [0x10258000]
mulss xmm2, xmm6
jmp 0x1000fec4
mov eax, dword [ebp - 0x10]
movss xmm5, dword [ecx + 0x54]
movss xmm1, dword [ecx + 0x58]
movaps xmm0, xmm5
mulss xmm0, xmm5
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000c7e0
comiss xmm0, xmm3
jbe 0x1000ff03
comiss xmm2, xmm4
jbe 0x1000ff03
divss xmm2, xmm0
mulss xmm5, xmm2
mulss xmm2, dword [ecx + 0x58]
movss dword [ecx + 0x54], xmm5
movss dword [ecx + 0x58], xmm2
mov dword [ecx + 0x5c], 0
cmp dword [ecx + 0x18], 0xc
jl 0x10010040
test byte [ecx + 0x1c], 1
je 0x10010040
movss xmm1, dword [ecx + 0x58]
movss xmm0, dword [ecx + 0x54]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000c7e0
comiss xmm0, xmm3
jbe 0x10010040
comiss xmm3, dword [ecx + 0x24c]
jb 0x10010040
movss xmm0, dword [eax + 0x258]
ucomiss xmm0, dword [ecx + 0x258]
lahf
test ah, 0x44
jp 0x10010040
movss xmm0, dword [0x10257ef4]
comiss xmm0, dword [ecx + 0x254]
jbe 0x10010040
mov byte [ecx + 0xd], 1
mov dword [ecx + 0x5c], 0
mov dword [ecx + 0x58], 0
mov dword [ecx + 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
test byte [ecx + 0x1c], 1
je 0x10010040
movss xmm0, dword [ecx + 0x24c]
xorps xmm4, xmm4
ucomiss xmm0, xmm4
xorps xmm2, xmm2
lahf
test ah, 0x44
jnp 0x1000ffcc
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.1000c7e0
comiss xmm0, dword [0x10257f60]
jbe 0x1001000f
comiss xmm2, xmm4
jbe 0x1001000f
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