Function at 0x101e2840
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 0x102346e6
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa0
mov eax, dword [0x102d944c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x40], 0
mov eax, dword [0x1055e498]
test al, 1
jne 0x101e28fd
or eax, 1
mov dword [0x1055e498], eax
mov eax, dword [0x1054dfe0]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x101e28f6
nop dword [eax + eax]
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x101e28c0
xor edx, edx
test ecx, ecx
je 0x101e28ec
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101e28d0
mov eax, dword [ebp - 0x20]
cmp esi, 0xa17fa712
je 0x101e28f8
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x101e28b0
xor eax, eax
mov dword [0x1055e4e0], eax
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.remove_3dsky
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x38], xmm0
call fcn.100bd420
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0
push eax
mov ecx, 0x10550908
call fcn.100b9b80
mov ecx, dword [0x1055e4e0]
xor edx, edx
cmp byte [eax], dl
mov eax, dword [ecx]
sete dl
push edx
mov eax, dword [eax + 0x40]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x101e2986
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e297c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e37d4
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov eax, dword [0x1055e498]
test al, 2
jne 0x101e29ed
or eax, 2
mov dword [0x1055e498], eax
mov eax, dword [0x1054dfe0]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x101e29e6
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x101e29b0
xor edx, edx
test ecx, ecx
je 0x101e29dc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101e29c0
mov eax, dword [ebp - 0x20]
cmp esi, 0xcc254ccd
je 0x101e29e8
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x101e29a6
xor eax, eax
mov dword [0x1055e4ec], eax
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
push str.aspect_ratio
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x8c], 0
movups xmmword [ebp - 0xa0], xmm0
call fcn.100bd420
mov eax, 1
mov dword [ebp - 4], 1
mov dword [ebp - 0x1c], eax
mov ecx, 0x10550908
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0xa0]
push eax
call fcn.100b9b80
cmp byte [eax], 0
je 0x101e2aa7
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
push str.aspect_ratio
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x74], 0
movups xmmword [ebp - 0x88], xmm0
call fcn.100bd420
mov eax, 3
mov dword [ebp - 4], 2
mov dword [ebp - 0x1c], eax
mov ecx, 0x10550948
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x88]
push eax
call fcn.100b9b40
movss xmm0, dword [0x103f4600]
mov byte [ebp - 0x15], 1
ucomiss xmm0, dword [eax]
lahf
test ah, 0x44
jp 0x101e2aab
mov byte [ebp - 0x15], 0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x1c]
test al, 2
je 0x101e2b0e
mov ecx, dword [ebp - 0x74]
and eax, 0xfffffffd
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x101e2af9
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e2aec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e37d9
push ecx
push edx
call fcn.101fb2ba
mov eax, dword [ebp - 0x1c]
add esp, 8
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov dword [ebp - 4], 0xffffffff
test al, 1
je 0x101e2b74
mov ecx, dword [ebp - 0x8c]
and eax, 0xfffffffe
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x101e2b59
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e2b4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e37d9
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp byte [ebp - 0x15], 0
je 0x101e2c1d
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.aspect_ratio
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x38], xmm0
call fcn.100bd420
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 3
push eax
mov ecx, 0x10550948
call fcn.100b9b40
mov ecx, dword [0x1055e4ec]
push ecx
movss xmm0, dword [eax]
divss xmm0, dword [0x102c160c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
movss dword [esp], xmm0
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x101e2c11
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e2c07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e37de
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov byte [0x1055d0d8], 1
jmp 0x101e2cf4
cmp byte [0x1055d0d8], 0
je 0x101e2c74
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.aspect_ratio
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x38], xmm0
call fcn.100bd420
mov dword [ebp - 4], 4
mov ecx, 0x10550908
mov eax, dword [ebp - 0x1c]
or eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100b9b80
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
je 0x101e2c78
mov byte [ebp - 0x15], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
test al, 4
je 0x101e2cd2
mov ecx, dword [ebp - 0x24]
and eax, 0xfffffffb
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x101e2cc0
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e2cb6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e37e3
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
cmp byte [ebp - 0x15], 0
je 0x101e2cf4
mov ecx, dword [0x1055e4ec]
push ecx
mov byte [0x1055d0d8], 0
mov dword [esp], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.aspect_ratio
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x38], xmm0
call fcn.100bd420
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 5
push eax
mov ecx, 0x10550948
call fcn.100b9b40
movss xmm0, dword [eax]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
movss dword [0x103f4600], xmm0
cmp ecx, 0x10
jb 0x101e2d74
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e2d6a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e37e8
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov ecx, dword [0x1054dfe4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x101e37b6
call fcn.101c6a20
call fcn.101c7d40
cmp dword [0x10311640], 0
je 0x101e37b6
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.nade_helper
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x38], xmm0
call fcn.100bd420
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 6
push eax
mov ecx, 0x10550908
call fcn.100b9b80
mov al, byte [eax]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 0x15], al
cmp ecx, 0x10
jb 0x101e2e1c
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e2e0f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e37ed
push ecx
push edx
call fcn.101fb2ba
mov al, byte [ebp - 0x15]
add esp, 8
test al, al
je 0x101e2e3c
cmp byte [0x10311644], 0
je 0x101e2e3c
cmp dword [0x10312e70], 9
jne 0x101e2e3c
mov ecx, 0x1038e5e0
call fcn.1018b400
push 0x12
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.removeScopeOverlay
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x38], xmm0
call fcn.100bd420
mov dword [ebp - 4], 7
mov ecx, 0x10550908
mov eax, dword [ebp - 0x1c]
or eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100b9b80
cmp byte [eax], 0
je 0x101e2ecb
mov eax, dword [0x1054e4e4]
mov ecx, dword [0x10311640]
add eax, 0xffffffc8
xor eax, 0xab5b34
cmp dword [eax + ecx], 0
jne 0x101e2ecb
mov eax, dword [0x1054e5a0]
mov esi, dword [0x1054dfe8]
add eax, 0xffffff99
xor eax, 0xab5b63
mov eax, dword [eax + ecx]
mov ecx, dword [esi]
push ecx
mov edx, dword [ecx + 0x10]
mov ecx, esp
mov dword [ecx], eax
mov ecx, esi
call edx
mov byte [ebp - 0x15], 1
test eax, eax
jne 0x101e2ecf
mov byte [ebp - 0x15], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
test al, 8
je 0x101e2f17
mov ecx, dword [ebp - 0x24]
and eax, 0xfffffff7
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x101e2f17
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e2f0d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e37f2
push ecx
push edx
call fcn.101fb2ba
add esp, 8
cmp byte [ebp - 0x15], 0
je 0x101e373f
mov eax, dword [0x10312eb8]
mov esi, dword [0x1054e0fc]
mov ecx, dword [0x10312ebc]
mov dword [ebp - 0xac], eax
cdq
sub eax, edx
mov dword [ebp - 0x3c], ecx
mov edi, eax
mov eax, ecx
mov ecx, dword [esi]
cdq
sub eax, edx
sar edi, 1
sar eax, 1
mov edx, dword [ecx + 0x34]
mov ecx, esi
mov dword [ebp - 0x58], eax
call edx
push 0x11
mov esi, eax
mov dword [ebp - 0x28], 0
xorps xmm0, xmm0
mov dword [ebp - 0xa4], esi
push str.scope_line_offset
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x38], xmm0
call fcn.100bd420
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 8
push eax
mov ecx, 0x10550948
call fcn.100b9b40
cvttss2si eax, dword [eax]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x54], eax
cmp ecx, 0x10
jb 0x101e2fd8
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e2fce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e37f7
push ecx
push edx
call fcn.101fb2ba
add esp, 8
push 0x11
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.scope_line_height
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x38], xmm0
call fcn.100bd420
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 9
push eax
mov ecx, 0x10550948
call fcn.100b9b40
cvttss2si eax, dword [eax]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x50], eax
cmp ecx, 0x10
jb 0x101e3053
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e3049
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e37fc
push ecx
push edx
call fcn.101fb2ba
add esp, 8
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
push str.scope_line_color
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
call fcn.100bd420
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 0xa
push eax
mov ecx, 0x10550968
call fcn.100b9b20
push 0x10
push str.scope_line_color
lea ecx, [ebp - 0x88]
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x102c1678]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
cvttss2si eax, xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x20], eax
movups xmmword [ebp - 0x88], xmm0
call fcn.100bd420
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xb
push eax
mov ecx, 0x10550968
call fcn.100b9b20
push 0x10
push str.scope_line_color
lea ecx, [ebp - 0xa0]
movss xmm0, dword [eax + 8]
mulss xmm0, dword [0x102c1678]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
cvttss2si eax, xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x48], eax
movups xmmword [ebp - 0xa0], xmm0
call fcn.100bd420
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0xc
push eax
mov ecx, 0x10550968
call fcn.100b9b20
push 0x10
push str.scope_line_color
lea ecx, [ebp - 0x38]
movss xmm0, dword [eax + 4]
mulss xmm0, dword [0x102c1678]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
cvttss2si eax, xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x44], eax
movups xmmword [ebp - 0x38], xmm0
call fcn.100bd420
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xd
push eax
mov ecx, 0x10550968
call fcn.100b9b20
movss xmm0, dword [eax]
mulss xmm0, dword [0x102c1678]
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x24]
cvttss2si eax, xmm0
mov dword [ebp - 0x4c], eax
cmp ecx, 0x10
jb 0x101e31cd
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e31c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e3801
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
cmp ecx, 0x10
jb 0x101e321d
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e3213
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e3801
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp ecx, 0x10
jb 0x101e3273
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e3269
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e3801
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
cmp ecx, 0x10
jb 0x101e32c3
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e32b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e3801
push ecx
push edx
call fcn.101fb2ba
add esp, 8
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
push str.scope_line_speed
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
call fcn.100bd420
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 0xe
push eax
mov ecx, 0x10550948
call fcn.100b9b40
movss xmm0, dword [eax]
divss xmm0, dword [0x102c160c]
mulss xmm0, dword [0x102c14dc]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
movss dword [ebp - 0x40], xmm0
cmp ecx, 0x10
jb 0x101e3355
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e3346
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e3806
push ecx
push edx
call fcn.101fb2ba
movss xmm0, dword [ebp - 0x40]
add esp, 8
mov eax, dword [0x1054e040]
mov ecx, dword [0x1054e538]
movss xmm1, dword [0x1055e4b8]
add ecx, 0xffffffb3
xor ecx, 0xab5b49
mulss xmm0, dword [eax + 0x14]
mov eax, dword [0x10311640]
cmp byte [ecx + eax], 0
je 0x101e3387
addss xmm1, xmm0
jmp 0x101e338b
subss xmm1, xmm0
comiss xmm1, dword [0x102c13d0]
mov eax, 0x1055e4b8
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0x3f800000
mov dword [ebp - 0x40], 0
movss dword [0x1055e4b8], xmm1
xorps xmm1, xmm1
cmovbe ecx, eax
lea eax, [ebp - 0x40]
movss xmm0, dword [ecx]
comiss xmm0, xmm1
cmova eax, ecx
movss xmm0, dword [eax]
movss dword [0x1055e4b8], xmm0
cmp esi, 1
jle 0x101e33e6
mov eax, esi
cdq
sub eax, edx
sar eax, 1
sub edi, eax
sub dword [ebp - 0x58], eax
push 0x11
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
push str.scope_line_enable
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
call fcn.100bd420
mov dword [ebp - 4], 0xf
mov ecx, 0x10550908
mov eax, dword [ebp - 0x1c]
or eax, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x70]
push eax
call fcn.100b9b80
movss xmm2, dword [0x1055e4b8]
cmp byte [eax], 0
je 0x101e3448
xorps xmm0, xmm0
mov byte [ebp - 0x15], 1
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x101e344c
mov byte [ebp - 0x15], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
test al, 0x10
je 0x101e3496
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x101e3496
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101e3484
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x101e380b
push ecx
push edx
call fcn.101fb2ba
movss xmm2, dword [0x1055e4b8]
add esp, 8
cmp byte [ebp - 0x15], 0
je 0x101e3687
mov eax, dword [0x10312ebc]
mov ecx, dword [ebp - 0x50]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [0x10312eb8]
cdq
sub eax, edx
movd xmm0, ecx
mov edx, dword [ebp - 0x44]
sar eax, 1
add eax, ecx
sar esi, 1
add eax, dword [ebp - 0x54]
push 1
push ecx
mov ecx, dword [ebp - 0x4c]
cvtdq2ps xmm1, xmm0
movd xmm0, eax
mov eax, esp
push ecx
cvtdq2ps xmm0, xmm0
mov byte [eax + 1], dl
mov edx, dword [ebp - 0x48]
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20]
mov byte [eax], cl
mov byte [eax + 3], dl
mov eax, esp
mov edx, dword [ebp - 0x48]
mulss xmm1, xmm2
push 1
mov byte [eax], cl
mov ecx, dword [ebp - 0x44]
subss xmm0, xmm1
mov byte [eax + 1], cl
cvttss2si edi, xmm1
mov byte [eax + 2], dl
mov edx, esi
mov byte [eax + 3], 0
cvttss2si ecx, xmm0
push edi
call fcn.101d6e70
mov eax, dword [0x10312ebc]
add esp, 0x14
movd xmm0, dword [ebp - 0x50]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [0x10312eb8]
cdq
sub eax, edx
sar esi, 1
mov edx, dword [ebp - 0x4c]
mov ecx, eax
sar ecx, 1
sub ecx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x54]
push 1
push ecx
mov eax, esp
cvtdq2ps xmm0, xmm0
push ecx
mulss xmm0, dword [0x1055e4b8]
mov byte [eax], dl
mov edx, dword [ebp - 0x44]
mov byte [eax + 1], dl
mov edx, dword [ebp - 0x48]
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x4c]
mov byte [eax + 3], 0
mov eax, esp
cvttss2si edi, xmm0
push 1
mov byte [eax], dl
mov edx, dword [ebp - 0x44]
mov byte [eax + 1], dl
mov edx, dword [ebp - 0x48]
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20]
mov byte [eax + 3], dl
push edi
mov edx, esi
call fcn.101d6e70
mov eax, dword [0x10312ebc]
add esp, 0x14
mov ecx, dword [ebp - 0x50]
cdq
sub eax, edx
sar eax, 1
add eax, ecx
movd xmm0, ecx
add eax, dword [ebp - 0x54]
cvtdq2ps xmm1, xmm0
push 0
movd xmm0, eax
mov eax, dword [0x10312eb8]
mulss xmm1, dword [0x1055e4b8]
cdq
sub eax, edx
mov edx, dword [ebp - 0x4c]
mov ecx, eax
sar ecx, 1
push ecx
mov eax, esp
cvtdq2ps xmm0, xmm0
push ecx
mov byte [eax], dl
mov edx, dword [ebp - 0x44]
mov byte [eax + 1], dl
mov edx, dword [ebp - 0x48]
subss xmm0, xmm1
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20]
mov byte [eax + 3], dl
mov eax, esp
mov edx, dword [ebp - 0x4c]
cvttss2si edi, xmm1
mov byte [eax], dl
mov edx, dword [ebp - 0x44]
mov byte [eax + 1], dl
mov edx, dword [ebp - 0x48]
mov byte [eax + 2], dl
cvttss2si esi, xmm0
push edi
push 1
mov byte [eax + 3], 0
mov edx, esi
call fcn.101d6e70
mov eax, dword [0x10312ebc]
add esp, 0x14
mov ecx, dword [ebp - 0x50]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [0x10312eb8]
cdq
sub eax, edx
sar esi, 1
mov edx, dword [ebp - 0x4c]
sub esi, ecx
sub esi, dword [ebp - 0x54]
movd xmm0, ecx
mov ecx, eax
sar ecx, 1
push 0
cvtdq2ps xmm0, xmm0
push ecx
mov eax, esp
push ecx
mulss xmm0, dword [0x1055e4b8]
mov byte [eax], dl
mov edx, dword [ebp - 0x44]
mov byte [eax + 1], dl
mov edx, dword [ebp - 0x48]
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x4c]
mov byte [eax + 3], 0
mov eax, esp
cvttss2si edi, xmm0
mov byte [eax], dl
mov edx, dword [ebp - 0x44]
mov byte [eax + 1], dl
mov edx, dword [ebp - 0x48]
mov byte [eax + 2], dl
mov edx, dword [ebp - 0x20]
mov byte [eax + 3], dl
mov edx, esi
push edi
push 1
call fcn.101d6e70
add esp, 0x14
jmp 0x101e373f
mov eax, dword [0x1054e538]
mov ecx, dword [0x10311640]
add eax, 0xffffffb3
xor eax, 0xab5b49
cmp byte [eax + ecx], 0
je 0x101e373f
mov eax, dword [0x1054e5a0]
add eax, 0xffffff99
xor eax, 0xab5b63
mov eax, dword [eax + ecx]
mov ecx, dword [0x1054dfe8]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
cmp dword [eax + 0xc8], 5
jne 0x101e373f
mov ecx, dword [0x1054dff0]
push dword [0x102b8240]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x1054dff0]
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0xa4]
add eax, esi
mov edx, dword [ecx]
push eax
push dword [ebp - 0xac]
mov eax, dword [edx + 0x40]
push esi
push 0
call eax
mov ecx, dword [0x1054dff0]
push dword [0x102b8240]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x1054dff0]
push dword [ebp - 0x3c]
mov eax, dword [ebp - 0xa4]
add eax, edi
mov edx, dword [ecx]
push eax
push 0
push edi
mov eax, dword [edx + 0x40]
call eax
mov ecx, dword [0x1054dfe8]
mov esi, 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, esi
jl 0x101e377f
mov ecx, dword [0x1054dfe8]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x101e376d
push eax
call fcn.101e7a40
mov ecx, dword [0x1054dfe8]
inc esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp esi, eax
jle 0x101e3755
call fcn.101e3e90
call fcn.101e47a0
call fcn.101e5200
mov ecx, 0x10559ec0
call fcn.101e5750
call fcn.101e74b0
mov ecx, 0x10559ec0
call fcn.101e1df0
mov ecx, 0x10559ec0
call fcn.101f16d0
call fcn.101e3820
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.101fae3a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
int3