Function at 0x140235c10
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x1415bc388]
or eax, dword [0x1415bc38c]
lea ecx, [rax + 0x36f22e8d]
mov edx, ecx
and edx, 0xb95c89a2
xor ecx, 0x46a3765d
add eax, ecx
add eax, 0x36f22e8d
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0xb24864a2
mov edx, eax
and edx, 0x4db79b5d
imul edx, ecx
mov ecx, eax
and ecx, 0xb24864a2
or eax, 0xb24864a2
imul eax, ecx
add eax, edx
cmp eax, 0x630f547e
je 0x140235cbf
mov eax, dword [0x1415bc390]
mov ecx, dword [0x1415bc394]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
add eax, 0x801b1159
mov ecx, 0x8d71f74d
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x49a6030e
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xb5da1603
jbe 0x140235cd0
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
jmp 0x140235c7a
mov eax, dword [0x1415bc398]
xor edx, edx
div dword [str.i_uL_v]
xor eax, 0x22c33201
and eax, 0x63ebf201
cmp eax, 0xafaab17c
je 0x140235cd0
mov r14d, 2
mov r15d, 3
lea r10, [0x1415d3888]
mov r13d, 0x9ec18cfb
mov rbx, r10
mov eax, dword [0x1415d3888]
nop word cs:[rax + rax]
cmp eax, 2
jge 0x140235e40
test eax, eax
jg 0x1402361db
jne 0x14023617c
mov ecx, dword [0x1415bc3a8]
mov edx, dword [0x1415bc3ac]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0xf8b139ae
and ecx, 0x74ec651
or ecx, r9d
or eax, r8d
and r8d, 0xf8b139ae
and edx, 0x74ec651
or edx, r8d
xor edx, ecx
not eax
or eax, edx
add eax, 0x9b7b4401
mov ecx, eax
and ecx, 0x7ef2858
add ecx, ecx
sub eax, ecx
add eax, 0x7ef2858
and eax, 0x999ae8a5
cmp eax, 0x597096f0
jne 0x140235db0
xor eax, eax
lock cmpxchg dword [0x1415d3888], r14d
nop word cs:[rax + rax]
mov eax, dword [0x1415bc3b0]
sub eax, dword [0x1415bc3b4]
mov ecx, eax
and ecx, 0x8cd7ef8
xor eax, 0x88cd7ef8
lea eax, [rax + rcx*2]
mov edx, eax
xor edx, 0x100083
xor eax, 0x4f67fb38
or edx, 0xf2e8766c
and edx, eax
xor eax, eax
lock cmpxchg dword [0x1415d3888], r14d
sete cl
cmp edx, 0x98d3a977
je 0x140235db0
mov edx, dword [0x1415bc3b8]
xor edx, dword [0x1415bc3bc]
add edx, 0x37d1accd
mov r8d, edx
xor r8d, 0xda12102a
xor edx, 0x4000000
or edx, 0xfb7ad8aa
or r8d, 0x4852755
and r8d, edx
cmp r8d, 0xe5705a5e
je 0x140235df7
test cl, cl
je 0x140235ee0
jmp 0x14023611f
jg 0x140235f10
mov eax, 2
lock cmpxchg dword [0x1415d3888], r15d
sete cl
mov edx, dword [0x1415bc440]
mov r8d, dword [0x1415bc444]
mov r9d, edx
and r9d, r8d
or edx, r8d
add edx, r9d
mov r8d, edx
not r8d
or edx, 0x11789bc0
or r8d, 0xee87643f
and r8d, edx
mov edx, r8d
not edx
and r8d, 0xe9c720f9
and edx, 0x1638df06
sub edx, r8d
mov r8d, edx
not r8d
and r8d, 0xd0444656
mov r9d, edx
and r9d, 0x2fbbb9a9
imul r9d, r8d
mov r8d, edx
and r8d, 0xd0444656
or edx, 0xd0444656
imul edx, r8d
add edx, r9d
cmp edx, 0x627f6adb
jb 0x140235e57
test cl, cl
jne 0x140235f19
nop dword [rax]
mov ecx, dword [0x1415bc448]
or ecx, dword [0x1415bc44c]
lea edx, [rcx - 0x7dfd0168]
not edx
or edx, 0x8d5ad633
add ecx, edx
add ecx, 0x853e467c
cmp ecx, 0x67219dc7
jbe 0x140235ee0
jmp 0x140235d20
cmp eax, 4
jge 0x14023617a
mov eax, dword [0x1415bc450]
and eax, dword [0x1415bc454]
and eax, 0x83c36fa0
cmp eax, 0x9a92d4e3
je 0x140235f96
nop word cs:[rax + rax]
mov eax, dword [0x1415bc458]
mov r12d, dword [0x1415bc45c]
xor r12d, eax
not r12d
and r12d, eax
add r12d, 0xc8a4cb0f
xor r12d, 0xc038d6f4
mov dword [rdi], 3
sub rsp, 0x20
mov r8d, 4
mov rcx, r10
mov rdx, rdi
mov r9d, 0xffffffff
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
mov r10, rbx
add rsp, 0x20
cmp r12d, 0xa60cfc8c
jne 0x140235fd0
mov dword [rdi], 3
sub rsp, 0x20
mov r8d, 4
mov rcx, r10
mov rdx, rdi
mov r9d, 0xffffffff
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
mov r10, rbx
add rsp, 0x20
jmp 0x140235f40
mov ecx, dword [0x1415bc460]
mov edx, dword [str.ql9bf]
not ecx
not edx
or edx, ecx
not edx
imul rdx, r13
shr rdx, 0x3f
lea ecx, [rdx + 0x300444]
imul ecx, ecx, 0xf34a9100
or edx, 0xfbfedfe6
imul edx, edx, 0x8844aa2
add edx, ecx
cmp edx, 0xf2fe6228
je 0x140235fd0
cmp eax, 1
je 0x140235d0b
mov eax, dword [0x1415bc468]
mov ecx, dword [0x1415bc46c]
add eax, ecx
add eax, 0xf34300c4
mov ecx, eax
xor ecx, 0x8693200
xor eax, 0xa5864477
mov edx, eax
and edx, 0xd7128d9c
and ecx, 0x28ed7263
imul ecx, edx
mov edx, eax
and edx, 0x28ed7263
or eax, 0x28ed7263
imul eax, edx
add eax, ecx
cmp eax, 0xba14acde
jne 0x140236070
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
nop
mov eax, dword [0x1415bc470]
mov ecx, dword [str._b_]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
add eax, 0xa8c86368
imul r12, rax, 0x1c02e225
shr r12, 0x3c
not r12d
and r12d, 0xaf7b2497
xor r12d, 0x91ab97d1
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
cmp r12d, 0xb81459b4
ja 0x140236070
mov r10, rbx
nop word cs:[rax + rax]
mov eax, dword [0x1415bc478]
sub eax, dword [0x1415bc47c]
add eax, 0xdec101d4
mov ecx, eax
and ecx, 0x70dba901
add ecx, ecx
sub eax, ecx
add eax, 0xf0dba901
mov ecx, eax
xor ecx, 0x99c893e
and eax, 0x766376c1
add eax, eax
sub eax, ecx
cmp eax, 0xbcec1b86
jb 0x1402360e0
jmp 0x140235d0b
mov eax, dword [0x1415bc3c0]
and eax, dword [0x1415bc3c4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x6f1f2c3a
and ecx, 0x90e0d3c5
imul ecx, edx
mov edx, eax
and edx, 0x90e0d3c5
or eax, 0x90e0d3c5
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
or ecx, 0xaa299a49
or eax, 0x55d665b6
and eax, ecx
imul rax, rax, 0x541fe97b
shr rax, 0x39
cmp eax, 0xc1a2a95a
jbe 0x1402361dd
jmp 0x140236217
je 0x1402361ca
xor eax, eax
test al, al
je 0x140236190
ud2
mov eax, dword [0x1415bc3a0]
mov ecx, dword [0x1415bc3a4]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
add ecx, 0xb67a5cea
xor ecx, 0x97d7a5af
imul rax, rcx, 0x30ccf185
shr rax, 0x3d
ud2
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
mov eax, dword [0x1415bc3c8]
mov ecx, dword [0x1415bc3cc]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
imul eax, eax, 0x8d8bc2
or eax, 0x508d44a
add eax, 0x84bdaca2
mov rcx, qword [rsi]
mov rdi, qword [rcx]
mov qword [rcx], 0
cmp eax, 0x9b175d9
jae 0x140236223
mov rax, qword [rsi]
mov qword [rax], 0
jmp 0x1402361dd
mov eax, dword [0x1415bc3d0]
xor edx, edx
div dword [0x1415bc3d4]
nop word cs:[rax + rax]
mov eax, dword [0x1415bc3d8]
xor edx, edx
div dword [0x1415bc3dc]
or eax, 0xf5bcdbaf
add eax, 0x893ced92
not eax
and eax, 0xfa4012f4
cmp eax, 0xb3b38b88
ja 0x140236240
test rdi, rdi
je 0x1402364db
mov ecx, 0xd38021cb
nop word cs:[rax + rax]
mov eax, dword [str.U_x]
xor edx, edx
div dword [0x1415bc3f4]
and eax, 0xd04fa608
imul rax, rcx
shr rax, 0x3d
not eax
or eax, 0xd009c6b2
cmp eax, 0xcc38e923
jb 0x140236280
movzx eax, byte [0x1415d3950]
sub rsp, 0x20
mov edx, 0x818
xor ecx, ecx
call fcn.140219830
add rsp, 0x20
test rax, rax
je 0x1402361db
mov rsi, rax
mov eax, dword [0x1415bc3f8]
mov ecx, dword [0x1415bc3fc]
mov edx, eax
not edx
or eax, ecx
not ecx
and ecx, edx
not eax
or eax, ecx
not eax
imul eax, eax, 0xa22493c4
add eax, 0xc93f65f2
mov ecx, eax
xor ecx, 0x9b1bfd1b
or eax, 0x64e402e4
and eax, ecx
cmp eax, 0x4c87fe9f
jbe 0x140236320
mov qword [rsi + 0x810], 0
movzx eax, byte [0x1415d3950]
nop
mov eax, dword [0x1415bc400]
add eax, dword [0x1415bc404]
or eax, 0x554c2012
imul eax, eax, 0x7ea91409
not eax
or eax, 0x39c661ea
mov qword [rsi + 0x810], 0
movzx ecx, byte [0x1415d3950]
cmp eax, 0x9367115c
je 0x140236320
sub rsp, 0x20
mov edx, 0x300
xor ecx, ecx
call fcn.140219830
add rsp, 0x20
test rax, rax
je 0x14023648d
mov ecx, dword [0x1415bc410]
mov edx, dword [0x1415bc414]
mov r8d, ecx
xor r8d, edx
not r8d
or ecx, edx
and ecx, r8d
mov edx, ecx
and edx, 0x33cf10fc
add edx, edx
mov r8d, ecx
sub r8d, edx
neg edx
add ecx, edx
add ecx, 0x33cf10fc
not ecx
or ecx, 0x45b8e704
add ecx, r8d
add ecx, 0x33cf10fd
imul rcx, rcx, 0x4012a23d
shr rcx, 0x3d
cmp ecx, 0x30d091ec
jne 0x1402363e2
mov rcx, rax
and rcx, 0xffffffffffffff80
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 1
mov rdx, rax
xor rdx, 0x7f
and rdx, rax
lea rcx, [rdx + 0x80]
nop word cs:[rax + rax]
mov r8d, dword [0x1415bc418]
mov r9d, dword [0x1415bc41c]
not r8d
mov r10d, r8d
and r10d, r9d
or r8d, r9d
not r8d
or r8d, r10d
and r8d, 0xa89f0008
mov r9d, r8d
xor r9d, 0xc8de52c
or r8d, 0xa0120000
and r8d, r9d
mov qword [rdx + 0x78], rax
mov qword [rdx + 0x80], 1
cmp r8d, 0xfd53b076
je 0x140236400
mov eax, dword [0x1415bc420]
mov edx, dword [0x1415bc424]
mov r8d, eax
and r8d, edx
add r8d, r8d
add eax, edx
sub eax, r8d
xor eax, 0xb9d1cc48
imul eax, eax, 0x1d319de6
add eax, 0xfaab82d2
cmp eax, 0xaa2cfafc
jbe 0x140236569
jmp 0x1402365fa
ud2
mov eax, dword [0x1415bc3e0]
xor edx, edx
div dword [0x1415bc3e4]
mov ecx, eax
not ecx
and ecx, 0x3d392e91
mov edx, eax
and edx, 0xc2c6d16e
imul edx, ecx
mov ecx, eax
and ecx, 0x3d392e91
or eax, 0x3d392e91
imul eax, ecx
add eax, edx
add eax, 0x37eb3b4d
and eax, 0xa6cd2a7f
cmp eax, 0x7d50cce2
ja 0x140236551
mov eax, dword [0x1415bc3e8]
and eax, dword [0x1415bc3ec]
imul eax, eax, 0x7fdaa254
add eax, 0x8da01e3f
shr eax, 1
mov ecx, 0xa1f6e77f
imul rcx, rax
shr rcx, 0x3d
ud2
ud2
mov eax, dword [0x1415bc42c]
add eax, dword [0x1415bc428]
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xfe9fac0c
and edx, 0x16053f3
imul edx, r8d
mov r8d, eax
and r8d, 0x16053f3
or eax, 0x16053f3
imul eax, r8d
lea r8d, [rax + rdx]
add r8d, 0xcad462b1
add eax, edx
mov edx, r8d
and edx, 0x304806a6
xor r8d, 0xcfb7f959
add eax, r8d
add eax, 0xcad462b1
sub eax, edx
mov qword [rcx + 8], 1
mov qword [rcx + 0x80], rsi
mov qword [rcx + 0x100], rsi
mov qword [rcx + 0x180], 0
mov qword [rcx + 0x200], 0
cmp eax, 0xe4d8c9cc
jne 0x14023662b
mov qword [rcx + 8], 1
mov qword [rcx + 0x80], rsi
mov qword [rcx + 0x100], rsi
mov qword [rcx + 0x180], 0
mov qword [rcx + 0x200], 0
jmp 0x140236569
mov edx, dword [0x1415bc430]
mov eax, dword [0x1415bc434]
mov r8d, edx
xor r8d, eax
not r8d
and r8d, eax
add r8d, r8d
sub eax, r8d
add eax, edx
imul rdx, rax, 0x3130923
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1c
mov edx, eax
and edx, 7
xor eax, 0xfc0dad07
or eax, edx
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xd00c8d08
and edx, 0x2b002d7
imul edx, r8d
mov r8d, eax
and r8d, 0x2c012007
or eax, 0x2eb122d7
imul eax, r8d
add eax, edx
cmp eax, 0x96699f6
jae 0x1402366b0
mov rax, qword [rdi]
mov qword [rax], rcx
mov eax, 4
xchg dword [0x1415d3888], eax
mov eax, dword [0x1415bc438]
imul eax, dword [0x1415bc43c]
or eax, 0xb0ec51bd
imul rdx, rax, 0x70ba85a9
shr rdx, 0x3e
or edx, 0xe8786688
mov rax, qword [rdi]
mov qword [rax], rcx
mov eax, 4
xchg dword [0x1415d3888], eax
cmp edx, 0x6d554a67
je 0x1402366b0
cmp eax, 3
jne 0x1402361ca
sub rsp, 0x20
lea rcx, [0x1415d3888]
call fcn.14021b260
add rsp, 0x20
jmp 0x1402361ca