Function at 0x14002c540
Capabilities:
Encode data using xor
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x210
mov rax, qword [0x1400d3048]
xor rax, rsp
mov qword [rsp + 0x200], rax
xor r14d, r14d
mov dword [rsp + 0x180], 0xb7aab29d
mov dword [rsp + 0x184], 0xefefb7bf
mov dword [rsp + 0x188], 0x8d8cbbf0
xor eax, eax
mov byte [rsp + 0x18c], al
mov ecx, r14d
mov edx, r14d
nop dword [rax]
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x180], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xc
jb 0x14002c5a0
mov byte [rsp + 0x18c], 0
lea rcx, [rsp + 0x180]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x14002c5ed
lea rcx, [rsp + 0x180]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x14002d02c
movdqa xmm0, xmmword [0x1400c4fd0]
movdqu xmmword [rsp + 0x138], xmm0
mov word [rsp + 0x148], 0x9f
mov ecx, r14d
mov rdx, r14
nop
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x138], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x11
jb 0x14002c610
mov byte [rsp + 0x149], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
lea rax, [rsp + 0x138]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14002c660
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x150]
call fcn.1400140f0
lea rdx, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae rdx, qword [rsp + 0x150]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400d6aa8], rax
test rax, rax
sete sil
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x14002c6f3
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002c6ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d04e
call fcn.1400726f0
test sil, sil
jne 0x14002d054
movdqa xmm0, xmmword [0x1400c4fa0]
movdqu xmmword [rsp + 0x1b0], xmm0
mov word [rsp + 0x1c0], 0x9e94
xor eax, eax
mov byte [rsp + 0x1c2], al
mov ecx, r14d
mov rdx, r14
nop word [rax + rax]
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x1b0], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x12
jb 0x14002c730
mov byte [rsp + 0x1c2], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
lea rax, [rsp + 0x1b0]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x14002c773
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x150]
call fcn.1400140f0
lea rdx, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae rdx, qword [rsp + 0x150]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400d6ab0], rax
test rax, rax
sete sil
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x14002c806
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002c801
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d076
call fcn.1400726f0
test sil, sil
jne 0x14002d07c
movdqa xmm0, xmmword [0x1400c4f80]
movdqu xmmword [rsp + 0x190], xmm0
mov word [rsp + 0x1a0], 0x8387
xor eax, eax
mov byte [rsp + 0x1a2], al
mov ecx, r14d
mov rdx, r14
nop dword [rax]
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x190], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x12
jb 0x14002c840
mov byte [rsp + 0x1a2], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
lea rax, [rsp + 0x190]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x14002c883
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x150]
call fcn.1400140f0
lea rdx, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae rdx, qword [rsp + 0x150]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400d6ab8], rax
test rax, rax
sete sil
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x14002c916
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002c911
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d09e
call fcn.1400726f0
test sil, sil
jne 0x14002d0a4
mov dword [rsp + 0x138], 0xadaabe80
mov dword [rsp + 0x13c], 0x9cb0baaf
mov dword [rsp + 0x140], 0x828fb3b2
mov word [rsp + 0x144], 0x9ba7
xor eax, eax
mov byte [rsp + 0x146], al
mov ecx, r14d
mov rdx, r14
nop dword [rax]
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x138], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xe
jb 0x14002c960
mov byte [rsp + 0x146], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
lea rax, [rsp + 0x138]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x14002c9a3
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x150]
call fcn.1400140f0
lea rdx, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae rdx, qword [rsp + 0x150]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400d6ac0], rax
test rax, rax
sete sil
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x14002ca36
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ca31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d0c6
call fcn.1400726f0
test sil, sil
jne 0x14002d0cc
mov dword [rsp + 0x138], 0xadaabe80
mov dword [rsp + 0x13c], 0x9bb0baaf
mov dword [rsp + 0x140], 0xa485baac
mov word [rsp + 0x144], 0x9a
mov ecx, r14d
mov rdx, r14
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x138], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xd
jb 0x14002ca70
mov byte [rsp + 0x145], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
lea rax, [rsp + 0x138]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x14002cab3
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x150]
call fcn.1400140f0
lea rdx, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae rdx, qword [rsp + 0x150]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400d6ac8], rax
test rax, rax
sete sil
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x14002cb46
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cb41
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d0f4
call fcn.1400726f0
test sil, sil
jne 0x14002d0fa
mov dword [rsp + 0x138], 0xadaabe80
mov dword [rsp + 0x13c], 0x8cb0baaf
mov dword [rsp + 0x140], 0x9892baab
mov word [rsp + 0x144], 0x9ba7
xor eax, eax
mov byte [rsp + 0x146], al
mov ecx, r14d
mov rdx, r14
nop dword [rax]
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x138], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xe
jb 0x14002cb90
mov byte [rsp + 0x146], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
lea rax, [rsp + 0x138]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x14002cbd3
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x150]
call fcn.1400140f0
lea rdx, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae rdx, qword [rsp + 0x150]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400d6ad0], rax
test rax, rax
sete sil
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x14002cc66
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cc61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d122
call fcn.1400726f0
test sil, sil
jne 0x14002d128
movdqa xmm0, xmmword [0x1400c4fe0]
movdqu xmmword [rsp + 0x1d0], xmm0
xor eax, eax
mov byte [rsp + 0x1e0], al
mov ecx, r14d
mov rdx, r14
nop
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x1d0], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x10
jb 0x14002cc90
mov byte [rsp + 0x1e0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
lea rax, [rsp + 0x1d0]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x14002ccd3
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0x150]
call fcn.1400140f0
lea rdx, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae rdx, qword [rsp + 0x150]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400d6b08], rax
test rax, rax
sete dil
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x14002cd66
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cd61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d150
call fcn.1400726f0
test dil, dil
jne 0x14002d156
mov dword [rsp + 0x170], 0xabbda483
mov dword [rsp + 0x174], 0xb9f2e9e9
mov word [rsp + 0x178], 0xb3b2
xor eax, eax
mov byte [rsp + 0x17a], al
mov ecx, r14d
mov rdx, r14
nop
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x170], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xa
jb 0x14002cda0
mov byte [rsp + 0x17a], 0
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x14002cded
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x14002d17e
mov dword [rsp + 0x138], 0xbdb6be90
mov dword [rsp + 0x13c], 0xb9b2b28d
mov dword [rsp + 0x140], 0xb7a8b1
mov ecx, r14d
mov rdx, r14
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x138], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0xb
jb 0x14002ce20
mov byte [rsp + 0x143], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
lea rax, [rsp + 0x138]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x14002ce63
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x150]
call fcn.1400140f0
lea rdx, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae rdx, qword [rsp + 0x150]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400d6b70], rax
test rax, rax
sete sil
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x14002cef6
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cef1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d1a6
call fcn.1400726f0
test sil, sil
jne 0x14002d1ac
movdqa xmm0, xmmword [0x1400c4f70]
movdqu xmmword [rsp + 0x1e8], xmm0
xor eax, eax
mov byte [rsp + 0x1f8], al
mov ecx, r14d
mov rdx, r14
nop
lea eax, [rcx - 0x2a]
xor byte [rsp + rdx + 0x1e8], al
inc ecx
movsxd rdx, ecx
cmp rdx, 0x10
jb 0x14002cf20
mov byte [rsp + 0x1f8], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
lea rax, [rsp + 0x1e8]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14002cf60
mov r8, rbx
lea rdx, [rsp + 0x1e8]
lea rcx, [rsp + 0x150]
call fcn.1400140f0
lea rdx, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae rdx, qword [rsp + 0x150]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400d6b78], rax
test rax, rax
sete bl
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x14002cff4
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cfef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d1d4
call fcn.1400726f0
test bl, bl
jne 0x14002d1da
mov al, 1
jmp 0x14002d002
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.1400726d0
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop r14
ret
lea rdx, str.dll_1__not_found.
lea rcx, [rsp + 0x30]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0x30]
call fcn.140074a20
call fcn.140079308
int3
lea rdx, str.Cannot_find_function_2.
lea rcx, [rsp + 0x48]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0x48]
call fcn.140074a20
call fcn.140079308
int3
lea rdx, str.Cannot_find_function_3.
lea rcx, [rsp + 0x60]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0x60]
call fcn.140074a20
call fcn.140079308
int3
lea rdx, str.Cannot_find_function_4.
lea rcx, [rsp + 0x78]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0x78]
call fcn.140074a20
call fcn.140079308
int3
lea rdx, str.Cannot_find_function_5.
lea rcx, [rsp + 0x90]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0x90]
call fcn.140074a20
call fcn.140079308
int3
lea rdx, str.Cannot_find_function_6.
lea rcx, [rsp + 0xa8]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0xa8]
call fcn.140074a20
call fcn.140079308
int3
lea rdx, str.Cannot_find_function_7.
lea rcx, [rsp + 0xc0]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0xc0]
call fcn.140074a20
call fcn.140079308
int3
lea rdx, str.Cannot_find_function_14.
lea rcx, [rsp + 0xd8]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0xd8]
call fcn.140074a20
lea rdx, str.dll_3__not_found.
lea rcx, [rsp + 0xf0]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0xf0]
call fcn.140074a20
call fcn.140079308
int3
lea rdx, str.Cannot_find_function_b1.
lea rcx, [rsp + 0x108]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0x108]
call fcn.140074a20
call fcn.140079308
int3
lea rdx, str.Cannot_find_function_b2.
lea rcx, [rsp + 0x120]
call fcn.140002820
lea rdx, [0x1400d15e8]
lea rcx, [rsp + 0x120]
call fcn.140074a20
int3