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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x8e0]
sub rsp, 0x9e0
mov rax, qword [0x140104508]
xor rax, rsp
mov qword [rbp + 0x8d0], rax
mov rax, qword [rbp + 0x958]
mov r11, rcx
mov r13d, dword [rbp + 0x950]
mov r8d, 1
mov qword [rbp - 0x40], rax
mov r10, r9
movsxd r15, edx
mov qword [rsp + 0x50], rcx
lea rsi, [r11 + 0xd7c0]
movzx ecx, byte [rcx + 0x408]
mov r12, r15
mov qword [rbp - 0x70], r9
lea rax, [r15 + 1]
mov dword [rsp + 0x5c], r15d
sar rax, 1
add rax, r11
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x48], r8
movzx eax, byte [rax + rcx*4 + 0xd0ad]
mov dword [rsp + 0x20], eax
mov rax, r15
shl rax, 7
add rsi, rax
xor eax, eax
mov qword [rbp - 0x30], rax
mov r14d, eax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
lea edx, [rax + 0x40]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x60], rax
mov dword [rbp + 0x7d0], eax
mov eax, VarI4FromDisp
cmp r13d, eax
mov qword [rsp + 0x68], rsi
cmovg r13d, eax
test r13d, r13d
jle 0x1400ba637
mov esi, dword [rsp + 0x24]
lea rcx, [0x140000000]
mov r12d, dword [rsp + 0x24]
mov ebx, dword [rsp + 0x24]
nop dword [rax]
mov r9d, dword [r11 + 0xda24]
movsxd rdi, r13d
mov dword [rsp + 0x44], r9d
movsx eax, word [r10 + rdi*2]
mov r8d, eax
shr r8d, 0x1f
neg r8d
mov dword [rsp + 0x40], r8d
lea r15d, [r8 + rax]
movzx eax, byte [rdi + rcx + 0xdc9f0]
mov rcx, qword [rbp + 0x948]
xor r15d, r8d
movsx eax, word [rcx + rax*2]
mov dword [rsp + 0x48], eax
cmp r15d, 1
jg 0x1400b9ebc
test r15d, r15d
jne 0x1400b986d
cmp r13d, 1
jle 0x1400b9865
nop word [rax + rax]
movsxd rax, r13d
cmp word [r10 + rax*2 - 2], 0
jne 0x1400b9865
dec r13d
cmp r13d, 1
jg 0x1400b9850
xor r10d, r10d
mov ecx, r10d
jmp 0x1400b987f
add eax, r8d
xor eax, r8d
mov ecx, eax
mov dword [rsp + 0x48], eax
imul ecx, eax
xor r10d, r10d
mov rax, qword [rsp + 0x68]
mov r14d, edx
and edx, 0x3f
movsxd r9, r13d
sub r14d, r13d
mov edi, edx
mov qword [rbp - 0x60], rdi
movzx r8d, word [rax + r9*2]
mov eax, dword [rbp + rdx*4 + 0x7d0]
add eax, ecx
mov dword [rsp + 0x24], r8d
mov dword [rsp + 0x58], eax
mov dword [rbp + r9*4 + 0x7d0], eax
test r8d, r8d
je 0x1400b991c
cmp r8d, 4
jae 0x1400b98c6
lea eax, [r8 - 1]
jmp 0x1400b98e6
mov ecx, r8d
call 0x1400af4b0
mov r11, qword [rsp + 0x50]
add eax, 0xfffffffd
cmp eax, 3
movsxd r9, r13d
mov ecx, 3
cmovg eax, ecx
add eax, ecx
lea r8, [0x140000000]
movsxd rdx, eax
movzx ecx, byte [r9 + r8 + 0xeafa0]
add ecx, dword [rsp + 0x20]
shl rcx, 5
movzx r8d, byte [rdx + r8 + 0xdc9d0]
add rcx, rdx
add r8d, dword [r11 + rcx*8 + 0xda2c]
mov dword [rsp + 0x3c], r8d
jmp 0x1400b9921
mov dword [rsp + 0x3c], r10d
lea eax, [r13 + 0x3e]
mov r10d, 0xffffffff
sar eax, 6
mov edx, edi
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x28], r10d
nop dword [rax]
mov rax, qword [rbp - 0x80]
mov ecx, edx
sar rax, cl
test al, 1
je 0x1400b9d9f
mov eax, edx
lea rdi, [0x140000000]
mov qword [rbp - 0x68], rax
lea r9d, [r14 + 0x37]
sar r9d, 6
mov r8d, edx
shl r8, 5
movzx eax, byte [rbp + r8 - 0x20]
mov ecx, eax
mov dword [rsp + 0x7c], eax
shr eax, 1
and ecx, 1
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x78], ecx
movsxd rax, r13d
movzx eax, byte [rax + rdi + 0xeafa0]
mov dword [rsp + 0x30], eax
add eax, dword [rsp + 0x20]
mov ecx, eax
shl rcx, 5
mov qword [rbp - 0x78], rcx
movsxd rax, r9d
add rcx, rax
movzx eax, byte [rax + rdi + 0xdc9d7]
mov edi, dword [r11 + rcx*8 + 0xda64]
mov ecx, dword [rbp + r8 - 0x1c]
add edi, eax
add edi, dword [rsp + 0x3c]
mov eax, edx
mov eax, dword [rbp + rax*4 + 0x7d0]
mov dword [rsp + 0x2c], eax
mov eax, edi
imul eax, dword [rsp + 0x44]
add ecx, eax
sub ecx, dword [rsp + 0x2c]
add ecx, dword [rsp + 0x58]
cmp ecx, r10d
ja 0x1400b9a0e
mov esi, dword [rbp + r8 - 0x18]
lea eax, [rdx*2 + 1]
add esi, edi
mov dword [rsp + 0x38], eax
xor eax, eax
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x34], eax
lea r12d, [r9 + 7]
lea ebx, [r14 - 1]
mov r10d, ecx
mov eax, dword [rsp + 0x70]
add eax, 0x10
cmp r14d, eax
jge 0x1400b9c46
mov rax, qword [rbp - 0x70]
mov ecx, edx
movzx eax, word [rax + rcx*2]
mov edi, eax
movsx r9d, ax
shr edi, 0xf
neg edi
add r9d, edi
xor r9d, edi
cmp r9d, 2
jg 0x1400b9b43
cmp r14d, 6
jge 0x1400b9a55
mov r8d, edi
lea r10d, [r14 + 0x16]
neg r8d
jmp 0x1400b9a7f
lea edx, [r14 + 0x36]
mov eax, edi
sar edx, 6
mov r8d, r14d
lea ecx, [rdx + 2]
shl eax, cl
lea r10d, [rdx + 0x1c]
mov rcx, qword [rbp - 0x68]
sub r8d, eax
lea eax, [rdx*4]
sub r8d, eax
sub r8d, 6
mov rdx, qword [rbp + 0x948]
lea r11, [0x140000000]
lea rax, [0x140000000]
movzx eax, byte [rcx + rax + 0xdc9f0]
movsx edx, word [rdx + rax*2]
mov rax, qword [rbp + 0x940]
add edx, edi
xor edx, edi
movzx eax, word [rax + rcx*2]
mov rcx, qword [rbp - 0x78]
sub edx, eax
movsxd rax, r10d
add rcx, rax
imul edx, edx
movzx eax, byte [rax + r11 + 0xdc9d0]
mov r11, qword [rsp + 0x50]
mov r11d, dword [r11 + rcx*8 + 0xda2c]
mov ecx, dword [rsp + 0x74]
add r11d, eax
add r11d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x78]
lea rax, [rax + rcx*2]
shl rax, 4
mov qword [rbp - 0x50], rax
mov ecx, dword [rbp + rax - 0x2c]
mov eax, r11d
imul eax, dword [rsp + 0x44]
add ecx, edx
add ecx, eax
sub ecx, dword [rsp + 0x2c]
add ecx, dword [rsp + 0x58]
cmp ecx, dword [rsp + 0x28]
ja 0x1400b9b39
mov rax, qword [rbp - 0x50]
mov r12d, r10d
mov ebx, r8d
mov dword [rsp + 0x28], ecx
mov r10d, ecx
mov esi, dword [rbp + rax - 0x28]
lea eax, [rdi + 1]
add esi, r11d
xor eax, edi
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x38], eax
jmp 0x1400b9b3e
mov r10d, dword [rsp + 0x28]
mov r11, qword [rsp + 0x50]
mov eax, dword [rsp + 0x70]
add eax, 2
cmp r14d, eax
jge 0x1400b9c46
lea eax, [r9 - 2]
cmp eax, 2
ja 0x1400b9c46
mov rcx, qword [rbp - 0x78]
lea rdx, [0x140000000]
mov r8d, r14d
sar r8d, 1
movsxd rax, r8d
add rcx, rax
movzx eax, byte [rax + rdx + 0xdc9ee]
mov ecx, dword [r11 + rcx*8 + 0xdb1c]
add ecx, eax
lea eax, [rdi + r9]
add ecx, dword [rsp + 0x3c]
xor eax, edi
mov r9, qword [rbp - 0x68]
mov dword [rbp - 0x58], ecx
xor ecx, ecx
cmp eax, 2
movzx eax, byte [r9 + rdx + 0xdc9f0]
setg cl
mov rdx, qword [rbp + 0x948]
mov dword [rbp - 0x50], ecx
add ecx, 2
mov dword [rbp - 0x78], ecx
movsx edx, word [rdx + rax*2]
mov rax, qword [rbp + 0x940]
add edx, edi
xor edx, edi
movzx eax, word [rax + r9*2]
imul eax, ecx
mov ecx, dword [rsp + 0x74]
sub edx, eax
mov eax, dword [rsp + 0x78]
imul edx, edx
lea r9, [rax + rcx*2]
shl r9, 4
mov ecx, dword [rbp + r9 - 0x2c]
add ecx, edx
mov edx, dword [rbp - 0x58]
mov eax, edx
imul eax, dword [rsp + 0x44]
add ecx, eax
sub ecx, dword [rsp + 0x2c]
add ecx, dword [rsp + 0x58]
cmp ecx, r10d
ja 0x1400b9c46
mov ebx, dword [rbp - 0x50]
lea r12d, [r8 + 0x1e]
mov esi, dword [rbp + r9 - 0x28]
mov r10d, ecx
mov dword [rsp + 0x28], ecx
mov eax, edi
lea ecx, [r8 + 1]
add esi, edx
shl eax, cl
mov ecx, r8d
shl ebx, cl
sub ebx, eax
lea eax, [r14 - 1]
sar eax, 1
add ebx, eax
mov eax, dword [rbp - 0x78]
add eax, edi
xor eax, edi
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x38], eax
mov r14, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x60]
mov rax, r14
mov ecx, edi
sar rax, cl
test al, 1
jne 0x1400b9da3
mov r9d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x34]
mov edx, dword [rsp + 0x38]
movsxd rcx, r13d
bts r14, rcx
mov r11, rcx
shl r11, 5
mov qword [rbp - 0x48], r14
mov byte [rbp + r11 - 0x30], dl
mov byte [rbp + r11 - 0x2f], r12b
mov word [rbp + r11 - 0x2e], bx
mov dword [rbp + r11 - 0x2c], r10d
mov dword [rbp + r11 - 0x28], esi
mov dword [rbp + r11 - 0x24], eax
test r15d, r15d
je 0x1400ba5ff
mov r14d, dword [rsp + 0x40]
mov r8d, 9
mov rax, qword [rbp + 0x940]
sub r8d, r14d
movsxd rdx, r8d
mov byte [rbp + r11 - 0x1f], r8b
xor r8d, r8d
mov word [rbp + r11 - 0x1e], r8w
movzx r10d, word [rax + rcx*2]
lea rax, [0x140000000]
movzx eax, byte [rdx + rax + 0xdc9d0]
sub r10d, dword [rsp + 0x48]
movzx ecx, r9b
add ecx, dword [rsp + 0x20]
shl rcx, 5
add rcx, rdx
mov rdx, qword [rsp + 0x50]
mov r9d, dword [rdx + rcx*8 + 0xda2c]
mov rdx, qword [rsp + 0x60]
add r9d, eax
add r9d, dword [rsp + 0x3c]
lea eax, [r13 + 1]
and eax, 0x3f
mov ecx, eax
mov edi, eax
sar rdx, cl
add cl, cl
movzx eax, dl
and edx, 1
and al, 1
add cl, al
lea eax, [r14 + 1]
mov byte [rbp + r11 - 0x20], cl
lea rdi, [rdx + rdi*2]
mov edx, r8d
add rdi, rdi
cmp r13d, dword [rbp + 0x960]
cmovge edx, dword [rsp + 0x44]
xor eax, r14d
mov r14, qword [rbp - 0x80]
imul edx, r9d
imul r10d, r10d
add edx, r10d
add edx, dword [rbp + rdi*8 - 0x2c]
mov dword [rbp + r11 - 0x1c], edx
mov ecx, dword [rbp + rdi*8 - 0x28]
mov dword [rbp + r11 - 0x14], eax
add ecx, r9d
movsxd rax, r13d
bts r14, rax
mov dword [rbp + r11 - 0x18], ecx
cmp edx, dword [rsp + 0x28]
mov eax, r8d
mov qword [rbp - 0x80], r14
mov ecx, r13d
mov r14, qword [rsp + 0x60]
setb al
shl rax, cl
or r14, rax
mov qword [rsp + 0x60], r14
jmp 0x1400ba604
mov r14, qword [rbp - 0x48]
xor eax, eax
mov ecx, edi
shl rcx, 5
movzx edx, byte [rbp + rcx - 0x30]
shr edx, 1
cmp dword [rbp + rcx - 0x24], eax
setne al
sub edx, eax
and edx, 0x3f
mov edi, edx
mov qword [rbp - 0x60], rdi
je 0x1400b9dd1
mov r14d, edx
sub r14d, r13d
jmp 0x1400b9940
mov eax, dword [rsp + 0x24]
cmp eax, 0xfff
jae 0x1400b9e3f
lea ecx, [rax + 1]
cmp ecx, 4
jb 0x1400b9dfe
call 0x1400af4b0
mov r11, qword [rsp + 0x50]
add eax, 0xfffffffd
cmp eax, 3
mov ecx, 3
cmovg eax, ecx
add eax, ecx
mov r10d, dword [rsp + 0x28]
lea rdi, [0x140000000]
movsxd rcx, r13d
movsxd rdx, eax
movzx r8d, byte [rcx + rdi + 0xeafa0]
movzx eax, byte [rdx + rdi + 0xdc9d0]
mov ecx, r8d
add ecx, dword [rsp + 0x20]
shl rcx, 5
add rcx, rdx
mov edi, dword [r11 + rcx*8 + 0xda2c]
add edi, eax
sub edi, dword [rsp + 0x3c]
jmp 0x1400b9e6e
movzx edi, byte [0x1400dc9d0]
lea rcx, [0x140000000]
movsxd rax, r13d
movzx edx, byte [rax + rcx + 0xeafa0]
mov ecx, edx
movzx r8d, dl
add ecx, dword [rsp + 0x20]
shl rcx, 8
add edi, dword [rcx + r11 + 0xda2c]
mov ecx, edi
imul ecx, dword [rsp + 0x44]
add ecx, dword [rsp + 0x58]
cmp ecx, r10d
jbe 0x1400b9e99
movzx r9d, r8b
cmp r12d, 8
jg 0x1400b9c63
lea eax, [rbx + r13]
cmp eax, 0x3f
jne 0x1400b9c63
xor eax, eax
mov dword [rsp + 0x28], ecx
mov edx, eax
mov dword [rsp + 0x38], eax
mov r12d, eax
mov dword [rsp + 0x34], eax
mov ebx, eax
mov r10d, ecx
mov esi, edi
movzx r9d, r8b
jmp 0x1400b9c6b
mov rcx, qword [rsp + 0x68]
xor ebx, ebx
cmp r13d, dword [rbp + 0x960]
mov r14d, ebx
mov dword [rbp + rdi*4 + 0x7d0], ebx
cmovge r14d, r9d
lea r9d, [rax + r8]
mov rax, qword [rbp + 0x940]
xor r9d, r8d
movzx ecx, word [rcx + rdi*2]
mov dword [rsp + 0x2c], r9d
movzx r10d, word [rax + rdi*2]
mov dword [rsp + 0x48], r10d
test ecx, ecx
je 0x1400b9f6b
cmp ecx, 4
jae 0x1400b9f07
lea eax, [rcx - 1]
jmp 0x1400b9f2b
call 0x1400af4b0
mov r10d, dword [rsp + 0x48]
add eax, 0xfffffffd
mov r9d, dword [rsp + 0x2c]
cmp eax, 3
mov r8d, dword [rsp + 0x40]
mov ecx, 3
cmovg eax, ecx
add eax, ecx
mov r12d, dword [rsp + 0x20]
mov rsi, qword [rsp + 0x50]
movsxd rdx, eax
lea rax, [0x140000000]
movzx ecx, byte [rdi + rax + 0xeafa0]
lea rax, [0x140000000]
add ecx, r12d
shl rcx, 5
movzx r11d, byte [rdx + rax + 0xdc9d0]
add rcx, rdx
add r11d, dword [rsi + rcx*8 + 0xda2c]
jmp 0x1400b9f7f
mov rsi, qword [rsp + 0x50]
lea rax, [0x140000000]
mov r12d, dword [rsp + 0x20]
mov r11d, ebx
cmp r15d, 2
jg 0x1400ba046
movzx edi, byte [rdi + rax + 0xeafa0]
lea r8d, [r10 + r10]
sub r8d, r9d
add edi, r12d
shl rdi, 5
mov r9d, r8d
imul r9d, r8d
mov ecx, reloc.WS2_32.dll_inet_addr
sub ecx, dword [rsp + 0x40]
sub r8d, r10d
movsxd rax, ecx
mov r12d, 9
sub r12d, dword [rsp + 0x40]
mov dword [rsp + 0x24], ecx
lea rcx, [0x140000000]
imul r8d, r8d
movzx ecx, byte [rax + rcx + 0xdc9d0]
lea rdx, [rdi + rax]
mov eax, dword [rsi + rdx*8 + 0xda2c]
add eax, ecx
mov dword [rsp + 0x30], eax
lea ecx, [rax + r11]
mov eax, r14d
imul eax, ecx
lea rcx, [0x140000000]
add r9d, eax
movsxd rax, r12d
movzx ecx, byte [rax + rcx + 0xdc9d0]
lea rdx, [rdi + rax]
mov esi, dword [rsi + rdx*8 + 0xda2c]
add esi, ecx
lea eax, [rsi + r11]
imul eax, r14d
add eax, r8d
cmp eax, r9d
ja 0x1400ba027
dec r15d
xor ecx, ecx
cmp eax, r9d
cmova esi, dword [rsp + 0x30]
cmova r12d, dword [rsp + 0x24]
add esi, r11d
cmp eax, r9d
cmova eax, r9d
jmp 0x1400ba57c
cmp r15d, 3
jg 0x1400ba105
movzx eax, byte [rdi + rax + 0xeafa0]
lea r8d, [r10 + r10*2]
add eax, dword [rsp + 0x20]
sub r8d, r9d
movzx ecx, byte [0x1400dc9dd]
mov r9d, r8d
mov ebx, dword [rsp + 0x40]
mov r12d, ntohs
mov edi, eax
neg ebx
shl rax, 8
imul r9d, r8d
sub r8d, r10d
shl rdi, 5
imul r8d, r8d
mov eax, dword [rax + rsi + 0xda94]
add eax, ecx
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x24], eax
lea ecx, [rax + r11]
mov eax, r14d
imul eax, ecx
lea rcx, [0x140000000]
add r9d, eax
movsxd rax, ebx
add rax, 0xb
add rdi, rax
movzx ecx, byte [rax + rcx + 0xdc9d0]
mov esi, dword [rsi + rdi*8 + 0xda2c]
add esi, ecx
lea eax, [rsi + r11]
imul eax, r14d
add eax, r8d
cmp eax, r9d
ja 0x1400ba0e8
dec r15d
lea r12d, [rbx + 0xb]
cmp eax, r9d
cmova esi, dword [rsp + 0x24]
xor ecx, ecx
add esi, r11d
mov ebx, ecx
cmp eax, r9d
cmova ebx, dword [rsp + 0x30]
cmova eax, r9d
jmp 0x1400ba57c
cmp r15d, 6
jg 0x1400ba1c3
movzx edi, byte [rdi + rax + 0xeafa0]
lea r12d, [r15 + 0xa]
add edi, dword [rsp + 0x20]
lea rcx, [0x140000000]
shl rdi, 5
mov ebx, r8d
movsxd r8, r12d
mov r9d, r10d
imul r9d, r15d
neg ebx
mov dword [rsp + 0x24], r12d
movzx ecx, byte [r8 + rcx + 0xdc9d0]
lea rax, [rdi + r8]
mov eax, dword [rsi + rax*8 + 0xda2c]
sub r9d, dword [rsp + 0x2c]
add eax, ecx
mov dword [rsp + 0x30], eax
mov edx, r9d
imul edx, r9d
sub r9d, r10d
imul r9d, r9d
lea ecx, [rax + r11]
mov eax, r14d
imul eax, ecx
lea rcx, [0x140000000]
movzx ecx, byte [r8 + rcx + 0xdc9cf]
add edx, eax
lea rax, [r8 + rdi]
mov esi, dword [rsi + rax*8 + 0xda24]
dec r12d
add esi, ecx
lea eax, [rsi + r11]
imul eax, r14d
add eax, r9d
cmp eax, edx
ja 0x1400ba1ab
dec r15d
cmp eax, edx
cmova esi, dword [rsp + 0x30]
cmova r12d, dword [rsp + 0x24]
add esi, r11d
cmp eax, edx
cmova eax, edx
jmp 0x1400ba57c
cmp r15d, 8
jg 0x1400ba27c
movzx ecx, byte [0x1400dc9e1]
lea eax, [r8 + r8]
mov edx, r10d
mov r10d, r15d
sub r10d, eax
imul edx, r15d
sub r10d, 7
lea rax, [0x140000000]
movzx edi, byte [rdi + rax + 0xeafa0]
mov eax, dword [rsp + 0x48]
add edi, r12d
shl rdi, 8
mov r12d, ebx
mov ebx, dword [rsp + 0x40]
sub edx, r9d
imul edx, edx
mov r8d, dword [rdi + rsi + 0xdab4]
mov esi, dword [rdi + rsi + 0xdaac]
add r8d, ecx
movzx ecx, byte [0x1400dc9e0]
add esi, ecx
mov ecx, 6
lea r9d, [r8 + r11]
imul r9d, r14d
add r9d, edx
lea edx, [rax + rax*2]
add edx, edx
lea eax, [rsi + r11]
sub edx, dword [rsp + 0x2c]
imul eax, r14d
imul edx, edx
add eax, edx
cmp eax, r9d
cmova esi, r8d
cmovbe r15d, ecx
add esi, r11d
cmp eax, r9d
seta r12b
neg ebx
add r12d, 0x10
cmp eax, r9d
cmova ebx, r10d
cmova eax, r9d
jmp 0x1400ba57c
mov ebx, r15d
cmp r15d, 0xc
jg 0x1400ba326
lea ecx, [r8*4]
mov eax, r10d
sub ebx, ecx
imul eax, r15d
lea rcx, [0x140000000]
sub ebx, 9
movzx edi, byte [rdi + rcx + 0xeafa0]
lea edx, [r10*8]
add edi, dword [rsp + 0x20]
sub edx, r9d
movzx ecx, byte [reloc.WS2_32.dll_closesocket]
mov r12d, send
shl rdi, 8
sub eax, r9d
add rdi, rsi
imul eax, eax
imul edx, edx
mov esi, dword [rdi + 0xdabc]
mov edi, dword [rdi + 0xdab4]
add esi, ecx
mov ecx, r14d
add esi, r11d
imul ecx, esi
add eax, ecx
movzx ecx, byte [0x1400dc9e1]
add edi, ecx
add edi, r11d
imul r14d, edi
add r14d, edx
cmp r14d, eax
ja 0x1400ba57c
mov r12d, send
lea eax, [r8 + r8]
lea ebx, [r12 - 0x10]
lea r15d, [r12 - 9]
jmp 0x1400ba575
cmp r15d, 0x14
jg 0x1400ba3d0
lea ecx, [r8*8]
mov eax, r10d
sub ebx, ecx
imul eax, r15d
lea rcx, [0x140000000]
sub ebx, 0xd
movzx edi, byte [rdi + rcx + 0xeafa0]
lea edx, [r10 + r10*2]
add edi, dword [rsp + 0x20]
mov r12d, reloc.WS2_32.dll_send
movzx ecx, byte [reloc.WS2_32.dll_connect]
shl rdi, 8
sub eax, r9d
add rdi, rsi
shl edx, 2
imul eax, eax
sub edx, r9d
imul edx, edx
mov esi, dword [rdi + 0xdac4]
mov edi, dword [rdi + 0xdabc]
add esi, ecx
mov ecx, r14d
add esi, r11d
imul ecx, esi
add eax, ecx
movzx ecx, byte [reloc.WS2_32.dll_closesocket]
add edi, ecx
add edi, r11d
imul r14d, edi
add r14d, edx
cmp r14d, eax
ja 0x1400ba57c
mov r12d, send
lea eax, [r8*4]
lea ebx, [r12 - 0xf]
lea r15d, [r12 - 6]
jmp 0x1400ba575
mov ecx, r8d
cmp r15d, 0x24
jg 0x1400ba478
shl ecx, 4
lea edx, [r10 + r10*4]
sub ebx, ecx
shl edx, 2
lea rcx, [0x140000000]
sub edx, r9d
movzx edi, byte [rdi + rcx + 0xeafa0]
mov eax, r10d
add edi, dword [rsp + 0x20]
sub ebx, 0x15
movzx ecx, byte [0x1400dc9e4]
mov r12d, socket
shl rdi, 8
add rdi, rsi
imul eax, r15d
imul edx, edx
mov esi, dword [rdi + 0xdacc]
mov edi, dword [rdi + 0xdac4]
add esi, ecx
sub eax, r9d
mov ecx, r14d
add esi, r11d
imul eax, eax
imul ecx, esi
add eax, ecx
movzx ecx, byte [reloc.WS2_32.dll_connect]
add edi, ecx
add edi, r11d
imul r14d, edi
add r14d, edx
cmp r14d, eax
ja 0x1400ba57c
mov r12d, reloc.WS2_32.dll_send
lea eax, [r8*8]
lea ebx, [r12 - 0xc]
lea r15d, [r12 + 1]
jmp 0x1400ba575
movzx edx, byte [rdi + rax + 0xeafa0]
mov eax, r10d
mov edi, dword [rsp + 0x20]
imul eax, r15d
add edi, edx
shl rdi, 8
add rdi, rsi
sub eax, r9d
imul eax, eax
cmp r15d, 0x44
jg 0x1400ba50f
mov esi, dword [rdi + 0xdad4]
lea edx, [r10 + r10*8]
mov edi, dword [rdi + 0xdacc]
mov r12d, socket
shl ecx, 5
sub ebx, ecx
shl edx, 2
movzx ecx, byte [0x1400dc9e5]
sub edx, r9d
add esi, ecx
imul edx, edx
mov ecx, r14d
add esi, r11d
imul ecx, esi
sub ebx, 0x25
add eax, ecx
movzx ecx, byte [0x1400dc9e4]
add edi, ecx
add edi, r11d
imul r14d, edi
add r14d, edx
cmp r14d, eax
jae 0x1400ba57c
mov r12d, socket
mov eax, r8d
shl eax, 4
lea ebx, [r12 - 5]
lea r15d, [r12 + 0x10]
jmp 0x1400ba575
mov esi, dword [rdi + 0xdadc]
mov r12d, socket
mov edi, dword [rdi + 0xdad4]
shl ecx, 9
sub ebx, ecx
imul edx, r10d, 0x44
movzx ecx, byte [0x1400dc9e6]
sub ebx, 0x45
add esi, ecx
mov ecx, r14d
add esi, r11d
imul ecx, esi
sub edx, r9d
imul edx, edx
add eax, ecx
movzx ecx, byte [0x1400dc9e5]
add edi, ecx
add edi, r11d
imul r14d, edi
add r14d, edx
cmp r14d, eax
jae 0x1400ba57c
mov r12d, socket
mov eax, r8d
shl eax, 5
mov ebx, 0x1f
lea r15d, [r12 + 0x2f]
sub ebx, eax
mov esi, edi
mov eax, r14d
mov r14, qword [rsp + 0x60]
lea ecx, [r13 + 1]
and ecx, 0x3f
movsxd r10, r13d
movzx edx, cl
mov r8d, ecx
add dl, dl
mov rdi, r14
sar rdi, cl
mov r9, r10
shl r9, 5
movzx ecx, dil
and cl, 1
and edi, 1
add dl, cl
mov byte [rbp + r9 - 0x20], dl
mov byte [rbp + r9 - 0x1f], r12b
lea rdi, [rdi + r8*2]
add rdi, rdi
mov word [rbp + r9 - 0x1e], bx
mov edx, dword [rbp + rdi*8 - 0x2c]
add edx, eax
mov dword [rbp + r9 - 0x1c], edx
mov ecx, dword [rbp + rdi*8 - 0x28]
add ecx, esi
mov dword [rbp + r9 - 0x18], ecx
mov ecx, dword [rsp + 0x40]
lea eax, [rcx + r15]
xor eax, ecx
mov rcx, qword [rbp - 0x80]
bts rcx, r10
mov dword [rbp + r9 - 0x14], eax
bts r14, r10
mov qword [rbp - 0x80], rcx
mov qword [rsp + 0x60], r14
jmp 0x1400ba604
mov r14, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
lea rcx, [0x140000000]
mov r10, qword [rbp - 0x70]
mov edx, r13d
dec r13d
test r13d, r13d
jg 0x1400b97f0
mov r12, qword [rbp - 0x38]
mov r8d, 1
mov rsi, qword [rsp + 0x68]
mov r15d, dword [rsp + 0x5c]
mov rbx, qword [rbp - 0x40]
xor eax, eax
movsx rax, ax
mov rdi, r10
sar r14, 1
mov ecx, reloc.OLEAUT32.dll_VarI4FromDisp
and r14d, 1
mov rbx, qword [rbx]
rep stosw word [rdi], ax
mov rax, qword [r11 + 0x88]
mov qword [rbp - 0x60], rax
mov eax, r14d
add rax, rax
mov r9d, r14d
mov r13d, dword [rbp + rax*8 - 8]
nop
mov byte [rbx], r15b
mov rdx, r12
mov edi, r8d
mov byte [rbx + 1], r8b
shl rdx, 6
mov r12d, r9d
lea rax, [rdi + rdx]
movzx ecx, word [r11 + rax*2 + 0xd7c0]
lea rax, [rdi + rdx]
mov word [rbx + 2], cx
lea r14, [r11 + rax*8]
mov rax, qword [r14 + 0xd1c0]
mov qword [rbx + 8], rax
add rbx, 0x10
movzx eax, word [rsi + rdi*2]
lea rsi, [r9 + rdi*2]
add rsi, rsi
movzx r15d, byte [rbp + rsi*8 - 0x2f]
cmp r15b, 7
jl 0x1400ba77d
test eax, eax
je 0x1400ba6ee
mov edx, dword [rsp + 0x5c]
mov r9d, eax
mov rcx, r11
call fcn.1400b9290
mov rax, qword [rsp + 0x68]
xor ecx, ecx
mov r11, qword [rsp + 0x50]
mov r10, qword [rbp - 0x70]
mov word [rax + rdi*2], cx
mov rdx, qword [r14 + 0xd1c0]
movzx r9d, byte [rbp + rsi*8 - 0x30]
mov r12, qword [rbp - 0x38]
mov r8d, r9d
shr r8d, 1
and r9d, 1
lea rax, [rdx + 1]
mov dword [rbp - 0x68], r8d
mov qword [r14 + 0xd1c0], rax
mov rax, qword [r11 + r12*8 + 0xd190]
mov rcx, qword [rax + rdi*8]
mov byte [rdx + rcx], r15b
mov rax, qword [r11 + r12*8 + 0xd1a8]
mov r15d, dword [rsp + 0x5c]
mov rcx, qword [rax + rdi*8]
lea edi, [r8 - 1]
movzx eax, word [rbp + rsi*8 - 0x2e]
and edi, 0x3f
mov word [rcx + rdx*2], ax
movsx ecx, word [rbp + rsi*8 - 0x24]
mov rax, qword [rbp + 0x940]
mov rsi, qword [rsp + 0x68]
movsx edx, word [rax + rdi*2]
mov rax, qword [rbp - 0x60]
imul edx, ecx
test r8d, r8d
mov r8, qword [rbp - 0x68]
movzx ecx, byte [rdi + rax]
mov word [r10 + rcx*2], dx
jne 0x1400ba670
jmp 0x1400ba7ae
inc eax
cmp eax, 0xfff
jb 0x1400ba799
mov edx, dword [rsp + 0x5c]
mov r9d, eax
mov rcx, r11
call fcn.1400b9290
xor ecx, ecx
mov eax, ecx
mov rcx, qword [rsp + 0x68]
mov word [rcx + rdi*2], ax
lea rax, [r12 + rdi*2]
add rax, rax
sub r13d, dword [rbp + rax*8 - 0x28]
mov rax, qword [rbp - 0x40]
mov qword [rax], rbx
mov eax, r13d
mov rcx, qword [rbp + 0x8d0]
xor rcx, rsp
call fcn.1400bf680
mov rbx, qword [rsp + 0xa30]
add rsp, 0x9e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret