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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xb8
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x2c], al
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xc8]
mov qword [rcx], rax
mov rcx, qword [rsp + 0xd0]
call fcn.180151700
movzx eax, al
test eax, eax
jne 0x18014eadc
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xc0]
add rax, 0x30
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014ea49
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0x30], 0
je 0x18014eab6
mov dword [rsp + 0x34], 1
jmp 0x18014eabe
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
test eax, eax
je 0x18014eacc
jmp 0x18014f053
xor eax, eax
test eax, eax
jne 0x18014ea9e
xor eax, eax
test eax, eax
jne 0x18014ea49
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc0]
call fcn.180149b30
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0x30], 0
je 0x18014eb09
mov dword [rsp + 0x38], 1
jmp 0x18014eb11
mov dword [rsp + 0x38], 0
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x18014eb1f
jmp 0x18014f053
xor eax, eax
test eax, eax
jne 0x18014eaf1
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x23], al
movsx eax, byte [rsp + 0x23]
mov ecx, 0x5d
cmp eax, ecx
jne 0x18014eb79
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x2d], al
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xc8]
mov qword [rcx], rax
mov byte [rsp + 0x20], 1
jmp 0x18014eb7e
mov byte [rsp + 0x20], 0
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x18014ec3d
xor edx, edx
mov rcx, qword [rsp + 0xd0]
call fcn.180151660
movzx eax, al
test eax, eax
jne 0x18014ec38
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xc0]
add rax, 0x30
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014eba5
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0x30], 0
je 0x18014ec12
mov dword [rsp + 0x3c], 1
jmp 0x18014ec1a
mov dword [rsp + 0x3c], 0
movzx eax, byte [rsp + 0x3c]
test eax, eax
je 0x18014ec28
jmp 0x18014f053
xor eax, eax
test eax, eax
jne 0x18014ebfa
xor eax, eax
test eax, eax
jne 0x18014eba5
jmp 0x18014f053
mov dword [rsp + 0x28], 0
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc0]
call fcn.180149ec0
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0x30], 0
je 0x18014ec7a
mov dword [rsp + 0x40], 1
jmp 0x18014ec82
mov dword [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x18014ec90
jmp 0x18014f053
xor eax, eax
test eax, eax
jne 0x18014ec62
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc0]
call fcn.180149b30
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0x30], 0
je 0x18014eccd
mov dword [rsp + 0x44], 1
jmp 0x18014ecd5
mov dword [rsp + 0x44], 0
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x18014ece3
jmp 0x18014f053
xor eax, eax
test eax, eax
jne 0x18014ecb5
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x24], al
movsx eax, byte [rsp + 0x24]
mov ecx, Ordinal_46
cmp eax, ecx
jne 0x18014ed3d
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x2e], al
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xc8]
mov qword [rcx], rax
mov byte [rsp + 0x21], 1
jmp 0x18014ed42
mov byte [rsp + 0x21], 0
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x18014ed99
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc0]
call fcn.180149b30
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0x30], 0
je 0x18014ed78
mov dword [rsp + 0x48], 1
jmp 0x18014ed80
mov dword [rsp + 0x48], 0
movzx eax, byte [rsp + 0x48]
test eax, eax
je 0x18014ed8e
jmp 0x18014f053
xor eax, eax
test eax, eax
jne 0x18014ed60
jmp 0x18014ef4b
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x25], al
movsx eax, byte [rsp + 0x25]
mov ecx, 0x5d
cmp eax, ecx
jne 0x18014eded
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x2f], al
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xc8]
mov qword [rcx], rax
mov byte [rsp + 0x22], 1
jmp 0x18014edf2
mov byte [rsp + 0x22], 0
movzx eax, byte [rsp + 0x22]
test eax, eax
je 0x18014eeb8
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0xd0]
call fcn.180151660
movzx eax, al
test eax, eax
jne 0x18014eeae
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xc0]
add rax, 0x30
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x90]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014ee1b
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0x30], 0
je 0x18014ee88
mov dword [rsp + 0x4c], 1
jmp 0x18014ee90
mov dword [rsp + 0x4c], 0
movzx eax, byte [rsp + 0x4c]
test eax, eax
je 0x18014ee9e
jmp 0x18014f053
xor eax, eax
test eax, eax
jne 0x18014ee70
xor eax, eax
test eax, eax
jne 0x18014ee1b
jmp 0x18014f053
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xc0]
add rax, 0x30
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov dword [rax], 7
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x98]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014eeb8
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0x30], 0
je 0x18014ef25
mov dword [rsp + 0x50], 1
jmp 0x18014ef2d
mov dword [rsp + 0x50], 0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18014ef3b
jmp 0x18014f053
xor eax, eax
test eax, eax
jne 0x18014ef0d
xor eax, eax
test eax, eax
jne 0x18014eeb8
xor eax, eax
test eax, eax
je 0x18014f04e
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x26], al
movsx eax, byte [rsp + 0x26]
cmp eax, 0x5d
jne 0x18014f04e
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0xd0]
call fcn.180151660
movzx eax, al
test eax, eax
jne 0x18014f021
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xc0]
add rax, 0x30
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014ef91
mov rax, qword [rsp + 0xc0]
cmp dword [rax + 0x30], 0
je 0x18014effe
mov dword [rsp + 0x54], 1
jmp 0x18014f006
mov dword [rsp + 0x54], 0
movzx eax, byte [rsp + 0x54]
test eax, eax
je 0x18014f011
jmp 0x18014f053
xor eax, eax
test eax, eax
jne 0x18014efe6
xor eax, eax
test eax, eax
jne 0x18014ef91
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xc8]
mov qword [rcx], rax
jmp 0x18014f053
jmp 0x18014ec45
add rsp, 0xb8
ret