Function at 0x140063950
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov byte [rbp - 0x10], r8b
mov qword [rbp - 8], rcx
mov eax, dword [0x141f36ac8]
xor edx, edx
div dword [0x141f36acc]
imul rax, rax, 0x718fc6d
shr rax, 0x3a
add eax, 0x8875a9eb
or eax, 0xf45900db
cmp eax, 0x1a84cef3
jae 0x1400639d0
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
nop dword [rax + rax]
mov eax, dword [0x141f36ad0]
and eax, dword [0x141f36ad4]
xor eax, 0xfdc3053b
add eax, 0x6b7d6719
imul rcx, rax, 0x5e90859f
shr rcx, 0x3e
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xcc4e18c9
ja 0x1400639d0
mov eax, dword [0x141f36ad8]
and eax, dword [0x141f36adc]
imul eax, eax, 0x53cebe50
add eax, 0xed268a9e
cmp eax, 0x6f74ff25
jb 0x140063aa5
mov eax, dword [0x141f36ae0]
xor edx, edx
div dword [0x141f36ae4]
or eax, 0xeb5fa9e
imul eax, eax, 0x1b3b6cd3
mov ecx, 0xc18e89c3
imul rcx, rax
shr rcx, 0x3f
mov eax, 0x90
call fcn.1400f4d10
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r12, rsp
cmp ecx, 0x75e10d89
jne 0x140063ac1
mov eax, 0x90
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x140063a57
movd ecx, xmm1
mov eax, ecx
shr eax, 0x17
lea r10d, [rcx + rcx]
and r10d, 0xfffffe
mov r11d, ecx
and r11d, 0x7fffff
or r11d, 0x800000
mov qword [rbp], rcx
mov esi, ecx
and esi, 0x7fffffff
nop word cs:[rax + rax]
mov ecx, dword [0x141f36ae8]
add ecx, dword [0x141f36aec]
imul r8d, ecx, 0xd02586aa
xor r8d, 0x20d15046
or r8d, 0xdf2cafb8
movzx edx, al
test edx, edx
mov r9d, r11d
cmove r9d, r10d
cmp esi, 0x7f800000
sete cl
cmp r8d, 0xfbba90c2
jb 0x140063b00
test cl, cl
je 0x140063b4a
mov al, 3
jmp 0x140063cdc
lea r10d, [rdx - 0x96]
nop word cs:[rax + rax]
mov eax, dword [0x141f36af0]
xor eax, dword [0x141f36af4]
imul rax, rax, 0x7b6fea65
shr rax, 0x3e
or eax, 0xd662e3a0
imul eax, eax, 0x8bbf9ae1
cmp eax, 0xa41766a4
ja 0x140063b60
ucomiss xmm1, xmm1
jp 0x140063d0b
nop word cs:[rax + rax]
mov eax, dword [0x141f36af8]
or eax, dword [str.d_fJLW]
add eax, 0x54b4e9be
or eax, 0x3e831fb9
cmp eax, 0x6cdfc3c9
jb 0x140063ba0
test dword [rbp], 0x7fffffff
je 0x140063c62
nop word [rax + rax]
mov eax, dword [0x141f36b00]
and eax, dword [0x141f36b04]
xor eax, 0x94770
or eax, 0x6ff4a005
imul eax, eax, 0xcdc1c991
cmp eax, 0xda62d3b2
ja 0x140063bd0
mov eax, 0x97e5be3b
nop dword [rax + rax]
mov ecx, dword [0x141f36b08]
and ecx, dword [0x141f36b0c]
imul rcx, rax
shr rcx, 0x3e
or ecx, 0x60098
cmp ecx, 0xc2837bc2
je 0x140063c00
test dword [rbp], 0x7f800000
je 0x140063c66
lea rax, [r9 + r9]
xor ecx, ecx
cmp r9, 0x800000
mov r8d, 0x2000000
cmovne r8, rax
sete cl
test r9b, 1
sete al
lea r11, [rcx + 1]
xor ecx, 0xffffff69
movzx r10d, dx
add r10d, ecx
mov r9, r8
jmp 0x140063cdc
mov al, 4
jmp 0x140063cdc
mov eax, dword [0x141f36b10]
xor edx, edx
div dword [0x141f36b14]
nop word cs:[rax + rax]
test r9b, 1
sete al
mov ecx, dword [str.1z_]
sub ecx, dword [0x141f36b1c]
imul rcx, rcx, 0x50ace959
shr rcx, 0x3b
and ecx, 2
cmp ecx, 0xdb7ee183
je 0x140063c80
nop dword [rax]
mov ecx, dword [0x141f36b20]
sub ecx, dword [0x141f36b24]
or ecx, 0x6ef7f2f9
xor ecx, 0xc2a8c6aa
imul ecx, ecx, 0xf72e5bc9
cmp ecx, 0x737eb674
jb 0x140063cb0
mov r11d, 1
mov ecx, dword [0x141f36b28]
or ecx, dword [0x141f36b2c]
xor ecx, 0x534bd28a
add ecx, 0x4a62b9da
mov edx, 0xca8c537d
imul rdx, rcx
shr rdx, 0x3d
cmp edx, 0x2f75f7f
jne 0x140063d0f
jmp 0x140063d5b
mov al, 2
jmp 0x140063cdc
mov ecx, dword [0x141f36b30]
xor ecx, dword [0x141f36b34]
imul ecx, ecx, 0x1e428756
add ecx, 0x248cda9a
lea edx, [rax - 2]
movzx r8d, dl
cmp r8b, 3
mov edx, 3
cmovb edx, r8d
mov qword [r14], r9
mov qword [r14 + 8], 1
mov qword [r14 + 0x10], r11
mov word [r14 + 0x18], r10w
mov byte [r14 + 0x1a], al
cmp ecx, 0x4627f7a4
jae 0x140063d75
mov qword [r14], r9
mov qword [r14 + 8], 1
mov qword [r14 + 0x10], r11
mov word [r14 + 0x18], r10w
mov byte [r14 + 0x1a], al
jmp 0x140063d0f
test dl, dl
je 0x140063e8f
mov rax, qword [rbp]
mov esi, eax
shr esi, 0x1f
test eax, eax
lea rax, [0x141f221e5]
mov ecx, 1
cmovs rcx, rax
lea r8, [0x141f221e6]
cmovs r8, rax
mov eax, 1
cmp byte [rbp - 0x10], 0
cmovne rsi, rax
cmove r8, rcx
mov qword [rbp], r8
cmp dl, 1
je 0x140063f05
movzx eax, dl
cmp eax, 2
jne 0x140063f38
mov eax, dword [0x141f36b60]
or eax, dword [0x141f36b64]
xor eax, 0x63ae6d1e
imul eax, eax, 0x3da4557
cmp eax, 0x2a44ea1d
jae 0x140063df2
mov word [r13], 2
mov r15, qword [rbp - 8]
mov r12, qword [rbp]
nop word [rax + rax]
mov eax, dword [0x141f36b68]
xor edx, edx
div dword [0x141f36b6c]
add eax, 0x49969977
and eax, 0xbdd5bfe1
mov word [r13], 2
cmp eax, 0x3fd6c1ce
je 0x140063e00
lea rax, [0x141f221ee]
mov ecx, dword [0x141f36b70]
or ecx, dword [0x141f36b74]
mov qword [r13 + 8], rax
add ecx, 0x18183de1
or ecx, 0x27ffedff
cmp ecx, 0x6c19d540
jbe 0x140063e60
mov qword [r13 + 0x10], 3
nop dword [rax]
mov eax, dword [0x141f36b78]
xor eax, dword [0x141f36b7c]
xor eax, 0xb72499c9
add eax, 0x3e55a2d0
mov qword [r13 + 0x10], 3
cmp eax, 0xdca89a8f
jae 0x140063e60
mov ebx, 1
jmp 0x1400645f1
mov word [r13], 2
lea rax, [0x141f221e7]
mov qword [r13 + 8], rax
mov eax, dword [0x141f36b38]
xor edx, edx
div dword [0x141f36b3c]
imul eax, eax, 0x2a3ab4bc
cmp eax, 0xbba3ed54
mov r15, qword [rbp - 8]
jne 0x140063ec8
mov qword [r13 + 0x10], 3
xor esi, esi
nop word [rax + rax]
mov eax, dword [0x141f36b40]
xor eax, dword [0x141f36b44]
add eax, 0x4314e2df
and eax, 0x985f7ca2
mov qword [r13 + 0x10], 3
cmp eax, 0x33bbcf33
je 0x140063ed0
mov r12d, 1
mov ebx, 1
jmp 0x1400645f1
mov word [r13], 2
mov eax, dword [0x141f36b50]
sub eax, dword [0x141f36b54]
xor eax, 0x7bd771ba
imul eax, eax, 0x4016d403
add eax, 0x49f804a6
cmp eax, 0xef217605
jbe 0x140064300
jmp 0x140064330
cmp eax, 3
jne 0x140064050
mov qword [rbp - 0x10], rsi
mov eax, dword [0x141f36b80]
sub eax, dword [0x141f36b84]
xor eax, 0xb7c30c79
imul eax, eax, 0x57154891
cmp eax, 0x3cb6be08
jne 0x140063f80
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
mov r8, r12
call fcn.140052c60
add rsp, 0x20
nop dword [rax]
mov esi, dword [0x141f36b88]
xor esi, dword [0x141f36b8c]
imul rax, rsi, 0x33864f9b
shr rax, 0x20
sub esi, eax
shr esi, 1
add esi, eax
shr esi, 0x1f
add esi, 0x9f2353f9
or esi, 0xfe58a8b0
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
mov r8, r12
call fcn.140052c60
add rsp, 0x20
cmp esi, 0x4cd8e9a7
jb 0x140063f80
mov eax, dword [0x141f36b90]
xor edx, edx
div dword [0x141f36b94]
nop dword [rax + rax]
mov eax, dword [0x141f36b98]
or eax, dword [0x141f36b9c]
add eax, 0x86f5e18e
and eax, 0xceeb430e
cmp eax, 0x2bc3a76b
jb 0x140063fe0
cmp qword [r15], 0
je 0x14006407e
mov rax, qword [r15 + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [r15]
movups xmmword [rbx], xmm0
mov eax, 0x9f841927
mov r15, qword [rbp - 8]
nop dword [rax + rax]
mov ecx, dword [0x141f36bb0]
imul ecx, dword [str._54Mf_f6_]
imul rcx, rax
shr rcx, 0x3f
add ecx, 0xf9e98189
cmp ecx, 0x4e22331c
jb 0x140064020
jmp 0x140064103
mov eax, dword [0x141f36b48]
add eax, dword [0x141f36b4c]
xor eax, 0x51d7a255
imul rax, rax, 0x7bfc72ed
shr rax, 0x3d
imul eax, eax, 0xb8563f6e
cmp eax, 0x751aac6f
ja 0x140064050
jmp 0x1400642fe
mov eax, dword [0x141f36ba0]
xor eax, dword [0x141f36ba4]
imul eax, eax, 0xaf4b0878
cmp eax, 0xc337dbfc
jbe 0x1400640ad
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8, r12
call fcn.14004b010
add rsp, 0x20
mov r15, qword [rbp - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141f36ba8]
xor edx, edx
div dword [str.pS_]
imul rsi, rax, 0x460894a7
shr rsi, 0x3e
add esi, 0x4d5b784f
or esi, 0x70afe6fe
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8, r12
call fcn.14004b010
add rsp, 0x20
cmp esi, 0xd5221ce
jbe 0x1400640c0
mov rsi, qword [rbp - 0x10]
mov r12, qword [rbp]
nop dword [rax + rax]
mov eax, dword [0x141f36bb8]
xor edx, edx
div dword [0x141f36bbc]
imul eax, eax, 0x8bc98147
or eax, 0xe50e8965
cmp eax, 0x55aa7fd
je 0x140064110
mov r8, qword [rbx]
nop word cs:[rax + rax]
mov eax, dword [0x141f36bc0]
and eax, dword [0x141f36bc4]
imul eax, eax, 0x42ac227c
add eax, 0xb3117e2d
cmp eax, 0xf7bc67b3
ja 0x140064140
mov r9, qword [rbx + 8]
movzx ecx, word [rbx + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141f36bc8]
xor eax, dword [0x141f36bcc]
or eax, 0xdf2cbe83
xor eax, 0x8ca25bee
imul eax, eax, 0x4c1c72c3
cmp eax, 0x3848a529
jb 0x140064170
test r9, r9
je 0x1400642db
nop dword [rax]
mov eax, dword [0x141f36be0]
mov edx, dword [str.F_]
add eax, edx
add eax, 0xce19c01d
xor eax, 0x71778c0a
cmp eax, 0x975a76b
jb 0x1400641a0
movzx eax, byte [r8]
nop word cs:[rax + rax]
mov edx, dword [0x141f36be8]
and edx, dword [0x141f36bec]
add edx, 0x2f60e440
imul rdx, rdx, 0x31666b33
shr rdx, 0x3d
cmp edx, 0x2a7cb278
je 0x1400641d0
nop word cs:[rax + rax]
mov edx, dword [0x141f36bf0]
add edx, dword [0x141f36bf4]
shr edx, 1
imul rdx, rdx, 0x44ef1f55
shr rdx, 0x39
imul edx, edx, 0xfbd7adef
and edx, 0x896b2945
cmp edx, 0xd790bf50
ja 0x140064200
cmp al, 0x30
jbe 0x1400642b5
mov eax, dword [0x141f36c00]
and eax, dword [0x141f36c04]
or eax, 0xf1079300
cmp eax, 0x84d708de
jne 0x140064258
mov word [r13], 2
mov qword [r13 + 8], r8
mov eax, 0x8d3e4dc7
nop dword [rax]
mov edx, dword [0x141f36c08]
add edx, dword [str._bv_fMK]
imul rdx, rax
shr rdx, 0x3d
add edx, 0xbb697bca
mov word [r13], 2
mov qword [r13 + 8], r8
cmp edx, 0xc9dc95cc
ja 0x140064260
mov eax, dword [0x141f36c10]
imul eax, dword [0x141f36c14]
imul eax, eax, 0x7d9b95de
and eax, 0x916baff0
cmp eax, 0xbcb893ee
jbe 0x140064389
jmp 0x1400643bf
ud2
mov eax, dword [str.Z_k]
or eax, dword [0x141f36bd4]
imul rax, rax, 0x51ca5179
shr rax, 0x38
cmp eax, 0xa51a2637
jne 0x140064357
jmp 0x140064385
ud2
mov eax, dword [0x141f36b58]
xor edx, edx
div dword [0x141f36b5c]
or eax, 0x73b8261a
and eax, 0x77fcae3b
imul eax, eax, 0xc1ab6267
lea rcx, [0x141f221ea]
mov qword [r13 + 8], rcx
cmp eax, 0x8777401a
jae 0x14006433d
lea rax, [0x141f221ea]
mov qword [r13 + 8], rax
jmp 0x140064300
mov qword [r13 + 0x10], 3
mov ebx, 1
mov r15, qword [rbp - 8]
mov r12, qword [rbp]
jmp 0x1400645f1
mov eax, dword [0x141f36bd8]
and eax, dword [0x141f36bdc]
imul rax, rax, 0x66f4b841
shr rax, 0x39
or eax, 0x56253800
and eax, 0x56253810
ud2
ud2
mov eax, dword [0x141f36c18]
xor edx, edx
div dword [0x141f36c1c]
shr eax, 2
imul rax, rax, 0x27db9c3
shr rax, 0x34
imul eax, eax, 0x90e340d3
or eax, 0xa7f8422b
mov qword [r13 + 0x10], 1
cmp eax, 0x51a7a13
jne 0x1400643c9
mov qword [r13 + 0x10], 1
jmp 0x140064389
mov ebx, 1
cmp r9, 2
jb 0x140064408
mov word [r13 + 0x18], 2
lea rax, [0x141f257c3]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], 1
inc r8
dec r9
mov word [r13 + 0x30], 2
mov qword [r13 + 0x38], r8
mov qword [r13 + 0x40], r9
mov ebx, 3
test cx, cx
jle 0x1400644c4
mov eax, dword [0x141f36c20]
imul eax, dword [0x141f36c24]
imul eax, eax, 0x1b7ac03a
cmp eax, 0xa056c44b
jne 0x140064437
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8], 2
dec ecx
lea rdx, [rbx + rbx*2]
lea rax, [rdx*8]
add rax, r13
nop dword [rax + rax]
mov r8d, dword [0x141f36c28]
or r8d, dword [0x141f36c2c]
imul r8d, r8d, 0x150c08bd
add r8d, 0x3b9715eb
or r8d, 0xbf9a56a0
mov word [r13 + rdx*8], 2
cmp r8d, 0xff17b349
jb 0x140064450
lea rdx, [0x141f221e2]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], 1
nop word [rax + rax]
mov eax, dword [0x141f36c30]
imul eax, dword [0x141f36c34]
imul eax, eax, 0xc3bd9e80
add eax, 0x6e8dc00
cmp eax, 0xe77cbfdb
ja 0x1400644a0
jmp 0x14006457b
mov eax, dword [0x141f36c38]
xor eax, dword [0x141f36c3c]
imul eax, eax, 0xbc2d82fc
cmp eax, 0x8961e3d
jne 0x1400644f5
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8], 2
lea rdx, [0x141f221e3]
mov qword [r13 + rax*8 + 8], rdx
lea rdx, [rbx + rbx*2]
lea rax, [rdx*8]
add rax, r13
lea r8, [0x141f221e3]
nop dword [rax + rax]
mov r9d, dword [0x141f36c40]
sub r9d, dword [0x141f36c44]
and r9d, 0x6b8e57d1
imul r9d, r9d, 0xbcd0abae
xor r9d, 0xa2bc6d1
mov word [r13 + rdx*8], 2
mov qword [r13 + rdx*8 + 8], r8
cmp r9d, 0x586341f5
jb 0x140064510
nop dword [rax]
mov edx, dword [0x141f36c48]
or edx, dword [0x141f36c4c]
or edx, 0x2c7fe26b
cmp edx, 0xfd716cab
je 0x140064550
mov qword [rax + 0x10], 2
mov eax, 1
sub eax, ecx
mov ecx, eax
mov eax, dword [0x141f36c50]
and eax, dword [0x141f36c54]
xor eax, 0xee9343a0
mov edx, 0xe8ce4465
imul rdx, rax
shr rdx, 0x3e
and edx, 0xfffffffe
cmp edx, 0x5cb6e8e3
je 0x1400645d9
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8 + 0x18], 1
mov word [r13 + rax*8 + 0x1a], cx
mov eax, dword [0x141f36c58]
add eax, dword [0x141f36c5c]
or eax, 0xeafa7c92
imul eax, eax, 0xcac0fa34
add eax, 0x6cc1aee0
cmp eax, 0xd1c264c7
jbe 0x1400645ed
lea rax, [rbx + rbx*2]
mov word [r13 + rax*8 + 0x18], 1
mov word [r13 + rax*8 + 0x1a], cx
jmp 0x1400645a4
add rbx, 2
mov eax, dword [0x141f36c60]
sub eax, dword [0x141f36c64]
imul eax, eax, 0xb9dd8048
add eax, 0xefad1a00
cmp eax, 0x37f55128
jae 0x140064631
mov qword [rdi], r12
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.140064680
add rsp, 0x20
xor r14d, r14d
nop word cs:[rax + rax]
mov qword [rdi], r12
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.140064680
add rsp, 0x20
test r14b, r14b
jne 0x140064640
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret