Function at 0x14002eed0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
test r9d, r9d
je 0x14002f928
mov r11, rsp
push r13
sub rsp, 0x120
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov r10d, dword [rcx + 4]
xor eax, eax
mov qword [r11 + 0x10], rbx
mov r13, r8
mov ebx, dword [rcx + 0x18]
mov qword [r11 - 0x10], rbp
mov ebp, dword [rcx + 0x10]
mov dword [rsp + 0x74], ebx
mov ebx, dword [rcx + 0x1c]
mov qword [r11 - 0x18], rsi
mov esi, dword [rcx + 0xc]
mov dword [rsp + 0x78], ebx
mov ebx, dword [rcx + 0x20]
mov qword [r11 - 0x20], rdi
mov edi, dword [rcx + 0x34]
mov dword [rsp + 0x7c], ebx
mov ebx, dword [rcx + 0x24]
mov dword [rsp + 0x48], ebx
mov ebx, dword [rcx + 0x28]
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r14
mov r14d, dword [rcx + 0x38]
mov dword [rsp + 0x4c], ebx
mov ebx, dword [rcx + 0x2c]
mov dword [rsp + 0x50], ebx
mov ebx, dword [rcx + 0x30]
mov qword [rsp + 0x40], r8
mov r8d, dword [rcx]
mov qword [rsp + 0x88], rax
mov eax, dword [rcx + 0x14]
mov qword [r11 - 0x38], r15
mov r11d, dword [rcx + 8]
mov qword [rsp + 0x90], rcx
mov ecx, dword [rcx + 0x3c]
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x5c], r9d
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x64], r11d
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x6c], ebp
mov dword [rsp + 0x34], eax
mov dword [rsp + 8], ebx
mov dword [rsp + 0xc], edi
mov dword [rsp + 0x54], r14d
nop
cmp r9d, 0x40
jae 0x14002f01b
test r9d, r9d
je 0x14002eff5
lea rcx, [rsp + 0xa0]
mov r8d, r9d
sub rdx, rcx
lea rax, [rsp + 0xa0]
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax + rdx]
mov byte [rax], cl
lea rax, [rax + 1]
sub r8, 1
jne 0x14002efe0
mov r8d, dword [rsp + 0x30]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x88], r13
lea r13, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov eax, dword [rsp + 0x34]
mov qword [rsp + 0x40], r13
mov ecx, dword [rsp + 0x74]
mov r14d, r8d
mov r8d, dword [rsp + 0x7c]
mov r15d, r10d
mov r9d, dword [rsp + 0x48]
mov r12d, r11d
mov r10d, dword [rsp + 0x4c]
mov r13d, esi
mov r11d, dword [rsp + 0x50]
mov esi, dword [rsp + 0x54]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x2c], eax
mov dword [rsp + 4], ecx
mov dword [rsp + 0x70], socket
jmp 0x14002f07a
mov r10d, dword [rsp + 0x14]
mov r11d, dword [rsp + 0x18]
add r15d, dword [rsp + 0x28]
add r14d, ebp
add r12d, dword [rsp + 4]
xor ebx, r14d
xor edi, r15d
xor esi, r12d
mov edx, ebx
shl ebx, 0x10
shr edx, 0x10
or edx, ebx
add r8d, edx
mov eax, r8d
xor eax, ebp
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r14d, ecx
xor edx, r14d
mov ebx, edx
shl edx, 8
shr ebx, 0x18
or ebx, edx
mov edx, edi
shr edx, 0x10
add r8d, ebx
shl edi, 0x10
mov eax, r8d
xor eax, ecx
mov dword [rsp + 0x38], r8d
mov ebp, eax
or edx, edi
shl eax, 7
add r9d, edx
shr ebp, 0x19
or ebp, eax
mov eax, r9d
xor eax, dword [rsp + 0x28]
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r15d, ecx
xor edx, r15d
mov edi, edx
shl edx, 8
shr edi, 0x18
or edi, edx
mov edx, esi
add r9d, edi
shl esi, 0x10
mov eax, r9d
shr edx, 0x10
xor eax, ecx
mov dword [rsp + 0x10], r9d
mov r9d, eax
or edx, esi
shl eax, 7
add r10d, edx
shr r9d, 0x19
or r9d, eax
mov eax, r10d
xor eax, dword [rsp + 4]
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r12d, ecx
xor edx, r12d
mov esi, edx
shl edx, 8
shr esi, 0x18
or esi, edx
add r10d, esi
mov eax, r10d
mov dword [rsp + 0x14], r10d
xor eax, ecx
mov r10d, eax
shl eax, 7
shr r10d, 0x19
or r10d, eax
add r13d, dword [rsp]
add r14d, r9d
mov eax, dword [rsp + 0x2c]
add r15d, r10d
xor eax, r13d
xor ebx, r15d
mov edx, eax
shl eax, 0x10
shr edx, 0x10
or edx, eax
add r11d, edx
mov eax, r11d
xor eax, dword [rsp]
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r13d, ecx
xor edx, r13d
mov r8d, edx
shl edx, 8
shr r8d, 0x18
or r8d, edx
add r11d, r8d
xor r8d, r14d
mov edx, r8d
mov dword [rsp + 0x18], r11d
shr edx, 0x10
mov eax, r11d
xor eax, ecx
shl r8d, 0x10
mov r11d, eax
or edx, r8d
mov r8d, dword [rsp + 0x14]
shl eax, 7
add r8d, edx
shr r11d, 0x19
or r11d, eax
mov eax, r8d
xor eax, r9d
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r14d, ecx
xor edx, r14d
mov eax, edx
shl edx, 8
shr eax, 0x18
or eax, edx
mov edx, ebx
add r8d, eax
mov dword [rsp + 0x2c], eax
shl ebx, 0x10
mov eax, r8d
xor eax, ecx
shr edx, 0x10
or edx, ebx
mov dword [rsp + 0x14], r8d
mov r8d, dword [rsp + 0x18]
mov ecx, eax
shr ecx, 0x19
add r8d, edx
shl eax, 7
or ecx, eax
mov eax, r8d
xor eax, r10d
mov dword [rsp + 0x28], ecx
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r15d, ecx
xor edx, r15d
mov ebx, edx
shl edx, 8
shr ebx, 0x18
or ebx, edx
add r8d, ebx
mov dword [rsp + 0x80], ebx
mov dword [rsp + 0x18], r8d
mov r9d, dword [rsp + 0x10]
add r12d, r11d
xor edi, r12d
add r13d, ebp
xor esi, r13d
mov edx, edi
shr edx, 0x10
mov eax, r8d
mov r8d, dword [rsp + 0x38]
xor eax, ecx
mov r10d, eax
shl edi, 0x10
shl eax, 7
or edx, edi
add r8d, edx
shr r10d, 0x19
or r10d, eax
mov eax, r8d
xor eax, r11d
mov dword [rsp + 4], r10d
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r12d, ecx
xor edx, r12d
mov edi, edx
shl edx, 8
shr edi, 0x18
or edi, edx
mov edx, esi
shl esi, 0x10
add r8d, edi
shr edx, 0x10
mov eax, r8d
xor eax, ecx
mov dword [rsp + 0x38], edi
mov r11d, eax
or edx, esi
shl eax, 7
add r9d, edx
shr r11d, 0x19
or r11d, eax
mov eax, r9d
xor eax, ebp
mov dword [rsp], r11d
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r13d, ecx
xor edx, r13d
mov esi, edx
shl edx, 8
shr esi, 0x18
or esi, edx
add r9d, esi
mov dword [rsp + 0x84], esi
mov eax, r9d
xor eax, ecx
mov ebp, eax
shl eax, 7
shr ebp, 0x19
or ebp, eax
add dword [rsp + 0x70], 0xfffffffe
jne 0x14002f070
mov rdx, qword [rsp + 0x20]
mov dword [rsp + 0x10], r13d
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
movzx r13d, byte [rdx + 0xb]
shl ecx, 8
or ecx, eax
shl r13d, 8
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx]
shl ecx, 8
or ecx, eax
mov eax, dword [rsp + 0x30]
add eax, r14d
movzx r14d, byte [rdx + 0x17]
xor ecx, eax
shl r14d, 8
movzx eax, byte [rdx + 6]
mov dword [rsp], ecx
movzx ecx, byte [rdx + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [rsp + 0x60]
add eax, r15d
movzx r15d, byte [rdx + 0x13]
xor ecx, eax
shl r15d, 8
movzx eax, byte [rdx + 0xa]
or r13d, eax
mov dword [rsp + 4], ecx
movzx eax, byte [rdx + 9]
shl r13d, 8
or r13d, eax
movzx eax, byte [rdx + 8]
shl r13d, 8
or r13d, eax
mov eax, dword [rsp + 0x64]
add eax, r12d
movzx r12d, byte [rdx + 0xf]
xor r13d, eax
shl r12d, 8
movzx eax, byte [rdx + 0xe]
or r12d, eax
movzx eax, byte [rdx + 0xd]
shl r12d, 8
or r12d, eax
movzx eax, byte [rdx + 0xc]
shl r12d, 8
or r12d, eax
mov eax, dword [rsp + 0x10]
add eax, dword [rsp + 0x68]
xor r12d, eax
movzx eax, byte [rdx + 0x12]
or r15d, eax
mov dword [rsp + 0x10], r12d
movzx eax, byte [rdx + 0x11]
shl r15d, 8
or r15d, eax
movzx eax, byte [rdx + 0x10]
shl r15d, 8
or r15d, eax
mov eax, dword [rsp + 0x6c]
add eax, ebp
xor r15d, eax
movzx eax, byte [rdx + 0x16]
or r14d, eax
movzx eax, byte [rdx + 0x15]
shl r14d, 8
or r14d, eax
movzx eax, byte [rdx + 0x14]
shl r14d, 8
or r14d, eax
mov eax, dword [rsp + 0x28]
add eax, dword [rsp + 0x34]
movzx ebp, byte [rdx + 0x1b]
xor r14d, eax
movzx eax, byte [rdx + 0x1a]
movzx esi, byte [rdx + 0x1f]
movzx edi, byte [rdx + 0x23]
movzx ebx, byte [rdx + 0x27]
shl ebp, 8
or ebp, eax
shl esi, 8
movzx eax, byte [rdx + 0x19]
shl edi, 8
shl ebx, 8
shl ebp, 8
or ebp, eax
movzx eax, byte [rdx + 0x18]
shl ebp, 8
or ebp, eax
mov eax, dword [rsp + 0x74]
add eax, r10d
movzx r10d, byte [rdx + 0x2f]
xor ebp, eax
shl r10d, 8
movzx eax, byte [rdx + 0x1e]
or esi, eax
movzx eax, byte [rdx + 0x1d]
shl esi, 8
or esi, eax
movzx eax, byte [rdx + 0x1c]
shl esi, 8
or esi, eax
mov eax, dword [rsp + 0x78]
add eax, r11d
movzx r11d, byte [rdx + 0x2b]
xor esi, eax
shl r11d, 8
movzx eax, byte [rdx + 0x22]
or edi, eax
movzx eax, byte [rdx + 0x21]
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 0x20]
shl edi, 8
or edi, eax
mov eax, dword [rsp + 0x7c]
add eax, r8d
xor edi, eax
movzx eax, byte [rdx + 0x26]
or ebx, eax
movzx eax, byte [rdx + 0x25]
shl ebx, 8
or ebx, eax
movzx eax, byte [rdx + 0x24]
shl ebx, 8
or ebx, eax
mov eax, dword [rsp + 0x48]
add eax, r9d
movzx r9d, byte [rdx + 0x33]
xor ebx, eax
movzx eax, byte [rdx + 0x2a]
or r11d, eax
movzx eax, byte [rdx + 0x29]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdx + 0x28]
shl r11d, 8
or r11d, eax
mov eax, dword [rsp + 0x14]
add eax, dword [rsp + 0x4c]
xor r11d, eax
movzx eax, byte [rdx + 0x2e]
or r10d, eax
movzx eax, byte [rdx + 0x2d]
shl r10d, 8
or r10d, eax
movzx eax, byte [rdx + 0x2c]
shl r10d, 8
or r10d, eax
mov eax, dword [rsp + 0x18]
add eax, dword [rsp + 0x50]
xor r10d, eax
movzx eax, byte [rdx + 0x32]
movzx r8d, byte [rdx + 0x37]
mov rcx, qword [rsp + 0x20]
mov r12d, dword [rsp + 0xc]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [rdx + 0x31]
shl r9d, 8
or r9d, eax
movzx eax, byte [rdx + 0x30]
shl r9d, 8
or r9d, eax
mov eax, dword [rsp + 0x80]
add eax, dword [rsp + 8]
xor r9d, eax
movzx eax, byte [rdx + 0x36]
or r8d, eax
movzx eax, byte [rdx + 0x35]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx + 0x34]
movzx edx, byte [rdx + 0x3b]
shl edx, 8
shl r8d, 8
or r8d, eax
mov eax, dword [rsp + 0x38]
add eax, dword [rsp + 0xc]
xor r8d, eax
movzx eax, byte [rcx + 0x3a]
or edx, eax
movzx eax, byte [rcx + 0x39]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 0x38]
movzx ecx, byte [rcx + 0x3f]
shl ecx, 8
shl edx, 8
or edx, eax
mov eax, dword [rsp + 0x84]
add eax, dword [rsp + 0x54]
xor edx, eax
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + 0x3e]
or ecx, eax
mov rax, qword [rsp + 0x20]
shl ecx, 8
movzx eax, byte [rax + 0x3d]
or ecx, eax
mov rax, qword [rsp + 0x20]
shl ecx, 8
movzx eax, byte [rax + 0x3c]
or ecx, eax
mov eax, dword [rsp + 0x2c]
add eax, dword [rsp + 0x58]
xor ecx, eax
lea eax, [r12 + 1]
add dword [rsp + 8], 1
cmovne eax, r12d
mov r12, qword [rsp + 0x40]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov byte [r12], al
shr eax, 8
mov byte [r12 + 1], al
mov eax, dword [rsp]
shr eax, 0x10
mov byte [r12 + 2], al
mov eax, dword [rsp]
shr eax, 0x18
mov byte [r12 + 3], al
mov eax, dword [rsp + 4]
mov byte [r12 + 4], al
shr eax, 8
mov byte [r12 + 5], al
mov eax, dword [rsp + 4]
shr eax, 0x10
mov byte [r12 + 6], al
mov eax, dword [rsp + 4]
shr eax, 0x18
mov byte [r12 + 7], al
mov rax, r12
mov byte [rax + 8], r13b
mov eax, r13d
shr eax, 8
mov byte [r12 + 9], al
mov eax, r13d
shr eax, 0x10
mov byte [r12 + 0xa], al
mov rax, r12
mov r12d, dword [rsp + 0x10]
shr r13d, 0x18
mov byte [rax + 0xb], r13b
mov r13, rax
mov byte [rax + 0xc], r12b
mov eax, r12d
shr eax, 8
mov byte [r13 + 0xd], al
mov eax, r12d
shr eax, 0x10
mov byte [r13 + 0xe], al
mov eax, r15d
shr eax, 8
mov byte [r13 + 0x11], al
mov eax, r15d
shr eax, 0x10
mov byte [r13 + 0x12], al
mov eax, r14d
shr eax, 8
mov byte [r13 + 0x15], al
mov eax, r14d
shr eax, 0x10
mov byte [r13 + 0x16], al
mov eax, ebp
shr eax, 8
mov byte [r13 + 0x19], al
mov eax, ebp
shr eax, 0x10
mov byte [r13 + 0x1a], al
mov eax, esi
shr eax, 8
mov byte [r13 + 0x1d], al
mov eax, esi
shr eax, 0x10
mov byte [r13 + 0x1e], al
mov eax, edi
shr eax, 8
mov byte [r13 + 0x21], al
mov eax, edi
shr eax, 0x10
mov byte [r13 + 0x22], al
mov eax, ebx
shr eax, 8
mov byte [r13 + 0x25], al
mov eax, ebx
shr eax, 0x10
mov byte [r13 + 0x26], al
mov eax, r11d
shr r12d, 0x18
mov byte [r13 + 0x10], r15b
shr r15d, 0x18
mov byte [r13 + 0x14], r14b
shr r14d, 0x18
mov byte [r13 + 0x18], bpl
shr ebp, 0x18
mov byte [r13 + 0x1c], sil
shr esi, 0x18
mov byte [r13 + 0x20], dil
shr edi, 0x18
mov byte [r13 + 0x24], bl
shr ebx, 0x18
shr eax, 8
mov byte [r13 + 0x29], al
mov eax, r11d
mov byte [r13 + 0xf], r12b
mov byte [r13 + 0x13], r15b
mov byte [r13 + 0x17], r14b
mov byte [r13 + 0x1b], bpl
mov byte [r13 + 0x1f], sil
mov byte [r13 + 0x23], dil
mov byte [r13 + 0x27], bl
mov byte [r13 + 0x28], r11b
shr eax, 0x10
mov byte [r13 + 0x2a], al
mov eax, r10d
shr eax, 8
mov byte [r13 + 0x2d], al
mov eax, r10d
shr eax, 0x10
mov byte [r13 + 0x2e], al
mov eax, r9d
shr eax, 8
mov byte [r13 + 0x31], al
mov eax, r9d
shr eax, 0x10
mov byte [r13 + 0x32], al
mov eax, r8d
shr eax, 8
mov byte [r13 + 0x35], al
mov eax, r8d
shr eax, 0x10
mov byte [r13 + 0x36], al
mov eax, edx
shr eax, 8
mov byte [r13 + 0x39], al
mov eax, edx
shr eax, 0x10
mov byte [r13 + 0x3a], al
mov eax, ecx
shr eax, 8
mov byte [r13 + 0x30], r9b
shr r9d, 0x18
mov byte [r13 + 0x3d], al
mov eax, ecx
shr eax, 0x10
shr r11d, 0x18
mov byte [r13 + 0x2c], r10b
shr r10d, 0x18
mov byte [r13 + 0x33], r9b
mov r9d, dword [rsp + 0x5c]
mov byte [r13 + 0x34], r8b
shr r8d, 0x18
mov byte [r13 + 0x38], dl
shr edx, 0x18
mov byte [r13 + 0x3c], cl
shr ecx, 0x18
mov byte [r13 + 0x2b], r11b
mov byte [r13 + 0x2f], r10b
mov byte [r13 + 0x37], r8b
mov byte [r13 + 0x3b], dl
mov byte [r13 + 0x3e], al
mov byte [r13 + 0x3f], cl
cmp r9d, 0x40
jbe 0x14002f891
mov rdx, qword [rsp + 0x20]
add r9d, 0xffffffc0
mov edi, dword [rsp + 0xc]
add r13, 0x40
mov ebx, dword [rsp + 8]
add rdx, 0x40
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x64]
mov esi, dword [rsp + 0x68]
mov ebp, dword [rsp + 0x6c]
mov eax, dword [rsp + 0x34]
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x5c], r9d
mov qword [rsp + 0x40], r13
jmp 0x14002efb0
mov r15, qword [rsp + 0xf0]
lea eax, [r9 - 1]
mov r14, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x138]
cmp eax, 0x3e
ja 0x14002f8f1
mov rcx, qword [rsp + 0x88]
mov rdx, r9
sub r13, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + r13]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14002f8e0
mov rax, qword [rsp + 0x90]
mov edi, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
mov dword [rax + 0x34], edi
mov rdi, qword [rsp + 0x108]
mov dword [rax + 0x30], ecx
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1400313f0
add rsp, 0x120
pop r13
ret