Function at 0x14050c000
Capabilities:
Access peb ldr_data
Encode data using xor
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x260
mov rax, qword gs:[0x60]
mov qword [0x1405101c8], rax
mov rax, qword [rax + 0x10]
mov qword [0x1405101c0], rax
movabs rax, 0xd52e01fbad17f7a2
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x70], rax
movabs rax, 0x3e883f41022a2f3b
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x78], rax
movabs rax, 0x48170710dbb76f8d
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x80], rax
movabs rax, 0xcbfc7749b0451802
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x88], rax
mov rax, qword [0x1405101c8]
mov rax, qword [rax + 0x18]
add rax, 0x20
mov qword [rsp + 0x2a0], rax
mov r15, qword [rax]
cmp r15, rax
je 0x14050c14a
nop
mov rsi, qword [r15 + 0x20]
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rax + rsi + 0x88]
test ecx, ecx
je 0x14050c13d
mov r12d, dword [rsi + rcx + 0x1c]
lea rax, [rsi + rcx]
mov ebx, dword [rax + 0x20]
add r12, rsi
mov r13d, dword [rax + 0x24]
add rbx, rsi
mov r14d, dword [rax + 0x18]
add r13, rsi
xor edi, edi
test r14d, r14d
je 0x14050c13d
nop word [rax + rax]
mov ecx, dword [rbx]
add rcx, rsi
call fcn.14050dd20
cmp eax, 0x266089c2
je 0x14050c12e
inc edi
add rbx, 4
cmp edi, r14d
jb 0x14050c110
jmp 0x14050c13d
movzx ecx, word [r13 + rdi*2]
mov edx, dword [r12 + rcx*4]
add rdx, rsi
jne 0x14050c14c
mov r15, qword [r15]
cmp r15, qword [rsp + 0x2a0]
jne 0x14050c0d0
xor edx, edx
movabs rsi, 0xd55c019ead64f7d7
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x2a0], rsi
movabs rdi, 0x3eec3f6f02182f08
mov rax, qword [rsp + 0x2a0]
movabs rbx, 0x48170710dbdb6fe1
mov qword [rsp + 0x30], rax
movabs r14, 0xcbfc7749b0451802
mov qword [rsp + 0x2a0], rdi
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x2a0], rbx
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x2a0], r14
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x48], rax
vmovdqu ymm0, ymmword [rsp + 0x30]
vpxor ymm1, ymm0, ymmword [rsp + 0x70]
vmovdqu ymmword [rsp + 0x70], ymm1
vzeroupper
call rdx
mov qword [rsp + 0x2a0], rsi
lea rcx, [0x140510000]
mov rax, qword [rsp + 0x2a0]
mov edx, 3
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x2a0], rdi
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x2a0], rbx
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x2a0], r14
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x90]
vmovdqu ymm0, ymmword [rsp + 0x30]
vpxor ymm1, ymm0, ymmword [rsp + 0x70]
vmovdqu ymmword [rsp + 0x70], ymm1
vzeroupper
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x14050c261
movups xmm0, xmmword [rcx]
mov edx, 0x64
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
mov rcx, qword [0x1405101c0]
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm1
xor eax, eax
crc32 eax, byte [rcx]
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14050c2e0
lea rcx, [rsp + 0x90]
mov edx, 0x1c0
nop dword [rax]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14050c300
movzx r11d, byte [rsp + 0xa5]
test r11b, 2
je 0x14050c339
mov rax, qword [0x1405101c8]
cmp byte [rax + 2], dl
je 0x14050c339
lea rcx, [rsp + 0x2a0]
call fcn.14050cae0
jmp 0x14050cac0
test r11b, 1
je 0x14050c686
mov rax, qword [0x1405101c8]
mov rax, qword [rax + 0x18]
add rax, 0x20
mov qword [rsp + 0x2a0], rax
mov r15, qword [rax]
cmp r15, rax
je 0x14050c3ea
nop word [rax + rax]
mov rsi, qword [r15 + 0x20]
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rax + rsi + 0x88]
test ecx, ecx
je 0x14050c3dd
mov r12d, dword [rsi + rcx + 0x1c]
lea rax, [rsi + rcx]
mov ebx, dword [rax + 0x20]
add r12, rsi
mov r13d, dword [rax + 0x24]
add rbx, rsi
mov r14d, dword [rax + 0x18]
add r13, rsi
xor edi, edi
test r14d, r14d
je 0x14050c3dd
nop word [rax + rax]
mov ecx, dword [rbx]
add rcx, rsi
call fcn.14050dd20
cmp eax, 0xede7343e
je 0x14050c3ce
inc edi
add rbx, 4
cmp edi, r14d
jb 0x14050c3b0
jmp 0x14050c3dd
movzx ecx, word [r13 + rdi*2]
mov eax, dword [r12 + rcx*4]
add rax, rsi
jne 0x14050c3ec
mov r15, qword [r15]
cmp r15, qword [rsp + 0x2a0]
jne 0x14050c370
xor eax, eax
call rax
mov rcx, qword [0x1405101c8]
mov qword [rsp + 0x2b0], rax
mov rax, qword [rcx + 0x18]
add rax, 0x20
mov qword [rsp + 0x2a0], rax
mov r15, qword [rax]
cmp r15, rax
je 0x14050c48f
nop word [rax + rax]
mov rsi, qword [r15 + 0x20]
movsxd rcx, dword [rsi + 0x3c]
mov eax, dword [rcx + rsi + 0x88]
test eax, eax
je 0x14050c482
add rax, rsi
xor edi, edi
mov r12d, dword [rax + 0x1c]
mov ebx, dword [rax + 0x20]
add r12, rsi
mov r13d, dword [rax + 0x24]
add rbx, rsi
mov r14d, dword [rax + 0x18]
add r13, rsi
test r14d, r14d
je 0x14050c482
mov ecx, dword [rbx]
add rcx, rsi
call fcn.14050dd20
cmp eax, 0x88f1ee12
je 0x14050c473
inc edi
add rbx, 4
cmp edi, r14d
jb 0x14050c455
jmp 0x14050c482
movzx ecx, word [r13 + rdi*2]
mov eax, dword [r12 + rcx*4]
add rax, rsi
jne 0x14050c491
mov r15, qword [r15]
cmp r15, qword [rsp + 0x2a0]
jne 0x14050c420
xor eax, eax
mov rcx, qword [rsp + 0x2b0]
call rax
mov rcx, qword [0x1405101c8]
mov dword [rsp + 0x2a0], eax
mov rcx, qword [rcx + 0x18]
add rcx, 0x20
mov qword [rsp + 0x2a8], rcx
mov r15, qword [rcx]
cmp r15, rcx
je 0x14050c54d
mov rax, rcx
nop dword [rax + rax]
mov rsi, qword [r15 + 0x20]
movsxd rcx, dword [rsi + 0x3c]
mov edx, dword [rcx + rsi + 0x88]
test edx, edx
je 0x14050c545
mov r12d, dword [rsi + rdx + 0x1c]
lea rax, [rsi + rdx]
mov ebx, dword [rax + 0x20]
add r12, rsi
mov r13d, dword [rax + 0x24]
add rbx, rsi
mov r14d, dword [rax + 0x18]
add r13, rsi
xor edi, edi
test r14d, r14d
je 0x14050c53d
nop word [rax + rax]
mov ecx, dword [rbx]
add rcx, rsi
call fcn.14050dd20
cmp eax, 0x42b2c9b6
je 0x14050c52e
inc edi
add rbx, 4
cmp edi, r14d
jb 0x14050c510
jmp 0x14050c53d
movzx ecx, word [r13 + rdi*2]
mov eax, dword [r12 + rcx*4]
add rax, rsi
jne 0x14050c54f
mov rax, qword [rsp + 0x2a8]
mov r15, qword [r15]
cmp r15, rax
jne 0x14050c4d0
xor eax, eax
mov rcx, qword [rsp + 0x2b0]
mov edx, reloc.WS2_32.dll_ntohs
call rax
xor r10d, r10d
mov r9d, 0xc350
nop word [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
mov r8, rax
xor eax, eax
xor ecx, ecx
cpuid
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x3c], edx
rdtsc
shl rdx, 0x20
or rax, rdx
sub rax, r8
add r10, rax
sub r9, 1
jne 0x14050c570
mov rax, qword [0x1405101c8]
mov qword [rsp + 0x2b8], r10
mov rax, qword [rax + 0x18]
add rax, 0x20
mov qword [rsp + 0x2a8], rax
mov r15, qword [rax]
cmp r15, rax
je 0x14050c64a
nop
mov rsi, qword [r15 + 0x20]
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rax + rsi + 0x88]
test ecx, ecx
je 0x14050c63d
mov r12d, dword [rsi + rcx + 0x1c]
lea rax, [rsi + rcx]
mov ebx, dword [rax + 0x20]
add r12, rsi
mov r13d, dword [rax + 0x24]
add rbx, rsi
mov r14d, dword [rax + 0x18]
add r13, rsi
xor edi, edi
test r14d, r14d
je 0x14050c63d
nop word [rax + rax]
mov ecx, dword [rbx]
add rcx, rsi
call fcn.14050dd20
cmp eax, 0x42b2c9b6
je 0x14050c62e
inc edi
add rbx, 4
cmp edi, r14d
jb 0x14050c610
jmp 0x14050c63d
movzx ecx, word [r13 + rdi*2]
mov eax, dword [r12 + rcx*4]
add rax, rsi
jne 0x14050c64c
mov r15, qword [r15]
cmp r15, qword [rsp + 0x2a8]
jne 0x14050c5d0
xor eax, eax
mov edx, dword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x2b0]
call rax
cmp qword [rsp + 0x2b8], 0x1312d00
jbe 0x14050c67d
lea rcx, [rsp + 0x2a0]
call fcn.14050cff0
jmp 0x14050cac0
movzx r11d, byte [rsp + 0xa5]
movzx r14d, byte [rsp + 0xa4]
xor sil, sil
mov rdi, qword [rsp + 0x90]
movaps xmmword [rsp + 0x250], xmm6
mov byte [rsp + 0x2a0], 0
mov byte [rsp + 0x2a8], sil
test r14b, r14b
je 0x14050caa3
movaps xmm6, xmmword [rsp + 0x90]
movzx edx, r11b
shr dl, 4
movzx eax, r11b
and dl, 1
shr al, 2
and al, 1
mov byte [rsp + 0x2b8], dl
mov byte [rsp + 0x2b0], al
mov r15d, 0x40
nop word [rax + rax]
movzx eax, sil
lea r10, [rsp + 0xa6]
imul rcx, rax, 0xd
add r10, rcx
mov qword [rsp + 0x58], r10
mov r12d, dword [r10 + 5]
add r12, qword [0x1405101c0]
mov qword [rsp + 0x50], r12
test dl, dl
je 0x14050c93f
movzx eax, byte [r10]
test al, 4
jne 0x14050c93f
test al, 1
je 0x14050c93f
mov rax, qword [0x1405101c8]
mov dword [rsp + 0x20], 0
mov rax, qword [rax + 0x18]
add rax, 0x20
mov qword [rsp + 0x60], rax
mov r15, qword [rax]
cmp r15, rax
je 0x14050c7e0
nop dword [rax]
mov rsi, qword [r15 + 0x20]
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rax + rsi + 0x88]
test ecx, ecx
je 0x14050c7d1
mov r12d, dword [rsi + rcx + 0x1c]
lea rax, [rsi + rcx]
mov ebx, dword [rax + 0x20]
add r12, rsi
mov r13d, dword [rax + 0x24]
add rbx, rsi
mov r14d, dword [rax + 0x18]
add r13, rsi
xor edi, edi
test r14d, r14d
je 0x14050c7d1
nop word [rax + rax]
mov ecx, dword [rbx]
add rcx, rsi
call fcn.14050dd20
cmp eax, 0xa2b3228a
je 0x14050c7be
inc edi
add rbx, 4
cmp edi, r14d
jb 0x14050c7a0
jmp 0x14050c7d1
movzx ecx, word [r13 + rdi*2]
mov eax, dword [r12 + rcx*4]
add rax, rsi
jne 0x14050c8ce
mov r15, qword [r15]
cmp r15, qword [rsp + 0x60]
jne 0x14050c760
mov r12, qword [rsp + 0x50]
xor eax, eax
mov rcx, qword [rsp + 0x58]
lea r9, [rsp + 0x20]
mov r8d, 4
mov edi, dword [rcx + 9]
mov rcx, r12
mov edx, edi
call rax
lea r8, [rdi + r12]
mov rbx, r12
cmp r12, r8
jae 0x14050c850
mov r9, qword [rsp + 0x90]
mov r10d, 0x40
mov r12, qword [rsp + 0x98]
nop
movzx edx, byte [rbx]
xor eax, eax
mov qword [rsp + 0x38], rax
mov ecx, r10d
and ecx, 0x3f
movdqa xmmword [rsp + 0x30], xmm6
mov rax, r12
shr rax, cl
sub dl, al
xor dl, r9b
mov byte [rbx], dl
inc rbx
cmp rbx, r8
jb 0x14050c820
mov r12, qword [rsp + 0x50]
mov rax, qword [0x1405101c8]
mov rax, qword [rax + 0x18]
add rax, 0x20
mov qword [rsp + 0x30], rax
mov r15, qword [rax]
cmp r15, rax
je 0x14050c8f9
mov rsi, qword [r15 + 0x20]
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rax + rsi + 0x88]
test ecx, ecx
je 0x14050c8eb
mov r13d, dword [rsi + rcx + 0x1c]
lea rax, [rsi + rcx]
mov ebx, dword [rax + 0x20]
add r13, rsi
mov ecx, dword [rax + 0x24]
add rbx, rsi
mov r14d, dword [rax + 0x18]
add rcx, rsi
xor edi, edi
mov qword [rsp + 0x60], rcx
test r14d, r14d
je 0x14050c8eb
nop dword [rax + rax]
mov ecx, dword [rbx]
add rcx, rsi
call fcn.14050dd20
cmp eax, 0xa2b3228a
je 0x14050c8d8
inc edi
add rbx, 4
cmp edi, r14d
jb 0x14050c8b0
jmp 0x14050c8eb
mov r12, qword [rsp + 0x50]
jmp 0x14050c7e2
mov rcx, qword [rsp + 0x60]
movzx ecx, word [rcx + rdi*2]
mov eax, dword [r13 + rcx*4]
add rax, rsi
jne 0x14050c8fb
mov r15, qword [r15]
cmp r15, qword [rsp + 0x30]
jne 0x14050c870
xor eax, eax
mov rcx, qword [rsp + 0x58]
lea r9, [rsp + 0x20]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rcx + 9]
mov rcx, r12
call rax
mov r10, qword [rsp + 0x58]
mov r15d, 0x40
movzx r11d, byte [rsp + 0xa5]
mov rdi, qword [rsp + 0x90]
movzx esi, byte [rsp + 0x2a8]
movzx r14d, byte [rsp + 0xa4]
cmp byte [rsp + 0x2b0], 0
je 0x14050c9f3
movzx ecx, byte [r10]
test cl, 2
je 0x14050c9f3
mov r9d, dword [r10 + 9]
xor edx, edx
add r9, r12
mov rax, r12
cmp r12, r9
jae 0x14050c9ed
test cl, 4
je 0x14050c9e0
mov r12, qword [rsp + 0x98]
nop dword [rax]
movzx r8d, byte [rax]
xor ecx, ecx
mov qword [rsp + 0x38], rcx
movdqa xmmword [rsp + 0x30], xmm6
test r15b, r15b
je 0x14050c9b8
cmp r15b, 0x40
jb 0x14050c9ab
movzx ecx, r15b
mov rbx, r12
and ecx, 0x3f
shr rbx, cl
jmp 0x14050c9bd
mov rbx, rdi
movzx ecx, r15b
shrd rbx, r12, cl
jmp 0x14050c9bd
mov rbx, qword [rsp + 0x30]
sub r8b, bl
inc rax
xor r8b, dil
crc32 edx, r8b
cmp rax, r9
jb 0x14050c980
mov r12, qword [rsp + 0x50]
jmp 0x14050c9ed
crc32 edx, byte [rax]
inc rax
cmp rax, r9
jb 0x14050c9e0
cmp dword [r10 + 1], edx
jne 0x14050ca6d
test r11b, 8
je 0x14050ca48
test byte [r10], 4
je 0x14050ca48
mov ebx, dword [r10 + 9]
add rbx, 0xfff
add rbx, r12
and rbx, 0xfffffffffffff000
cmp r12, rbx
jae 0x14050ca3d
nop dword [rax]
mov rcx, r12
call fcn.14050def0
add r12, 0x1000
cmp r12, rbx
jb 0x14050ca20
movzx r11d, byte [rsp + 0xa5]
mov dl, 1
mov byte [rsp + 0x2a0], dl
jmp 0x14050ca50
movzx edx, byte [rsp + 0x2a0]
inc sil
mov byte [rsp + 0x2a8], sil
cmp sil, r14b
jae 0x14050ca7c
movzx edx, byte [rsp + 0x2b8]
jmp 0x14050c6f0
lea rcx, [rsp + 0x2a0]
call fcn.14050d500
jmp 0x14050cab8
test dl, dl
je 0x14050caa3
lea rcx, [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm6
call fcn.14050dfc0
test al, al
jne 0x14050caa3
lea rcx, [rsp + 0x2a0]
call fcn.14050d8d0
jmp 0x14050cab8
mov ecx, dword [rsp + 0xa0]
mov eax, edi
xor rcx, rax
add rcx, qword [0x1405101c0]
call rcx
movaps xmm6, xmmword [rsp + 0x250]
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret