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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov rbp, qword [rsp + 0xf0]
mov r10, r8
mov r15, qword [rsp + 0xe8]
mov r8, rdx
mov rsi, qword [rcx + 0x10]
mov r12d, r9d
mov dword [rsp + 0x40], 0
mov rbx, rcx
movzx edx, byte [rbp]
mov eax, dword [rbp + 4]
mov dword [rsp + 0x44], edx
mov dword [rsp + 0xd8], eax
test r15, r15
je 0x140092185
movzx r13d, byte [r15 + 1]
jmp 0x140092188
xor r13d, r13d
mov rdi, qword [rsp + 0xe0]
test rdi, rdi
je 0x1400921a5
cmp qword [rdi], 0
jne 0x1400921dc
xor edi, edi
mov qword [rsp + 0xe0], rdi
test r13d, r13d
jne 0x1400921dc
mov r8d, dword [r8 + 0x10]
test r8d, r8d
jle 0x1400921dc
mov r9d, dword [rsp + 0xf8]
mov edx, 0x8a
mov rcx, rsi
mov dword [rsp + 0x20], 1
call fcn.140056030
mov edx, dword [rsp + 0x44]
mov r10, qword [rsp + 0xd0]
movsxd r14, dword [r10]
mov eax, dword [rbp + 8]
mov dword [rsp + 0x68], r14d
test eax, eax
jne 0x140092216
test rdi, rdi
je 0x140092208
test byte [rdi + 0x1c], 1
mov rax, qword [rdi]
mov ecx, dword [rax]
mov dword [rsp + 0x40], ecx
jne 0x140092205
inc ecx
mov dword [rsp + 0x40], ecx
add dword [rbx + 0x54], ecx
mov eax, dword [rbx + 0x54]
inc eax
mov dword [rbp + 8], eax
add dword [rbx + 0x54], r14d
jmp 0x140092227
mov ecx, dword [rbx + 0x54]
add eax, r14d
cmp eax, ecx
jle 0x140092227
lea eax, [rcx + r14]
mov dword [rbx + 0x54], eax
mov dword [rbp + 0xc], r14d
mov ebp, dword [rbp + 8]
mov dword [rsp + 0x64], ebp
test r12d, r12d
js 0x140092263
xor edi, edi
test r14d, r14d
jle 0x140092292
nop
lea eax, [rdi + rbp]
mov r9d, edi
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov edx, Ordinal_50
mov rcx, rsi
call fcn.140056030
inc edi
cmp edi, r14d
jl 0x140092240
jmp 0x140092292
cmp edx, 3
je 0x140092292
cmp edx, 0xa
je 0x14009227b
cmp edx, 9
je 0x14009227b
cmp edx, 0xd
je 0x14009227b
xor al, al
jmp 0x14009227d
mov al, 1
xor r9d, r9d
mov byte [rsp + 0x20], al
mov r8d, ebp
mov rdx, r10
mov rcx, rbx
call fcn.140070b80
test r13d, r13d
je 0x1400924f3
movzx ecx, byte [r15 + 1]
sub ecx, 1
je 0x1400924a8
cmp ecx, 1
je 0x1400922d0
mov edi, dword [rsp + 0xf8]
mov r9d, r14d
mov edx, dword [r15 + 4]
mov r8d, edi
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.140092040
jmp 0x1400924bb
mov eax, dword [rbx + 0x54]
mov rcx, rsi
lea r12d, [rax + 1]
add eax, r14d
mov dword [rbx + 0x54], eax
mov edx, dword [r15 + 8]
mov dword [rsp + 0x48], r12d
call fcn.140056a30
mov ecx, dword [r15 + 8]
test ecx, ecx
jns 0x1400922fb
mov ecx, dword [rsi + 0x3c]
dec ecx
mov rax, qword [rsi]
cmp byte [rax + 0x51], 0
je 0x14009230d
lea rax, [0x140330198]
jmp 0x14009231c
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
mov byte [rax], reloc.WLDAP32.dll_Ordinal_26
mov rdi, r14
mov dword [rax + 4], 1
mov dword [rax + 8], r12d
mov eax, dword [rsi + 0x3c]
add eax, r14d
mov qword [rsp + 0x50], r14
mov dword [rsp + 0x60], eax
test r14d, r14d
jle 0x14009248b
lea eax, [r14 - 1]
xor r13d, r13d
mov dword [rsp + 0x5c], eax
lea r14, [0x140330198]
mov eax, r12d
mov r15d, ebp
sub eax, ebp
mov dword [rsp + 0xe8], eax
mov eax, ebp
mov ebp, dword [rsp + 0xe8]
neg eax
mov dword [rsp + 0x58], eax
nop word [rax + rax]
mov rax, qword [rsp + 0xd0]
mov rcx, rbx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + r13]
call fcn.14006b590
mov ecx, dword [rsp + 0x58]
mov r12, rax
add ecx, r15d
mov r8d, r15d
cmp ecx, dword [rsp + 0x5c]
jge 0x1400923bf
mov r9d, dword [rsp + 0x60]
lea ecx, [r15 + rbp]
mov dword [rsp + 0x20], ecx
mov edx, Ordinal_79
jmp 0x1400923d4
mov r9d, dword [rsp + 0xf8]
lea eax, [r15 + rbp]
mov dword [rsp + 0x20], eax
mov edx, reloc.WLDAP32.dll_Ordinal_79
mov rcx, rsi
call fcn.140056030
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x140092434
cmp byte [rcx + 0x51], 0
jne 0x140092434
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140056780
xor eax, eax
mov qword [rdi + 0x10], rax
test r12, r12
jne 0x140092425
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], al
mov rdi, qword [rsp + 0x50]
jmp 0x140092441
mov qword [rdi + 0x10], r12
mov byte [rdi + 1], 0xfc
mov rdi, qword [rsp + 0x50]
jmp 0x140092441
mov r8, r12
mov edx, 0xfffffffc
call fcn.140056780
mov rax, qword [rsi]
mov ecx, dword [rsi + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x140092454
mov rax, r14
jmp 0x140092463
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
inc r15d
mov byte [rax + 3], 0x80
add r13, 0x28
sub rdi, 1
mov qword [rsp + 0x50], rdi
jne 0x140092380
mov ebp, dword [rsp + 0x64]
mov r14d, dword [rsp + 0x68]
mov r12d, dword [rsp + 0x48]
lea eax, [r14 - 1]
mov r9d, r12d
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov edx, Ordinal_33
mov rcx, rsi
call fcn.140056030
jmp 0x1400924b4
mov edx, dword [r15 + 8]
mov rcx, rsi
call fcn.140056a30
mov edi, dword [rsp + 0xf8]
mov r15, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xc8]
test r15, r15
jne 0x140092503
mov r8d, dword [r13 + 0x10]
test r8d, r8d
jle 0x140092503
mov r9d, edi
mov dword [rsp + 0x20], 1
mov edx, 0x8a
mov rcx, rsi
call fcn.140056030
jmp 0x140092503
mov r15, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xc8]
mov edx, dword [rsp + 0x44]
lea eax, [rdx - 1]
cmp eax, 0xd
ja case.0x140092527.4
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x92c00]
add rcx, r8
jmp rcx
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x140092539
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x140092545
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r9d, r14d
mov dword [rsp + 0x20], edi
mov r8d, ebp
mov edx, gethostbyname
mov rcx, rsi
call fcn.140056030
mov r8d, dword [rsp + 0xd8]
xor r12d, r12d
mov r9d, edi
mov dword [rsp + 0x20], r12d
mov rcx, rsi
lea edx, [r12 + 0x6f]
call fcn.140056030
test edi, edi
je case.0x140092527.4
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae case.0x140092527.4
mov ecx, r12d
lea rax, [rbx + 0x88]
nop dword [rax + rax]
cmp dword [rax + 0xc], edi
je 0x1400925bf
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400925a0
movzx eax, dl
mov dword [rbx + rax*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp case.0x140092527.4
mov byte [rax + 6], 1
jmp case.0x140092527.4
mov r8d, dword [rsp + 0xd8]
mov r9d, ebp
mov edx, reloc.WS2_32.dll_WSASetLastError
mov dword [rsp + 0x20], r14d
mov rcx, rsi
call fcn.140056030
jmp case.0x140092527.4
mov edi, dword [rsp + 0x40]
mov ecx, dword [rbx + 0x44]
mov r15d, dword [rbx + 0x48]
lea r12d, [rdi + 1]
cmp r12d, ecx
jg 0x14009260d
lea eax, [r12 + r15]
sub ecx, r12d
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x14009261a
mov eax, dword [rbx + 0x54]
lea r15d, [rax + 1]
add eax, r12d
mov dword [rbx + 0x54], eax
lea r13d, [r15 + rdi]
mov r9d, r14d
mov r8d, ebp
mov dword [rsp + 0x20], r13d
mov edx, gethostbyname
mov rcx, rsi
call fcn.140056030
cmp dword [rsp + 0x44], 6
jne 0x140092685
mov r9d, dword [rsi + 0x3c]
xor r14d, r14d
mov edi, dword [rsp + 0xd8]
add r9d, 4
mov dword [rsp + 0x28], r14d
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea edx, [r14 + 0x46]
lea r8d, [rdi + 1]
call fcn.140056360
mov r9d, r15d
mov dword [rsp + 0x20], r14d
lea r8d, [rdi + 1]
mov rcx, rsi
lea edx, [r14 + 0x6f]
call fcn.140056030
mov edi, dword [rsp + 0x40]
mov r14, qword [rsp + 0xe0]
test r14, r14
je 0x1400926ce
mov dword [rsp + 0x30], edi
mov r9d, r13d
mov rdi, qword [rsp + 0xc8]
mov rdx, r14
mov r8, rdi
mov dword [rsp + 0x28], 1
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.140091c20
mov r8d, r12d
mov edx, r15d
mov rcx, rbx
call fcn.140071fe0
jmp 0x140092bf0
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400926de
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x1400926ea
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r8d, dword [rsp + 0xd8]
mov r9d, edi
mov edx, Ordinal_79
mov dword [rsp + 0x20], 0
mov rcx, rsi
call fcn.140056030
mov r8d, dword [rsp + 0xd8]
mov r9d, r15d
mov edx, 0x54
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.140056030
mov rax, qword [rsi]
mov ecx, dword [rsi + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14009273d
lea rax, [0x140330198]
jmp 0x14009274c
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
mov byte [rax + 3], 8
test edi, edi
je 0x140092786
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x140092786
xor ecx, ecx
lea rax, [rbx + 0x88]
cmp dword [rax + 0xc], edi
je 0x140092782
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x140092766
movzx eax, dl
mov dword [rbx + rax*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp 0x140092786
mov byte [rax + 6], 1
mov rdi, qword [rsp + 0xc8]
mov r8d, r12d
mov edx, r15d
mov rcx, rbx
call fcn.140071fe0
jmp 0x140092bf0
mov rax, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xf0]
mov rax, qword [rax + 8]
movzx edi, byte [r14 + 1]
mov rcx, qword [rax]
call fcn.14006b450
test al, al
je 0x1400927dd
test dil, dil
je 0x1400927e6
cmp al, 0x43
jge 0x1400927d9
cmp dil, 0x43
jge 0x1400927d9
mov al, 0x41
jmp 0x1400927e9
mov al, 0x43
jmp 0x1400927e9
test dil, dil
jne 0x1400927e6
mov al, 0x41
jmp 0x1400927e9
add al, dil
mov byte [r14 + 1], al
test r15, r15
je 0x14009281c
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 1
mov r9d, ebp
mov dword [rsp + 0x20], ebp
mov r8, r13
mov rdx, r15
mov rcx, rbx
call fcn.140091c20
jmp case.0x140092527.4
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x14009282c
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x140092838
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r9d, 1
mov dword [rsp + 0x20], edi
mov r8d, ebp
mov rcx, rsi
lea edx, [r9 + 0x30]
call fcn.140056030
mov r9d, 1
lea r8, [r14 + 1]
mov edx, eax
mov rcx, rsi
call fcn.140056aa0
mov r8d, 1
mov edx, ebp
mov rcx, rbx
call fcn.14006f1f0
mov r8d, dword [rsp + 0xd8]
mov r9d, edi
mov rcx, rsi
mov dword [rsp + 0x20], 0
mov edx, reloc.WS2_32.dll_WSAGetLastError
call fcn.140056030
mov edx, edi
mov rcx, rbx
call fcn.140071f90
mov rdi, qword [rsp + 0xc8]
mov r8d, dword [rdi + 0xc]
test r8d, r8d
je 0x1400928cd
mov r9d, dword [rsp + 0x100]
mov edx, Ordinal_143
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.140056030
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov r9d, dword [rsp + 0xd8]
mov edx, reloc.WS2_32.dll_socket
mov rcx, rsi
mov dword [rsp + 0x20], 0
lea r8d, [rdx - 0x16]
call fcn.140056030
jmp case.0x140092527.4
test r15, r15
je 0x14009289f
jmp 0x1400927f2
test r15, r15
je 0x140092925
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r14d
jmp 0x140092802
mov dword [rsp + 0x20], 0
cmp edx, 0xd
jne 0x140092952
mov rcx, qword [rsp + 0xf0]
xor r9d, r9d
mov r8d, dword [rcx + 4]
lea edx, [r9 + 0x14]
mov rcx, rsi
call fcn.140056030
jmp 0x14009289f
mov r9d, r14d
mov r8d, ebp
mov edx, reloc.WLDAP32.dll_Ordinal_33
mov rcx, rsi
call fcn.140056030
mov r8d, r14d
mov edx, ebp
mov rcx, rbx
call fcn.14006f1f0
jmp 0x14009289f
mov rcx, qword [rsp + 0xf0]
xor eax, eax
mov dword [rsp + 0xe8], eax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x50], rax
movsxd r12, dword [rax]
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400929a5
inc dword [rbx + 0x54]
mov r15d, dword [rbx + 0x54]
jmp 0x1400929b2
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r15d, dword [rbx + rax*4 + 0x24]
mov ecx, dword [rbx + 0x44]
lea edi, [r12 + 2]
mov r13d, dword [rbx + 0x48]
mov dword [rsp + 0xf0], edi
cmp edi, ecx
jg 0x1400929d7
lea eax, [rdi + r13]
sub ecx, edi
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x1400929e3
mov eax, dword [rbx + 0x54]
lea r13d, [rax + 1]
add eax, edi
mov dword [rbx + 0x54], eax
lea eax, [r12 + r13]
mov dword [rsp + 0x48], eax
inc eax
mov dword [rsp + 0xd0], eax
cmp edx, 8
jne 0x140092a2a
mov r8d, dword [rsp + 0xd8]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x28], r14d
mov rcx, rsi
mov dword [rsp + 0x20], ebp
lea edx, [r9 + 0x46]
call fcn.140056360
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0xd0]
mov r9d, r14d
mov dword [rsp + 0x20], eax
mov r8d, ebp
mov edx, gethostbyname
mov rcx, rsi
call fcn.140056030
cmp dword [rsp + 0x44], 8
jne 0x140092a9a
mov r8d, dword [rsp + 0xd8]
mov edx, reloc.WS2_32.dll_WSAGetLastError
mov r9d, dword [rsp + 0xd0]
inc r8d
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.140056030
mov rax, qword [rsi]
mov ecx, dword [rsi + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x140092a87
lea rax, [0x140330198]
jmp 0x140092a96
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
mov byte [rax + 3], reloc.WS2_32.dll_recv
test r12, r12
jle 0x140092af4
mov rbx, qword [rsp + 0x50]
xor edi, edi
mov r14d, r13d
nop dword [rax]
mov rax, qword [rbx + 8]
mov r9d, r14d
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov dword [rsp + 0x20], 0
mov rcx, rsi
movzx r8d, word [rax + rdi + 0x20]
dec r8d
add r8d, ebp
call fcn.140056030
inc r14d
lea rdi, [rdi + 0x28]
sub r12, 1
jne 0x140092ab0
mov rbx, qword [rsp + 0xc0]
mov edi, dword [rsp + 0xf0]
mov r9d, dword [rsp + 0x48]
xor r12d, r12d
mov r8d, dword [rsp + 0xd8]
mov rcx, rsi
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0x4a]
call fcn.140056030
mov r9d, edi
mov dword [rsp + 0x20], r15d
mov r8d, r13d
lea edx, [r12 + 0x31]
mov rcx, rsi
call fcn.140056030
mov r8d, dword [rsp + 0xd8]
lea edx, [r12 + 0x6f]
mov r9d, r15d
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.140056030
mov edx, dword [rsp + 0xe8]
test edx, edx
je 0x140092b93
mov ecx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov r8d, dword [rsi + 0x3c]
test edx, edx
jns 0x140092b6e
lea edx, [r8 - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x51], r12b
je 0x140092b80
lea rax, [0x140330198]
jmp 0x140092b8f
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], r8d
test r15d, r15d
je 0x140092bd2
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x140092bd2
mov ecx, r12d
lea rax, [rbx + 0x88]
nop dword [rax + rax]
cmp dword [rax + 0xc], r15d
je 0x140092bce
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x140092bb0
movzx eax, dl
mov dword [rbx + rax*4 + 0x24], r15d
inc byte [rbx + 0x1f]
jmp 0x140092bd2
mov byte [rax + 6], 1
mov r8d, edi
mov edx, r13d
mov rcx, rbx
call fcn.140071fe0
mov rdi, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xe0]
test r14, r14
jne 0x1400928cd
jmp 0x1400928a7