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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101e0b49
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xf8
mov eax, dword [0x1021b380]
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 - 0x98], esi
cmp byte [0x1029fbc4], 0
jne 0x10128f29
xor al, al
jmp 0x10129d35
mov edx, dword [0x107001f0]
add edx, 0xd5bd03c9
xor edx, 0xde9a561b
mov eax, dword [edx + 0x158]
mov ecx, dword [eax + 0x30]
mov eax, ecx
shr eax, 9
test al, 1
jne 0x10128f6b
mov eax, ecx
shr eax, 0xa
test al, 1
jne 0x10128f6b
mov eax, ecx
shr eax, 4
test al, 1
jne 0x10128f6b
shr ecx, 3
mov byte [ebp - 0x7d], 0
test cl, 1
je 0x10128f6f
mov byte [ebp - 0x7d], 1
mov ecx, dword [edx + 0x14c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movss xmm2, dword [esi + 0x28]
movss xmm0, dword [esi + 0x24]
movss xmm1, dword [esi + 0x2c]
movss xmm5, dword [eax]
movss xmm4, dword [eax + 4]
movss xmm3, dword [eax + 8]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
movss dword [ebp - 0x90], xmm5
movss dword [ebp - 0xa4], xmm5
movss dword [ebp - 0xa0], xmm4
movss dword [ebp - 0x9c], xmm3
addss xmm0, xmm1
call fcn.1000d600
xorps xmm1, xmm1
comiss xmm1, xmm0
jb 0x10129243
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x88], eax
mov eax, dword [0x102b7078]
test al, 1
jne 0x10129174
or eax, 1
mov dword [0x102b7078], eax
mov dword [ebp - 4], 0
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x74], eax
cmp eax, dword [0x102b3e8c]
je 0x1012907a
mov ecx, dword [eax]
mov dword [ebp - 0x90], ecx
test ecx, ecx
je 0x1012906c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10129040
xor edx, edx
test ecx, ecx
je 0x1012906c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10129050
cmp esi, 0x72e242a1
je 0x10129093
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x102b3e8c]
jne 0x10129025
mov esi, dword [ebp - 0x98]
xor eax, eax
mov dword [0x102b5780], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10129179
mov eax, dword [ebp - 0x90]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x10129141
xor ecx, ecx
mov dword [ebp - 0x84], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x7c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101290e9
cmp dword [ecx + 4], 0
jle 0x101290e9
push 0
mov edx, 0xa4a37590
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x101290e3
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x90]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x101290f2
xor edx, edx
test ecx, ecx
je 0x1012911f
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10129100
cmp edi, 0xa4a37590
je 0x10129157
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x84]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x84], ecx
cmp edx, dword [eax + 4]
jl 0x101290b2
mov esi, dword [ebp - 0x98]
mov eax, edi
mov dword [0x102b5780], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10129179
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x98]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x102b5780], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10129179
mov eax, dword [0x102b5780]
mov ecx, dword [ebp - 0x88]
test byte [ecx + eax], 1
jne 0x10129228
mov eax, dword [0x107001f0]
lea ecx, [ebp - 0x100]
subss xmm3, dword [0x10207b58]
add eax, 0xd5bd03c9
mov dword [ebp - 0x50], 0
xor eax, 0xde9a561b
mov dword [ebp - 0x88], 0x1020756c
xorps xmm0, xmm0
movss dword [ebp - 0xb0], xmm5
movups xmmword [ebp - 0x70], xmm0
movups xmmword [ebp - 0x60], xmm0
mov edi, dword [eax + 0x110]
movss dword [ebp - 0xac], xmm4
movss dword [ebp - 0xa8], xmm3
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.1002d560
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x88]
push ecx
push 0x200400b
push eax
mov ecx, edi
call esi
mov esi, dword [ebp - 0x98]
movq xmm0, qword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
movq qword [esi + 0x24], xmm0
mov dword [esi + 0x2c], eax
jmp 0x10129d2d
movq xmm0, qword [ebp - 0xa4]
mov eax, dword [ebp - 0x9c]
movq qword [esi + 0x24], xmm0
mov dword [esi + 0x2c], eax
jmp 0x10129d2d
mov byte [esi + 0x21], 1
mov eax, dword [0x102cbe78]
add eax, 0x7a35c7ad
xor eax, 0xa377d4a2
cmp byte [eax + 0x63d6a], 0
jne 0x1012926f
cmp byte [eax + 0x63e70], 0
mov byte [ebp - 0x93], 0
je 0x10129276
mov byte [ebp - 0x93], 1
cmp dword [esi + 4], 3
jl 0x10129a63
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x150]
mov dword [ebp - 0x8c], eax
mov eax, dword [0x102b57a8]
test al, 1
jne 0x10129408
or eax, 1
mov dword [0x102b57a8], eax
mov dword [ebp - 4], 1
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x84], eax
cmp eax, dword [0x102b3e8c]
je 0x10129320
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x1012930f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101292e3
xor edx, edx
test ecx, ecx
je 0x1012930f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101292f0
cmp edi, 0xcd2ed041
je 0x10129333
mov eax, dword [ebp - 0x84]
add eax, 4
mov dword [ebp - 0x84], eax
cmp eax, dword [0x102b3e8c]
jne 0x101292d0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7084], eax
jmp 0x1012940d
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x101293de
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x88], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10129387
cmp dword [ecx + 4], 0
jle 0x10129387
push 0
mov edx, 0xa2ccb41a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10129384
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x74], edi
mov eax, dword [ebp - 0x78]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10129390
xor edx, edx
test ecx, ecx
je 0x101293bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101293a0
cmp edi, 0xa2ccb41a
je 0x101293ee
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x7c]
inc edx
mov edi, dword [ebp - 0x74]
add ecx, 0x3c
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x7c], ecx
cmp edx, dword [eax + 4]
jl 0x10129350
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7084], eax
jmp 0x1012940d
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x74]
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1012940d
mov eax, dword [0x102b7084]
mov ecx, dword [ebp - 0x8c]
movzx esi, word [ecx + eax]
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0x10c]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x101297ee
mov eax, dword [eax + 0xc8]
cmp si, 0x1f
je 0x10129461
test eax, eax
je 0x10129461
cmp eax, 7
jl 0x101297ee
cmp eax, 0x10
jg 0x101297ee
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x150]
mov dword [ebp - 0x88], eax
mov eax, dword [0x102b57a8]
test al, 1
jne 0x101295e8
or eax, 1
mov dword [0x102b57a8], eax
mov dword [ebp - 4], 2
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x102b3e8c]
je 0x101294fa
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x101294ec
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101294c0
xor edx, edx
test ecx, ecx
je 0x101294ec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101294d0
cmp edi, 0xcd2ed041
je 0x1012950d
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x102b3e8c]
jne 0x101294a8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7084], eax
jmp 0x101295ed
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x7c], edi
cmp dword [eax + 4], edi
jle 0x101295be
xor ecx, ecx
mov dword [ebp - 0x84], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x8c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10129567
cmp dword [ecx + 4], 0
jle 0x10129567
push 0
mov edx, 0xa2ccb41a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10129564
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10129570
xor edx, edx
test ecx, ecx
je 0x1012959c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10129580
cmp edi, 0xa2ccb41a
je 0x101295ce
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x84]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x84], ecx
cmp edx, dword [eax + 4]
jl 0x10129530
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7084], eax
jmp 0x101295ed
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101295ed
mov eax, dword [0x102b7084]
mov ecx, dword [ebp - 0x88]
movzx esi, word [ecx + eax]
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0x10c]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x1012962e
cmp dword [eax + 0xc8], 0
jne 0x1012962e
cmp si, 0x1f
jne 0x101297ee
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x150]
mov dword [ebp - 0x88], eax
mov eax, dword [0x102b57a8]
test al, 1
jne 0x101297a8
or eax, 1
mov dword [0x102b57a8], eax
mov dword [ebp - 4], 3
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x102b3e8c]
je 0x101296bf
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x101296b1
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10129688
xor edx, edx
test ecx, ecx
je 0x101296b1
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10129695
cmp edi, 0xcd2ed041
je 0x101296d2
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x102b3e8c]
jne 0x10129675
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7084], eax
jmp 0x101297ad
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x7c], edi
cmp dword [eax + 4], edi
jle 0x1012977e
xor ecx, ecx
mov dword [ebp - 0x84], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x8c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10129727
cmp dword [ecx + 4], 0
jle 0x10129727
push 0
mov edx, 0xa2ccb41a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10129724
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10129730
xor edx, edx
test ecx, ecx
je 0x1012975c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10129740
cmp edi, 0xa2ccb41a
je 0x1012978e
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x84]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x84], ecx
cmp edx, dword [eax + 4]
jl 0x101296f0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7084], eax
jmp 0x101297ad
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101297ad
mov eax, dword [0x102b7084]
mov ecx, dword [ebp - 0x88]
movzx eax, word [ecx + eax]
mov edi, eax
mov esi, eax
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0x10c]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x101297e5
cmp di, 0x1f
je 0x101297ee
mov byte [ebp - 0x92], 1
jmp 0x101297f5
mov byte [ebp - 0x92], 0
mov ecx, dword [0x107001f0]
add ecx, 0xd5bd03c9
xor ecx, 0xde9a561b
mov eax, dword [ecx + 0x158]
mov dl, byte [eax + 0x30]
mov eax, dword [ecx + 0x150]
and dl, 1
mov dword [ebp - 0x88], eax
mov eax, dword [0x102b57a8]
mov byte [ebp - 0x91], dl
test al, 1
jne 0x10129994
or eax, 1
mov dword [0x102b57a8], eax
mov dword [ebp - 4], 4
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x102b3e8c]
je 0x1012989b
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1012988d
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10129864
xor edx, edx
test ecx, ecx
je 0x1012988d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10129871
cmp edi, 0xcd2ed041
je 0x101298b4
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x102b3e8c]
jne 0x10129851
mov dl, byte [ebp - 0x91]
xor eax, eax
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10129999
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x7c], edi
cmp dword [eax + 4], edi
jle 0x1012995e
xor ecx, ecx
mov dword [ebp - 0x84], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x8c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10129907
cmp dword [ecx + 4], 0
jle 0x10129907
push 0
mov edx, 0xa2ccb41a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10129904
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10129910
xor edx, edx
test ecx, ecx
je 0x1012993c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10129920
cmp edi, 0xa2ccb41a
je 0x10129974
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x84]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x84], ecx
cmp edx, dword [eax + 4]
jl 0x101298d0
mov dl, byte [ebp - 0x91]
mov eax, edi
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10129999
mov eax, dword [ebp - 0x8c]
mov dl, byte [ebp - 0x91]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10129999
mov eax, dword [0x102b7084]
mov ecx, dword [ebp - 0x88]
cmp word [ecx + eax], 0x40
mov eax, dword [0x102cbe78]
jne 0x101299cc
test dl, dl
je 0x101299c8
lea ecx, [eax + 0x7a35c7ad]
xor ecx, 0xa377d4a2
cmp byte [ecx + 0x63d6b], 0
je 0x101299c8
mov cl, 1
jmp 0x101299d2
xor cl, cl
jmp 0x101299d2
mov cl, byte [ebp - 0x91]
cmp byte [ebp - 0x92], 0
jne 0x10129a1b
test cl, cl
jne 0x10129a0c
add eax, 0x7a35c7ad
xor eax, 0xa377d4a2
cmp byte [eax + 0x63d69], cl
jne 0x10129a0c
cmp byte [0x1029d2cd], cl
je 0x10129a4d
mov al, byte [ebp - 0x7d]
test al, al
jne 0x10129a1e
mov esi, dword [ebp - 0x98]
mov byte [esi + 0x22], 1
jmp 0x10129a24
mov esi, dword [ebp - 0x98]
mov al, byte [ebp - 0x7d]
mov byte [esi + 0x22], 1
jmp 0x10129a24
mov al, byte [ebp - 0x7d]
mov esi, dword [ebp - 0x98]
cmp byte [0x1029d2cd], 0
je 0x10129a53
test al, al
je 0x10129a53
cmp byte [esi + 0x20], 0
movss xmm4, dword [ebp - 0xa0]
movss xmm5, dword [ebp - 0x90]
jne 0x10129a63
mov byte [esi + 0x22], 0
jmp 0x10129a63
mov esi, dword [ebp - 0x98]
movss xmm4, dword [ebp - 0xa0]
movss xmm5, dword [ebp - 0x90]
cmp byte [esi + 0x22], 0
je 0x10129d2d
movss xmm1, dword [esi + 0x24]
movss xmm0, dword [esi + 0x28]
subss xmm1, xmm5
subss xmm0, xmm4
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
call fcn.1000d600
subss xmm5, dword [esi + 0x24]
subss xmm4, dword [esi + 0x28]
movss dword [ebp - 0x8c], xmm0
movss dword [ebp - 0x90], xmm5
divss xmm4, xmm5
movaps xmm0, xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
movss xmm1, dword [ebp - 0x90]
comiss xmm1, dword [0x102076b4]
mulss xmm0, dword [0x10207a0c]
movss xmm2, dword [0x10207ab0]
jb 0x10129adb
addss xmm0, xmm2
movss xmm1, dword [ebp - 0x8c]
comiss xmm1, dword [0x10207948]
jbe 0x10129b7b
movss xmm3, dword [0x10207c1c]
comiss xmm3, xmm0
movss xmm1, dword [0x10207afc]
jbe 0x10129b0e
addss xmm0, xmm1
comiss xmm3, xmm0
ja 0x10129b05
comiss xmm0, xmm2
jbe 0x10129b1c
subss xmm0, xmm1
comiss xmm0, xmm2
ja 0x10129b13
movss dword [esi + 0x18], xmm0
mov edx, dword [0x107001f0]
add edx, 0xd5bd03c9
xor edx, 0xde9a561b
mov ecx, dword [edx + 0x264]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov dword [ebp - 0x8c], eax
mov eax, dword [edx + 0x158]
movss xmm0, dword [ebp - 0x8c]
movss dword [eax + 0x24], xmm0
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x158]
mov dword [eax + 0x28], 0
jmp 0x10129d2d
cmp byte [ebp - 0x93], 0
jne 0x10129d29
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0x14c]
mov eax, dword [0x102b576c]
mov dword [ebp - 0x88], ecx
test al, 1
jne 0x10129cf8
or eax, 1
mov dword [0x102b576c], eax
mov dword [ebp - 4], 5
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x102b3e8c]
je 0x10129c1a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10129c0c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10129be3
xor edx, edx
test ecx, ecx
je 0x10129c0c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10129bf0
cmp esi, 0x4e9f1122
je 0x10129c39
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x102b3e8c]
jne 0x10129bd0
xor eax, eax
mov esi, dword [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x88]
mov dword [0x102b701c], eax
jmp 0x10129cfd
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x7c], edi
cmp dword [eax + 4], edi
jle 0x10129ce0
xor ecx, ecx
mov dword [ebp - 0x84], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x8c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10129c8c
cmp dword [ecx + 4], 0
jle 0x10129c8c
push 0
mov edx, 0x53630d14
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10129c89
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10129c95
xor edx, edx
test ecx, ecx
je 0x10129cbe
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10129ca2
cmp esi, 0x53630d14
je 0x10129ce7
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x84]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x84], ecx
cmp edx, dword [eax + 4]
jl 0x10129c55
mov eax, edi
jmp 0x10129c1c
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
jmp 0x10129c1c
mov eax, dword [0x102b701c]
movss xmm1, dword [ecx + eax + 4]
movss xmm0, dword [ecx + eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000d600
comiss xmm0, dword [0x10207968]
jbe 0x10129d29
call fcn.10129d60
jmp 0x10129d2d
mov byte [esi + 0x22], 0
mov al, byte [ebp - 0x7d]
mov byte [esi + 0x20], al
mov al, 1
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.101d03f8
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret