Function at 0x1402709f0
Capabilities:
Access peb ldr_data
Encode data using xor
Get kernel32 base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r12
sub rsp, 0x40
cmp dword [0x1403ce690], 1
mov r12, rcx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x38], r14
je 0x140270bb8
mov edx, 0x2fe5d001
mov cl, 0x1c
mov eax, edx
shr eax, cl
test al, 1
je 0x140270a3a
mov cl, 3
mov eax, edx
inc cl
shr eax, cl
test al, 1
jne 0x140270a66
mov cl, 3
mov eax, edx
shr eax, cl
test al, 1
jne 0x140270a66
add cl, 2
mov eax, edx
shr eax, cl
test al, 1
jne 0x140270a66
mov cl, 9
mov eax, edx
shr eax, cl
test al, 1
jne 0x140270a66
mov cl, reloc.WS2_32.dll_send
shr edx, cl
test dl, 1
je 0x140270bb8
mov edx, 0xdd05d0af
mov cl, Ordinal_32
mov eax, edx
shr eax, cl
test al, 1
je 0x140270a81
mov cl, 1
mov eax, edx
inc cl
shr eax, cl
test al, 1
jne 0x140270ab4
mov cl, 1
mov eax, edx
shr eax, cl
test cl, al
jne 0x140270ab4
add cl, 2
mov eax, edx
shr eax, cl
test al, 1
jne 0x140270ab4
mov cl, 9
mov eax, edx
shr eax, cl
test al, 1
jne 0x140270ab4
mov cl, reloc.WS2_32.dll_recv
shr edx, cl
test dl, 1
jne 0x140270ab4
mov r8d, reloc.WLDAP32.dll_Ordinal_30
jmp 0x140270b98
mov rax, qword gs:[0x60]
mov r14d, 0xffffffff
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x140270b5a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x140270b5a
mov ebp, dword [rsi + 0x20]
add r11d, r14d
mov r10d, 0x86fda2d8
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rbp]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140270b55
nop dword [rax]
nop word [rax + rax]
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x140270b20
cmp r10d, 0xb37b1be7
je 0x140270b62
test r11d, r11d
jne 0x140270af3
mov rax, qword [rax]
jmp 0x140270ad0
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
call rax
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
add ecx, ecx
sub r8d, ecx
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [0x140376eb8]
movsd qword [0x140398e18], xmm1
jmp 0x140270cb3
mov ecx, 0x89
mov qword [rsp + 0x30], r15
call fcn.1402ae730
imul rax, rax, 0x19660d
xor edx, edx
mov r14d, 0xffffffff
div r14
lea rax, [rdx + 0x3c6ef35f]
xor edx, edx
div r14
mov rax, qword gs:[0x60]
mov r15, rdx
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x140270c8a
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x140270c8a
mov ebp, dword [rsi + 0x20]
add r11d, r14d
mov r10d, 0x8b0ecffa
lea rcx, [rbx + r11*4]
mov r8d, dword [rcx + rbp]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x140270c85
nop dword [rax]
nop word [rax + rax]
movsx ecx, r9b
lea r8, [r8 + 1]
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
movzx r9d, byte [r8 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r9b, r9b
jne 0x140270c50
cmp r10d, 0x53917548
je 0x140270c92
test r11d, r11d
jne 0x140270c23
mov rax, qword [rax]
jmp 0x140270c00
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
mov ecx, r15d
add rax, rbx
call rax
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov edx, 0x8410aec5
mov rdi, qword [rsp + 0x68]
mov eax, edx
mov rsi, qword [rsp + 0x60]
mov cl, Ordinal_32
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
shr eax, cl
test al, 1
je 0x140270ce7
xor cl, cl
mov eax, edx
inc cl
shr eax, cl
test al, 1
jne 0x140270d1d
xor ecx, ecx
mov eax, edx
shr eax, cl
test al, 1
jne 0x140270d1d
add cl, 2
mov eax, edx
shr eax, cl
test al, 1
jne 0x140270d1d
mov cl, 9
mov eax, edx
shr eax, cl
test al, 1
jne 0x140270d1d
mov cl, reloc.WS2_32.dll_send
shr edx, cl
test dl, 1
jne 0x140270d1d
test r12, r12
jne 0x140270d1d
xor al, al
add rsp, 0x40
pop r12
ret
mov al, 1
add rsp, 0x40
pop r12
ret