Function at 0x140066f00
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov r12, rcx
mov eax, dword [0x141f37148]
and eax, dword [0x141f3714c]
imul eax, eax, 0x57ffb8bb
mov ecx, 0xc29d169d
imul rcx, rax
shr rcx, 0x3c
and ecx, 0xfffffffd
cmp ecx, 0xff4bf5b7
ja 0x140066f82
mov ecx, dword [0x141f37150]
and ecx, dword [0x141f37154]
xor ecx, 0x20000
and ecx, 0x28020
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rdx, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rax, rsp
cmp ecx, 0x2fcc9df1
jbe 0x140066f9e
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x140066f42
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x30], rax
movabs rdx, 0x1ffffffffffffe
movabs r9, 0x10000000000000
mov eax, dword [0x141f37158]
or eax, dword [0x141f3715c]
or eax, 0xb9a619c3
imul eax, eax, 0xe8c068ba
add eax, 0x9e4d4f2e
cmp eax, 0x943c64c7
ja 0x140067079
mov eax, dword [0x141f37160]
xor eax, dword [0x141f37164]
xor eax, 0x5a0bde23
imul r11d, eax, 0x6b631eed
add r11d, 0xd5093bed
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rcx, rsp
mov eax, 0x60
call fcn.1400f4d10
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov r14, rsp
movq r13, xmm1
mov rsi, r13
shr rsi, 0x34
and esi, 0x7ff
lea rax, [r13*2]
and rax, rdx
lea rdi, [r9 - 1]
and rdi, r13
mov r10, rdi
or r10, r9
test esi, esi
cmove r10, rax
cmp r11d, 0x794ed3da
jae 0x1400670b2
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x60
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x140066fe1
lea eax, [rsi - 0x433]
mov dword [rbp - 0x24], eax
nop dword [rax + rax]
mov eax, dword [0x141f37168]
sub eax, dword [0x141f3716c]
or eax, 0x73f1acd6
add eax, 0x3b16c9d1
and eax, 0x98123fc1
cmp eax, 0xe6a4c7c6
ja 0x1400670c0
mov qword [rbp - 0x18], r14
mov qword [rbp - 8], rcx
ucomisd xmm1, xmm1
mov qword [rbp], rbx
mov qword [rbp - 0x10], r12
jp 0x1400675c5
movabs r11, 0x7ff0000000000000
xor eax, eax
mov rcx, r13
and rcx, r11
setne al
lea r14, [rax*2 + 2]
mov r12d, 1
nop
mov eax, dword [0x141f37170]
xor edx, edx
div dword [0x141f37174]
add eax, 0xd58a7691
and eax, 0xc1e21ae4
cmp rcx, r11
mov rbx, r14
cmove rbx, r12
cmp rcx, 1
mov edx, 4
sbb rdx, 0
test rdi, rdi
cmove rdx, rbx
cmp eax, 0xaf4447df
jb 0x140067120
dec rdx
lea rax, [0x141f266dc]
movsxd rcx, dword [rax + rdx*4]
add rcx, rax
jmp rcx
mov al, 3
mov r12, qword [rbp - 0x10]
mov r14, qword [rbp - 8]
jmp 0x1400672ca
mov eax, 0xa5c37a9b
mov r12, qword [rbp - 0x10]
mov r14, qword [rbp - 8]
nop
mov ecx, dword [str.O_h8]
or ecx, dword [0x141f3717c]
imul ecx, ecx, 0x538d9e9a
add ecx, 0x4ee87334
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x96a5389f
jae 0x1400672a0
mov al, 4
mov rbx, qword [rbp]
mov qword [r15], r10
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], rdx
mov word [r15 + 0x18], r9w
mov byte [r15 + 0x1a], al
add al, 0xfe
movzx ecx, al
cmp cl, 3
mov eax, 3
cmovb eax, ecx
test al, al
je 0x140067472
movzx eax, al
nop word cs:[rax + rax]
mov ecx, dword [0x141f371a0]
sub ecx, dword [0x141f371a4]
xor ecx, 0x205feb95
add ecx, 0x1d134b
cmp ecx, 0x3150e4a
jb 0x140067310
mov ecx, 0xa843c6b1
mov rdx, r13
shr rdx, 0x3f
lea r9, [0x141f221e5]
lea r11, [0x141f221e6]
nop word [rax + rax]
mov r10d, dword [0x141f371a8]
and r10d, dword [0x141f371ac]
xor r10d, 0xd1f96261
imul r10, rcx
shr r10, 0x3f
imul esi, r10d, 0xe952a674
test r13, r13
mov r10d, 1
cmovs r10, r9
mov rbx, r11
cmovs rbx, r9
cmp esi, 0x54987f63
jb 0x140067350
mov ecx, 1
nop word cs:[rax + rax]
mov r9d, dword [str._b_r_ae]
sub r9d, dword [0x141f371b4]
and r9d, 0x3b609820
test r8b, r8b
mov rdi, r10
cmovne rdi, rbx
mov rsi, rdx
cmovne rsi, rcx
cmp r9d, 0x1470e5ba
je 0x1400673a0
cmp eax, 1
mov r13, qword [rbp - 0x30]
je 0x1400674bc
cmp eax, 2
mov rbx, qword [rbp]
jne 0x14006750d
mov eax, dword [0x141f37280]
xor eax, dword [0x141f37284]
imul rax, rax, 0x4224fb43
shr rax, 0x3e
xor eax, 0xfd143341
mov ecx, 0xcb22d677
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x2ff4b34
jbe 0x140067420
mov word [rbx], 2
nop
mov eax, dword [0x141f37288]
and eax, dword [0x141f3728c]
xor eax, 0x321ca93a
add eax, 0x84910c1d
or eax, 0x889b88d1
mov word [rbx], 2
cmp eax, 0x3ecc1c4b
je 0x140067420
lea rax, [0x141f221e0]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], 2
mov word [rbx + 0x18], 0
mov qword [rbx + 0x20], 1
mov eax, 2
jmp 0x140067a1c
mov word [rbx], 2
lea rax, [0x141f221e7]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], 3
xor esi, esi
nop dword [rax]
mov eax, dword [str._gL:]
and eax, dword [0x141f371bc]
add eax, 0xeede71f1
or eax, 0x9ae016b7
cmp eax, 0x3f3d33e3
jb 0x140067490
mov edi, 1
mov eax, 1
jmp 0x140067a1c
mov rbx, qword [rbp]
mov word [rbx], 2
lea rax, [0x141f221ea]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], 3
nop dword [rax + rax]
mov eax, dword [str._rb]
imul eax, dword [0x141f371c4]
xor eax, 0xc7af9a85
add eax, 0x9dfec584
and eax, 0xdc9faa28
cmp eax, 0x55a60d9
jbe 0x1400674e0
mov eax, 1
jmp 0x140067a1c
mov eax, dword [str.Q_v_]
imul eax, dword [0x141f371cc]
and eax, 0x8aa6312
add eax, 0x5be166eb
cmp eax, 0x55680379
jae 0x140067543
sub rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov rdx, r15
mov r8, qword [rbp - 0x18]
call fcn.140052c60
add rsp, 0x20
xor ebx, ebx
mov rcx, qword [rbp - 0x20]
mov r12, qword [rbp - 0x18]
nop dword [rax]
sub rsp, 0x20
mov rdx, r15
mov r8, r12
call fcn.140052c60
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
test bl, bl
jne 0x140067550
cmp qword [rcx], 0
je 0x14006759d
mov eax, dword [0x141f371e0]
mov edx, dword [0x141f371e4]
add eax, edx
add eax, 0x727fb6af
or eax, 0xabe8f1a8
imul rax, rax, 0x39997729
shr rax, 0x3c
cmp eax, 0xa7bb8d01
ja 0x1400675fe
jmp 0x1400675d0
mov eax, dword [0x141f371d0]
and eax, dword [0x141f371d4]
or eax, 0xfbdfb6fc
imul eax, eax, 0x7b7188c6
cmp eax, 0x7b74bc92
mov r12, qword [rbp - 0x18]
jb 0x140067650
jmp 0x140067610
mov al, 2
mov r14, qword [rbp - 8]
jmp 0x1400672ce
mov rax, qword [rcx + 0x10]
mov qword [r13 + 0x10], rax
mov eax, dword [0x141f371e8]
imul eax, dword [0x141f371ec]
or eax, 0xda9f07b
add eax, 0xc8ba9cee
movups xmm0, xmmword [rcx]
movups xmmword [r13], xmm0
cmp eax, 0x1ba6ec98
jae 0x140067668
mov rax, qword [rcx + 0x10]
mov qword [r13 + 0x10], rax
movups xmm0, xmmword [rcx]
movups xmmword [r13], xmm0
jmp 0x1400675d0
mov eax, dword [0x141f371d8]
or eax, dword [0x141f371dc]
and eax, 0x1f334046
imul eax, eax, 0x75fbc519
imul rbx, rax, 0x1bacce13
shr rbx, 0x3b
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
mov r8, r12
call fcn.14004b010
add rsp, 0x20
cmp ebx, 0x2fe28158
jbe 0x140067668
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
mov r8, r12
call fcn.14004b010
add rsp, 0x20
jmp 0x140067610
xor eax, eax
mov rbx, qword [rbp]
mov r12, qword [rbp - 0x10]
nop word cs:[rax + rax]
test al, al
jne 0x140067680
mov r8, qword [r13 + 8]
test r8, r8
je 0x14006792a
mov rcx, qword [r13]
movzx r9d, word [r13 + 0x10]
movsx r10, r9w
movzx r11d, byte [rcx]
mov eax, dword [0x141f37200]
xor edx, edx
div dword [0x141f37204]
mov eax, dword [0x141f37208]
xor edx, edx
div dword [0x141f3720c]
xor eax, 0xf3dab758
imul eax, eax, 0x109c9338
cmp eax, 0xc2fa3ddd
je 0x1400676b0
mov eax, 0x89c061fb
nop word cs:[rax + rax]
mov edx, dword [0x141f37210]
sub edx, dword [0x141f37214]
imul edx, edx, 0x72a4b2e4
shr edx, 1
imul rdx, rax
shr rdx, 0x3e
add edx, 0xa7eff41f
cmp edx, 0x9057cd16
jb 0x1400676e0
cmp r11b, 0x30
jbe 0x140067970
nop word cs:[rax + rax]
mov eax, dword [0x141f37230]
add eax, dword [0x141f37234]
imul eax, eax, 0xd5f75392
cmp eax, 0x82bb8547
je 0x140067720
test r9w, r9w
jle 0x1400677af
mov word [rbx], 2
mov qword [rbx + 8], rcx
nop dword [rax + rax]
mov eax, dword [0x141f37238]
and eax, dword [0x141f3723c]
xor eax, 0x80a44020
and eax, 0xc6aef32c
cmp eax, 0xbae8c55a
je 0x140067750
mov rax, r8
sub rax, r9
jbe 0x14006788c
mov qword [rbx + 0x10], r9
mov edx, dword [0x141f37260]
sub edx, dword [0x141f37264]
add edx, 0x5eb3a5ec
mov r8d, 0xde8fb271
imul r8, rdx
shr r8, 0x3e
cmp r8d, 0xd034bdf5
je 0x1400679ea
jmp 0x140067996
mov word [rbx], 2
lea rax, [0x141f221e0]
mov qword [rbx + 8], rax
mov eax, dword [0x141f37240]
add eax, dword [0x141f37244]
neg r10
imul eax, eax, 0x349ca747
add eax, 0x8e3c4df5
cmp eax, 0x10ab73e
jae 0x140067800
mov qword [rbx + 0x10], 2
mov word [rbx + 0x18], 0
mov qword [rbx + 0x20], r10
mov word [rbx + 0x30], 2
mov qword [rbx + 0x38], rcx
nop dword [rax]
mov eax, dword [0x141f37248]
xor eax, dword [0x141f3724c]
or eax, 0x4b0ef6fb
imul eax, eax, 0x7c885f79
mov qword [rbx + 0x10], 2
mov word [rbx + 0x18], 0
mov qword [rbx + 0x20], r10
mov word [rbx + 0x30], 2
mov qword [rbx + 0x38], rcx
cmp eax, 0x6b61d6d3
je 0x140067800
mov eax, dword [0x141f37250]
sub eax, dword [0x141f37254]
xor eax, 0xd96a3945
add eax, 0x60574a8
cmp eax, 0xbb26f338
jbe 0x140067860
mov qword [rbx + 0x40], r8
nop dword [rax + rax]
mov eax, dword [0x141f37258]
xor eax, dword [0x141f3725c]
imul eax, eax, 0xa79933b3
add eax, 0xa06dfdc0
xor eax, 0x490a4d6a
mov qword [rbx + 0x40], r8
cmp eax, 0x1ab399bc
jb 0x140067860
jmp 0x140067a17
mov qword [rbx + 0x10], r8
sub r9, r8
mov word [rbx + 0x18], 0
mov qword [rbx + 0x20], r9
mov word [rbx + 0x30], 2
lea rax, [0x141f257c3]
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], 1
mov eax, dword [0x141f37270]
add eax, dword [0x141f37274]
and eax, 0x49b35d9c
add eax, 0xecd997b0
mov ecx, 0xd50c8e07
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x356bf35b
jbe 0x1400678f0
mov word [rbx + 0x48], 0
mov qword [rbx + 0x50], 1
nop
mov eax, dword [0x141f37278]
or eax, dword [0x141f3727c]
xor eax, 0x159294
add eax, 0x953f2c92
and eax, 0x268d7d30
mov word [rbx + 0x48], 0
mov qword [rbx + 0x50], 1
cmp eax, 0xfc8142ac
jae 0x1400678f0
mov eax, 4
jmp 0x140067a1c
mov eax, dword [0x141f371f0]
xor edx, edx
div dword [0x141f371f4]
mov ecx, 0xc18a423b
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x9c400024
imul rax, rcx, 0x2b7d9e59
shr rax, 0x20
sub ecx, eax
shr ecx, 1
add ecx, eax
shr ecx, 0x1e
cmp ecx, 0x3a861904
je 0x140067a73
jmp 0x140067a4c
mov eax, dword [0x141f37218]
xor eax, dword [0x141f3721c]
and eax, 0x8105f00
add eax, 0xda5ac026
cmp eax, 0xf486ec6
jb 0x140067a9d
jmp 0x140067a77
mov edx, dword [0x141f37268]
or edx, dword [0x141f3726c]
shr edx, 1
imul rdx, rdx, 0x410cb129
shr rdx, 0x3d
imul edx, edx, 0x41c66df1
or edx, 0x26d579ec
mov word [rbx + 0x18], 2
lea r8, [0x141f257c3]
mov qword [rbx + 0x20], r8
lea r8, [rcx + r9]
mov qword [rbx + 0x28], 1
mov word [rbx + 0x30], 2
mov qword [rbx + 0x38], r8
cmp edx, 0x9e1d23dd
jbe 0x140067a13
mov word [rbx + 0x18], 2
lea rdx, [0x141f257c3]
mov qword [rbx + 0x20], rdx
mov qword [rbx + 0x28], 1
lea rdx, [rcx + r9]
mov word [rbx + 0x30], 2
mov qword [rbx + 0x38], rdx
jmp 0x140067996
mov qword [rbx + 0x40], rax
mov eax, 3
mov qword [r14], rdi
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], rax
sub rsp, 0x20
mov rcx, r12
mov rdx, r14
call fcn.140064680
nop
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141f371f8]
imul eax, dword [0x141f371fc]
imul eax, eax, 0x6cecc6d7
and eax, 0x5d475835
imul eax, eax, 0xea1994cd
ud2
ud2
mov eax, dword [0x141f37220]
imul eax, dword [0x141f37224]
imul eax, eax, 0x7d7bbb0b
add eax, 0xb500d861
xor eax, 0x46eb7b8a
ud2
ud2