Function at 0x1011c5b6
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x18]
mov ebp, ecx
push eax
call fcn.1001f920
lea eax, [esp + 0x28]
mov ecx, ebp
push eax
call fcn.1001f870
mov ebx, dword [esp + 0x18]
mov edx, eax
cmp ebx, dword [edx]
jne case.0x10019d57.0
mov edi, dword [esp + 0x24]
movzx ecx, byte [ebx]
cmp ecx, 9
ja case.0x10019d20.0
movzx eax, byte [ecx + 0x10019e54]
jmp dword [eax*4 + 0x10019e48]
mov eax, dword [esp + 0x1c]
cmp eax, dword [edx + 4]
jmp 0x10019d3c
mov esi, dword [esp + 0x20]
cmp esi, dword [edx + 8]
jmp 0x10019d40
cmp edi, dword [edx + 0xc]
mov esi, dword [esp + 0x20]
sete al
test al, al
jne 0x10019e39
cmp ecx, 9
ja case.0x10019d57.3
movzx eax, byte [ecx + 0x10019e70]
jmp dword [eax*4 + 0x10019e60]
mov esi, dword [esp + 0x1c]
add esi, 0x28
jmp case.0x10019d57.2
test edi, edi
jne case.0x10019d57.0
mov esi, ebx
mov al, byte [esi]
cmp al, 1
je 0x10019d7b
cmp al, 2
jne 0x10019d82
mov ecx, esi
call fcn.10019ce0
movzx eax, byte [esi]
cmp eax, 9
ja case.0x10019d91.3
movzx eax, byte [eax + 0x10019e8c]
jmp dword [eax*4 + 0x10019e7c]
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
jmp 0x10019da9
mov eax, dword [esi + 8]
cmp dword [eax + 4], 0
sete al
test al, al
je case.0x10019d91.3
cmp byte [ebp], 2
je case.0x10019d91.3
movq xmm0, qword [esp + 0x1c]
sub esp, 0x10
mov eax, esp
mov ecx, ebp
movq qword [eax + 4], xmm0
mov dword [eax], ebx
mov dword [eax + 0xc], edi
lea eax, [esp + 0x48]
push eax
call fcn.10026580
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x18], xmm0
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
jmp 0x10019e22
movzx eax, byte [ebx]
cmp eax, 9
ja case.0x10019df8.0
movzx eax, byte [eax + 0x10019ea4]
jmp dword [eax*4 + 0x10019e98]
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], eax
call fcn.10024500
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
jmp 0x10019e22
add dword [esp + 0x20], 0x10
jmp 0x10019e22
inc edi
lea eax, [esp + 0x28]
mov ecx, ebp
push eax
call fcn.1001f870
mov edx, eax
cmp ebx, dword [edx]
jne case.0x10019d57.0
jmp 0x10019d11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
call fcn.101bbc57
nop
cmp dword [ebp - 0x62d8efff], ebx
add dword [eax], edx
xor byte [ebp + 0x1001001], bl
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
nop
inc ecx
sahf
add dword [eax], edx
pop esi
popfd
add dword [eax], edx
jno 0x10019e07
add dword [eax], edx
popfd
add dword [eax], edx
add byte [ecx], al
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
nop
mov al, 0x9d
add dword [eax], edx
mov byte [0x9810019d], al
popfd
add dword [eax], edx
jmp 0x1011a02a
sub ecx, dword [esp + 0x24]
cdq
push edi
sub eax, edx
mov dword [esp + 0x18], ecx
push esi
sar eax, 1
lea edx, [ecx - 0x157]
push 0x21
push eax
mov ecx, 0xe
call fcn.101a5670
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x2dc]
call fcn.100020c0
push 0xa5
push 0
push 0
mov edi, dword [eax]
lea ecx, [esp + 0x2dc]
push 0
call fcn.100020c0
mov ecx, 0x10240c90
mov esi, dword [eax]
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa4c]
mov dword [esp + 0x40], esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x30], eax
call fcn.100066e0
mov ecx, dword [esp + 0x40]
push eax
call fcn.10020d70
mov ecx, dword [esp + 0x30]
call fcn.101a58d0
cdq
mov ecx, 0x10240c90
sub eax, edx
sar eax, 1
mov dword [esp + 0x40], eax
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa4c]
mov dword [esp + 0x40], esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x30], eax
call fcn.100066e0
mov ecx, dword [esp + 0x40]
push eax
call fcn.10020d70
mov ecx, dword [esp + 0x30]
call fcn.101a58d0
cdq
xorps xmm0, xmm0
push edi
sub eax, edx
push esi
mov esi, dword [esp + 0x1c]
sar eax, 1
push 0x21
push dword [esp + 0x4c]
lea edx, [esi - 0x157]
lea ecx, [eax + 0xe]
call fcn.101a5670
movss xmm1, dword [0x10215478]
lea eax, [esi - 0x153]
movd xmm2, eax
lea ecx, [esp + 0x560]
cvtdq2ps xmm2, xmm2
call fcn.1009d5c0
push 0xc8
push 0
push 0
movss xmm0, dword [eax]
lea ecx, [esp + 0x2e0]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 4]
push 0
movss dword [esp + 0x2c], xmm0
call fcn.100020c0
mov ecx, 0x10240c90
mov esi, dword [eax]
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa4c]
mov edi, esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x40], eax
call fcn.100066e0
push eax
mov ecx, edi
call fcn.10020d70
mov ecx, dword [esp + 0x40]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x34]
push esi
call fcn.101a5300
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x568]
movss xmm1, dword [0x10215474]
add eax, 0xfffffeac
movd xmm2, eax
cvtdq2ps xmm2, xmm2
call fcn.1009d5c0
mov esi, dword [esp + 0xc0]
mov ecx, 0x10240c90
movss xmm0, dword [eax]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x1c], xmm0
call fcn.10036090
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x28], eax
sub esp, 0x18
lea ecx, [esp + 0xa4c]
mov edi, esp
call fcn.100066e0
push eax
mov ecx, edi
call fcn.10020d70
mov ecx, dword [esp + 0x40]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x34]
push esi
call fcn.101a5300
add dword [esp + 0x24], 0x24
lea ecx, [esp + 0xa34]
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x40000
je case.0x1011a26b.0
cmp byte [eax + 0x3439], 0
je case.0x1011a26b.0
mov edx, dword [eax + 0x343c]
lea ecx, [eax + 0x343c]
cmp edx, 3
ja case.0x1011a26b.0
jmp dword [edx*4 + 0x1011e644]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011a283
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011a26b.0
lea eax, [esp + 0xaec]
push eax
lea ecx, [esp + 0x75]
call fcn.1011ea60
mov edi, eax
cmp byte [edi + 5], 0
je 0x1011a2e0
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 6
jl 0x1011a2b0
push edi
lea ecx, [esp + 0x11f0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xa20]
call fcn.10020d70
lea ecx, [esp + 0x11ec]
call fcn.10002120
push 0xc8
push 0xff
push 0xff
push 0xff
lea ecx, [esp + 0xe8]
call fcn.100020c0
push 0xa5
push 0
push 0
push 0
lea ecx, [esp + 0x2e8]
call fcn.100020c0
push 0
push 0
push 0
mov edi, dword [eax]
lea ecx, [esp + 0x2e8]
push 0
call fcn.100020c0
mov ecx, 0x10240c90
mov esi, dword [eax]
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa34]
mov dword [esp + 0x40], esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x30], eax
call fcn.100066e0
mov ecx, dword [esp + 0x40]
push eax
call fcn.10020d70
mov ecx, dword [esp + 0x30]
call fcn.101a58d0
mov ecx, dword [esp + 0x34]
xorps xmm0, xmm0
sub ecx, dword [esp + 0x24]
cdq
push edi
sub eax, edx
mov dword [esp + 0x18], ecx
push esi
sar eax, 1
lea edx, [ecx - 0x157]
push 0x21
push eax
mov ecx, 0xe
call fcn.101a5670
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x2f0]
call fcn.100020c0
push 0xa5
push 0
push 0
mov edi, dword [eax]
lea ecx, [esp + 0x2f0]
push 0
call fcn.100020c0
mov ecx, 0x10240c90
mov esi, dword [eax]
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa34]
mov dword [esp + 0x40], esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x30], eax
call fcn.100066e0
mov ecx, dword [esp + 0x40]
push eax
call fcn.10020d70
mov ecx, dword [esp + 0x30]
call fcn.101a58d0
cdq
mov ecx, 0x10240c90
sub eax, edx
sar eax, 1
mov dword [esp + 0x40], eax
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa34]
mov dword [esp + 0x40], esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x30], eax
call fcn.100066e0
mov ecx, dword [esp + 0x40]
push eax
call fcn.10020d70
mov ecx, dword [esp + 0x30]
call fcn.101a58d0
cdq
xorps xmm0, xmm0
push edi
sub eax, edx
push esi
mov esi, dword [esp + 0x1c]
sar eax, 1
push 0x21
push dword [esp + 0x4c]
lea edx, [esi - 0x157]
lea ecx, [eax + 0xe]
call fcn.101a5670
movss xmm1, dword [0x10215478]
lea eax, [esi - 0x153]
movd xmm2, eax
lea ecx, [esp + 0x570]
cvtdq2ps xmm2, xmm2
call fcn.1009d5c0
push 0xc8
push 0
push 0
movss xmm0, dword [eax]
lea ecx, [esp + 0x2f4]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 4]
push 0
movss dword [esp + 0x2c], xmm0
call fcn.100020c0
mov ecx, 0x10240c90
mov esi, dword [eax]
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa34]
mov edi, esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x40], eax
call fcn.100066e0
push eax
mov ecx, edi
call fcn.10020d70
mov ecx, dword [esp + 0x40]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x34]
push esi
call fcn.101a5300
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x578]
movss xmm1, dword [0x10215474]
add eax, 0xfffffeac
movd xmm2, eax
cvtdq2ps xmm2, xmm2
call fcn.1009d5c0
mov esi, dword [esp + 0xd8]
mov ecx, 0x10240c90
movss xmm0, dword [eax]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x1c], xmm0
call fcn.10036090
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x28], eax
sub esp, 0x18
lea ecx, [esp + 0xa34]
mov edi, esp
call fcn.100066e0
push eax
mov ecx, edi
call fcn.10020d70
mov ecx, dword [esp + 0x40]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x34]
push esi
call fcn.101a5300
add dword [esp + 0x24], 0x24
lea ecx, [esp + 0xa1c]
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x80000
je case.0x1011a5db.0
cmp byte [eax + 0x3411], 0
je case.0x1011a5db.0
mov edx, dword [eax + 0x3414]
lea ecx, [eax + 0x3414]
cmp edx, 3
ja case.0x1011a5db.0
jmp dword [edx*4 + 0x1011e654]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011a5f3
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011a5db.0
lea eax, [esp + 0xadc]
push eax
lea ecx, [esp + 0x76]
call fcn.1011ea80
mov edi, eax
cmp byte [edi + 4], 0
je 0x1011a650
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 5
jl 0x1011a620
push edi
lea ecx, [esp + 0x1208]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xa08]
call fcn.10020d70
lea ecx, [esp + 0x1204]
call fcn.10002120
push 0xc8
push 0xff
push 0xff
push 0xff
lea ecx, [esp + 0xfc]
call fcn.100020c0
push 0xa5
push 0
push 0
push 0
lea ecx, [esp + 0x2fc]
call fcn.100020c0
push 0
push 0
push 0
mov edi, dword [eax]
lea ecx, [esp + 0x2fc]
push 0
call fcn.100020c0
mov ecx, 0x10240c90
mov esi, dword [eax]
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa1c]
mov dword [esp + 0x40], esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x30], eax
call fcn.100066e0
mov ecx, dword [esp + 0x40]
push eax
call fcn.10020d70
mov ecx, dword [esp + 0x30]
call fcn.101a58d0
mov ecx, dword [esp + 0x34]
xorps xmm0, xmm0
sub ecx, dword [esp + 0x24]
cdq
push edi
sub eax, edx
mov dword [esp + 0x38], ecx
push esi
sar eax, 1
lea edx, [ecx - 0x157]
push 0x21
push eax
mov ecx, 0xe
call fcn.101a5670
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x304]
call fcn.100020c0
push 0xa5
push 0
push 0
mov edi, dword [eax]
lea ecx, [esp + 0x304]
push 0
call fcn.100020c0
mov ecx, 0x10240c90
mov esi, dword [eax]
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa1c]
mov dword [esp + 0x40], esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x30], eax
call fcn.100066e0
mov ecx, dword [esp + 0x40]
push eax
call fcn.10020d70
mov ecx, dword [esp + 0x30]
call fcn.101a58d0
cdq
mov ecx, 0x10240c90
sub eax, edx
sar eax, 1
mov dword [esp + 0x40], eax
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa1c]
mov dword [esp + 0x40], esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x30], eax
call fcn.100066e0
mov ecx, dword [esp + 0x40]
push eax
call fcn.10020d70
mov ecx, dword [esp + 0x30]
call fcn.101a58d0
cdq
xorps xmm0, xmm0
push edi
sub eax, edx
push esi
mov esi, dword [esp + 0x3c]
sar eax, 1
push 0x21
push dword [esp + 0x4c]
lea edx, [esi - 0x157]
lea ecx, [eax + 0xe]
call fcn.101a5670
movss xmm1, dword [0x10215478]
lea eax, [esi - 0x153]
movd xmm2, eax
lea ecx, [esp + 0x580]
cvtdq2ps xmm2, xmm2
call fcn.1009d5c0
push 0xc8
push 0
push 0
movss xmm0, dword [eax]
lea ecx, [esp + 0x308]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 4]
push 0
movss dword [esp + 0x2c], xmm0
call fcn.100020c0
mov ecx, 0x10240c90
mov esi, dword [eax]
call fcn.10036090
sub esp, 0x18
lea ecx, [esp + 0xa1c]
mov edi, esp
mov eax, dword [eax + 0x20]
mov dword [esp + 0x40], eax
call fcn.100066e0
push eax
mov ecx, edi
call fcn.10020d70
mov ecx, dword [esp + 0x40]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x34]
push esi
call fcn.101a5300
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x588]
movss xmm1, dword [0x10215474]
add eax, 0xfffffeac
movd xmm2, eax
cvtdq2ps xmm2, xmm2
call fcn.1009d5c0
mov esi, dword [esp + 0xec]
mov ecx, 0x10240c90
movss xmm0, dword [eax]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x1c], xmm0
call fcn.10036090
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x28], eax
sub esp, 0x18
lea ecx, [esp + 0xa1c]
mov edi, esp
call fcn.100066e0
push eax
mov ecx, edi
call fcn.10020d70
mov ecx, dword [esp + 0x40]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x34]
push esi
call fcn.101a5300
lea ecx, [esp + 0xa04]
call fcn.10002120
mov eax, dword [0x10240c80]
cmp dword [eax + 0x33c8], 1
jne case.0x1011e37b.0
mov eax, dword [0x10240c88]
push 0xff
push 0xff
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
mov eax, dword [ecx]
mov eax, dword [eax + 0x64]
call eax
mov eax, dword [0x10240c88]
mov edx, dword [eax + 0x5c]
mov eax, dword [0x10240c90]
mov ecx, dword [eax + 0x2c]
mov eax, dword [edx]
push ecx
mov ecx, edx
mov eax, dword [eax + 0x5c]
call eax
movss xmm1, dword [esp + 0x58]
movss xmm0, dword [esp + 0x3c]
mulss xmm1, dword [0x1021523c]
mov eax, dword [0x10240c88]
mulss xmm0, dword [0x1021523c]
movss dword [esp + 0x58], xmm1
addss xmm1, dword [0x10215428]
mov ecx, dword [eax + 0x5c]
movss dword [esp + 0x3c], xmm0
addss xmm0, dword [0x10215418]
mov eax, dword [ecx]
cvttss2si edx, xmm1
mov eax, dword [eax + 0x68]
cvttss2si esi, xmm0
push edx
mov dword [esp + 0x2c], edx
movss dword [esp + 0x38], xmm0
push esi
movss dword [esp + 0x20], xmm1
mov dword [esp + 0x1c], esi
call eax
mov ax, word [0x1020c8d4]
xor edx, edx
movq xmm0, qword [0x1020c8cc]
mov word [esp + 0x898], ax
mov al, byte [0x1020c8d6]
movq qword [esp + 0x890], xmm0
mov byte [esp + 0x89a], al
mov dword [esp + 0x38], edx
mov eax, 0x1f7047dd
mul edx
mov eax, dword [esp + 0x38]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [esp + 0x38]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x890], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xb
jl 0x1011a9f4
lea ecx, [esp + 0xc5c]
call fcn.10029d60
lea ecx, [esp + 0x890]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011aa40
sub ecx, edx
lea eax, [esp + 0x890]
push ecx
push eax
lea ecx, [esp + 0xc64]
call fcn.10027a90
lea ecx, [esp + 0xc5c]
call fcn.100066e0
lea ecx, [esp + 0xa94]
mov esi, eax
call fcn.10029d60
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011aa80
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xa9c]
call fcn.10027a90
lea ecx, [esp + 0xc5c]
call fcn.10002120
mov eax, dword [0x10240c88]
lea ecx, [esp + 0xa94]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x300]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xa94]
mov esi, dword [eax]
lea eax, [esp + 0x304]
push eax
call fcn.1003c210
lea ecx, [esp + 0x73]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1228]
call fcn.1003c800
lea ecx, [esp + 0x590]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [edi]
push ecx
push edx
mov ecx, edi
mov eax, dword [eax + 0x70]
call eax
lea ecx, [esp + 0x121c]
call fcn.100021f0
mov eax, dword [0x10240c88]
push str.MEDUSA.
mov ecx, dword [eax + 0x5c]
mov eax, dword [0x10240c90]
push dword [eax + 0x2c]
lea eax, [esp + 0x3c0]
push eax
call fcn.10036170
mov esi, dword [0x10240c80]
mov eax, dword [0x10240c88]
cmp byte [esi + 0x33e8], 0
mov edi, dword [eax + 0x5c]
jne 0x1011abd3
mov eax, dword [0x10240c7c]
mov eax, dword [eax + 0xc]
movss xmm0, dword [eax + 0x10]
mulss xmm0, dword [0x10215408]
cvtps2pd xmm0, xmm0
call fcn.101de9c0
movss xmm1, dword [0x102155a4]
mov ecx, edi
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x1021523c]
addss xmm0, dword [0x1021523c]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x33dc]
mulss xmm0, xmm1
push eax
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x33d8]
mulss xmm0, xmm1
push eax
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x33d4]
mulss xmm0, xmm1
push eax
cvttss2si eax, xmm0
push eax
mov eax, dword [edi]
mov eax, dword [eax + 0x64]
call eax
jmp 0x1011abf5
movss xmm0, dword [esi + 0x33e4]
push 0xff
sub esp, 0xc
mov ecx, esp
push ecx
call fcn.101aab00
add esp, 4
mov ecx, edi
call fcn.100361d0
mov eax, dword [0x10240c88]
mov ecx, dword [eax + 0x5c]
mov eax, dword [0x10240c90]
mov edx, dword [ecx]
push dword [eax + 0x2c]
mov eax, dword [edx + 0x5c]
call eax
movd xmm0, dword [esp + 0x3b8]
mov eax, dword [0x10240c88]
push dword [esp + 0x28]
cvtdq2ps xmm0, xmm0
mov ecx, dword [eax + 0x5c]
addss xmm0, dword [esp + 0x38]
mov edx, dword [ecx]
cvttss2si eax, xmm0
push eax
mov eax, dword [edx + 0x68]
call eax
cmp byte [0x1020c58b], 0
mov eax, dword [str.g5prx6]
mov dword [esp + 0x64], eax
je 0x1011ad14
xor edx, edx
cmp dword [0x10241d90], 2
mov dword [esp + 0x38], edx
jl 0x1011ace0
movaps xmm3, xmmword [0x102157f0]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x10215c30]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x10215c30]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x10215890]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.2222222222222222]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x64], xmm1
jmp 0x1011ad14
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x38]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x38]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x64], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 4
jl 0x1011ace0
lea ecx, [esp + 0xc74]
call fcn.10029d60
lea ecx, [esp + 0x64]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011ad27
sub ecx, edx
lea eax, [esp + 0x64]
push ecx
push eax
lea ecx, [esp + 0xc7c]
call fcn.10027a90
lea ecx, [esp + 0xc74]
call fcn.100066e0
lea ecx, [esp + 0xaac]
mov esi, eax
call fcn.10029d60
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011ad61
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xab4]
call fcn.10027a90
lea ecx, [esp + 0xc74]
call fcn.10002120
mov eax, dword [0x10240c88]
lea ecx, [esp + 0xaac]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x308]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xaac]
mov esi, dword [eax]
lea eax, [esp + 0x30c]
push eax
call fcn.1003c210
lea ecx, [esp + 0x74]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1240]
call fcn.1003c800
lea ecx, [esp + 0x598]
push ecx
mov ecx, eax
call fcn.100208a0
mov edx, dword [edi]
mov ecx, edi
push 0
push dword [eax + 4]
push dword [eax]
mov eax, dword [edx + 0x70]
call eax
lea ecx, [esp + 0x1234]
call fcn.100021f0
mov edi, 2
lea ecx, [esp + 0xaac]
mov dword [esp + 0x24], edi
call fcn.10002120
lea ecx, [esp + 0xa94]
call fcn.10002120
mov eax, dword [0x10240c88]
push 0xff
push 0xff
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
mov eax, dword [0x10240c88]
push 0x1020bf34
mov esi, dword [eax + 0x5c]
mov ecx, esi
mov eax, dword [0x10240c90]
push dword [eax + 0x2c]
lea eax, [esp + 0x5a8]
push eax
call fcn.10036170
push str.MEDUSA.
movd xmm0, dword [eax + 4]
mov eax, dword [0x10240c88]
cvtdq2ps xmm0, xmm0
mov ecx, dword [eax + 0x5c]
mov eax, dword [0x10240c90]
addss xmm0, dword [esp + 0x1c]
push dword [eax + 0x2c]
lea eax, [esp + 0x5b0]
push eax
movss dword [esp + 0x34], xmm0
call fcn.10036170
movd xmm0, dword [eax]
mov eax, dword [0x10240c88]
cvtdq2ps xmm0, xmm0
mov ecx, dword [eax + 0x5c]
mov eax, dword [0x10240c90]
addss xmm0, dword [esp + 0x3c]
addss xmm0, dword [0x10215418]
movss dword [esp + 0x18], xmm0
push str.MEDUSA.
push dword [eax + 0x2c]
lea eax, [esp + 0x4c8]
push eax
call fcn.10036170
mov edx, dword [esi]
mov ecx, esi
movd xmm0, dword [eax + 4]
cvttss2si eax, dword [esp + 0x28]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, dword [esp + 0x1c]
addss xmm0, dword [esp + 0x5c]
push eax
addss xmm0, dword [0x10215428]
cvttss2si eax, xmm0
push eax
push dword [esp + 0x20]
mov eax, dword [edx + 0x4c]
call eax
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x400
je case.0x1011af30.0
mov edx, dword [eax + 0xf00]
lea ecx, [eax + 0xf00]
cmp edx, 3
ja case.0x1011af30.0
jmp dword [edx*4 + 0x1011e664]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011af48
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011af30.0
cmp byte [eax + 0x2bd], 0
je case.0x1011af30.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x1021545c]
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xdf0]
push eax
lea ecx, [esp + 0x79]
call fcn.1011eaa0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011b022
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0xb
jl 0x1011aff2
push edi
lea ecx, [esp + 0x1250]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xc90]
call fcn.10020d70
lea ecx, [esp + 0x124c]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xc8c]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x310]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xc8c]
mov esi, dword [eax]
lea eax, [esp + 0x314]
push eax
call fcn.1003c210
lea ecx, [esp + 0x76]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1270]
call fcn.1003c800
lea ecx, [esp + 0x5b0]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x1264]
call fcn.10002110
mov edi, 3
lea ecx, [esp + 0xc8c]
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test byte [eax + 0x33d0], 0x20
je 0x1011b484
imul ecx, dword [0x1024c184], 0x58
cmp byte [ecx + eax + 0xb64], 0
je 0x1011b484
cmp dword [ecx + eax + 0xb5c], 3
je 0x1011b484
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esp + 0x58]
addss xmm0, dword [0x102153c0]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1003c8c0
lea eax, [esp + 0xd64]
push eax
lea ecx, [esp + 0x7b]
call fcn.1011ead0
mov edi, eax
cmp byte [edi + 7], 0
je 0x1011b2e3
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x3c], ecx
jl 0x1011b2b2
movaps xmm2, xmmword [0x102157f0]
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x1011b2e3
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 8
jl 0x1011b2b2
push edi
lea ecx, [esp + 0x1280]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xca8]
call fcn.10020d70
lea ecx, [esp + 0x127c]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xca4]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x318]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xca4]
mov esi, dword [eax]
lea eax, [esp + 0x31c]
push eax
call fcn.1003c210
lea ecx, [esp + 0x78]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x12a0]
call fcn.1003c800
lea ecx, [esp + 0x5b8]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x1294]
call fcn.10002110
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
push str.DESYNC
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
lea eax, [esp + 0x3c8]
push eax
call fcn.10036170
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0xff
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movd xmm1, dword [esp + 0x3c0]
movss xmm2, dword [esp + 0x28]
cvtdq2ps xmm1, xmm1
mov ecx, dword [eax + 0x5c]
addss xmm1, dword [esp + 0x34]
call fcn.1003c8c0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe5c]
call fcn.100c9120
mov edi, 0x1020bf80
test al, al
mov ecx, 0x10240c88
mov eax, 0x1020bf88
cmove edi, eax
call fcn.10036090
push 0
sub esp, 8
mov ecx, esp
mov esi, dword [eax + 0x5c]
push edi
call fcn.10020ec0
mov ecx, esi
call fcn.10036220
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xca4]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test byte [eax + 0x33d0], 0x80
je case.0x1011bdb1.0
mov edx, dword [eax + 0xd84]
lea ecx, [eax + 0xd84]
cmp edx, 3
ja case.0x1011b4a6.0
jmp dword [edx*4 + 0x1011e674]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011b4be
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011b4a6.0
mov eax, dword [0x10240c88]
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
mov eax, dword [ecx]
mov eax, dword [eax + 0x64]
call eax
mov eax, dword [0x10240c88]
mov ecx, dword [eax + 0x5c]
mov eax, dword [0x10240c90]
mov edx, dword [ecx]
push dword [eax + 0x2c]
mov eax, dword [edx + 0x5c]
call eax
mov eax, dword [0x10240c88]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov edx, dword [ecx]
addss xmm0, dword [esp + 0x58]
addss xmm0, dword [0x102153c0]
cvttss2si eax, xmm0
push eax
push dword [esp + 0x18]
mov eax, dword [edx + 0x68]
call eax
cmp byte [0x1020d737], 0
movq xmm0, qword [0x1020d72c]
mov eax, dword [0x1020d734]
movq qword [esp + 0x874], xmm0
mov dword [esp + 0x87c], eax
je 0x1011b6b7
xor edx, edx
cmp dword [0x10241d90], 2
mov dword [esp + 0x38], edx
jl 0x1011b680
movaps xmm2, xmmword [0x102157f0]
mov edx, 8
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x38], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x1020d72c]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x874], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x878]
xorps xmm1, xmm0
movd dword [esp + 0x878], xmm1
nop dword [eax]
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x38]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x38]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x874], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xc
jl 0x1011b680
lea ecx, [esp + 0xcbc]
call fcn.10029d60
lea ecx, [esp + 0x874]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011b6d0
sub ecx, edx
lea eax, [esp + 0x874]
push ecx
push eax
lea ecx, [esp + 0xcc4]
call fcn.10027a90
lea ecx, [esp + 0xcbc]
call fcn.100066e0
lea ecx, [esp + 0xa7c]
mov esi, eax
call fcn.10029d60
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011b710
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xa84]
call fcn.10027a90
lea ecx, [esp + 0xcbc]
call fcn.10002120
mov eax, dword [0x10240c88]
lea ecx, [esp + 0xa7c]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x320]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xa7c]
mov esi, dword [eax]
lea eax, [esp + 0x324]
push eax
call fcn.1003c210
lea ecx, [esp + 0x79]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x12b8]
call fcn.1003c800
lea ecx, [esp + 0x5c0]
push ecx
mov ecx, eax
call fcn.100208a0
mov edx, dword [edi]
mov ecx, edi
push 0
push dword [eax + 4]
push dword [eax]
mov eax, dword [edx + 0x70]
call eax
lea ecx, [esp + 0x12ac]
call fcn.100021f0
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xa7c]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
mov edx, dword [eax + 0xd60]
lea ecx, [eax + 0xd60]
cmp edx, 3
ja case.0x1011b7d3.0
jmp dword [edx*4 + 0x1011e684]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011b7eb
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011b7d3.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0x163c]
push eax
lea ecx, [esp + 0x7e]
call fcn.1011eaf0
mov edi, eax
mov dword [esp + 0x18], edi
cmp byte [edi + 0xf], 0
je 0x1011ba15
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x3c], ecx
jl 0x1011b9e4
movaps xmm0, xmmword [str.2222222222222222]
mov eax, 4
movaps xmm4, xmmword [0x102157f0]
xor edx, edx
movaps xmm3, xmmword [0x10215c30]
sub eax, edi
movaps xmm5, xmmword [0x10215890]
mov ecx, edi
movaps xmmword [esp + 0x40], xmm0
mov edi, eax
mov esi, dword [esp + 0x40]
mov dword [esp + 0x28], eax
nop word [eax + eax]
movd xmm0, edx
lea eax, [edi + ecx]
pshufd xmm2, xmm0, 0
lea ecx, [ecx + 8]
paddd xmm2, xmm4
add edx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ecx - 8], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [ecx - 4]
xorps xmm1, xmm0
movd dword [ecx - 4], xmm1
cmp edx, 0x10
jl 0x1011b8e0
mov edi, dword [esp + 0x18]
jmp 0x1011ba15
mov eax, 0x8fb823ef
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0x10
jl 0x1011b9e4
push edi
lea ecx, [esp + 0x12c8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xcd8]
call fcn.10020d70
lea ecx, [esp + 0x12c4]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xcd4]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x328]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xcd4]
mov esi, dword [eax]
lea eax, [esp + 0x32c]
push eax
call fcn.1003c210
lea ecx, [esp + 0x7b]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x12e8]
call fcn.1003c800
lea ecx, [esp + 0x5c8]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x12dc]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xcd4]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
mov edx, dword [eax + 0xdcc]
lea ecx, [eax + 0xdcc]
cmp edx, 3
ja case.0x1011bae5.0
jmp dword [edx*4 + 0x1011e694]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011bafd
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011bae5.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0x161c]
push eax
lea ecx, [esp + 0x80]
call fcn.1011eb10
mov edi, eax
cmp byte [edi + 0xc], 0
je 0x1011bce1
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x3c], ecx
jl 0x1011bcb0
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x3c], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop dword [eax + eax]
mov eax, 0x8fb823ef
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0xd
jl 0x1011bcb0
push edi
lea ecx, [esp + 0x12f8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xcf0]
call fcn.10020d70
lea ecx, [esp + 0x12f4]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xcec]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x330]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xcec]
mov esi, dword [eax]
lea eax, [esp + 0x334]
push eax
call fcn.1003c210
lea ecx, [esp + 0x7d]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1318]
call fcn.1003c800
lea ecx, [esp + 0x5d0]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x130c]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xcec]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
mov edx, dword [eax + 0xda8]
lea ecx, [eax + 0xda8]
cmp edx, 3
ja case.0x1011bdb1.0
jmp dword [edx*4 + 0x1011e6a4]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011bdc9
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011bdb1.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0x162c]
push eax
lea ecx, [esp + 0x82]
call fcn.1011eb40
mov edi, eax
cmp byte [edi + 0xd], 0
je 0x1011bfb1
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x3c], ecx
jl 0x1011bf80
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x3c], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop word [eax + eax]
mov eax, 0x8fb823ef
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0xe
jl 0x1011bf80
push edi
lea ecx, [esp + 0x1328]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xd08]
call fcn.10020d70
lea ecx, [esp + 0x1324]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xd04]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x338]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xd04]
mov esi, dword [eax]
lea eax, [esp + 0x33c]
push eax
call fcn.1003c210
lea ecx, [esp + 0x7f]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1348]
call fcn.1003c800
lea ecx, [esp + 0x5d8]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x133c]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xd04]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test byte [eax + 0x33d0], 0x10
je 0x1011c2a0
mov ecx, dword [0x10242574]
cmp dword [ecx], 0
je 0x1011c2a0
mov ecx, 0x10242574
call fcn.10035490
mov ecx, eax
call fcn.100354b0
test al, al
je 0x1011c29b
mov ecx, 0x10240c80
call fcn.10036090
push dword [0x1024c184]
lea ecx, [eax + 0xb28]
call fcn.10029910
cmp byte [eax + 0x21], 0
je 0x1011c29b
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe38]
call fcn.100c9120
test al, al
je 0x1011c29b
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esp + 0x58]
addss xmm0, dword [0x102153c0]
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
call fcn.1003c8c0
mov ecx, 0x10240c88
call fcn.10036090
push 0
sub esp, 8
mov ecx, esp
mov esi, dword [eax + 0x5c]
push str.FAKE__FLICK
call fcn.10020ec0
mov ecx, esi
call fcn.10036220
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
push str.FAKE__FLICK
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
lea eax, [esp + 0x3d0]
push eax
call fcn.10036170
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0xff
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movd xmm1, dword [esp + 0x3c8]
movss xmm2, dword [esp + 0x28]
cvtdq2ps xmm1, xmm1
mov ecx, dword [eax + 0x5c]
addss xmm1, dword [esp + 0x34]
call fcn.1003c8c0
mov ecx, 0x10240c80
call fcn.10036090
lea ecx, [eax + 0xe14]
call fcn.100c9120
test al, al
mov ecx, 0x1020bf80
mov eax, 0x1020bf88
cmovne eax, ecx
lea ecx, [esp + 0xd9c]
push eax
call fcn.1003c1b0
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xd9c]
mov esi, dword [eax + 0x5c]
lea eax, [esp + 0x5e0]
push eax
call fcn.100208a0
push 0
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
inc edi
lea ecx, [esp + 0xd9c]
mov dword [esp + 0x24], edi
call fcn.10002110
mov eax, dword [0x10240c80]
test byte [eax + 0x33d0], 1
je case.0x1011c2c2.0
mov edx, dword [eax + 0xe80]
lea ecx, [eax + 0xe80]
cmp edx, 3
ja case.0x1011c2c2.0
jmp dword [edx*4 + 0x1011e6b4]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011c2da
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011c2c2.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xe5c]
push eax
lea ecx, [esp + 0x84]
call fcn.1011eb70
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x1011c4c1
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x3c], ecx
jl 0x1011c490
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x3c], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop dword [eax + eax]
mov eax, 0x8fb823ef
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0xc
jl 0x1011c490
push edi
lea ecx, [esp + 0x1358]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xd20]
call fcn.10020d70
lea ecx, [esp + 0x1354]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xd1c]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x340]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xd1c]
mov esi, dword [eax]
lea eax, [esp + 0x344]
push eax
call fcn.1003c210
lea ecx, [esp + 0x81]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1378]
call fcn.1003c800
lea ecx, [esp + 0x5e8]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x136c]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xd1c]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test byte [eax + 0x33d0], 2
je case.0x1011c5a1.0
mov edx, dword [eax + 0xea4]
lea ecx, [eax + 0xea4]
cmp edx, 3
ja case.0x1011c5a1.0
jmp dword [edx*4 + 0x1011e6c4]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011c5b9
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011c5a1.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xe50]
push eax
lea ecx, [esp + 0x86]
call fcn.1011eb90
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x1011c7a1
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x3c], ecx
jl 0x1011c770
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x3c], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop word [eax + eax]
mov eax, 0x8fb823ef
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0xc
jl 0x1011c770
push edi
lea ecx, [esp + 0x1388]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xaf8]
call fcn.10020d70
lea ecx, [esp + 0x1384]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xaf4]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x348]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xaf4]
mov esi, dword [eax]
lea eax, [esp + 0x34c]
push eax
call fcn.1003c210
lea ecx, [esp + 0x83]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x13a8]
call fcn.1003c800
lea ecx, [esp + 0x5f0]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x139c]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xaf4]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x100
je case.0x1011c884.0
mov edx, dword [eax + 0xdf0]
lea ecx, [eax + 0xdf0]
cmp edx, 3
ja case.0x1011c884.0
jmp dword [edx*4 + 0x1011e6d4]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011c89c
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011c884.0
mov ecx, 0x10240c80
call fcn.10036090
push dword [0x1024c184]
lea ecx, [eax + 0xb28]
call fcn.10029910
cmp byte [eax + 0x28], 0
je 0x1011ca4c
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xdc0]
push eax
lea ecx, [esp + 0x88]
call fcn.1011ebb0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1011c993
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0xa
jl 0x1011c963
push edi
lea ecx, [esp + 0x13b8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xb10]
call fcn.10020d70
lea ecx, [esp + 0x13b4]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xb0c]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x350]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xb0c]
mov esi, dword [eax]
lea eax, [esp + 0x354]
push eax
call fcn.1003c210
lea ecx, [esp + 0x85]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x13d8]
call fcn.1003c800
lea ecx, [esp + 0x5f8]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x13cc]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xb0c]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x200
je case.0x1011ca76.0
mov edx, dword [eax + 0xaa0]
lea ecx, [eax + 0xaa0]
cmp edx, 3
ja case.0x1011ca76.0
jmp dword [edx*4 + 0x1011e6e4]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011ca8e
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011ca76.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xe44]
push eax
lea ecx, [esp + 0x8a]
call fcn.1011ebd0
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x1011cc71
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x3c], ecx
jl 0x1011cc40
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x3c], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop dword [eax]
mov eax, 0x8fb823ef
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0xc
jl 0x1011cc40
push edi
lea ecx, [esp + 0x13e8]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xb28]
call fcn.10020d70
lea ecx, [esp + 0x13e4]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xb24]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x358]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xb24]
mov esi, dword [eax]
lea eax, [esp + 0x35c]
push eax
call fcn.1003c210
lea ecx, [esp + 0x87]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1408]
call fcn.1003c800
lea ecx, [esp + 0x600]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x13fc]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xb24]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test byte [eax + 0x33d0], 8
je case.0x1011cd51.0
mov edx, dword [eax + 0xd3c]
lea ecx, [eax + 0xd3c]
cmp edx, 3
ja case.0x1011cd51.0
jmp dword [edx*4 + 0x1011e6f4]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011cd69
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011cd51.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0x160c]
push eax
lea ecx, [esp + 0x8c]
call fcn.1011ebf0
mov edi, eax
cmp byte [edi + 0xc], 0
je 0x1011cf51
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x3c], ecx
jl 0x1011cf20
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x3c], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
nop word [eax + eax]
mov eax, 0x8fb823ef
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0xd
jl 0x1011cf20
push edi
lea ecx, [esp + 0x1418]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xb40]
call fcn.10020d70
lea ecx, [esp + 0x1414]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xb3c]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x360]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xb3c]
mov esi, dword [eax]
lea eax, [esp + 0x364]
push eax
call fcn.1003c210
lea ecx, [esp + 0x89]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1438]
call fcn.1003c800
lea ecx, [esp + 0x3d8]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x142c]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xb3c]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test byte [eax + 0x33d0], 4
je case.0x1011d031.0
mov edx, dword [eax + 0xa7c]
lea ecx, [eax + 0xa7c]
cmp edx, 3
ja case.0x1011d031.0
jmp dword [edx*4 + 0x1011e704]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011d049
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011d031.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, dword [eax + 0x5c]
mov eax, dword [0x10240c90]
mov edx, dword [ecx]
push dword [eax + 0x2c]
mov eax, dword [edx + 0x5c]
call eax
mov eax, dword [0x10240c88]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov edx, dword [ecx]
addss xmm0, dword [esp + 0x58]
addss xmm0, dword [0x102153c0]
cvttss2si eax, xmm0
push eax
push dword [esp + 0x18]
mov eax, dword [edx + 0x68]
call eax
mov eax, dword [0x1020d81c]
movq xmm0, qword [0x1020d814]
mov dword [esp + 0x888], eax
mov ax, word [0x1020d820]
movq qword [esp + 0x880], xmm0
mov word [esp + 0x88c], ax
test ah, ah
je 0x1011d24c
xor edx, edx
cmp dword [0x10241d90], 2
mov dword [esp + 0x38], edx
jl 0x1011d215
movaps xmm2, xmmword [0x102157f0]
mov edx, 8
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x38], edx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x1020d814]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x880], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x884]
xorps xmm1, xmm0
movd dword [esp + 0x884], xmm1
mov eax, 0x8fb823ef
imul edx
add edx, dword [esp + 0x38]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x38]
movsx eax, al
mov cl, dl
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x880], cl
inc edx
mov dword [esp + 0x38], edx
cmp edx, 0xe
jl 0x1011d215
lea ecx, [esp + 0xb54]
call fcn.10029d60
lea ecx, [esp + 0x880]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011d262
sub ecx, edx
lea eax, [esp + 0x880]
push ecx
push eax
lea ecx, [esp + 0xb5c]
call fcn.10027a90
lea ecx, [esp + 0xb54]
call fcn.100066e0
lea ecx, [esp + 0xa64]
mov esi, eax
call fcn.10029d60
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011d2a0
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xa6c]
call fcn.10027a90
lea ecx, [esp + 0xb54]
call fcn.10002120
mov eax, dword [0x10240c88]
lea ecx, [esp + 0xa64]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x368]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xa64]
mov esi, dword [eax]
lea eax, [esp + 0x36c]
push eax
call fcn.1003c210
lea ecx, [esp + 0x8a]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1450]
call fcn.1003c800
lea ecx, [esp + 0x3e0]
push ecx
mov ecx, eax
call fcn.100208a0
mov edx, dword [edi]
mov ecx, edi
push 0
push dword [eax + 4]
push dword [eax]
mov eax, dword [edx + 0x70]
call eax
lea ecx, [esp + 0x1444]
call fcn.100021f0
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xa64]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x800
je case.0x1011d383.0
cmp byte [eax + 0x35ad], 0
je case.0x1011d383.0
mov edx, dword [eax + 0x35b0]
lea ecx, [eax + 0x35b0]
cmp edx, 3
ja case.0x1011d383.0
jmp dword [edx*4 + 0x1011e714]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011d39b
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011d383.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xe20]
push eax
lea ecx, [esp + 0x8f]
call fcn.1011ec20
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011d470
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop dword [eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xb
jl 0x1011d440
push edi
lea ecx, [esp + 0x1460]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xb70]
call fcn.10020d70
lea ecx, [esp + 0x145c]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xb6c]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x370]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xb6c]
mov esi, dword [eax]
lea eax, [esp + 0x374]
push eax
call fcn.1003c210
lea ecx, [esp + 0x8c]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1480]
call fcn.1003c800
lea ecx, [esp + 0x3e8]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x1474]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xb6c]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x1000
je case.0x1011d560.0
cmp byte [eax + 0x3570], 0
je case.0x1011d560.0
mov edx, dword [eax + 0x3574]
lea ecx, [eax + 0x3574]
cmp edx, 3
ja case.0x1011d560.0
jmp dword [edx*4 + 0x1011e724]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011d578
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011d560.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xe14]
push eax
lea ecx, [esp + 0x91]
call fcn.1011ec50
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011d650
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xb
jl 0x1011d620
push edi
lea ecx, [esp + 0x1490]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xb88]
call fcn.10020d70
lea ecx, [esp + 0x148c]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xb84]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x378]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xb84]
mov esi, dword [eax]
lea eax, [esp + 0x37c]
push eax
call fcn.1003c210
lea ecx, [esp + 0x8e]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x14b0]
call fcn.1003c800
lea ecx, [esp + 0x3f0]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x14a4]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xb84]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x2000
je case.0x1011d740.0
cmp byte [eax + 0x34dc], 0
je case.0x1011d740.0
mov edx, dword [eax + 0x34f4]
lea ecx, [eax + 0x34f4]
cmp edx, 3
ja case.0x1011d740.0
jmp dword [edx*4 + 0x1011e734]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011d758
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011d740.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xdcc]
push eax
lea ecx, [esp + 0x93]
call fcn.1011ec80
mov edi, eax
cmp byte [edi + 9], 0
je 0x1011d830
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xa
jl 0x1011d800
push edi
lea ecx, [esp + 0x14c0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xba0]
call fcn.10020d70
lea ecx, [esp + 0x14bc]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xb9c]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x380]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xb9c]
mov esi, dword [eax]
lea eax, [esp + 0x384]
push eax
call fcn.1003c210
lea ecx, [esp + 0x90]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x14e0]
call fcn.1003c800
lea ecx, [esp + 0x3f8]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x14d4]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xb9c]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x4000
je case.0x1011d920.0
cmp byte [eax + 0x3460], 0
je case.0x1011d920.0
mov edx, dword [eax + 0x3464]
lea ecx, [eax + 0x3464]
cmp edx, 3
ja case.0x1011d920.0
jmp dword [edx*4 + 0x1011e744]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011d938
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011d920.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xe2c]
push eax
lea ecx, [esp + 0x95]
call fcn.1011eca0
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011da10
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [ecx + edi]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xb
jl 0x1011d9e0
push edi
lea ecx, [esp + 0x14f0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xbb8]
call fcn.10020d70
lea ecx, [esp + 0x14ec]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xbb4]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x388]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xbb4]
mov esi, dword [eax]
lea eax, [esp + 0x38c]
push eax
call fcn.1003c210
lea ecx, [esp + 0x92]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1510]
call fcn.1003c800
lea ecx, [esp + 0x400]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x1504]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xbb4]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x10000
je case.0x1011db00.0
cmp byte [eax + 0x3518], 0
je case.0x1011db00.0
mov edx, dword [eax + 0x3520]
lea ecx, [eax + 0x3520]
cmp edx, 3
ja case.0x1011db00.0
jmp dword [edx*4 + 0x1011e754]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011db18
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011db00.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xe80]
push eax
lea ecx, [esp + 0x97]
call fcn.1011ecd0
mov edi, eax
cmp byte [edi + 0xb], 0
je 0x1011dcf7
xor ecx, ecx
cmp dword [0x10241d90], 2
mov dword [esp + 0x14], ecx
jl 0x1011dcc6
movaps xmm2, xmmword [0x102157f0]
mov ecx, 8
movaps xmm4, xmmword [0x10215c30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.2222222222222222]
psrad xmm1, 5
mov dword [esp + 0x14], ecx
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215890]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
xorps xmm1, xmm0
movd dword [edi + 4], xmm1
mov eax, 0x8fb823ef
lea esi, [edi + ecx]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xc
jl 0x1011dcc6
push edi
lea ecx, [esp + 0x1520]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xbd0]
call fcn.10020d70
lea ecx, [esp + 0x151c]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xbcc]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x390]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xbcc]
mov esi, dword [eax]
lea eax, [esp + 0x394]
push eax
call fcn.1003c210
lea ecx, [esp + 0x94]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1540]
call fcn.1003c800
lea ecx, [esp + 0x408]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x1534]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xbcc]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x20000
je case.0x1011dde7.0
cmp byte [eax + 0x34b4], 0
je case.0x1011dde7.0
mov edx, dword [eax + 0x34b8]
lea ecx, [eax + 0x34b8]
cmp edx, 3
ja case.0x1011dde7.0
jmp dword [edx*4 + 0x1011e764]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011ddff
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011dde7.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xdd8]
push eax
lea ecx, [esp + 0x99]
call fcn.1011ecf0
mov edi, eax
cmp byte [edi + 9], 0
je 0x1011ded1
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xa
jl 0x1011dea1
push edi
lea ecx, [esp + 0x1550]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xc30]
call fcn.10020d70
lea ecx, [esp + 0x154c]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xc2c]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x398]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xc2c]
mov esi, dword [eax]
lea eax, [esp + 0x39c]
push eax
call fcn.1003c210
lea ecx, [esp + 0x96]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1570]
call fcn.1003c800
lea ecx, [esp + 0x410]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x1564]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xc2c]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x8000
je case.0x1011dfc1.0
cmp byte [eax + 0x3488], 0
je case.0x1011dfc1.0
mov edx, dword [eax + 0x3490]
lea ecx, [eax + 0x3490]
cmp edx, 3
ja case.0x1011dfc1.0
jmp dword [edx*4 + 0x1011e774]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011dfd9
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011dfc1.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xe38]
push eax
lea ecx, [esp + 0x9b]
call fcn.1011ed10
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011e0b0
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop dword [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xb
jl 0x1011e080
push edi
lea ecx, [esp + 0x1580]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xbe8]
call fcn.10020d70
lea ecx, [esp + 0x157c]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xbe4]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x3a0]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xbe4]
mov esi, dword [eax]
lea eax, [esp + 0x3a4]
push eax
call fcn.1003c210
lea ecx, [esp + 0x98]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x15a0]
call fcn.1003c800
lea ecx, [esp + 0x418]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x1594]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xbe4]
inc edi
mov dword [esp + 0x24], edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x40000
je case.0x1011e1a0.0
cmp byte [eax + 0x3439], 0
je case.0x1011e1a0.0
mov edx, dword [eax + 0x343c]
lea ecx, [eax + 0x343c]
cmp edx, 3
ja case.0x1011e1a0.0
jmp dword [edx*4 + 0x1011e784]
call fcn.100c8e50
mov cl, al
mov eax, dword [0x10240c80]
jmp 0x1011e1b8
mov cl, byte [ecx + 0x20]
test cl, cl
je case.0x1011e1a0.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xdfc]
push eax
lea ecx, [esp + 0x9d]
call fcn.1011ed40
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011e290
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop word [eax + eax]
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xb
jl 0x1011e260
push edi
lea ecx, [esp + 0x15b0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xc00]
call fcn.10020d70
lea ecx, [esp + 0x15ac]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xbfc]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x3a8]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xbfc]
mov esi, dword [eax]
lea eax, [esp + 0x3ac]
push eax
call fcn.1003c210
lea ecx, [esp + 0x9a]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x15d0]
call fcn.1003c800
lea ecx, [esp + 0x420]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x15c4]
call fcn.10002110
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xbfc]
inc edi
call fcn.10002120
mov eax, dword [0x10240c80]
test dword [eax + 0x33d0], 0x80000
je case.0x1011e37b.0
cmp byte [eax + 0x3411], 0
je case.0x1011e37b.0
mov ecx, dword [eax + 0x3414]
add eax, 0x3414
cmp ecx, 3
ja case.0x1011e37b.0
jmp dword [ecx*4 + 0x1011e794]
mov ecx, eax
call fcn.100c8e50
jmp 0x1011e38e
mov al, byte [eax + 0x20]
test al, al
je case.0x1011e37b.0
mov ecx, 0x10240c88
call fcn.10036090
push 0xff
push 0x9f8
push 0xff
mov ecx, dword [eax + 0x5c]
push 0xff
call fcn.100361c0
mov ecx, 0x10240c88
call fcn.10036090
mov ecx, 0x10240c90
mov esi, dword [eax + 0x5c]
call fcn.10036090
mov ecx, esi
mov eax, dword [eax + 0x2c]
push eax
call fcn.100361b0
mov ecx, 0x10240c88
call fcn.10036090
movss xmm1, dword [esp + 0x34]
mov ecx, dword [eax + 0x5c]
lea eax, [edi + edi*8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, dword [esp + 0x58]
addss xmm2, dword [0x102153c0]
call fcn.1003c8c0
lea eax, [esp + 0xe08]
push eax
lea ecx, [esp + 0x9f]
call fcn.1011ed70
mov edi, eax
cmp byte [edi + 0xa], 0
je 0x1011e460
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov eax, 0x1f7047dd
lea esi, [edi + ecx]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul eax, eax, 0x39
sub cl, al
add cl, 0x32
xor byte [esi], cl
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, 0xb
jl 0x1011e430
push edi
lea ecx, [esp + 0x15e0]
call fcn.10020d70
mov ecx, eax
call fcn.100066e0
push eax
lea ecx, [esp + 0xc18]
call fcn.10020d70
lea ecx, [esp + 0x15dc]
call fcn.10002120
mov ecx, 0x10240c88
call fcn.10036090
lea ecx, [esp + 0xc14]
mov edi, dword [eax + 0x5c]
lea eax, [esp + 0x3b0]
push eax
call fcn.1003c1f0
lea ecx, [esp + 0xc14]
mov esi, dword [eax]
lea eax, [esp + 0x3b4]
push eax
call fcn.1003c210
lea ecx, [esp + 0x9c]
push ecx
push esi
push dword [eax]
lea ecx, [esp + 0x1600]
call fcn.1003c800
lea ecx, [esp + 0x468]
push ecx
mov ecx, eax
call fcn.100208a0
push 0
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call fcn.10036220
lea ecx, [esp + 0x15f4]
call fcn.10002110
lea ecx, [esp + 0xc14]
call fcn.10002120
mov ecx, dword [esp + 0x164c]
pop edi
pop esi
xor ecx, esp
call fcn.101b67d9
mov esp, ebp
pop ebp
ret