Function at 0x14047dca0
Capabilities:
Execute anti-debugging instructions

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, rcx
mov rdi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
mov ebp, dword [rsp + 0x90]
mov ecx, ebp
and ecx, 0xf
cmp ecx, 3
jbe 0x14047dcef
cmp ecx, 5
jbe 0x14047dd2c
cmp ecx, 6
jne 0x14047dd5c
cmp qword [0x140792680], 0
je 0x14047de00
xor eax, eax
jmp 0x14047ded6
test ecx, ecx
je 0x14047dd4f
cmp ecx, 1
je 0x14047dd44
cmp ecx, 3
je 0x14047de25
mov rax, r8
mov r8, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdx
mov rcx, rdi
mov rdx, r8
mov r8, r9
mov r9, rax
call fcn.1405d1a28
jmp 0x14047e0e9
cmp ecx, 4
jne 0x14047dd8f
mov rcx, r9
mov rdx, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.1404d3040
mov eax, dword [0x14076a0d4]
jmp 0x14047e0e9
mov ebp, 0xc86c7587
mov rbx, r8
mov r9, rdi
jmp 0x14047dd61
cmp ecx, 7
ja 0x14047dda8
mov rcx, r9
call sub.KERNEL32.dll_LoadLibraryA
test rax, rax
je 0x14047e048
test bpl, 0x40
jne 0x14047dfa3
mov rcx, rax
mov rdx, rbx
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
jmp sub.KERNEL32.dll_GetProcAddress
cmp qword [0x140792678], 0
je 0x14047de14
test bpl, 0x20
je 0x14047e0e9
jmp 0x14047de30
call fcn.14047dc60
movzx ecx, byte [0x140790228]
mov rdx, qword [0x140769bc0]
or ecx, dword [0x140769bb0]
add eax, ecx
add eax, 0xb78a
cdqe
add rax, rdx
call qword [0x140704440]
mov rax, qword [0x1407925f0]
mov dword [0x14076a0cc], 0x97c2148a
mov rax, qword [rax + 0x2a0]
mov rdx, qword [0x140704440]
mov rcx, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
jmp rdx
movzx eax, byte [0x140769b99]
cmp al, 0x79
jne 0x14047dfd6
jmp 0x14047e071
movzx eax, byte [0x140769b79]
cmp al, 0x35
je 0x14047deb7
jmp 0x14047de3f
mov rcx, r9
mov rdx, rdi
call fcn.1405c502c
mov ecx, esi
call qword [0x140792678]
xor eax, eax
jmp 0x14047e0e9
mov cl, 0x21
nop word cs:[rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x140769b79], cl
je 0x14047de6a
cmp al, 0x35
jne 0x14047de50
test bp, bp
js 0x14047deb7
jmp 0x14047e03a
xor ecx, ecx
lea eax, [rcx - 0x7d1bb5b6]
imul rax, rax, 0x38e38e39
shr rax, 0x21
lea eax, [rax + rax*8]
neg eax
add eax, ecx
add eax, 0x82e44a4a
movsxd rcx, ecx
lea rdx, [0x140769b70]
lea r8, [0x14060efc0]
movzx eax, byte [rax + r8]
xor al, 0x1f
add byte [rcx + rdx], al
inc ecx
cmp ecx, 9
jl 0x14047e051
mov al, 0x35
xchg byte [0x140769b79], al
movzx eax, byte [0x140769b8d]
cmp al, 0x79
je 0x14047dfa3
xor ecx, ecx
mov dl, 0xc2
mov al, 0x62
lock cmpxchg byte [0x140769b8d], dl
je 0x14047df4e
test ebp, 0x10000
je 0x14047e0db
cmp al, 0x79
jne 0x14047dec6
jmp 0x14047dfa3
test ebp, 0x400
jne 0x14047df4e
lea ecx, [rax + 0xe8f0628]
imul rcx, rcx, 0x4ec4ec4f
shr rcx, 0x22
lea edx, [rcx + rcx*2]
lea ecx, [rcx + rdx*4]
neg ecx
add ecx, eax
add ecx, 0xe8f0628
cdqe
lea rdx, [0x140769ba0]
movzx r8d, byte [rax + rdx]
lea r9, [0x14060efe0]
sub r9, rcx
xor r8b, byte [r9 + 0xc]
xor r8b, 0x92
mov byte [rax + rdx], r8b
inc eax
xor ecx, ecx
cmp eax, 0xd
jl 0x14047deeb
mov al, 0x6a
xchg byte [0x140769bad], al
jmp 0x14047e0a8
lea eax, [rcx + 0x3d44a1ec]
mov edx, 0xaaaaaaab
imul rdx, rax
shr rdx, 0x23
shl edx, 2
lea eax, [rdx + rdx*2]
neg eax
add eax, ecx
add eax, 0x3d44a1ec
movsxd rcx, ecx
lea rdx, [0x140769b80]
lea r8, [0x14060efd0]
sub r8, rax
movzx eax, byte [r8 + 0xb]
xor al, 0xa0
add byte [rcx + rdx], al
inc ecx
xor eax, eax
cmp ecx, 0xd
jl 0x14047deeb
mov al, 0x79
xchg byte [0x140769b8d], al
lea rax, [0x140769b70]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0x591c8f60
lea r8, [0x140769b80]
call fcn.14047dca0
mov qword [0x140792678], rax
test ebp, 0x1000
jne 0x14047de30
mov cl, 0x12
mov al, 0x9b
lock cmpxchg byte [0x140769b99], cl
jne 0x14047e04f
xor ecx, ecx
test ebp, 0x2000
jne 0x14047df4e
movq xmm0, qword [0x140769b90]
movdqa xmm1, xmmword [0x14060ef20]
paddb xmm1, xmm0
pxor xmm0, xmmword [0x1405f7360]
movdqa xmm2, xmmword [0x1405f7370]
pand xmm1, xmm2
pandn xmm2, xmm0
por xmm2, xmm1
movq qword [0x140769b90], xmm2
add byte [0x140769b98], 0x3a
test bp, bp
js 0x14047deb7
mov al, 0x79
xchg byte [0x140769b99], al
test bpl, 0x10
jne 0x14047e071
xor eax, eax
jmp 0x14047e0e9
xor ecx, ecx
test ebp, 0x100
jne 0x14047de6c
cmp al, 0x79
jne 0x14047dfd6
test ebp, 0x200
jne 0x14047dec6
movzx eax, byte [0x140769bad]
cmp al, 0x6a
je 0x14047e0a8
test ebp, 0x800
jne 0x14047de3f
mov dl, 0x82
nop word [rax + rax]
mov al, 0x9c
lock cmpxchg byte [0x140769bad], dl
je 0x14047e0f2
mov ecx, eax
test bpl, bpl
js 0x14047e0e9
cmp cl, 0x6a
jne 0x14047e090
lea rax, [0x140769b90]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0xcb6e6210
lea r8, [0x140769ba0]
call fcn.14047dca0
mov qword [0x140792680], rax
test ebp, 0x4000
jne 0x14047de3f
mov rcx, rbx
mov rdx, rdi
call qword [0x140792680]
mov eax, eax
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
ret
xor eax, eax
jmp 0x14047def3