Function at 0x18014e100
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, 0xe8
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x2c], al
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xf8]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x100]
call fcn.180151840
movzx eax, al
test eax, eax
jne 0x18014e1ec
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xf0]
add rax, 0x30
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014e159
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e1c6
mov dword [rsp + 0x34], 1
jmp 0x18014e1ce
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
test eax, eax
je 0x18014e1dc
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e1ae
xor eax, eax
test eax, eax
jne 0x18014e159
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
call fcn.180149b30
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e219
mov dword [rsp + 0x38], 1
jmp 0x18014e221
mov dword [rsp + 0x38], 0
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x18014e22f
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e201
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x22], al
movsx eax, byte [rsp + 0x22]
mov ecx, 0x7d
cmp eax, ecx
jne 0x18014e289
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x2d], al
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xf8]
mov qword [rcx], rax
mov byte [rsp + 0x20], 1
jmp 0x18014e28e
mov byte [rsp + 0x20], 0
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x18014e34d
xor edx, edx
mov rcx, qword [rsp + 0x100]
call fcn.1801517a0
movzx eax, al
test eax, eax
jne 0x18014e348
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xf0]
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 + 0xb0]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014e2b5
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e322
mov dword [rsp + 0x3c], 1
jmp 0x18014e32a
mov dword [rsp + 0x3c], 0
movzx eax, byte [rsp + 0x3c]
test eax, eax
je 0x18014e338
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e30a
xor eax, eax
test eax, eax
jne 0x18014e2b5
jmp 0x18014e9d9
mov dword [rsp + 0x28], 0
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x23], al
movsx eax, byte [rsp + 0x23]
cmp eax, 0x22
je 0x18014e411
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xf0]
add rax, 0x30
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov dword [rax], 4
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014e375
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e3eb
mov dword [rsp + 0x40], 1
jmp 0x18014e3f3
mov dword [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x18014e401
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e3d3
xor eax, eax
test eax, eax
jne 0x18014e375
mov r9b, 1
mov r8, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
call fcn.18014cd00
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e449
mov dword [rsp + 0x44], 1
jmp 0x18014e451
mov dword [rsp + 0x44], 0
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x18014e45f
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e431
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
call fcn.180149b30
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e492
mov dword [rsp + 0x48], 1
jmp 0x18014e49a
mov dword [rsp + 0x48], 0
movzx eax, byte [rsp + 0x48]
test eax, eax
je 0x18014e4a8
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e47a
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x24], al
movsx eax, byte [rsp + 0x24]
mov ecx, Ordinal_60
cmp eax, ecx
jne 0x18014e502
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x2e], al
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xf8]
mov qword [rcx], rax
mov byte [rsp + 0x21], 1
jmp 0x18014e507
mov byte [rsp + 0x21], 0
movzx eax, byte [rsp + 0x21]
test eax, eax
jne 0x18014e5b0
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xf0]
add rax, 0x30
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov dword [rax], 5
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014e514
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e58a
mov dword [rsp + 0x4c], 1
jmp 0x18014e592
mov dword [rsp + 0x4c], 0
movzx eax, byte [rsp + 0x4c]
test eax, eax
je 0x18014e5a0
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e572
xor eax, eax
test eax, eax
jne 0x18014e514
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
call fcn.180149b30
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e5dd
mov dword [rsp + 0x50], 1
jmp 0x18014e5e5
mov dword [rsp + 0x50], 0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18014e5f3
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e5c5
mov r8, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
call fcn.180149ec0
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e62e
mov dword [rsp + 0x54], 1
jmp 0x18014e636
mov dword [rsp + 0x54], 0
movzx eax, byte [rsp + 0x54]
test eax, eax
je 0x18014e644
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e616
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
call fcn.180149b30
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e677
mov dword [rsp + 0x58], 1
jmp 0x18014e67f
mov dword [rsp + 0x58], 0
movzx eax, byte [rsp + 0x58]
test eax, eax
je 0x18014e68d
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e65f
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x25], al
movzx eax, byte [rsp + 0x25]
mov byte [rsp + 0x5c], al
cmp byte [rsp + 0x5c], 0x2c
je 0x18014e6cb
cmp byte [rsp + 0x5c], 0x7d
je 0x18014e744
jmp 0x18014e82c
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x2f], al
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xf8]
mov qword [rcx], rax
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
call fcn.180149b30
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e723
mov dword [rsp + 0x60], 1
jmp 0x18014e72b
mov dword [rsp + 0x60], 0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18014e739
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e70b
jmp 0x18014e8c8
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xf8]
mov qword [rcx], rax
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x100]
call fcn.1801517a0
movzx eax, al
test eax, eax
jne 0x18014e827
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xf0]
add rax, 0x30
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014e78b
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e801
mov dword [rsp + 0x64], 1
jmp 0x18014e809
mov dword [rsp + 0x64], 0
movzx eax, byte [rsp + 0x64]
test eax, eax
je 0x18014e817
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e7e9
xor eax, eax
test eax, eax
jne 0x18014e78b
jmp 0x18014e9d9
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xf0]
add rax, 0x30
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov dword [rax], 6
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xd0]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014e82c
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e8a2
mov dword [rsp + 0x68], 1
jmp 0x18014e8aa
mov dword [rsp + 0x68], 0
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x18014e8b8
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e88a
xor eax, eax
test eax, eax
jne 0x18014e82c
xor eax, eax
test eax, eax
je 0x18014e9d4
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x26], al
movsx eax, byte [rsp + 0x26]
cmp eax, 0x7d
jne 0x18014e9d4
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x100]
call fcn.1801517a0
movzx eax, al
test eax, eax
jne 0x18014e9a7
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf8]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rax]
sub rax, rcx
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xf0]
add rax, 0x30
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov dword [rax], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xd8]
mov qword [rax + 8], rcx
xor eax, eax
test eax, eax
jne 0x18014e90e
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x30], 0
je 0x18014e984
mov dword [rsp + 0x6c], 1
jmp 0x18014e98c
mov dword [rsp + 0x6c], 0
movzx eax, byte [rsp + 0x6c]
test eax, eax
je 0x18014e997
jmp 0x18014e9d9
xor eax, eax
test eax, eax
jne 0x18014e96c
xor eax, eax
test eax, eax
jne 0x18014e90e
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov byte [rsp + 0x31], al
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0xf8]
mov qword [rcx], rax
jmp 0x18014e9d9
jmp 0x18014e355
add rsp, 0xe8
ret