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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
movaps xmmword [rsp + 0xb0], xmm6
mov r14, rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
xor r15d, r15d
mov qword [rbp + 0x6f], r15
mov dword [rbp - 0x79], 0xb9a5bea4
mov dword [rbp - 0x75], 0xa6a4b8a1
mov dword [rbp - 0x71], 0xafb2afe4
movsd xmm0, qword [rbp - 0x79]
movsd qword [rbp - 0x59], xmm0
mov eax, dword [rbp - 0x71]
mov dword [rbp - 0x51], eax
mov byte [rbp - 0x4d], 0xca
lea esi, [r15 + 0xd]
mov rcx, qword [0x14013acb8]
test rcx, rcx
jne 0x14003c523
mov ecx, esi
call fcn.140075634
mov rcx, rax
mov qword [0x14013acb8], rax
mov rdx, rax
lea r9, [rbp - 0x59]
sub r9, rax
mov r8d, esi
nop dword [rax]
movzx eax, byte [r9 + rdx]
xor al, 0xca
mov byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x14003c510
call fcn.14003c250
mov r13, rax
test rax, rax
setne r12b
mov edi, 0xc
test rax, rax
jne 0x14003c5b4
mov dword [rbp - 0x59], 0x87b882b4
mov dword [rbp - 0x55], 0xe2a0a2be
mov dword [rbp - 0x51], 0xcca9b4a9
movsd xmm0, qword [rbp - 0x59]
movsd qword [rbp - 0x79], xmm0
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x71], eax
mov rcx, qword [0x14013aad8]
test rcx, rcx
jne 0x14003c5a3
mov ecx, edi
call fcn.140075634
mov rcx, rax
mov qword [0x14013aad8], rax
mov rdx, rax
lea r9, [rbp - 0x79]
sub r9, rax
mov r8d, edi
nop dword [rax + rax]
movzx eax, byte [r9 + rdx]
xor al, 0xcc
mov byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x14003c590
call fcn.14003c250
mov r13, rax
test rax, rax
je 0x14003ca13
lea rax, [rbp - 0x29]
mov qword [rbp + 0x77], rax
movdqa xmm6, xmmword [0x140121340]
mov dword [rbp - 0x49], 0xb3babda6
movaps xmmword [rbp - 0x79], xmm6
mov eax, dword [rbp - 0x49]
mov dword [rbp - 0x69], eax
mov byte [rbp - 0x65], 0xd4
mov rdx, qword [0x14013ad90]
test rdx, rdx
jne 0x14003c653
mov ebx, 0x15
mov ecx, ebx
call fcn.140075634
mov rdx, rax
mov qword [0x14013ad90], rax
mov rax, r15
lea rcx, [rdx + 0x14]
lea r8, [rbp - 0x65]
cmp rdx, r8
ja 0x14003c614
lea r8, [rbp - 0x79]
cmp rcx, r8
jae 0x14003c629
movdqa xmm0, xmmword [0x140121590]
pxor xmm0, xmm6
movdqu xmmword [rdx], xmm0
mov eax, 0x10
lea rcx, [rax + rdx]
lea r8, [rbp - 0x79]
sub r8, rdx
sub rbx, rax
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, 0xd4
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rbx, 1
jne 0x14003c640
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], r15b
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rdx + r8], r15b
jne 0x14003c670
lea rcx, [rbp - 0x29]
call fcn.1400064d0
nop
mov rax, qword [0x14013ad88]
test rax, rax
jne 0x14003c6b1
lea ecx, [rax + 0xa]
call fcn.140075634
mov qword [0x14013ad88], rax
mov dword [rax], 0x6c64746e
mov dword [rax + 4], 0x6c642e6c
mov word [rax + 8], 0x6c
mov qword [rbp + 7], r15
mov qword [rbp + 0xf], 0xf
mov byte [rbp - 9], 0
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x14003c6c4
mov rdx, rax
lea rcx, [rbp - 9]
call fcn.1400064d0
nop
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 9]
call fcn.140044000
mov r15, rax
test r12b, r12b
je 0x14003c7ba
mov dword [rbp - 0x79], 0xa400be
mov dword [rbp - 0x75], 0xa300bf
mov dword [rbp - 0x71], 0xa200bb
mov dword [rbp - 0x6d], 0xbc00be
mov dword [rbp - 0x69], 0xb500fe
mov dword [rbp - 0x65], 0xb500a8
mov edi, 0xd0
movdqu xmm6, xmmword [rbp - 0x79]
movaps xmmword [rbp - 0x59], xmm6
movsd xmm0, qword [rbp - 0x69]
movsd qword [rbp - 0x49], xmm0
mov word [rbp - 0x41], di
mov rdx, qword [0x14013aab8]
test rdx, rdx
jne 0x14003c875
lea ecx, [rdx + 0x1a]
call fcn.140075634
mov rdx, rax
mov qword [0x14013aab8], rax
xor eax, eax
lea rcx, [rdx + 0x18]
lea r8, [rbp - 0x41]
cmp rdx, r8
ja 0x14003c774
lea r8, [rbp - 0x59]
cmp rcx, r8
jae 0x14003c789
movdqa xmm0, xmmword [0x140120a30]
pxor xmm0, xmm6
movdqu xmmword [rdx], xmm0
mov eax, 8
lea rcx, [rdx + rax*2]
lea r8, [rbp - 0x59]
sub r8, rdx
sub rsi, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
xor ax, di
mov word [rcx], ax
lea rcx, [rcx + 2]
sub rsi, 1
jne 0x14003c7a0
jmp 0x14003c875
mov dword [rbp - 0x79], 0x9c00aa
mov dword [rbp - 0x75], 0x9900a6
mov dword [rbp - 0x71], 0xbc00a0
mov dword [rbp - 0x6d], 0xfc00be
mov dword [rbp - 0x69], 0xaa00b7
mov dword [rbp - 0x65], 0xd200b7
mov esi, 0xd2
movdqu xmm6, xmmword [rbp - 0x79]
movaps xmmword [rbp - 0x59], xmm6
movsd xmm0, qword [rbp - 0x69]
movsd qword [rbp - 0x49], xmm0
mov rdx, qword [0x14013aaf8]
test rdx, rdx
jne 0x14003c875
lea ecx, [rdx + 0x18]
call fcn.140075634
mov rdx, rax
mov qword [0x14013aaf8], rax
xor eax, eax
lea rcx, [rdx + 0x16]
lea r8, [rbp - 0x43]
cmp rdx, r8
ja 0x14003c832
lea r8, [rbp - 0x59]
cmp rcx, r8
jae 0x14003c847
movdqa xmm0, xmmword [0x140120a40]
pxor xmm0, xmm6
movdqu xmmword [rdx], xmm0
mov eax, 8
lea rcx, [rdx + rax*2]
lea r8, [rbp - 0x59]
sub r8, rdx
sub rdi, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
xor ax, si
mov word [rcx], ax
lea rcx, [rcx + 2]
sub rdi, 1
jne 0x14003c860
lea rcx, [rbp - 0x39]
call r15
lea rax, [rbp - 0x79]
mov qword [rbp + 0x77], rax
mov rax, qword [0x14013adb0]
test rax, rax
jne 0x14003c8b6
lea ecx, [rax + 0xb]
call fcn.140075634
mov qword [0x14013adb0], rax
mov dword [rax], 0x4c72644c
mov dword [rax + 4], 0x4464616f
mov word [rax + 8], 0x6c6c
mov byte [rax + 0xa], 0
mov qword [rbp - 0x69], 0
mov qword [rbp - 0x61], 0xf
mov byte [rbp - 0x79], 0
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14003c8d0
mov rdx, rax
lea rcx, [rbp - 0x79]
call fcn.1400064d0
nop
mov rax, qword [0x14013adc0]
test rax, rax
jne 0x14003c915
lea ecx, [rax + 0xa]
call fcn.140075634
mov qword [0x14013adc0], rax
mov dword [rax], 0x6c64746e
mov dword [rax + 4], 0x6c642e6c
mov word [rax + 8], 0x6c
mov qword [rbp - 0x49], 0
mov qword [rbp - 0x41], 0xf
mov byte [rbp - 0x59], 0
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14003c930
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x59]
call fcn.1400064d0
nop
lea rdx, [rbp - 0x79]
lea rcx, [rbp - 0x59]
call fcn.140044250
lea r9, [rbp + 0x6f]
lea r8, [rbp - 0x39]
xor edx, edx
xor ecx, ecx
call rax
test eax, eax
js 0x14003ca13
mov r10, qword [rbp + 0x6f]
test r10, r10
je 0x14003ca13
mov eax, 0x5a4d
cmp word [r10], ax
jne 0x14003ca13
movsxd rax, dword [r10 + 0x3c]
cmp dword [rax + r10], 0x4550
jne 0x14003ca13
mov r11d, dword [rax + r10 + 0x88]
add r11, r10
mov esi, dword [r11 + 0x24]
add rsi, r10
mov r15d, dword [r11 + 0x20]
add r15, r10
mov r12d, dword [r11 + 0x1c]
add r12, r10
xor r9d, r9d
mov edi, dword [r11 + 0x14]
test edi, edi
je 0x14003ca13
cmp r14, 0xffff
ja 0x14003c9dc
movzx ebx, r9w
mov ecx, ebx
add ecx, dword [r11 + 0x10]
movzx eax, r14w
cmp eax, ecx
jmp 0x14003ca09
cmp r9d, dword [r11 + 0x18]
jae 0x14003ca13
movzx ebx, word [rsi + r9*2]
mov eax, dword [r15 + r9*4]
add rax, r10
mov r8, r14
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003ca07
inc rax
test ecx, ecx
jne 0x14003c9f4
test edx, edx
je 0x14003ca38
inc r9d
cmp r9d, edi
jb 0x14003c9c1
xor eax, eax
mov rbx, qword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx eax, bx
mov eax, dword [r12 + rax*4]
add rax, r10
je 0x14003ca13
sub rax, r10
add rax, r13
jmp 0x14003ca15