Function at 0x140131280
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rdi, rdx
mov eax, dword [0x140229f30]
and eax, dword [0x140229f34]
mov edx, eax
and edx, 0x45f140ce
xor edx, 0x4590400c
and eax, 0x4590400c
or eax, edx
add eax, 0xc3057adc
cmp eax, 0xe498dfcb
ja 0x140131353
mov eax, dword [0x140229f38]
mov edx, dword [0x140229f3c]
xor edx, eax
not edx
and edx, eax
add edx, 0x3c18afa7
mov eax, edx
not eax
mov r8d, edx
and r8d, 0xf8f3f744
and eax, 0x70c08bb
imul eax, r8d
mov r8d, edx
and r8d, 0x70c08bb
or edx, 0x70c08bb
imul edx, r8d
add edx, eax
and edx, 0xbb799fef
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov r14, rsp
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov r15, rsp
cmp edx, 0x4570e76b
jne 0x140131390
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
jmp 0x1401312c0
mov eax, dword [0x140229f40]
mov edx, dword [0x140229f44]
not eax
not edx
mov r8d, eax
or r8d, edx
not r8d
and edx, eax
or edx, r8d
mov eax, edx
or eax, 0xa4fc5396
sub eax, edx
imul rax, rax, 0x3147847d
shr rax, 0x3a
not eax
add eax, 0x3de26361
jae 0x140131390
cmp rcx, rdi
je 0x140131568
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1401313e0
mov qword [r15], 0
mov rax, qword [rcx]
sub rsp, 0x20
lea rdx, [0x14020788c]
mov r8, r15
call qword [rax]
add rsp, 0x20
nop word cs:[rax + rax]
mov ecx, dword [0x140229f48]
mov edx, dword [0x140229f4c]
mov r8d, ecx
and r8d, edx
add r8d, r8d
add ecx, edx
sub ecx, r8d
xor ecx, 0x940980a2
mov edx, ecx
and edx, 0x7783568
add edx, edx
neg edx
add ecx, edx
add ecx, 0x87783568
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xd199cd4b
and edx, 0x2e6632b4
imul edx, r8d
mov r8d, ecx
and r8d, 0x2e6632b4
or ecx, 0x2e6632b4
imul ecx, r8d
add ecx, edx
cmp ecx, 0xb45cfd17
je 0x140131410
test eax, eax
js 0x140131648
mov rsi, qword [r15]
nop word cs:[rax + rax]
mov eax, dword [0x140229f70]
mov ecx, dword [0x140229f74]
mov edx, ecx
not edx
or edx, eax
not eax
or eax, ecx
not edx
not eax
or eax, edx
mov ecx, eax
not ecx
and ecx, 0x147d308a
mov edx, eax
and edx, 0xeb82cf75
imul edx, ecx
mov ecx, eax
and ecx, 0x147d308a
or eax, 0x147d308a
imul eax, ecx
add eax, edx
cmp eax, 0x61b78f43
je 0x140131490
nop word [rax + rax]
mov eax, dword [0x140229f78]
mov ecx, dword [0x140229f7c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
xor ecx, 0xb1909c08
add ecx, eax
and eax, 0x4e6f63f7
sub ecx, eax
xor ecx, 0x13ca54ba
add ecx, 0x4f735c88
cmp ecx, 0x9a5ddda2
jb 0x1401314e0
test rsi, rsi
je 0x14013156f
mov eax, dword [0x140229f98]
mov ecx, dword [0x140229f9c]
not ecx
add eax, ecx
add eax, 0x7cb2ca63
mov ecx, 0xdb0b59f9
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xa3c46303
jbe 0x140131814
jmp 0x140131864
mov bl, 1
jmp 0x140131c0a
mov eax, dword [0x140229f80]
mov ecx, dword [0x140229f84]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
or eax, 0x427a0404
imul eax, eax, 0xae5395c8
cmp eax, 0xd93d1528
jne 0x1401315a0
mov qword [r14], 0
nop
mov eax, dword [0x140229f88]
mov ecx, dword [0x140229f8c]
xor ecx, eax
not ecx
and ecx, eax
mov eax, ecx
not eax
mov edx, ecx
or edx, 0xf6d50d50
mov r8d, edx
and r8d, 0x78c5c9a2
and eax, 0x12a320d
imul eax, r8d
and edx, 0x873a365d
or ecx, 0xf7ff3f5d
imul ecx, edx
add ecx, eax
imul rax, rcx, 0x25a93827
shr rax, 0x3a
mov qword [r14], 0
cmp eax, 0x9946c075
je 0x1401315a0
sub rsp, 0x20
xor ecx, ecx
mov rdx, r14
call fcn.14014ee70
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x140229f90]
xor eax, dword [0x140229f94]
add eax, 0x67ef2115
mov ecx, eax
xor ecx, 0xc0415014
xor eax, 0x188a502
and eax, 0x358ea54a
and ecx, 0xca715ab5
or ecx, eax
cmp ecx, 0x514d9b1d
je 0x140131610
jmp 0x14013177e
mov eax, dword [0x140229f50]
xor eax, dword [0x140229f54]
mov ecx, eax
and ecx, 0x5b0997cc
or eax, 0x5b0997cc
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x345d5552
mov edx, eax
and edx, 0xcba2aaad
imul edx, ecx
mov ecx, eax
and ecx, 0x345d5552
or eax, 0x345d5552
imul eax, ecx
add eax, edx
imul eax, eax, 0x69f88177
cmp eax, 0x4aa481b4
jae 0x14013169e
mov qword [rsi], 0
mov eax, 0xf73769ad
nop word cs:[rax + rax]
mov ecx, dword [0x140229f58]
or ecx, dword [str._H_]
xor ecx, 0xac5ce233
imul rcx, rax
shr rcx, 0x3d
mov edx, ecx
not edx
or ecx, 0x7248512a
or edx, 0x7248512d
and edx, ecx
mov qword [rsi], 0
cmp edx, 0x6a77c782
je 0x1401316b0
mov eax, dword [0x140229f60]
xor edx, edx
div dword [0x140229f64]
add eax, 0x41cc54d3
mov ecx, eax
not ecx
or eax, 0xb409c5fb
or ecx, 0x4bf63a04
and ecx, eax
cmp ecx, 0x47deee53
jb 0x14013176a
mov eax, dword [0x140229f68]
xor edx, edx
div dword [0x140229f6c]
mov edi, eax
add edi, 0xdc8217b5
mov eax, edi
not eax
or eax, 0x8eaa2109
or edi, 0x7155def6
and edi, eax
mov eax, edi
xor eax, 0x4dc1ec30
and edi, 0x323e13cf
add edi, edi
sub edi, eax
sub rsp, 0x20
xor ecx, ecx
mov rdx, rsi
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
add rsp, 0x20
cmp edi, 0x7e3e0308
jne 0x14013177e
sub rsp, 0x20
xor ecx, ecx
mov rdx, rsi
call fcn.14014ee70
add rsp, 0x20
jmp 0x140131717
mov eax, dword [0x140229fe8]
xor eax, dword [0x140229fec]
imul eax, eax, 0x8207fc8c
mov ecx, eax
and ecx, 0x64515d94
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xe4515d95
cmp eax, 0xd734fd64
jb 0x1401317b2
ud2
ud2
ud2
mov eax, dword [0x140229fa0]
add eax, dword [0x140229fa4]
xor eax, 0x680014
mov ecx, eax
and ecx, 0xaee5d5c
mov edx, ecx
not edx
mov r8d, eax
and r8d, 0x461444
and edx, 0xdab9e998
imul edx, r8d
and eax, 0xaa84918
or ecx, 0xdab9e998
imul ecx, eax
add ecx, edx
mov qword [rbx], 0
cmp ecx, 0x340e5690
jae 0x14013186d
mov qword [rbx], 0
jmp 0x140131814
mov rax, qword [rdi]
sub rsp, 0x20
lea rdx, [0x14020788c]
mov rcx, rdi
mov r8, rbx
call qword [rax]
add rsp, 0x20
nop word [rax + rax]
mov ecx, dword [0x140229fa8]
mov edx, dword [0x140229fac]
mov r8d, ecx
xor r8d, edx
not edx
and edx, ecx
add edx, edx
sub edx, r8d
mov ecx, edx
and ecx, 0x493c3feb
add ecx, ecx
neg ecx
add ecx, edx
add ecx, 0xc93c3feb
xor ecx, 0xb8273aba
cmp ecx, 0x75466f31
jb 0x140131890
test eax, eax
js 0x140131a10
mov eax, 0x9775772d
nop word [rax + rax]
mov ecx, dword [0x140229fb8]
mov edx, dword [0x140229fbc]
mov r8d, ecx
and r8d, edx
add r8d, r8d
add ecx, edx
sub ecx, r8d
or ecx, 0xc3c2f556
add ecx, 0xa29e03d5
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xb84b6426
je 0x1401318e0
mov rdi, qword [rbx]
nop dword [rax]
mov ecx, dword [0x140229fc0]
mov eax, dword [0x140229fc4]
mov edx, ecx
not edx
and ecx, eax
not eax
or eax, edx
not eax
or eax, ecx
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x75f7a1c7
mov r8d, edx
and r8d, 0x83e75c7e
and ecx, 0x8080200
imul ecx, r8d
and edx, 0x7c18a381
or eax, 0x7dffa3c7
imul eax, edx
add eax, ecx
add eax, 0x1dc028d2
cmp eax, 0x827deff4
ja 0x140131920
mov eax, 0xf1f2c199
nop dword [rax + rax]
mov ecx, dword [0x140229fc8]
add ecx, dword [0x140229fcc]
imul rcx, rax
shr rcx, 0x3f
add ecx, 0xb858ee0b
cmp ecx, 0x99572222
jb 0x140131980
test rdi, rdi
je 0x140131a75
nop dword [rax + rax]
mov eax, dword [0x140229ff8]
add eax, dword [0x140229ffc]
mov ecx, eax
not ecx
and ecx, 0x8cce4a22
and eax, 0x7331b5dd
sub eax, ecx
add eax, 0x45a27cfb
not eax
and eax, 0x8c673a7e
cmp rsi, rdi
sete bl
add eax, 0xcdd762a1
jae 0x1401319b0
mov eax, dword [0x14022a000]
or eax, dword [0x14022a004]
mov r14, qword [rdi]
xor eax, 0xb010c260
or eax, 0x4bc7348b
cmp eax, 0x43c780bb
jne 0x140131b84
jmp 0x140131be8
mov eax, dword [0x140229fb0]
and eax, dword [0x140229fb4]
add eax, 0xd543ab91
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x34a3397c
mov r8d, edx
and r8d, 0xda9bb0ec
and ecx, 0x1444603
imul ecx, r8d
and edx, 0x25644f13
or eax, 0x35e77f7f
imul eax, edx
add eax, ecx
cmp eax, 0x69443b
jb 0x140131a10
mov qword [rbp], 0
sub rsp, 0x20
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
add rsp, 0x20
ud2
mov eax, dword [0x140229fd0]
add eax, dword [0x140229fd4]
mov ecx, 0xf6d88d7b
imul rcx, rax
shr rcx, 0x3d
or ecx, 0xd221df96
mov eax, 0x931f1753
imul rax, rcx
shr rax, 0x3d
cmp eax, 0xc421873e
ja 0x140131afd
mov eax, dword [0x140229fd8]
mov ecx, dword [0x140229fdc]
add eax, ecx
add eax, 0xa9f88706
mov ecx, eax
not ecx
and ecx, 0x3fda31ff
mov edx, eax
and edx, 0xc025ce00
imul edx, ecx
mov ecx, eax
and ecx, 0x3fda31ff
or eax, 0x3fda31ff
imul eax, ecx
add eax, edx
mov ecx, eax
and ecx, 0x146e9aee
add ecx, ecx
sub eax, ecx
mov qword [rbp], 0
cmp eax, 0x7f65ceca
jne 0x140131b07
mov qword [rbp], 0
jmp 0x140131aa8
sub rsp, 0x20
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.oleaut32.dll_GetErrorInfo]
add rsp, 0x20
nop word [rax + rax]
mov eax, dword [0x140229fe0]
or eax, dword [0x140229fe4]
mov ecx, eax
xor ecx, 0x297e0c73
and eax, 0x5681f38c
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x5325bef7
and ecx, 0xacda4108
imul ecx, edx
mov edx, eax
and edx, 0xacda4108
or eax, 0xacda4108
imul eax, edx
add eax, ecx
imul rcx, rax, 0x287a19c1
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x174e86c1
je 0x140131b20
jmp 0x140131812
mov r15d, dword [0x14022a008]
mov eax, dword [0x14022a00c]
mov ecx, r15d
not ecx
and ecx, eax
mov edx, eax
not edx
and edx, r15d
imul edx, ecx
mov ecx, r15d
and ecx, eax
or r15d, eax
imul r15d, ecx
add r15d, edx
imul rax, r15, 0x189eabf
shr rax, 0x20
sub r15d, eax
shr r15d, 1
add r15d, eax
shr r15d, 0x1f
or r15d, 0x77aad82a
sub rsp, 0x20
mov rcx, rdi
call qword [r14 + 0x10]
add rsp, 0x20
cmp r15d, 0x2c68dd9b
jne 0x140131bf9
sub rsp, 0x20
mov rcx, rdi
call qword [r14 + 0x10]
add rsp, 0x20
jmp 0x140131b84
mov rax, qword [rsi]
sub rsp, 0x20
mov rcx, rsi
call qword [rax + 0x10]
add rsp, 0x20
mov eax, ebx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret