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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0xf0
mov rax, qword [0x1401eb9a0]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rax, qword [rcx + 0x10]
mov r12, rcx
mov rsi, qword [rcx]
mov rbp, r8
mov r13, qword [rsp + 0x140]
mov rdi, r9
mov qword [rsp + 0x38], rcx
mov r8, rdx
xor ecx, ecx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0xb8], rcx
test r9, r9
je 0x1400bc5cc
cmp dword [r9], 0x40
cmovge rdi, rcx
movzx ecx, word [rsp + 0x148]
mov r9d, 0xfbff
mov eax, dword [r8]
and cx, r9w
mov qword [rsp + 0xa8], rdi
movzx edx, byte [rsi + 0x4c]
and dl, 0x20
cmove cx, word [rsp + 0x148]
mov word [rsp + 0x30], cx
cmp eax, 0x40
jle 0x1400bc61f
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r12
call fcn.1400486b0
xor eax, eax
jmp 0x1400bd124
test cl, 0x40
mov qword [rsp + 0xe8], rbx
mov ecx, 1
mov qword [rsp + 0xe0], r14
cmovne eax, ecx
mov qword [rsp + 0xd8], r15
mov dword [rsp + 0x44], eax
mov rcx, rsi
lea eax, [rax + rax*4]
shl eax, 4
add eax, 0x347
and eax, 0xfffffff8
movsxd r14, eax
lea rdx, [r14 + 0x60]
call fcn.140045a20
mov qword [rsp + 0x90], rax
mov r15, rax
test rax, rax
je 0x1400bc681
lea r8, [r14 + 0x60]
xor edx, edx
mov rcx, rax
call fcn.140152690
cmp byte [rsi + 0x50], 0
je 0x1400bc6e5
test r15, r15
je 0x1400bd10a
cmp qword [rsi + 0x320], 0
je 0x1400bc6aa
mov rdx, r15
mov rcx, rsi
call fcn.1400456d0
jmp 0x1400bd10a
cmp r15, qword [rsi + 0x168]
jb 0x1400bc6d8
cmp r15, qword [rsi + 0x170]
jae 0x1400bc6d8
mov rax, qword [rsi + 0x160]
mov qword [r15], rax
dec dword [rsi + 0x14c]
mov qword [rsi + 0x160], r15
jmp 0x1400bd10a
mov rcx, r15
call fcn.140045620
jmp 0x1400bd10a
mov eax, dword [rsp + 0x44]
mov rdx, 0xffffffffffffffff
mov rsi, qword [rsp + 0x60]
mov qword [r15 + 0x4c], rdx
mov byte [r15 + 0x39], al
mov rax, qword [rsp + 0x48]
mov qword [r15 + 8], rax
mov qword [r15], r12
mov qword [r15 + 0x10], rdi
mov qword [r15 + 0x18], r13
mov rsi, qword [rsi + 0x30]
mov qword [rsp + 0x80], rdx
movsxd rbx, dword [rsi + 0x78]
lea eax, [rbx + 1]
mov dword [rsi + 0x78], eax
lea eax, [rbx - 1]
test ebx, eax
jne 0x1400bc759
mov rdx, qword [rsi + 0x80]
lea eax, [rbx*2 + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.140045bd0
mov qword [rsi + 0x80], rax
mov rdx, 0xffffffffffffffff
mov rcx, qword [rsi + 0x80]
test rcx, rcx
je 0x1400bc768
mov dword [rcx + rbx*4], edx
lea rsi, [r15 + 0x158]
not ebx
mov dword [r15 + 0x40], ebx
lea rcx, [r14 + r15]
mov dword [r15 + 0x44], ebx
xor r14d, r14d
movzx ebx, word [rsp + 0x30]
mov word [r15 + 0x32], bx
mov eax, dword [r12 + 0x1d8]
lea r12, [r15 + 0x54]
mov dword [r15 + 0x48], eax
lea rax, [rcx + 0x40]
mov qword [rsp + 0x98], r15
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xb0], rcx
mov qword [rcx + 0x30], rax
lea rax, [rsi + 0x28]
mov dword [rcx + 0x2c], 0x40000
mov dword [rcx + 0x28], r14d
mov dword [r12], r14d
mov qword [rsi + 0x20], rax
mov qword [rsi], r15
mov qword [rsi + 8], r14
mov dword [rsi + 0x14], r14d
mov dword [rsi + 0x18], 8
mov byte [rsi + 0x10], 0x48
test rbp, rbp
je 0x1400bc81d
cmp byte [rbp], 0x48
mov rcx, rsi
je 0x1400bc802
xor r8d, r8d
mov rdx, rbp
call fcn.1400b36a0
jmp 0x1400bc81d
mov rdx, qword [rbp + 0x10]
mov r8b, 0x48
call fcn.1400b3880
mov rdx, qword [rbp + 0x18]
mov r8b, 0x48
mov rcx, rsi
call fcn.1400b3880
mov rax, qword [rsp + 0xa0]
mov esi, r14d
mov rbp, qword [rsp + 0x38]
cmp dword [rax + 0x14], r14d
jle 0x1400bc8ab
mov r13d, dword [rsp + 0x44]
mov rbx, r14
nop dword [rax + rax]
test r13d, r13d
je 0x1400bc863
mov rax, qword [rax + 0x20]
mov edx, 2
mov rcx, qword [rbx + rax]
call fcn.14007bb40
test eax, eax
je 0x1400bc88e
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax + 0x20]
mov r9d, reloc.WS2_32.dll_recv
mov r8d, dword [r15 + 0x44]
mov rcx, rbp
mov rdx, qword [rdx + rbx]
call fcn.14007fb90
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x20]
or byte [rcx + rbx + 0x1c], 4
mov rax, qword [rsp + 0xa0]
inc esi
add rbx, 0x38
cmp esi, dword [rax + 0x14]
jl 0x1400bc840
mov r13, qword [rsp + 0x78]
movzx ebx, word [rsp + 0x30]
mov esi, dword [rsp + 0x44]
mov r9d, 0x400
test esi, esi
jne 0x1400bc8d0
test rdi, rdi
je 0x1400bc8c5
movzx eax, byte [rdi]
mov byte [r15 + 0x34], al
test r9w, bx
je 0x1400bc8d0
mov byte [r15 + 0x38], 1
mov r11, qword [rsp + 0x48]
mov r8d, r14d
cmp dword [r11], r14d
jle 0x1400bc8fc
lea rdx, [r11 + 0x50]
mov eax, dword [rdx]
lea rdx, [rdx + 0x78]
movsxd rcx, dword [r12]
inc r8d
mov dword [r12 + rcx*4 + 4], eax
inc dword [r12]
cmp r8d, dword [r11]
jl 0x1400bc8e1
lea rcx, [r15 + 0x158]
mov ebx, dword [rcx + 0x14]
sub ebx, 1
js 0x1400bc93d
nop dword [rax + rax]
mov r8d, ebx
lea rdx, [r15 + 0x158]
mov rcx, r11
call fcn.1400b49c0
sub ebx, 1
mov r11, qword [rsp + 0x48]
jns 0x1400bc910
lea r12, [r15 + 0x54]
mov r9d, 0x400
lea rcx, [r15 + 0x158]
mov r10, qword [rsp + 0x50]
cmp byte [r10 + 0x50], r14b
jne 0x1400bd0ef
movzx eax, word [rsp + 0x30]
mov ebx, 0x200
and ax, r9w
mov word [rsp + 0x58], ax
je 0x1400bc98b
mov r8, rcx
mov r9, r13
mov rcx, rbp
mov rdx, r11
call fcn.1400b5440
test eax, eax
je 0x1400bc97d
mov byte [r15 + 0x38], 1
jmp 0x1400bc98b
test rdi, rdi
jne 0x1400bc98b
or word [r15 + 0x32], bx
mov qword [r15 + 0x10], r13
cmp esi, 1
jne 0x1400bc9a5
lea rcx, [rsp + 0x98]
call fcn.1400bc280
test eax, eax
jne 0x1400bcb3b
mov rdx, qword [rsp + 0x98]
xor r11d, r11d
mov rbp, qword [rsp + 0xb0]
xor r10b, r10b
mov qword [rsp + 0x88], rdx
mov edi, r11d
mov r13d, r11d
mov ebx, r11d
mov rax, qword [rdx]
mov rcx, qword [rdx + 8]
movzx edx, byte [rdx + 0x39]
mov dword [rsp + 0x70], edx
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x40]
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x2c], 0x40000
mov dword [rbp + 0x28], r11d
test edx, edx
je 0x1400bcadd
mov r12, qword [rsp + 0x88]
lea rsi, [rcx + 0x44]
mov r15, qword [rsp + 0x68]
nop
mov byte [rbp + 0x10], r14b
mov edx, r11d
movsxd rax, dword [r12 + 0x54]
mov rcx, r11
test eax, eax
jle 0x1400bca43
mov r8d, dword [rsi + 0xc]
mov r9, rax
lea rax, [r12 + 0x58]
nop
cmp dword [rax], r8d
je 0x1400bca7f
inc edx
inc rcx
add rax, 4
cmp rcx, r9
jl 0x1400bca30
mov rax, r11
mov qword [rbp + 8], rax
movzx ecx, byte [rsi]
movzx eax, cl
mov byte [rsp + 0x40], cl
or al, r10b
lea rcx, [rsp + 0x98]
test al, 0xa
mov rax, r13
cmove rax, rdi
mov rdi, rax
mov rax, qword [rsi - 0x1c]
mov rdx, rdi
test byte [rax + 0x48], 0x10
je 0x1400bca8b
call fcn.1400ba560
jmp 0x1400bca90
mov ecx, edx
mov eax, 1
shl rax, cl
jmp 0x1400bca46
call fcn.1400b9e50
mov ebx, eax
test eax, eax
jne 0x1400bcaa8
mov rdx, rdi
lea rcx, [rsp + 0x98]
call fcn.1400bac90
mov ebx, eax
or r13, qword [rbp + 8]
test ebx, ebx
jne 0x1400bcad1
cmp byte [r15 + 0x50], bl
jne 0x1400bcad1
movzx r10d, byte [rsp + 0x40]
inc r14d
add rsi, 0x78
mov r11d, ebx
cmp r14d, dword [rsp + 0x70]
jl 0x1400bca10
mov r15, qword [rsp + 0x90]
lea r12, [r15 + 0x54]
mov rcx, qword [rsp + 0x68]
mov rdx, rbp
call fcn.1400b8f30
test ebx, ebx
jne 0x1400bd0ea
xor edx, edx
mov rcx, r15
call fcn.1400bb9d0
mov r10, qword [rsp + 0x50]
cmp byte [r10 + 0x50], bl
jne 0x1400bd0ef
cmp qword [r15 + 0x10], 0
je 0x1400bcb31
movzx edx, word [r15 + 0x30]
mov rcx, r15
inc dx
call fcn.1400bb9d0
mov r10, qword [rsp + 0x50]
cmp byte [r10 + 0x50], bl
jne 0x1400bd0ef
mov r13, qword [rsp + 0x78]
xor r14d, r14d
jmp 0x1400bcb40
mov r10, qword [rsp + 0x50]
cmp qword [r15 + 0x10], 0
jne 0x1400bcb59
test dword [r10 + 0x2c], 0x20000
je 0x1400bcb59
mov qword [r15 + 0x28], 0xffffffffffffffff
mov r11, qword [rsp + 0x38]
cmp dword [r11 + 0x4c], 0
jne 0x1400bd0f4
cmp byte [r10 + 0x50], 0
jne 0x1400bd0f4
cmp byte [r15 + 0x39], 2
mov esi, 0x1000
jb 0x1400bccc4
test r13, r13
je 0x1400bccc4
mov eax, 0x400
test word [r10 + 0x4c], ax
jne 0x1400bccc4
xor eax, eax
mov edi, eax
cmp dword [r13], eax
jle 0x1400bcbd1
mov ebx, eax
nop dword [rax]
mov rdx, qword [r13 + 8]
mov rcx, r12
mov rdx, qword [rbx + rdx]
call fcn.1400b38f0
or r14, rax
lea rbx, [rbx + 0x28]
inc edi
cmp edi, dword [r13]
jl 0x1400bcbb0
xor eax, eax
mov rbp, qword [rsp + 0xa8]
test rbp, rbp
je 0x1400bcc16
cmp dword [rbp], 0
mov rbx, rax
mov esi, eax
jle 0x1400bcc0e
mov rdi, rax
nop dword [rax]
mov rdx, qword [rbp + 8]
mov rcx, r12
mov rdx, qword [rdi + rdx]
call fcn.1400b38f0
or rbx, rax
lea rdi, [rdi + 0x28]
inc esi
cmp esi, dword [rbp]
jl 0x1400bcbf0
or r14, rbx
mov esi, 0x1000
movzx eax, byte [r15 + 0x39]
cmp al, 2
jb 0x1400bccba
mov r9, qword [r15 + 8]
movzx r10d, word [rsp + 0x58]
nop dword [rax]
movzx eax, al
lea rcx, [rax + rax*4]
add rcx, rcx
mov r8, qword [r15 + rcx*8 + 0x330]
movzx eax, byte [r8 + 0x10]
imul rcx, rax, 0x78
test byte [rcx + r9 + 0x44], 8
je 0x1400bccba
test r10w, r10w
jne 0x1400bcc5f
test dword [r8 + 0x28], esi
je 0x1400bccba
mov r8, qword [r8 + 8]
test r14, r8
jne 0x1400bccba
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rcx + 0x20]
movsxd rcx, dword [rcx + 0x14]
imul rdx, rcx, 0x38
add rdx, rax
cmp rax, rdx
jae 0x1400bcca3
test qword [rax + 0x30], r8
je 0x1400bcc93
mov rcx, qword [rax]
test byte [rcx + 4], 1
je 0x1400bcc9e
add rax, 0x38
cmp rax, rdx
jb 0x1400bcc84
jmp 0x1400bcca3
cmp rax, rdx
jb 0x1400bccba
movzx eax, byte [r15 + 0x39]
dec dword [rsp + 0x44]
dec al
mov byte [r15 + 0x39], al
cmp al, 2
jae 0x1400bcc30
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x50]
mov rcx, qword [r15]
movsx eax, word [r15 + 0x30]
movzx ebx, word [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
add dword [rcx + 0x1d8], eax
test bl, 4
je 0x1400bcd00
mov rcx, qword [r15 + 0x380]
test dword [rcx + 0x28], esi
je 0x1400bcd00
mov byte [r15 + 0x36], 1
mov rax, qword [rdx + 0x28]
test byte [rax + 0x48], 0x20
jne 0x1400bcd00
and dword [rcx + 0x28], 0xffffffbf
mov esi, dword [rsp + 0x44]
test esi, esi
jle 0x1400bcf55
mov r8d, dword [rsp + 0x150]
lea r13, [r15 + 0x380]
mov qword [rsp + 0x68], rsi
movzx eax, byte [r13 - 0x1c]
xor r9d, r9d
imul rbp, rax, 0x78
mov esi, 0xfff0bdc0
mov r12, 0xfffffffffff0bdc0
add rbp, rdx
mov r14, qword [rbp + 0x28]
mov rdx, qword [r14 + 0x70]
test rdx, rdx
je 0x1400bcd72
mov ecx, dword [r10 + 0x28]
mov esi, r9d
mov r12d, r9d
test ecx, ecx
jle 0x1400bcd72
mov rax, qword [r10 + 0x20]
add rax, 0x18
nop
cmp qword [rax], rdx
je 0x1400bcd72
inc esi
inc r12
add rax, 0x20
cmp esi, ecx
jl 0x1400bcd60
movzx ecx, byte [r14 + 0x48]
mov rdi, qword [r13]
test cl, 2
jne 0x1400bce95
cmp qword [r14 + 0x18], 0
jne 0x1400bce95
mov eax, dword [rdi + 0x28]
bt eax, 0xa
jae 0x1400bcde9
mov rbx, qword [r14 + 0x60]
test rbx, rbx
je 0x1400bcdaf
cmp qword [rbx], r10
je 0x1400bcdaf
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1400bcda1
mov r8d, dword [rbp + 0x50]
mov edx, __WSAFDIsSet
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x20], r9d
xor r9d, r9d
call fcn.140065c50
mov rcx, qword [rsp + 0x60]
mov r9d, 0xfffffff6
mov r8, rbx
mov edx, eax
call fcn.140066230
movzx ebx, word [rsp + 0x30]
jmp 0x1400bce8d
test cl, 0x10
jne 0x1400bce95
test al, 0x40
jne 0x1400bce74
test bl, 0x10
jne 0x1400bce74
cmp byte [r15 + 0x36], 0
mov ecx, gethostname
je 0x1400bce13
mov eax, dword [rbp + 0x50]
mov ecx, gethostname
mov dword [r15 + 0x4c], eax
mov edx, dword [rbp + 0x50]
mov r9, r14
mov dword [rsp + 0x20], ecx
mov r8d, esi
mov rcx, r11
call fcn.140096c50
cmp byte [r15 + 0x36], 0
jne 0x1400bce8d
cmp word [r14 + 0x42], 0x40
jge 0x1400bce8d
test byte [r14 + 0x48], 0x20
jne 0x1400bce8d
mov rax, qword [rbp + 0x68]
xor ecx, ecx
test rax, rax
je 0x1400bce57
nop dword [rax]
inc ecx
shr rax, 1
jne 0x1400bce50
mov rax, qword [rsp + 0x60]
mov r9d, 0xfffffff2
movsxd r8, ecx
mov rcx, rax
mov edx, dword [rax + 0x3c]
dec edx
call fcn.140066230
jmp 0x1400bce8d
mov rax, qword [r14]
xor r9d, r9d
mov r8d, dword [r14 + 0x3c]
mov edx, esi
mov rcx, r11
mov qword [rsp + 0x20], rax
call fcn.140085220
mov r8d, dword [rsp + 0x150]
test dword [rdi + 0x28], 0x200
je 0x1400bced0
test byte [r14 + 0x48], 0x20
mov edx, gethostname
mov rdi, qword [rdi + 0x20]
je 0x1400bd03f
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
jne 0x1400bd03f
test bl, 0x40
je 0x1400bd03f
mov eax, dword [r13 - 0x3c]
mov dword [r13 - 0x38], eax
mov r14, qword [rsp + 0x38]
test esi, esi
js 0x1400bcf25
mov rax, qword [r14 + 0x1c0]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x16c]
bt eax, esi
jb 0x1400bcf25
bts eax, esi
mov r8, r12
mov dword [rcx + 0x16c], eax
mov rax, qword [rcx]
shl r8, 5
mov rdx, qword [rax + 0x20]
mov rax, qword [r8 + rdx + 0x18]
mov edx, dword [rax]
mov dword [rcx + r12*4 + 0x170], edx
cmp esi, 1
jne 0x1400bcf25
call fcn.14008c920
mov r8d, dword [rsp + 0x150]
add r13, 0x50
sub qword [rsp + 0x68], 1
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x38]
movzx ebx, word [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
jne 0x1400bcd20
mov esi, dword [rsp + 0x44]
mov r13, qword [rsp + 0x60]
mov eax, dword [r13 + 0x3c]
mov dword [r15 + 0x3c], eax
cmp byte [r10 + 0x50], 0
jne 0x1400bd0ef
test esi, esi
jle 0x1400bd037
mov rbp, qword [rsp + 0x38]
lea rbx, [r15 + 0x364]
movzx r14d, word [rsp + 0x30]
xor edi, edi
nop dword [rax]
mov rax, qword [rbx + 0x1c]
test dword [rax + 0x28], 0x4000
je 0x1400bcfe0
movzx eax, byte [rbx]
lea rdx, [rbx - 0x24]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x80]
add r8, 8
imul rcx, rax, 0x78
mov qword [rsp + 0x20], rdx
lea rdx, [r15 + 0x158]
add r8, rcx
mov rcx, rbp
call fcn.1400b56e0
mov r10, qword [rsp + 0x50]
cmp byte [r10 + 0x50], 0
jne 0x1400bd143
movzx eax, byte [rbx]
lea r8, [rbx - 0x24]
mov rdx, qword [rsp + 0x48]
mov r9d, edi
mov word [rsp + 0x28], r14w
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.1400b6ae0
mov eax, dword [r13 + 0x3c]
mov edx, edi
mov r8, qword [rsp + 0x80]
mov rcx, r15
mov dword [rbx - 4], eax
call fcn.1400b6f70
mov qword [rsp + 0x80], rax
inc edi
mov eax, dword [rbx - 0xc]
add rbx, 0x50
mov dword [r15 + 0x40], eax
cmp edi, esi
jl 0x1400bcf90
mov rax, r15
jmp 0x1400bd10c
cmp byte [r15 + 0x36], 0
je 0x1400bd074
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400bd064
cmp rcx, rdi
je 0x1400bd064
mov rcx, qword [rcx + 0x28]
inc r8d
test rcx, rcx
jne 0x1400bd053
mov r14, qword [rsp + 0x38]
mov edx, gethostname
mov dword [r15 + 0x50], r8d
jmp 0x1400bd0a9
test r8d, r8d
je 0x1400bd098
test bl, 0x40
je 0x1400bd098
mov r14, qword [rsp + 0x38]
movzx eax, bx
mov ecx, 0x1000
and ax, cx
neg ax
sbb edx, edx
add edx, 0x36
jmp 0x1400bd0a9
mov r14, qword [rsp + 0x38]
mov r8d, dword [r14 + 0x50]
lea eax, [r8 + 1]
mov dword [r14 + 0x50], eax
mov rcx, qword [rsp + 0x60]
mov eax, r8d
mov dword [r13 - 0x38], eax
mov r9d, dword [rdi + 0x58]
mov dword [rsp + 0x20], esi
call fcn.140065c50
mov rbx, qword [r14 + 0x10]
mov rdx, rdi
mov rcx, r14
call fcn.14008d6f0
mov edx, 0xffffffff
mov r8, rax
mov rcx, rbx
lea r9d, [rdx - 5]
call fcn.140066230
jmp 0x1400bced5
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x38]
mov eax, dword [r15 + 0x48]
mov rdx, r15
mov rcx, r10
mov dword [r11 + 0x1d8], eax
call fcn.1400b90c0
xor eax, eax
mov r14, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.14014fd10
add rsp, 0xf0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r11, rbp
jmp 0x1400bd0f4