Function at 0x140040710
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov eax, dword [0x1402127b8]
mov ecx, dword [0x1402127bc]
not eax
not ecx
or ecx, eax
not ecx
imul eax, ecx, 0xe2908876
xor eax, 0x97542d1a
cmp eax, 0x96b795e4
jb 0x1400407de
mov eax, dword [0x1402127c0]
mov ecx, dword [0x1402127c4]
lea edi, [rcx + rax]
add edi, 0x94bdcb4e
mov eax, edi
not eax
and eax, 0x2504af
mov ecx, edi
and ecx, 0xdafb50
imul ecx, eax
mov eax, edi
and eax, 0x2504af
or edi, 0x2504af
imul edi, eax
add edi, ecx
not edi
or edi, 0xff43fe70
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov r14, rsp
mov eax, 0x10
call fcn.1401516e0
sub rsp, rax
mov rbx, rsp
sub rsp, 0x20
lea rdx, [0x1400ae210]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
add rsp, 0x20
mov dword [rbx], 0x5000
cmp edi, 0x6be76034
jne 0x140040829
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 rsi, rsp
sub rsp, 0x20
lea rdx, [0x1400ae210]
xor ecx, ecx
call fcn.14014fa10
add rsp, 0x20
mov dword [rsi], 0x5000
jmp 0x140040746
mov eax, dword [0x1402127c8]
mov ecx, dword [0x1402127cc]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
xor ecx, 0x564a2f54
or eax, 0x564a2f54
and eax, ecx
mov ecx, eax
xor ecx, 0x1d431d3e
and eax, 0x62bce2c1
add eax, eax
sub eax, ecx
mov ecx, eax
xor ecx, 0x121e769f
or eax, 0xede18960
and eax, ecx
cmp eax, 0x37052581
je 0x1400408ec
mov r15d, dword [0x1402127d0]
add r15d, dword [str.Pc]
or r15d, 0xef48e633
add r15d, 0xf08a8643
or r15d, 0xd7abac5
sub rsp, 0x20
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetThreadStackGuarantee]
call fcn.14014f9b0
add rsp, 0x20
mov r8, qword [0x14020d008]
sub rsp, 0x20
lea rdx, str.main
mov rcx, rax
call r8
add rsp, 0x20
movzx eax, byte [0x14022cb78]
sub rsp, 0x20
mov edx, 0x38
xor ecx, ecx
call fcn.140107940
add rsp, 0x20
cmp r15d, 0x1a632f8d
jae 0x14004093e
sub rsp, 0x20
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetThreadStackGuarantee]
call fcn.14014f9b0
add rsp, 0x20
mov r8, qword [0x14020d008]
sub rsp, 0x20
lea rdx, str.main
mov rcx, rax
call r8
add rsp, 0x20
movzx eax, byte [0x14022cb78]
sub rsp, 0x20
mov edx, 0x38
xor ecx, ecx
call fcn.140107940
add rsp, 0x20
jmp 0x140040873
mov rdi, rax
test rax, rax
je 0x140040d6d
mov qword [rdi], 1
mov eax, dword [0x1402127d8]
mov ecx, dword [0x1402127dc]
add eax, ecx
add eax, 0xd95f071f
mov ecx, 0x968ba9f9
imul rcx, rax
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
mov ecx, eax
xor ecx, 0xbe516e1
add ecx, eax
and eax, 0xfffffffe
sub ecx, eax
cmp ecx, 0xb6cf5795
je 0x1400409c3
mov eax, dword [0x1402127e0]
mov ecx, dword [0x1402127e4]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
add eax, 0x87e6b2e8
or eax, 0x2841f802
add eax, 0x4e68d53f
mov qword [rdi + 8], 1
cmp eax, 0x98f1f483
jbe 0x1400409cd
mov qword [rdi + 8], 1
jmp 0x140040991
mov eax, dword [0x1402127e8]
mov ecx, dword [0x1402127ec]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
imul eax, eax, 0x261765da
add eax, 0x26f835df
or eax, 0xa4f31376
cmp eax, 0x9eac18c5
jb 0x140040a2f
mov eax, dword [0x1402127f0]
xor edx, edx
div dword [0x1402127f4]
mov ecx, eax
add ecx, 0xbce491eb
not ecx
and ecx, 0xa6fd3e03
mov qword [rdi + 0x10], 0
mov rax, qword [0x14022cb40]
cmp ecx, 0xd2a0a8ed
jne 0x140040a40
mov qword [rdi + 0x10], 0
mov rax, qword [0x14022cb40]
jmp 0x1400409fa
mov ecx, dword [0x1402127f8]
and ecx, dword [0x1402127fc]
add ecx, 0xdab98512
mov edx, ecx
xor edx, 0x90000e10
and edx, ecx
not edx
or edx, 0x2b3b51cb
cmp edx, 0x42f32de
jb 0x140040a40
cmp rax, 0xffffffffffffffff
je 0x140040bbe
lea rbx, [rax + 1]
lock cmpxchg qword [0x14022cb40], rbx
jne 0x140040a40
mov eax, dword [0x140212818]
or eax, dword [0x14021281c]
add eax, 0x3301e366
mov ecx, eax
and ecx, 0x57952cf7
or eax, 0x57952cf7
add eax, ecx
or eax, 0x2758fcc4
cmp eax, 0xc2e5de7d
jbe 0x140040ae0
mov qword [rdi + 0x28], rbx
mov byte [rdi + 0x30], 0
sub rsp, 0x20
mov rcx, rdi
call fcn.1400af7d0
call fcn.140033470
add rsp, 0x20
mov eax, dword [0x14022cac8]
nop word cs:[rax + rax]
mov eax, dword [0x140212820]
mov ecx, dword [0x140212824]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov r15d, ecx
xor r15d, 0x1c7cb4ef
xor ecx, 0xe0830b10
and ecx, 0xecc39bde
mov eax, r15d
and eax, 0x133c6421
or eax, ecx
xor eax, 0x293c8d6b
and r15d, 0xc5ff16b5
or r15d, eax
mov eax, r15d
not eax
mov ecx, r15d
and ecx, 0x31cb8c37
and eax, 0xce3473c8
imul eax, ecx
mov ecx, r15d
and ecx, 0xce3473c8
or r15d, 0xce3473c8
imul r15d, ecx
add r15d, eax
mov qword [rdi + 0x28], rbx
mov byte [rdi + 0x30], 0
sub rsp, 0x20
mov rcx, rdi
call fcn.1400af7d0
call fcn.14014f9d0
add rsp, 0x20
mov eax, dword [0x14022cac8]
cmp r15d, 0x574dc758
je 0x140040ae0
cmp eax, 4
je 0x140040ca6
mov eax, dword [0x140212828]
mov ecx, dword [0x14021282c]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
add ecx, 0x60245382
xor ecx, 0x933a1def
cmp ecx, 0x5701a1bb
jbe 0x140040c13
jmp 0x140040c43
mov eax, dword [0x140212800]
mov ecx, dword [0x140212804]
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, 0x99f230b1
mov ecx, 0x98965bbf
imul rcx, rax
shr rcx, 0x3d
or ecx, 0xb87a3ebd
cmp ecx, 0x26b83158
jne 0x140040cb5
jmp 0x140040cec
mov eax, dword [0x140212830]
mov ecx, dword [0x140212834]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
xor eax, 0x3158c06c
add eax, 0xc511ced9
or eax, 0xd99de6ce
mov byte [r14], 1
cmp eax, 0x1a7822c2
jne 0x140040c49
mov byte [r14], 1
jmp 0x140040c13
mov qword [rsi], r14
mov eax, dword [0x14021283c]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x140212838]
xor ecx, eax
mov eax, ecx
not eax
or eax, 0x24580514
and eax, 0x34ddad16
and ecx, 0x800252a8
or ecx, eax
cmp ecx, 0x8184b1b0
je 0x140040c94
sub rsp, 0x20
mov rcx, rsi
call fcn.14014f9f0
add rsp, 0x20
xor eax, eax
test al, al
je 0x140040ca6
sub rsp, 0x20
mov rcx, rsi
call fcn.140166b70
add rsp, 0x20
jmp 0x140040c7e
xor eax, eax
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x140212808]
mov ecx, dword [0x14021280c]
add eax, ecx
add eax, 0x7d007965
mov ecx, eax
and ecx, 0x620234e1
xor eax, 0xe20234e1
lea eax, [rax + rcx*2]
imul rax, rax, 0x635545eb
shr rax, 0x3c
ud2
ud2
ud2