Function at 0x1401e3a50
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x460], 0xfffffffffffffffe
mov r15d, r8d
mov rbx, rdx
mov edi, dword [0x14068737f]
test edi, 0x100
je 0x1401e3aad
cmp dword [0x1406873af], 0
je 0x1401e3aad
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
jne 0x1401e3aad
test r15b, r15b
jne 0x1401e3aad
lea rsi, [0x1400947f0]
jmp 0x1401e553f
mov eax, edi
not eax
mov edx, edi
xor edx, 1
and eax, 0xfffffffe
or eax, edx
cmp eax, 0xffffffff
je 0x1401e3ad3
test edi, 0x100
jne 0x1401e3efc
xor esi, esi
jmp 0x1401e553f
mov eax, 0x40d768a
add eax, dword [0x14061db70]
mov dword [0x1406873ab], eax
xorps xmm0, xmm0
movaps xmmword [rbp + 0x420], xmm0
mov qword [rbp + 0x430], 0
cmp dword [0x140687393], 0
jns 0x1401e3b45
call fcn.1401771f0
mov qword [rbp + 0x428], rax
call fcn.1401e61d0
mov qword [rbp + 0x430], rax
mov edx, 0x3fffffff
and edx, dword [0x140687393]
mov dword [rsp + 0x20], 0xb4d157a9
lea rcx, [rbp + 0x420]
mov r8d, 0xe1f08e0b
mov r9d, 0x607541c5
call fcn.1401e9320
call fcn.1401e5940
mov r8d, 0x9c
mov rcx, rax
xor edx, edx
call fcn.1401e58b0
mov rdi, rax
test rax, rax
jne 0x1401e3b74
call fcn.1401771f0
mov rcx, rax
mov edx, 0x12
call fcn.1401e3400
mov dword [rdi], 0x9c
mov rcx, rdi
call fcn.1401e59b0
test eax, eax
jne 0x1401e3bdf
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401e3bbb
call fcn.1401e5940
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.1401e5a90
call fcn.1401771f0
mov rcx, rax
mov edx, 0xff
call fcn.1401e3400
call fcn.1401e5940
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.1401e5a90
call fcn.1401771f0
mov rcx, rax
mov edx, 0xff
call fcn.1401e3400
mov dword [rsp + 0x30], 0x9cd82827
mov dword [rsp + 0x28], 0xd6d004cd
mov dword [rsp + 0x20], 0x68597457
xor ecx, ecx
xor edx, edx
mov r8d, 1
mov r9, rbx
call fcn.1401e9580
mov ecx, 0x98896ebd
mov edx, 0xd98ae7d2
mov r8d, 0x34b14964
call fcn.140190c90
cmp qword [0x140693dc8], 0
jne 0x1401e3c7b
mov ecx, 0xe8
mov edx, 0xdba6e8e4
mov r8d, 0x507432f0
call fcn.1400a8810
lea rcx, [0x14052ec78]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
mov byte [rax + 0x18], 0
lea rcx, [0x14052ecd8]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x140693dc8], rax
mov rsi, qword [0x140693dc8]
lea rcx, [rsi + 0x48]
mov r8d, 0x9c
mov rdx, rdi
call fcn.140511c70
mov rcx, rsi
mov edx, 0x34b14964
mov r8d, 0xfb9fc3
mov r9d, 0xb53c7339
call fcn.1401e9c90
mov rcx, rsi
mov edx, 0x60d3acfe
mov r8d, 0x89e37d8
mov r9d, 0x5b52c5ad
call fcn.1401e9ef0
call fcn.1401e5940
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.1401e5a90
cmp qword [0x140696b78], 0
jne 0x1401e3d14
mov ecx, 0x900
mov edx, 0xdba6e8e4
mov r8d, 0x507432f0
call fcn.1400a8810
mov qword [rbp + 0x458], rax
mov rcx, rax
call fcn.140085690
mov rax, qword [rbp + 0x458]
mov qword [0x140696b78], rax
mov rdi, qword [0x140696b78]
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rdi + 0x2a0], rax
mov dword [rsp + 0x38], 0xa80580b
mov dword [rsp + 0x30], 0x60d3acfe
mov dword [rsp + 0x28], 0xa366581c
mov qword [rsp + 0x20], 0
mov ecx, 1
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1401e9c00
mov qword [rsi + 0x40], rax
movzx eax, word [rsi + 0xa]
cmp eax, 0x601
setae byte [rdi + 0x4b9]
movzx eax, word [rsi + 0xa]
cmp eax, 0x602
mov qword [rbp + 0x448], rdi
setae byte [rdi + 0x4ba]
mov eax, dword [0x14068739f]
mov rdi, rsi
lea rsi, [0x14068737f]
mov r14, rsi
sub r14, rax
lea r12, [rbp - 0x40]
mov r8d, 0x400
mov rcx, r12
xor edx, edx
call fcn.140512320
mov rcx, r14
mov rdx, r12
mov r8d, 0x400
call fcn.1401e5bc0
mov qword [rdi + 0x38], r14
mov qword [rbp + 0x418], rdi
lea rcx, [rdi + 0x10]
mov rdx, r12
mov r8d, 0x860b245e
call fcn.1401e84f0
call fcn.1401e30c0
mov qword [rbp + 0x440], 0
mov edi, dword [0x1406934df]
mov ecx, 0x40
call fcn.1404e9d4c
mov r10d, 0x40d768b
lea rcx, [fcn.1401e3a50]
add ecx, ecx
add ecx, 0x3880
mov edx, ecx
not edx
nop dword [rax + rax]
mov r8d, dword [0x14061db70]
add r8d, r10d
mov r9d, ecx
xor r9d, r8d
not r8d
and r8d, edx
or r8d, r9d
cmp r8d, 0xffffffff
je 0x1401e3e4c
mov r8d, dword [0x14069416c]
cmp r8d, 0x55
jge 0x1401e3e20
add rsi, rdi
mov edx, dword [0x1406934db]
add rdx, rsi
mov rcx, rax
mov qword [rbp + 0x458], rax
call fcn.1402e3520
mov r14, qword [rbp + 0x440]
mov rsi, qword [rbp + 0x458]
cmp r14, rsi
sete al
test r14, r14
sete cl
test al, cl
jne 0x1401e3e99
xor al, cl
jne 0x1401e3e99
mov rcx, r14
call fcn.140074ed0
mov rcx, r14
call fcn.1400a75e0
mov qword [rbp + 0x440], rsi
mov rcx, qword [rbp + 0x448]
mov rdx, rsi
call fcn.14016cd60
test al, al
jne 0x1401e3ec5
call fcn.1401771f0
mov rcx, rax
mov edx, 0xff
call fcn.1401e3400
mov eax, dword [0x140694168]
xor eax, eax
nop dword [rax]
mov rdi, qword [0x14061d610]
test al, al
je 0x1401e3ee4
mov rcx, qword [0x14061d610]
jmp 0x1401e3ed0
lea rax, [fcn.1401e3a50]
add eax, eax
add eax, 0x2f00
mov ecx, eax
not ecx
test ecx, eax
jne 0x1401e3f2f
jmp 0x1401e3f10
mov eax, dword [0x14069416c]
cmp eax, 0x26
jg 0x1401e5480
jmp 0x1401e545a
movsxd r12, dword [rdi]
mov edx, dword [0x140534e60]
lea rax, [fcn.1401e3a50]
add eax, eax
add eax, 0x32e0
mov ecx, eax
not ecx
test ecx, eax
je 0x1401e3fa8
lea r14, [0x1401e7660]
nop word cs:[rax + rax]
mov eax, dword [rdi]
mov dword [rsp + 0x38], 0xa80580b
mov dword [rsp + 0x30], 0x60d3acfe
mov dword [rsp + 0x28], 0xa366581c
mov qword [rsp + 0x20], 0
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9d, 0x10
call fcn.1401e9c00
mov qword [0x1406940e0], rax
mov rcx, r14
mov edx, 0x88c8f57d
mov r8d, 0xec6522c8
call fcn.1401676c0
mov eax, dword [0x140534e60]
mov eax, dword [0x14069416c]
cmp eax, 0x38
jge 0x1401e3f40
jmp 0x1401e3f10
mov dword [rbp + 0x450], edx
mov eax, dword [0x14068737f]
mov ecx, eax
not ecx
and eax, 0xfffffbff
mov edx, ecx
and edx, 0x400
or edx, eax
and ecx, 0xfffffbff
or ecx, edx
cmp ecx, 0xffffffff
je 0x1401e41f0
mov eax, 0x40d768b
add eax, dword [0x14061db70]
lea rcx, [fcn.1401e3a50]
add ecx, ecx
add ecx, 0x18e0
mov edx, ecx
xor edx, eax
not eax
not ecx
and ecx, eax
or ecx, edx
cmp ecx, 0xffffffff
mov rax, qword [rbp + 0x448]
cmp qword [rax + 0x7c0], 0
je 0x1401e41f0
lea rcx, [rbp + 0x3c0]
lea rdx, [rbp - 0x40]
call fcn.1402e4090
mov rax, qword [rbp + 0x448]
mov r14, qword [rax + 0x7c0]
lea rcx, [rbp + 0x3c0]
lea rdx, [rbp + 0x3e8]
call fcn.1402e7100
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jmp 0x1401e409a
mov eax, dword [0x14061db70]
mov edx, eax
xor edx, 0x40d768b
and eax, 0x40d768b
add eax, eax
neg edx
neg eax
mov r8d, edx
xor r8d, eax
and eax, edx
lea eax, [r8 + rax*2]
neg eax
lea rdx, [fcn.1401e3a50]
add edx, edx
add edx, 0x1a60
test edx, eax
je 0x1401e40b4
lea rcx, [rbp + 0x3f0]
cmp qword [rbp + 0x408], 0x10
jb 0x1401e4060
mov rcx, qword [rbp + 0x3f0]
jmp 0x1401e4060
mov rax, r14
call qword [0x1405fc400]
mov rsi, qword [rbp + 0x408]
cmp rsi, 0x10
jb 0x1401e4194
mov rcx, qword [rbp + 0x3f0]
movabs rax, 0x1878f258af3761c3
add rax, rsi
mov rdx, rax
xor rdx, 1
and eax, 1
lea rax, [rdx + rax*2]
movabs rdx, 0xe7870da750c89e3d
add rdx, rax
cmp rdx, 0x1000
jb 0x1401e418f
mov r14, rbx
mov rbx, qword [rcx - 8]
mov rax, qword [0x14061db78]
sub rax, rcx
add rax, rbx
movabs rcx, 0x356ccb16351f2f36
sub rcx, rax
cmp rcx, 0x20
jae 0x1401e4149
lea rax, [fcn.1401e3a50]
add eax, eax
add eax, 0x2940
mov ecx, eax
not ecx
test ecx, eax
jne 0x1401e4163
jmp 0x1401e414e
call fcn.1404ca324
mov eax, dword [0x14069416c]
mov ecx, 0x40d76cc
add ecx, dword [0x14061db70]
cmp eax, ecx
jl 0x1401e4182
mov ecx, 0x62
call fcn.1404ca39c
mov qword [0x140694160], rax
lea rcx, [0x1401e8a70]
call fcn.1404ea090
jmp 0x1401e414e
add rsi, 0x28
mov rdx, rsi
mov rcx, rbx
mov rbx, r14
call fcn.1400a75d0
mov rax, qword [rbp + 0x3e0]
cmp rax, 0x10
jb 0x1401e41f0
mov rcx, qword [rbp + 0x3c8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1401e41eb
mov r8, qword [rcx - 8]
mov rdx, qword [0x14061db78]
sub rdx, r8
add rcx, rdx
add rcx, 0xfffffffffffffff8
movabs rdx, 0xca9334e9cae0d0c2
add rdx, rcx
cmp rdx, 0x20
jae 0x1401e4705
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a75d0
call fcn.14007ee00
mov qword [rbp + 0x458], rax
xor r15b, 1
mov rcx, qword [rbp + 0x458]
mov byte [rcx + 0x778], r15b
call fcn.1401c38f0
mov rcx, qword [rbp + 0x418]
call fcn.14017d930
add r12, rdi
lea rax, [fcn.1401e3a50]
lea ecx, [rax + rax]
add ecx, 0x360
mov r8d, 0xbc28461a
nop dword [rax + rax]
mov eax, dword [0x14061db70]
lea edx, [rax + 0x40d768b]
xor edx, ecx
not edx
and edx, ecx
add eax, 0xf948f487
mov r9d, eax
xor r9d, 0xac48203
and eax, 0xac48203
lea eax, [r9 + rax*2]
cmp edx, eax
je 0x1401e42a4
nop
mov edx, dword [0x140694168]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x14061db70]
add edx, r8d
mov r9d, edx
xor r9d, 0x47e53072
and edx, 0x47e53072
lea r9d, [r9 + rdx*2]
xor edx, edx
div r9d
test edx, edx
jne 0x1401e4270
jmp 0x1401e4240
mov qword [rbp + 0x410], rbx
mov eax, dword [0x140694168]
nop word cs:[rax + rax]
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e42c0
mov edi, dword [0x14061d604]
lea r15d, [rdi + 1]
lea ebx, [rdi - 1]
mov eax, 1
sub eax, edi
jmp 0x1401e4324
mov edx, eax
sub edx, edi
mov ecx, eax
shl edx, cl
shl edx, cl
mov ecx, dword [0x14061db70]
sub ecx, edx
add ecx, eax
add ecx, 0x40d768a
mov r8d, edx
sub r8d, ecx
imul r8d, ecx
sub edx, r8d
imul edx, r8d
add edx, r8d
mov dword [0x14061d604], edx
mov dword [0x14061d604], r15d
mov ecx, dword [0x14069416c]
cmp ecx, 0x42
jge 0x1401e42f0
mov ecx, dword [0x140694168]
mov edx, dword [0x14061db70]
neg edx
add edx, ecx
inc edx
imul edx, ecx
test dl, 1
je 0x1401e463f
mov ecx, dword [0x14069416c]
cmp ecx, 0x39
jg 0x1401e43de
mov r8d, dword [0x14061db70]
mov ecx, r8d
xor ecx, 0x8b
mov edx, r8d
and edx, 0xb
lea ecx, [rcx + rdx*2]
mov r9d, edi
shl r9d, cl
lea r10d, [r9 - 1]
mov cl, 1
sub cl, r10b
mov edx, r10d
shl edx, cl
mov ecx, edx
shl r10d, cl
neg r10d
lea ecx, [r9 + r10]
dec ecx
add ecx, r9d
dec ecx
add ecx, r9d
dec ecx
lea edx, [r8 + r9]
dec edx
sub edx, ecx
add edx, 0x40d768a
mov dword [0x14061d604], edx
mov ecx, dword [0x14069416c]
add r8d, 0x40d76bf
cmp ecx, r8d
jge 0x1401e43de
mov ecx, dword [0x140694168]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jmp 0x1401e4324
mov esi, dword [0x14061db70]
lea ecx, [rsi + 0x40d768b]
imul ecx, ebx
mov edx, edi
shl edx, cl
mov r8d, edi
mov ecx, edx
shl r8d, cl
add r8d, r8d
neg r8d
lea ecx, [rsi + r8]
add ecx, 0x40d768b
mov edx, ecx
xor edx, 0x1305551c
and ecx, 0x1305551c
lea ecx, [rdx + rcx*2]
mov edx, 0x1305551c
sub edx, ecx
sub ecx, edx
add ecx, 0xecfaaae5
imul edx, edx
imul edx, ecx
mov r8d, edx
neg r8d
imul r8d, edx
mov r11d, r8d
sub r11d, edx
imul r11d, edx
mov r9d, r11d
mov ecx, edx
shl r9d, cl
mov r10d, r11d
mov ecx, r9d
shl r10d, cl
sub r11d, r10d
imul r11d, r10d
mov r9d, r11d
mov ecx, r10d
shl r9d, cl
mov r10d, r11d
mov ecx, r9d
shl r10d, cl
mov r9d, r11d
sub r9d, r10d
neg r10d
lea ecx, [r11 + r10]
dec ecx
neg r9d
imul r9d, ecx
sub r9d, ecx
imul r9d, ecx
shl r9d, cl
mov r10d, r9d
sub r10d, ecx
imul r10d, ecx
add r10d, r9d
mov ecx, edx
sub ecx, r10d
imul ecx, r10d
mov r9d, edx
shl r9d, cl
mov ecx, edx
sub ecx, r9d
imul ecx, r9d
mov r9d, edx
sub r9d, ecx
imul r9d, ecx
mov r10d, esi
xor r10d, 0x40d768a
mov r11d, esi
not r11d
and r11d, 0x7bf28975
or r11d, r10d
not r11d
lea r10d, [r10 + r11*2]
sub r10d, r9d
mov r11d, r10d
xor r11d, ecx
and r10d, ecx
lea ecx, [r11 + r10*2]
sub r9d, ecx
imul r9d, ecx
mov r10d, r9d
shl r10d, cl
sub r9d, r10d
imul r9d, r10d
sub r9d, r10d
imul r9d, r10d
mov r11d, r9d
mov ecx, r10d
shl r11d, cl
mov ecx, r11d
shl r9d, cl
mov r10d, edx
mov ecx, r9d
shl r10d, cl
mov r9d, edx
mov ecx, r10d
shl r9d, cl
lea r14d, [rsi + 0x40d768a]
mov ecx, r14d
sub ecx, edx
add ecx, r9d
mov r9d, edx
shl r9d, cl
mov r10d, ecx
sub r10d, r9d
shl r10d, cl
mov r11d, r8d
mov ecx, r8d
shl r11d, cl
mov r9d, r8d
sub r9d, r11d
imul r9d, r11d
sub r9d, r11d
mov r13d, r9d
mov ecx, r11d
shl r13d, cl
sub r9d, r13d
add r9d, r10d
neg r9d
imul r9d, r10d
sub r10d, r9d
sub r10d, r9d
sub r9d, r10d
imul r9d, r10d
mov ecx, r10d
shl r9d, cl
shl r9d, cl
mov ecx, edx
shl r8d, cl
add r9d, r10d
neg r8d
imul r8d, edx
mov ecx, r8d
sub ecx, edx
add ecx, r8d
sub r14d, ecx
mov edx, r9d
neg edx
add r14d, ecx
imul edx, r9d
sub edx, r9d
imul edx, r9d
sub edx, r9d
add esi, r9d
add esi, edx
mov edx, r9d
sub edx, esi
add edx, 0xfbf28976
mov ecx, r9d
shl edx, cl
mov ecx, edx
sub ecx, r9d
imul ecx, r9d
mov r8d, edx
shl r8d, cl
add r14d, r9d
sub r8d, edx
mov ecx, edx
sub ecx, r8d
imul ecx, r8d
mov r8d, ecx
sub r8d, edx
add r8d, ecx
mov ecx, r14d
sub ecx, r8d
imul ecx, r8d
sub ecx, r14d
shl r14d, cl
shl r14d, cl
sub ecx, r14d
mov edx, r14d
shl edx, cl
mov ecx, r14d
sub ecx, edx
imul ecx, edx
mov edx, ecx
xor edx, ecx
not edx
and edx, r14d
xor edx, ecx
and ecx, r14d
add ecx, ecx
mov r8d, edx
xor r8d, ecx
and ecx, edx
lea ecx, [r8 + rcx*2]
mov dword [0x14061d604], ecx
jmp 0x1401e435f
mov eax, 0x40d768b
lea rcx, [fcn.1401e3a50]
add ecx, ecx
add ecx, 0x20c0
mov edx, edi
not edx
xor edi, r15d
not r15d
and r15d, edx
or r15d, edi
not r15d
nop word cs:[rax + rax]
mov edx, dword [0x14061db70]
add edx, eax
xor edx, ecx
not edx
test edx, ecx
jne 0x1401e468b
mov edx, dword [0x14069416c]
cmp edx, 0x45
jle 0x1401e4698
mov edx, dword [0x14069416c]
cmp edx, 0x47
jge 0x1401e4670
jmp 0x1401e4680
test r15d, r15d
mov rbx, qword [rbp + 0x410]
jne 0x1401e4736
jmp 0x1401e46b9
mov eax, dword [0x14069416c]
cmp eax, 0x33
mov eax, dword [0x140694168]
mov ecx, 0x4a1f6f11
sub ecx, dword [0x14061db70]
lea edx, [rax + 2]
not edx
not ecx
add ecx, edx
imul ecx, eax
test cl, 1
jne 0x1401e46b0
mov ecx, dword [0x140694168]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14061db70]
lea r8d, [rcx + 0x40d768c]
xor edx, edx
div r8d
add ecx, 0x40d768a
cmp edx, ecx
jne 0x1401e4720
jmp 0x1401e470a
call fcn.1404ca324
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401e472d
nop dword [rax + rax]
mov eax, dword [0x14069416c]
cmp eax, 0x5f
jge 0x1401e4720
jmp 0x1401e470a
cmp dword [rbp + 0x450], 0
jg 0x1401e479f
xor edi, edi
lea rdx, [0x14068737f]
lea r8, [rbp + 0x440]
mov rcx, qword [rbp + 0x458]
call fcn.14015e0e0
mov eax, dword [0x14069416c]
nop dword [rax + rax]
mov eax, dword [0x140694168]
mov ecx, eax
not ecx
add ecx, dword [0x14061db70]
imul ecx, eax
test cl, 1
jne 0x1401e4760
lea rdx, [0x14068737f]
mov rcx, qword [rbp + 0x458]
call fcn.1401bd3d0
mov r14d, eax
mov eax, dword [0x14069416c]
cmp eax, 0x16
jg 0x1401e4830
jmp 0x1401e4817
xor eax, eax
mov ecx, 0x40d768a
lea rdx, [fcn.1401e3a50]
lea r8d, [rdx + rdx]
add r8d, 0x880
mov edx, r8d
not edx
and edx, r8d
xor edi, edi
nop word cs:[rax + rax]
mov r8d, dword [0x14061db70]
add r8d, ecx
cmp edx, r8d
jne 0x1401e4810
nop
movzx r8d, byte [r12 + rax]
mov r9d, dword [0x14069416c]
cmp r9d, 0x46
jg 0x1401e4810
xor dil, r8b
lea r8d, [rax + 1]
cmp r8d, dword [rbp + 0x450]
jge 0x1401e4738
inc rax
jmp 0x1401e47d0
movzx r8d, byte [r12 + rax]
jmp 0x1401e47e0
mov eax, dword [0x14069416c]
cmp eax, 0x26
jl 0x1401e4843
nop word cs:[rax + rax]
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e4830
jmp 0x1401e4817
test r14b, r14b
je 0x1401e4850
xor eax, eax
test al, al
jne 0x1401e4880
jmp 0x1401e4864
mov eax, dword [0x14069416c]
cmp eax, 0x5d
jg 0x1401e4e10
jmp 0x1401e4ddc
mov rax, qword [rbp + 0x458]
mov eax, dword [rax + 0x164]
mov ecx, dword [0x14069416c]
cmp ecx, 0x1b
jl 0x1401e4893
nop dword [rax]
mov eax, dword [0x140694168]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1401e4880
jmp 0x1401e4864
test eax, 0x100
jne 0x1401e48c1
mov rax, qword [rbp + 0x458]
mov eax, dword [rax + 0x160]
mov ecx, eax
not ecx
xor eax, 0x800000
and ecx, 0xff7fffff
or ecx, eax
cmp ecx, 0xffffffff
je 0x1401e4d92
lea rdx, [0x14068737f]
mov rcx, qword [rbp + 0x458]
call fcn.1401b9cb0
call fcn.140243c00
mov eax, dword [0x14069416c]
mov ecx, 0x40d76bd
add ecx, dword [0x14061db70]
cmp eax, ecx
jl 0x1401e4901
nop
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e48f0
call fcn.1401e5c60
mov rbx, rax
nop dword [rax]
mov eax, dword [0x14069416c]
cmp eax, 0x21
jg 0x1401e4935
movzx ecx, byte [0x140534e68]
cmp r15d, 1
mov al, 0xf
sbb al, 0xff
mov edx, dword [0x14069416c]
cmp edx, 0x4c
jle 0x1401e494a
movzx eax, byte [0x140534e68]
cmp dword [0x14061db70], 0xfbf28976
jne 0x1401e4910
jmp 0x1401e491b
dec al
mov edx, 0x40d76c9
mov r8d, 0x40d7699
nop word [rax + rax]
mov r9d, dword [0x14069416c]
mov r10d, dword [0x14061db70]
add r10d, edx
cmp r9d, r10d
jl 0x1401e498c
mov r9d, dword [0x14069416c]
mov r10d, dword [0x14061db70]
add r10d, r8d
cmp r9d, r10d
jmp 0x1401e4960
add al, 0xf1
mov edx, dword [0x140694168]
sub dil, cl
mov ecx, edi
neg cl
dec dil
mov r8d, eax
not r8b
nop word cs:[rax + rax]
mov edx, dword [0x140694168]
lea r9d, [rdx - 1]
imul r9d, edx
test r9b, 1
jne 0x1401e49b0
mov edx, ecx
xor dl, al
xor dil, r8b
and cl, al
or cl, dil
not cl
nop word cs:[rax + rax]
mov eax, dword [0x140694168]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
je 0x1401e49ff
mov eax, dword [0x14069416c]
cmp eax, 0x23
jge 0x1401e49e0
or dl, cl
not dl
mov eax, dword [0x14069416c]
mov rcx, qword [rbp + 0x458]
movzx eax, dl
nop word cs:[rax + rax]
mov edx, dword [0x14069416c]
cmp edx, 0x59
jg 0x1401e4a46
mov r10, qword [0x140693d58]
mov edx, dword [0x140694168]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1401e4a53
mov edx, dword [0x14069416c]
cmp edx, 0x54
jge 0x1401e4a20
jmp 0x1401e4a2b
mov edx, dword [0x14069416c]
mov edx, 0x40d768a
nop
mov r8d, dword [0x140694168]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x14061db70]
add r8d, edx
cmp r9d, r8d
jne 0x1401e4a60
add r10, rax
mov qword [0x140693d58], r10
mov esi, dword [0x1406938b6]
mov edx, dword [0x1406938ba]
call fcn.14015e000
mov rcx, qword [rbp + 0x458]
mov ecx, dword [rcx + 0x160]
mov edx, ecx
not edx
xor ecx, 0x20000
and edx, 0xfffdffff
or edx, ecx
cmp edx, 0xffffffff
sete r8b
mov edx, dword [0x1406938be]
mov dword [rsp + 0x20], esi
mov rcx, rbx
mov r9, rax
call fcn.1401789d0
mov dword [0x1406938be], 0
mov dword [0x1406938b6], 0
mov rcx, qword [rbp + 0x458]
call fcn.1400b5c70
mov rcx, qword [rbp + 0x458]
mov dl, 1
xor r8d, r8d
call fcn.1400b2090
mov eax, dword [0x14069416c]
mov ecx, 0x40d76a3
add ecx, dword [0x14061db70]
cmp eax, ecx
mov r9, qword [rbp + 0x458]
test byte [r9 + 0x160], 4
je 0x1401e4bcf
cmp qword [0x140694178], 0
jne 0x1401e4b69
mov ecx, 0x98
call fcn.1404e9d4c
mov qword [rbp + 0x450], rax
mov rcx, rax
call fcn.1401e6320
mov rax, qword [rbp + 0x450]
mov qword [0x140694178], rax
mov r9, qword [rbp + 0x458]
mov r12, qword [0x140694178]
mov ebx, dword [0x1406938ee]
mov edx, dword [0x1406938f2]
mov rcx, r9
call fcn.14015e000
mov edx, dword [0x1406934bb]
mov rcx, r12
mov r8, rax
mov r9d, ebx
call fcn.1401f42f0
mov dword [0x1406934bb], 0
mov eax, dword [0x14061db70]
mov ecx, eax
xor ecx, 0x40d768a
and eax, 0x40d768a
lea eax, [rcx + rax*2]
mov dword [0x1406938ee], eax
mov dword [0x1406938f2], 0
mov r9, qword [rbp + 0x458]
mov eax, dword [0x14061db70]
mov ecx, eax
xor ecx, 0x40d7692
and eax, 0x40d7692
lea eax, [rcx + rax*2]
test dword [r9 + 0x160], eax
je 0x1401e4cba
cmp qword [0x140693fa8], 0
jne 0x1401e4c30
mov ecx, 0xa0
call fcn.1404e9d4c
mov qword [rbp + 0x450], rax
mov rcx, rax
call fcn.1401dd940
mov rax, qword [rbp + 0x450]
mov qword [0x140693fa8], rax
mov r9, qword [rbp + 0x458]
nop word [rax + rax]
mov eax, dword [0x14069416c]
cmp eax, 0x2f
jle 0x1401e4c98
mov r8d, dword [r9 + 0x160]
movzx ecx, byte [0x14061db70]
add cl, 0x9c
mov eax, r8d
shl eax, cl
mov edx, r8d
mov ecx, eax
shl edx, cl
mov ecx, edx
shr r8d, cl
lea ecx, [r8 - 1]
neg r8b
mov eax, r8d
xor al, cl
and r8b, cl
add r8b, r8b
add r8b, al
mov eax, r8d
shl al, cl
mov ecx, eax
shl r8b, cl
mov rcx, qword [0x140693fa8]
mov edx, eax
sub dl, r8b
and dl, al
mov byte [rcx + 9], dl
mov eax, dword [0x14069416c]
cmp eax, 0xf
jge 0x1401e4c30
mov rax, qword [0x140693fa8]
mov ecx, dword [r9 + 0x160]
shr ecx, 0x12
and cl, 1
mov byte [rax + 9], cl
mov eax, dword [0x14069416c]
cmp eax, 0x18
jg 0x1401e4c3b
cmp qword [0x140693f40], 0
jne 0x1401e4d08
mov ecx, 0x40
call fcn.1404e9d4c
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0xf
mov byte [rax + 8], 0
lea rcx, [0x140535318]
mov qword [rax], rcx
xorps xmm0, xmm0
movups xmmword [rax + 0x28], xmm0
mov dword [rax + 0x38], 0
mov qword [0x140693f40], rax
mov r9, qword [rbp + 0x458]
mov eax, dword [0x14069416c]
cmp eax, 0x32
nop word cs:[rax + rax]
mov r12, qword [0x140693f40]
mov esi, dword [0x1406938fe]
mov ebx, dword [0x1406938fa]
mov r13d, dword [0x1406938f6]
mov rcx, qword [r9 + 0x190]
movzx edx, word [0x140693510]
mov eax, dword [0x14069416c]
cmp eax, 0x40
jg 0x1401e4d20
call fcn.1402e3620
mov dword [rsp + 0x20], esi
mov rcx, r12
mov rdx, rax
mov r8d, r13d
mov r9d, ebx
call fcn.1401e5e10
lea rax, [fcn.1401e3a50]
add eax, eax
add eax, 0x1e0
not eax
mov ecx, eax
and ecx, 0xfffffffe
xor ecx, eax
cmp ecx, 1
jne 0x1401e5130
jmp 0x1401e5114
mov rax, qword [rbp + 0x448]
cmp qword [rax + 0x4e8], 0
je 0x1401e48c1
mov rax, qword [rbp + 0x448]
cmp qword [rax + 0x4f0], 0
je 0x1401e48c1
mov rax, qword [rbp + 0x448]
mov rax, qword [rax + 0x4f8]
xor ecx, ecx
call qword [0x1405fc400]
call fcn.1401e3780
jmp 0x1401e48c1
mov eax, dword [0x14068737f]
mov ecx, eax
or ecx, 1
mov dword [0x14068737f], ecx
mov ecx, dword [0x14061db70]
mov edx, dword [0x14069416c]
lea r8d, [rcx + 0x40d76b2]
cmp edx, r8d
jl 0x1401e4e66
nop word cs:[rax + rax]
mov eax, dword [0x14068737f]
add eax, eax
mov ecx, 1
sub ecx, eax
mov edx, ecx
sub edx, eax
mov eax, edx
shl eax, cl
sub edx, eax
imul edx, eax
neg edx
mov ecx, edx
xor ecx, eax
and edx, eax
lea edx, [rcx + rdx*2]
mov ecx, eax
shl edx, cl
mov r8d, edx
shl r8d, cl
mov ecx, edx
sub ecx, r8d
imul ecx, r8d
mov eax, edx
shl eax, cl
or eax, edx
mov dword [0x14068737f], eax
mov eax, dword [0x14069416c]
cmp eax, 0x46
jge 0x1401e4e10
jmp 0x1401e4ddc
add ecx, 0x40d7689
xor ecx, eax
xor eax, 0x100
mov edx, ecx
not edx
xor ecx, 0xfffffeff
and edx, 0x100
or edx, ecx
not edx
or edx, eax
not edx
test edx, edx
je 0x1401e4f30
mov eax, 0x40d769a
add eax, dword [0x14061db70]
mov ecx, dword [0x140687383]
mov edx, ecx
not edx
xor ecx, eax
not eax
and eax, edx
or eax, ecx
cmp eax, 0xffffffff
je 0x1401e4ec1
lea rcx, [0x14068737f]
call fcn.1401a5160
mov eax, dword [0x140694168]
call fcn.1401da540
test rbx, rbx
jne 0x1401e4f12
mov eax, dword [0x14069416c]
cmp eax, 0x53
nop word [rax + rax]
mov rsi, qword [0x140696b78]
mov eax, dword [0x14069416c]
cmp eax, 0x1a
jg 0x1401e4ee0
test rsi, rsi
je 0x1401e4f12
mov rcx, rsi
call fcn.1400859c0
mov rcx, rsi
call fcn.1400a75e0
mov qword [0x140696b78], 0
xor ecx, ecx
xor edx, edx
mov r8, rbx
call fcn.1404ea578
jmp 0x1401e5108
mov rsi, qword [0x140693df0]
mov eax, dword [0x14069416c]
cmp eax, 0x31
jg 0x1401e4f30
test rsi, rsi
je 0x1401e4fb0
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e4f82
mov rax, qword [rsi]
mov rax, qword [rax]
mov rcx, rsi
mov edx, 1
call qword [0x1405fc400]
mov qword [0x140693df0], 0
mov eax, dword [0x14069416c]
cmp eax, 0x1a
jle 0x1401e4fb0
mov rax, qword [rsi]
mov rax, qword [rax]
mov rcx, rsi
mov edx, 1
call qword [0x1405fc400]
mov qword [0x140693df0], 0
jmp 0x1401e4f58
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401e4fd2
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e4fb0
mov rsi, qword [0x140693e88]
mov eax, dword [0x14069416c]
cmp eax, 0x5d
jg 0x1401e4fc1
test rsi, rsi
je 0x1401e5053
mov eax, dword [0x14061db70]
mov ecx, eax
xor ecx, 0x40d768a
not eax
and eax, 0x7bf28975
or eax, ecx
not eax
add eax, eax
add eax, ecx
jne 0x1401e5032
mov rax, qword [rsi]
mov rax, qword [rax]
mov rcx, rsi
mov edx, 1
call qword [0x1405fc400]
mov qword [0x140693e88], 0
mov eax, dword [0x14069416c]
cmp eax, 0x25
jle 0x1401e5053
mov rax, qword [rsi]
mov rax, qword [rax]
mov rcx, rsi
mov edx, 1
call qword [0x1405fc400]
mov qword [0x140693e88], 0
jmp 0x1401e5008
mov rcx, qword [0x140693f50]
test rcx, rcx
je 0x1401e507b
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x1405fc400]
mov qword [0x140693f50], 0
mov rcx, qword [0x140693dc8]
test rcx, rcx
je 0x1401e50a3
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x1405fc400]
mov qword [0x140693dc8], 0
lea rax, [fcn.1401e3a50]
lea ecx, [rax + rax]
add ecx, 0x1aa0
mov edx, ecx
not edx
and ecx, edx
add eax, eax
add eax, 0x1aa1
and edx, 0xfffffffe
xor edx, eax
or edx, ecx
cmp edx, 0xffffffff
nop word [rax + rax]
mov rsi, qword [0x140696b78]
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e50d0
test rsi, rsi
je 0x1401e5108
mov rcx, rsi
call fcn.1400859c0
mov rcx, rsi
call fcn.1400a75e0
mov qword [0x140696b78], 0
mov rsi, qword [0x1406873a3]
jmp 0x1401e5434
mov eax, dword [0x140693902]
mov ecx, dword [0x14069416c]
cmp ecx, 0x26
jl 0x1401e5143
nop word cs:[rax + rax]
mov eax, dword [0x140694168]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1401e5130
jmp 0x1401e5114
test eax, 0x10000000
jne 0x1401e51e0
mov qword [0x1406938fa], 0
mov eax, dword [0x140693902]
mov ecx, 0x40d76ba
add ecx, dword [0x14061db70]
xor ecx, eax
not eax
and eax, 0xffffffcf
or eax, ecx
cmp eax, 0xffffffdf
jne 0x1401e52b2
mov rax, qword [rbp + 0x458]
mov eax, dword [rax + 0x160]
mov ecx, eax
not ecx
xor eax, 0x80000
and ecx, 0xfff7ffff
or ecx, eax
cmp ecx, 0xffffffff
jne 0x1401e52b2
mov rax, qword [rbp + 0x418]
movzx eax, word [rax + 0xa]
cmp eax, 0x5ff
ja 0x1401e52b2
call fcn.1401e2820
mov rcx, qword [rbp + 0x448]
mov rdx, qword [rcx + 0x2b0]
cmp qword [rax + 0x30], 0x10
jb 0x1401e52a2
mov rax, qword [rax + 0x18]
jmp 0x1401e52a6
mov eax, 0x40d768b
lea rcx, [fcn.1401e3a50]
add ecx, ecx
add ecx, 0x3ca0
nop word cs:[rax + rax]
mov edx, dword [0x140694168]
mov r8d, dword [0x14061db70]
not r8d
add r8d, edx
imul r8d, edx
test r8b, 1
jne 0x1401e5250
mov edx, dword [0x140697a88]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
inc dword [rdx + 0x25810]
mov edx, dword [0x14061db70]
add edx, eax
mov r8d, ecx
xor r8d, edx
not r8d
test r8d, edx
je 0x1401e514e
mov edx, dword [0x140697a88]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov r8d, dword [rdx + 0x25810]
mov r9d, r8d
sub r9d, dword [0x14061db70]
add r8d, r9d
add r8d, 0xfbf28975
mov dword [rdx + 0x25810], r8d
mov edx, dword [0x140694168]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1401e5200
jmp 0x1401e521d
add rax, 0x18
mov rcx, rax
mov rax, rdx
call qword [0x1405fc400]
mov eax, dword [0x14069416c]
cmp eax, 0x3c
jle 0x1401e52d1
nop dword [rax]
mov eax, dword [0x140694168]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e52c0
cmp qword [0x140693dc8], 0
jne 0x1401e53d1
mov ecx, 0xe8
call fcn.1404e9d4c
mov rcx, rax
mov eax, dword [0x140694168]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401e5366
lea rax, [0x14052ec78]
mov qword [rcx], rax
mov qword [rcx + 0x28], 0
mov qword [rcx + 0x30], 0xf
movzx eax, byte [0x14061db80]
mov edx, eax
xor dl, 0xd3
and al, 0x53
add al, al
add al, dl
mov byte [rcx + 0x18], al
lea rax, [0x14052ecd8]
mov qword [rcx + 0x10], rax
mov byte [rcx + 8], 0
movzx eax, byte [0x14061db80]
add al, 0xd3
mov byte [rcx + 9], al
mov word [rcx + 0xa], 0
xorps xmm0, xmm0
movups xmmword [rcx + 0x38], xmm0
mov qword [0x140693dc8], rcx
mov eax, dword [0x14069416c]
cmp eax, 0x3c
jl 0x1401e53d1
lea r8, [0x14052ec78]
lea r9, [0x14052ecd8]
xorps xmm0, xmm0
mov r10d, 0x40d768c
nop dword [rax]
mov qword [rcx], r8
mov qword [rcx + 0x28], 0
mov qword [rcx + 0x30], 0xf
mov byte [rcx + 0x18], 0
mov qword [rcx + 0x10], r9
mov dword [rcx + 8], 0
movups xmmword [rcx + 0x38], xmm0
mov qword [0x140693dc8], rcx
mov edx, dword [0x140694168]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x14061db70]
add r11d, r10d
xor edx, edx
div r11d
test edx, edx
jne 0x1401e5380
jmp 0x1401e52fd
mov rax, qword [0x140693dc8]
mov ecx, dword [0x140693906]
add rcx, qword [rax + 0x38]
mov qword [0x1406873a3], rcx
mov eax, 0xc0000000
and eax, dword [0x140687393]
cmp eax, 0x80000000
jne 0x1401e541f
mov edx, dword [rbp + 0x424]
mov rcx, qword [rbp + 0x430]
call fcn.1401e73d0
mov edx, dword [rbp + 0x420]
mov rcx, qword [rbp + 0x428]
call fcn.1401e7470
mov rax, qword [rbp + 0x458]
mov byte [rax + 0x778], 0
or byte [0x14068737f], 1
mov rdi, qword [rbp + 0x440]
test rdi, rdi
je 0x1401e5450
mov rcx, rdi
call fcn.140074ed0
mov rcx, rdi
call fcn.1400a75e0
test r14b, r14b
jne 0x1401e54bc
jmp 0x1401e553f
mov eax, dword [0x140687383]
mov edx, dword [0x140694168]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1401e54b4
nop word cs:[rax + rax]
mov edx, dword [0x14061db70]
mov r8d, dword [0x140694168]
lea eax, [r8 - 1]
imul eax, r8d
mov r8d, edx
xor r8d, 0x40d768c
and edx, 0x40d768c
lea r8d, [r8 + rdx*2]
xor edx, edx
div r8d
test edx, edx
jne 0x1401e5480
jmp 0x1401e545a
test al, 0x10
jne 0x1401e54cc
test ecx, ecx
je 0x1401e54f7
mov rsi, qword [0x1406873a3]
add rsi, qword [0x140693d58]
jmp 0x1401e553f
movzx ecx, byte [0x14061db70]
add cl, 0x8b
shl eax, cl
mov dword [0x140687383], eax
or edi, 5
mov dword [0x14068737f], edi
lea rsi, [0x1400947f0]
mov qword [0x1406873a3], rsi
jmp 0x1401e553f
mov ecx, eax
not ecx
xor eax, 0x20
and ecx, 0xffffffdf
or ecx, eax
mov eax, 0x40d7689
add eax, dword [0x14061db70]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
or eax, edx
jne 0x1401e5538
mov eax, edi
xor eax, 0xfffff7fb
mov ecx, 0x40d7e8e
add ecx, dword [0x14061db70]
and ecx, eax
cmp ecx, 0x804
jne 0x1401e5556
mov rsi, qword [0x1406873a3]
mov rax, rsi
add rsp, 0x4e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rax, [fcn.1401e3a50]
add eax, eax
add eax, 0x2d80
mov ecx, dword [0x140694168]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401e5590
mov ecx, dword [0x14061db70]
lea edx, [rcx + 0x40d768a]
lea r8d, [rcx + 0x40d768b]
and r8d, eax
cmp r8d, edx
je 0x1401e559d
mov ecx, dword [0x14069416c]
cmp ecx, 0x5f
jge 0x1401e5564
jmp 0x1401e5575
add ecx, 0x40d770a
xor ecx, dword [0x140693493]
not ecx
and ecx, 0x80
cmp ecx, edx
jne 0x1401e55c2
mov eax, dword [0x14069416c]
cmp eax, 0x3c
jg 0x1401e5629
jmp 0x1401e55cf
mov rcx, rbx
call fcn.1401e2ae0
jmp 0x1401e54bc
mov eax, edi
or eax, 4
mov dword [0x14068737f], eax
lea rcx, [0x14068737f]
mov rsi, qword [0x1406873a3]
lea rdx, [rbp - 0x40]
mov r8d, 0x30
call fcn.1401e2d40
mov rcx, qword [rbp - 0x38]
mov edx, 0x40d768a
add edx, dword [0x14061db70]
mov r8, rbx
mov rax, rsi
call qword [0x1405fc400]
mov rcx, rbx
call fcn.1401e2ae0
mov eax, dword [0x14069416c]
cmp eax, 0x3c
jl 0x1401e3acc
mov ecx, edi
sub ecx, dword [0x14061db70]
shl ecx, 2
sub ecx, edi
add cl, 0xc8
mov eax, edi
shl eax, cl
or eax, edi
mov dword [0x14068737f], eax
lea rcx, [0x14068737f]
mov rsi, qword [0x1406873a3]
lea rdx, [rbp - 0x40]
mov r8d, 0x30
call fcn.1401e2d40
mov rcx, qword [rbp - 0x38]
xor edx, edx
mov r8, rbx
mov rax, rsi
call qword [0x1405fc400]
mov rcx, rbx
call fcn.1401e2ae0
jmp 0x1401e55cf