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

Disassembly:
mov dword [rsp + 0x18], r8d
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov r13d, dword [rcx + 0x54]
xor esi, esi
mov r15, qword [rdx + 0x18]
mov ebp, r8d
mov r10, qword [rcx]
mov r12, rdx
mov r14, rcx
mov dword [rsp + 0xa0], r13d
lea eax, [r13 + 2]
mov ebx, 0xfff0bdc0
mov dword [rcx + 0x54], eax
mov r9, qword [rdx + 0x30]
test r9, r9
je 0x180126f53
movsxd rax, dword [r10 + 0x28]
mov ebx, esi
test eax, eax
jle 0x180126f53
mov rdx, rax
mov ecx, esi
mov rax, qword [r10 + 0x20]
add rax, 0x18
nop
cmp qword [rax], r9
je 0x180126f53
inc ebx
inc rcx
add rax, 0x20
cmp rcx, rdx
jl 0x180126f40
mov rax, qword [r10 + 0x20]
xor r9d, r9d
mov r8, qword [r12]
movsxd rcx, ebx
shl rcx, 5
lea edx, [r9 + 0x1b]
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.1800ee280
test eax, eax
jne 0x18012755a
mov rax, qword [r15]
mov r9b, 1
mov r8d, dword [r15 + 0x38]
mov edx, ebx
mov rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x58], rdi
call fcn.180130440
mov rcx, r14
call fcn.180118590
mov rdi, rax
test rax, rax
je 0x180127555
test ebp, ebp
js 0x180126fc1
mov dword [rsp + 0xb8], ebp
jmp 0x180126fcd
mov eax, dword [r12 + 0x58]
mov dword [rsp + 0xb8], eax
mov rdx, r12
mov rcx, r14
call fcn.18011c2d0
mov r10d, dword [r14 + 0x54]
mov rbp, rax
mov dword [rsp + 0xa8], r10d
lea ecx, [r10 + 1]
mov dword [r14 + 0x54], ecx
test rax, rax
je 0x180126ff6
inc dword [rax]
mov rax, qword [rdi + 0x30]
movsxd rdx, dword [rdi + 0x3c]
movzx r8d, word [r12 + 0x5e]
cmp dword [rax + 0x64], edx
jg 0x180127024
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, r10d
mov rcx, rdi
lea edx, [r9 + 0x3a]
call fcn.1800cfb00
mov edx, eax
jmp 0x180127050
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x3c], eax
mov rax, qword [rdi + 8]
mov word [rax + rcx*8], 0x3a
mov byte [rax + rcx*8 + 3], sil
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rdi]
cmp byte [rax + 0x55], sil
je 0x180127071
test rbp, rbp
je 0x1801270b0
cmp qword [rax + 0x290], rsi
jne 0x1801270b0
mov rcx, rbp
call fcn.18011c410
jmp 0x1801270b0
test edx, edx
jns 0x18012707a
mov edx, dword [rdi + 0x3c]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
cmp byte [rax + rcx*8 + 1], sil
lea rdx, [rax + rcx*8]
je 0x1801270a3
mov r9d, 0xfffffffa
mov r8, rbp
mov rcx, rdi
call fcn.18014e490
jmp 0x1801270b0
test rbp, rbp
je 0x1801270b0
mov qword [rdx + 0x10], rbp
mov byte [rdx + 1], 0xfa
mov r9, r15
mov dword [rsp + 0x20], 0x36
mov r8d, ebx
mov edx, r13d
mov rcx, r14
call fcn.18011e280
mov rax, qword [rdi + 0x30]
movsxd r13, dword [rdi + 0x3c]
cmp dword [rax + 0x64], r13d
jg 0x1801270fe
mov r8d, dword [rsp + 0xa0]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x6c]
call fcn.1800cfb00
mov edx, dword [rsp + 0xa0]
mov r13d, eax
jmp 0x180127134
mov edx, dword [rsp + 0xa0]
lea eax, [r13 + 1]
mov dword [rdi + 0x3c], eax
lea rcx, [r13*2]
mov rax, qword [rdi + 8]
add rcx, r13
mov word [rax + rcx*8], WSAGetLastError
mov byte [rax + rcx*8 + 3], sil
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x180127147
inc dword [r14 + 0x58]
mov r15d, dword [r14 + 0x58]
jmp 0x180127155
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov r15d, dword [r14 + rax*4 + 0x28]
mov dword [rsp + 0x38], esi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rsi
mov r8d, edx
mov qword [rsp + 0x28], rax
mov r9d, r15d
mov rdx, r12
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.180117160
mov r8d, dword [rsp + 0xa8]
mov r9d, r15d
mov edx, WSAGetLastError
mov rcx, rdi
call fcn.180135530
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x1801271ce
mov rdx, qword [r14 + 0x10]
mov r9, qword [rdx + 0x30]
mov r8, qword [r9 + 0x88]
test r8, r8
je 0x1801271bd
not eax
movsxd rcx, eax
mov eax, dword [rdx + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rdx + 0x3c]
mov rcx, r14
dec eax
mov dword [r9 + 0x6c], eax
call fcn.1800fc310
mov r8d, dword [rsp + 0xa0]
lea r9d, [r13 + 1]
mov edx, 7
mov rcx, rdi
call fcn.180135530
mov rax, qword [rdi + 0x30]
mov ecx, dword [rdi + 0x3c]
dec ecx
mov dword [rax + 0x6c], ecx
mov rax, qword [rdi]
mov edx, dword [rdi + 0x3c]
cmp byte [rax + 0x55], sil
je 0x180127208
lea rax, [0x1801eea88]
jmp 0x180127220
lea eax, [rdx - 1]
test r13d, r13d
cmovns eax, r13d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rax, [rax + rcx*8]
mov r13d, dword [rsp + 0xb8]
mov dword [rax + 8], edx
cmp dword [rsp + 0xb0], esi
jge 0x180127247
mov r9d, ebx
mov r8d, r13d
mov edx, 0x77
mov rcx, rdi
call fcn.180135530
mov rax, qword [rdi + 0x30]
mov r8d, dword [rsp + 0xa0]
movsxd rdx, dword [rdi + 0x3c]
inc r8d
cmp dword [rax + 0x64], edx
jg 0x180127277
mov r9d, r13d
mov dword [rsp + 0x20], ebx
mov edx, 0x37
mov rcx, rdi
call fcn.1800cfb00
mov edx, eax
jmp 0x1801272a3
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0x3c], eax
mov rax, qword [rdi + 8]
mov word [rax + rcx*8], 0x37
mov byte [rax + rcx*8 + 3], sil
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rdi]
cmp byte [rax + 0x55], sil
je 0x1801272c4
test rbp, rbp
je 0x180127303
cmp qword [rax + 0x290], rsi
jne 0x180127303
mov rcx, rbp
call fcn.18011c410
jmp 0x180127303
test edx, edx
jns 0x1801272cd
mov edx, dword [rdi + 0x3c]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
cmp byte [rax + rcx*8 + 1], sil
lea rdx, [rax + rcx*8]
je 0x1801272f6
mov r9d, 0xfffffffa
mov r8, rbp
mov rcx, rdi
call fcn.18014e490
jmp 0x180127303
test rbp, rbp
je 0x180127303
mov qword [rdx + 0x10], rbp
mov byte [rdx + 1], 0xfa
mov rax, qword [rdi]
cmp byte [rax + 0x55], sil
jne 0x180127330
cmp dword [rsp + 0xb0], esi
mov eax, select
mov edx, 1
cmovge edx, eax
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov byte [rax + rcx*8 - 0x15], dl
mov rax, qword [rdi + 0x30]
movsxd r13, dword [rdi + 0x3c]
mov ebx, dword [rsp + 0xa8]
cmp dword [rax + 0x64], r13d
jg 0x180127360
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, ebx
mov rcx, rdi
lea edx, [r9 + 0x6a]
call fcn.1800cfb00
mov r13d, eax
jmp 0x18012738f
lea eax, [r13 + 1]
mov dword [rdi + 0x3c], eax
lea rcx, [r13*2]
mov rax, qword [rdi + 8]
add rcx, r13
mov word [rax + rcx*8], WSAGetLastError
mov byte [rax + rcx*8 + 3], sil
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
cmp byte [r12 + 0x62], sil
je 0x1801273e8
test rbp, rbp
je 0x1801273e8
mov ebx, dword [rdi + 0x3c]
mov rcx, rdi
lea edx, [rbx + 3]
call fcn.18013e860
movzx eax, word [r12 + 0x5e]
lea r9d, [rbx + 3]
mov ebx, dword [rsp + 0xa8]
mov edx, 0x63
mov ebp, dword [rdi + 0x3c]
mov r8d, ebx
mov dword [rsp + 0x28], eax
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.180135730
mov r8, r12
mov edx, 2
mov rcx, r14
call fcn.1801308a0
jmp 0x1801273eb
mov ebp, dword [rdi + 0x3c]
mov r12d, dword [rsp + 0xa0]
mov r9d, r15d
inc r12d
mov r8d, ebx
mov edx, 0x64
mov dword [rsp + 0x20], r12d
mov rcx, rdi
call fcn.1801355a0
mov rax, qword [rdi + 0x30]
movsxd rcx, dword [rdi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180127437
xor r9d, r9d
mov dword [rsp + 0x20], 0xffffffff
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x69]
call fcn.1800cfb00
jmp 0x180127466
lea eax, [rcx + 1]
mov dword [rdi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 8]
mov word [rax + rcx*8], 0x69
mov byte [rax + rcx*8 + 3], sil
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], 0xffffffff
mov qword [rax + rcx*8 + 0x10], rsi
mov r9d, r15d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov edx, WSAGetLastError
mov rcx, rdi
call fcn.1801355a0
mov rax, qword [rdi]
cmp byte [rax + 0x55], sil
jne 0x180127497
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov byte [rax + rcx*8 - 0x15], 0x10
test r15d, r15d
je 0x1801274d0
movzx ecx, byte [r14 + 0x1f]
cmp cl, 8
jae 0x1801274d0
lea rax, [r14 + 0x90]
nop dword [rax]
cmp dword [rax + 0xc], r15d
je 0x1801274cc
inc esi
add rax, 0x14
cmp esi, 0xa
jl 0x1801274b0
mov dword [r14 + rcx*4 + 0x28], r15d
inc byte [r14 + 0x1f]
jmp 0x1801274d0
mov byte [rax + 6], 1
mov r9d, ebp
mov r8d, ebx
mov edx, 3
mov rcx, rdi
call fcn.180135530
mov rax, qword [rdi + 0x30]
mov ecx, dword [rdi + 0x3c]
dec ecx
mov dword [rax + 0x6c], ecx
mov rax, qword [rdi]
mov edx, dword [rdi + 0x3c]
cmp byte [rax + 0x55], 0
je 0x180127504
lea r9, [0x1801eea88]
jmp 0x18012751c
lea eax, [rdx - 1]
test r13d, r13d
cmovns eax, r13d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea r9, [rax + rcx*8]
mov r8d, dword [rsp + 0xa0]
mov rcx, rdi
mov dword [r9 + 8], edx
mov edx, 0x3d
call fcn.1801354c0
mov r8d, r12d
mov edx, 0x3d
mov rcx, rdi
call fcn.1801354c0
mov r8d, ebx
mov edx, 0x3d
mov rcx, rdi
call fcn.1801354c0
mov rdi, qword [rsp + 0x58]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret