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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rdi
push r12
push r14
push r15
sub rsp, 0x98
mov r15d, dword [rsp + 0xf0]
mov rdi, qword [rcx]
mov r14, rdx
mov dword [rsp + 0x44], r15d
inc r15d
mov r12, rcx
mov dword [rsp + 0x5c], r15d
inc r15d
mov qword [rsp + 0x70], rdi
mov ebp, r15d
mov dword [rsp + 0x4c], r15d
inc r15d
mov dword [rsp + 0x58], r15d
inc r15d
mov dword [rsp + 0x38], 0xffffffff
mov dword [rsp + 0x3c], r15d
inc r15d
mov dword [rsp + 0x68], r15d
inc r15d
mov dword [rsp + 0x40], r15d
inc r15d
mov dword [rsp + 0xf0], r15d
call fcn.1400e9f90
mov rbx, rax
test rax, rax
je 0x1400cae5a
test r14, r14
je 0x1400cae5a
cmp dword [r14 + 0x3c], 0
je 0x1400cae5a
mov r10, qword [r14]
mov edx, 7
lea r9, str.sqlite_
mov r8, r10
lea r11, [0x1401bb890]
movzx ecx, byte [r8]
dec edx
test cl, cl
je 0x1400c9f5b
movzx eax, byte [r9]
movzx ecx, cl
movzx eax, byte [rax + r11]
cmp byte [rcx + r11], al
jne 0x1400c9f5b
inc r8
inc r9
test edx, edx
jg 0x1400c9f33
dec edx
test edx, edx
js 0x1400cae5a
movzx eax, byte [r9]
movzx edx, byte [rax + r11]
movzx eax, byte [r8]
movzx ecx, byte [rax + r11]
sub ecx, edx
je 0x1400cae5a
mov rdx, qword [r14 + 0x68]
mov rcx, rdi
mov qword [rsp + 0x90], rsi
call fcn.1400e6730
mov rcx, qword [rdi + 0x20]
xor r9d, r9d
movsxd rsi, eax
mov r8, r10
mov rdx, rsi
mov dword [rsp + 0x48], esi
shl rdx, 5
mov rdx, qword [rdx + rcx]
mov rcx, r12
mov qword [rsp + 0x20], rdx
lea edx, [r9 + 0x1c]
call fcn.1400cc430
test eax, eax
jne 0x1400cae52
mov rax, qword [r14]
mov r8d, dword [r14 + 0x3c]
xor r9d, r9d
mov edx, esi
mov rcx, r12
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x20], rax
call fcn.1400cc4f0
mov r13d, dword [r12 + 0x54]
mov r9d, dword [rsp + 0x44]
xor edx, edx
xor r8d, r8d
lea eax, [r13 + 1]
mov dword [rsp + 0x20], edx
lea edx, [r8 + 0x5e]
mov dword [r12 + 0x54], eax
mov rsi, qword [r14]
mov rcx, rbx
mov dword [rsp + 0x30], r13d
call fcn.1400b0840
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x1400ca097
cmp byte [rcx + 0x50], 0
jne 0x1400ca097
test eax, eax
jns 0x1400ca032
mov eax, dword [rbx + 0x34]
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.1400b0d20
mov qword [rdi + 0x10], 0
test rsi, rsi
jne 0x1400ca062
mov qword [rdi + 0x10], rsi
mov byte [rdi + 1], sil
jmp 0x1400ca0a1
cmp byte [rsi], 0
mov rax, rsi
je 0x1400ca078
nop word [rax + rax]
inc rax
cmp byte [rax], 0
jne 0x1400ca070
mov rcx, qword [rbx]
sub eax, esi
mov rdx, rsi
and eax, 0x3fffffff
mov r8d, eax
call fcn.140090500
mov byte [rdi + 1], 0xff
mov qword [rdi + 0x10], rax
jmp 0x1400ca0a1
mov r8, rsi
xor edx, edx
call fcn.1400b0d20
mov rdi, qword [r14 + 0x10]
mov r14d, 1
mov qword [rsp + 0x50], rdi
test rdi, rdi
je 0x1400cac48
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsp + 0xe0]
xor r13d, r13d
test rax, rax
je 0x1400ca0d7
cmp rax, rdi
jne 0x1400cac25
movzx ebp, word [rdi + 0x4c]
mov rcx, rsi
lea edx, [rbp*4]
mov dword [rsp + 0x34], ebp
call fcn.140090310
mov r12, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400cac1d
mov rcx, qword [rsp + 0xd0]
mov rdx, rdi
call fcn.1400d2fa0
lea ecx, [rbp*2 + 1]
mov rsi, rax
mov rax, qword [rsp + 0xd0]
add ecx, r15d
cmp ecx, dword [rax + 0x58]
jle 0x1400ca12c
mov dword [rax + 0x58], ecx
mov eax, dword [rsp + 0x48]
mov r9d, dword [rdi + 0x48]
mov r8d, dword [rsp + 0x30]
mov edx, 0x27
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400b0840
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x1400ca1b0
cmp byte [rcx + 0x50], r13b
jne 0x1400ca1b0
test eax, eax
jns 0x1400ca165
mov eax, dword [rbx + 0x34]
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.1400b0d20
xor eax, eax
mov qword [rdi + 0x10], rax
test rsi, rsi
jne 0x1400ca197
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], al
mov rdi, qword [rsp + 0x50]
jmp 0x1400ca1bf
mov qword [rdi + 0x10], rsi
mov byte [rdi + 1], 0xfa
mov rdi, qword [rsp + 0x50]
jmp 0x1400ca1bf
mov r8, rsi
mov edx, 0xfffffff0
call fcn.1400b0d20
xor eax, eax
mov r9d, dword [rsp + 0x5c]
mov rsi, qword [rdi]
xor r8d, r8d
lea edx, [r8 + 0x5e]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400b0840
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x1400ca256
cmp byte [rcx + 0x50], r13b
jne 0x1400ca256
test eax, eax
jns 0x1400ca1f5
mov eax, dword [rbx + 0x34]
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.1400b0d20
xor edx, edx
mov qword [rdi + 0x10], rdx
test rsi, rsi
jne 0x1400ca222
mov qword [rdi + 0x10], rsi
mov byte [rdi + 1], dl
jmp 0x1400ca262
mov rax, rsi
cmp byte [rsi], dl
je 0x1400ca237
nop dword [rax]
inc rax
cmp byte [rax], dl
jne 0x1400ca230
mov rcx, qword [rbx]
sub eax, esi
mov rdx, rsi
and eax, 0x3fffffff
mov r8d, eax
call fcn.140090500
mov byte [rdi + 1], 0xff
mov qword [rdi + 0x10], rax
jmp 0x1400ca260
mov r8, rsi
xor edx, edx
call fcn.1400b0d20
xor esi, esi
mov edi, esi
test ebp, ebp
js 0x1400ca28d
nop dword [rax + rax]
xor r8d, r8d
lea r9d, [rdi + r15]
mov rcx, rbx
lea edx, [r8 + 7]
mov dword [rsp + 0x20], esi
call fcn.1400b0840
inc edi
cmp edi, ebp
jle 0x1400ca270
mov edi, esi
test ebp, ebp
jle 0x1400ca2e2
movsxd rsi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], esi
jg 0x1400ca2a8
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca2da
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rsi + rsi*2]
lea rdx, [rax + rcx*8]
xor esi, esi
lea eax, [rdi + rbp]
lea ecx, [r15 + 1]
mov word [rdx], 0xa
mov byte [rdx + 3], r13b
add ecx, eax
mov dword [rdx + 4], esi
mov dword [rdx + 0xc], esi
mov dword [rdx + 8], ecx
mov qword [rdx + 0x10], rsi
jmp 0x1400ca2dc
xor esi, esi
inc edi
cmp edi, ebp
jl 0x1400ca293
mov rcx, rbx
call fcn.1400b0a60
mov r8d, dword [rsp + 0x30]
mov edx, 0x48
mov rcx, rbx
mov r9d, eax
mov dword [rsp + 0x20], esi
mov ebp, eax
mov dword [rsp + 0x64], eax
call fcn.1400b0840
movsxd r15, dword [rbx + 0x34]
mov dword [rsp + 0x60], r15d
cmp dword [rbx + 0x38], r15d
jg 0x1400ca324
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca353
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
mov edx, dword [rsp + 0xf0]
lea rcx, [r15 + r15*2]
mov word [rax + rcx*8], setsockopt
mov byte [rax + rcx*8 + 3], r13b
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], rsi
mov r14d, esi
mov esi, dword [rsp + 0x34]
test esi, esi
jle 0x1400ca52c
mov r15, qword [rsp + 0x78]
xor esi, esi
mov r12d, esi
jmp 0x1400ca372
xor esi, esi
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca387
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca3b9
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
mov edx, dword [rsp + 0x30]
lea rcx, [rdi + rdi*2]
mov edi, dword [rsp + 0x58]
mov word [rax + rcx*8], 0x1d
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rsi
jmp 0x1400ca3bd
mov edi, dword [rsp + 0x58]
test r14d, r14d
jne 0x1400ca415
movsxd r13, dword [rbx + 0x34]
cmp dword [rbx + 0x38], r13d
jg 0x1400ca3de
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
je 0x1400ca3de
lea r13d, [r14 + 1]
jmp 0x1400ca415
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [r13*2]
add rcx, r13
lea rdx, [rax + rcx*8]
mov eax, dword [rsp + 0xf0]
inc eax
mov word [rdx], 0x1c
mov byte [rdx + 3], 0
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], rsi
mov dword [rdx + 4], eax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + r12]
call fcn.1400ce7b0
movsxd rsi, dword [rbx + 0x34]
mov rbp, rax
cmp dword [rbx + 0x38], esi
jg 0x1400ca44e
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
je 0x1400ca44e
mov esi, 1
jmp 0x1400ca489
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
xor r8d, r8d
lea rcx, [rsi + rsi*2]
lea rdx, [rax + rcx*8]
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0xf0]
add eax, r14d
inc ecx
mov word [rdx], 0x4b
add ecx, eax
mov byte [rdx + 3], 0
mov dword [rdx + 4], edi
mov dword [rdx + 8], r8d
mov qword [rdx + 0x10], r8
mov dword [rdx + 0xc], ecx
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov eax, esi
test r8, r8
je 0x1400ca4e0
cmp byte [rcx + 0x50], 0
jne 0x1400ca4e0
test esi, esi
jns 0x1400ca4a6
mov eax, dword [rbx + 0x34]
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.1400b0d20
xor eax, eax
mov qword [rdi + 0x10], rax
test rbp, rbp
jne 0x1400ca4d3
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], al
jmp 0x1400ca4ed
mov qword [rdi + 0x10], rbp
mov byte [rdi + 1], 0xfc
jmp 0x1400ca4ed
mov r8, rbp
mov edx, 0xfffffffc
call fcn.1400b0d20
mov dword [r15], esi
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1400ca506
movsxd rax, dword [rbx + 0x34]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x80
mov esi, dword [rsp + 0x34]
inc r14d
add r12, 8
add r15, 4
cmp r14d, esi
jl 0x1400ca370
mov ebp, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x60]
mov r12, qword [rsp + 0x78]
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca541
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca574
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], 1
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 0
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], 0
mov qword [rax + rcx*8 + 0x10], 0
xor edi, edi
test esi, esi
jle 0x1400ca67e
mov r15d, dword [rsp + 0xf0]
mov r14, r12
mov r12d, dword [rsp + 0x30]
nop
mov eax, dword [r14]
test eax, eax
js 0x1400ca5aa
mov edx, dword [rbx + 0x34]
cmp edx, eax
jbe 0x1400ca5aa
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
test edi, edi
jne 0x1400ca5ca
test r13d, r13d
js 0x1400ca5ca
mov edx, dword [rbx + 0x34]
cmp edx, r13d
jbe 0x1400ca5ca
mov eax, r13d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
movsxd rsi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], esi
jg 0x1400ca5df
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca610
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rsi + rsi*2]
lea rdx, [rax + rcx*8]
lea eax, [r15 + 1]
add eax, edi
mov word [rdx], setsockopt
mov byte [rdx + 3], 0
mov qword [rdx + 8], 1
mov qword [rdx + 0x10], 0
mov dword [rdx + 4], eax
movsxd rsi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], esi
jg 0x1400ca625
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca65e
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rsi + rsi*2]
mov esi, dword [rsp + 0x34]
lea rdx, [rax + rcx*8]
lea ecx, [r15 + 1]
lea eax, [rdi + rsi]
mov word [rdx], 0x1d
mov byte [rdx + 3], 0
add ecx, eax
mov dword [rdx + 4], r12d
mov dword [rdx + 8], edi
mov dword [rdx + 0xc], ecx
mov qword [rdx + 0x10], 0
jmp 0x1400ca662
mov esi, dword [rsp + 0x34]
inc edi
add r14, 4
cmp edi, esi
jl 0x1400ca590
mov ebp, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x60]
mov r12, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov rdx, r12
call fcn.140090030
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x1400ca6a7
movsxd rax, ebp
lea rax, [rax*4 + 4]
sub rcx, rax
mov eax, dword [rbx + 0x34]
mov dword [rcx], eax
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca6bc
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca6ec
inc dword [rbx + 0x34]
mov rax, qword [rbx + 8]
mov ebp, dword [rsp + 0x30]
lea rcx, [rdi + rdi*2]
xor edx, edx
mov word [rax + rcx*8], 0x5f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x1400ca6f0
mov ebp, dword [rsp + 0x30]
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca705
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca72d
inc dword [rbx + 0x34]
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 4], ebp
xor ebp, ebp
mov word [rax + rcx*8], 0x2d
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov byte [rax + rcx*8 + 3], 0
jmp 0x1400ca72f
xor ebp, ebp
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca744
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca77c
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
mov r15d, dword [rsp + 0xf0]
mov r13d, dword [rsp + 0x4c]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], reloc.WS2_32.dll_ntohs
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
jmp 0x1400ca789
mov r15d, dword [rsp + 0xf0]
mov r13d, dword [rsp + 0x4c]
cmp dword [rsp + 0x38], 0
jge 0x1400ca7dc
movsxd rdi, dword [rbx + 0x34]
mov dword [rsp + 0x38], edi
cmp dword [rbx + 0x38], edi
jg 0x1400ca7b3
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
je 0x1400ca7b3
mov dword [rsp + 0x38], 1
jmp 0x1400ca7dc
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], 0x1c
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbp
mov r14d, ebp
test esi, esi
jle 0x1400caa6a
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca808
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
je 0x1400ca808
mov r12d, dword [rsp + 0x68]
mov edi, 1
jmp 0x1400ca835
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
mov r12d, dword [rsp + 0x68]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], 0x5e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x1400ca8cd
cmp byte [rcx + 0x50], 0
jne 0x1400ca8cd
test edi, edi
jns 0x1400ca858
mov edi, dword [rbx + 0x34]
dec edi
movsxd rax, edi
lea rdx, [rax + rax*2]
lea rbp, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbp + 0x10]
call fcn.1400b0d20
lea rax, [0x1401df818]
xor edx, edx
mov rdi, rax
mov qword [rbp + 0x10], rdx
inc rdi
cmp byte [rdi], dl
jne 0x1400ca882
mov rcx, qword [rbx]
sub edi, eax
and edi, 0x3fffffff
lea edx, [rdi + 1]
call fcn.140090310
mov rsi, rax
test rax, rax
je 0x1400ca8bd
movsxd rdi, edi
lea rdx, [0x1401df818]
mov rcx, rax
mov r8, rdi
call fcn.1401669c0
mov byte [rsi + rdi], 0
mov qword [rbp + 0x10], rsi
mov esi, dword [rsp + 0x34]
mov byte [rbp + 1], 0xff
xor ebp, ebp
jmp 0x1400ca8db
lea r8, [0x1401df818]
xor edx, edx
call fcn.1400b0d20
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca8f0
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca91a
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], 0x5b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], rbp
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca92f
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca95d
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rdi + rdi*2]
lea rdx, [rax + rcx*8]
lea eax, [r15 + 1]
add eax, r14d
mov word [rdx], 0x56
mov byte [rdx + 3], 0
mov dword [rdx + 4], r15d
mov dword [rdx + 0xc], r12d
mov qword [rdx + 0x10], rbp
mov dword [rdx + 8], eax
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca972
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca99e
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], setsockopt
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], 0xffffffff
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca9b3
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400ca9e1
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rdi + rdi*2]
lea rdx, [rax + rcx*8]
lea eax, [r15 + 1]
add eax, r14d
mov word [rdx], 0x59
mov byte [rdx + 3], 0
mov dword [rdx + 8], r12d
mov dword [rdx + 0xc], r12d
mov qword [rdx + 0x10], rbp
mov dword [rdx + 4], eax
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400ca9f6
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400caa1f
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], 0x90
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbp
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400caa34
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400caa5e
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], 0x5b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], rbp
inc r14d
cmp r14d, esi
jl 0x1400ca7e7
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400caa8f
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
je 0x1400caa8f
mov r12d, dword [rsp + 0x3c]
mov r14d, 1
mov edi, r14d
jmp 0x1400caaca
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
mov edx, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x3c]
lea rcx, [rdi + rdi*2]
mov r14d, 1
mov word [rax + rcx*8], 0x1f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], 3
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], rbp
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x1400cab5a
cmp byte [rcx + 0x50], 0
jne 0x1400cab5a
test edi, edi
jns 0x1400caae9
mov edi, dword [rbx + 0x34]
dec edi
movsxd rax, edi
lea rdx, [rax + rax*2]
lea rbp, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbp + 0x10]
call fcn.1400b0d20
lea rax, [0x1401df81c]
xor r13d, r13d
mov rdi, rax
mov qword [rbp + 0x10], r13
inc rdi
cmp byte [rdi], r13b
jne 0x1400cab14
mov rcx, qword [rbx]
sub edi, eax
and edi, 0x3fffffff
lea edx, [rdi + 1]
call fcn.140090310
mov rsi, rax
test rax, rax
je 0x1400cab50
movsxd rdi, edi
lea rdx, [0x1401df81c]
mov rcx, rax
mov r8, rdi
call fcn.1401669c0
mov byte [rsi + rdi], r13b
mov qword [rbp + 0x10], rsi
mov byte [rbp + 1], 0xff
jmp 0x1400cab6b
lea r8, [0x1401df81c]
xor edx, edx
call fcn.1400b0d20
xor r13d, r13d
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400cab80
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400cabb5
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
mov esi, dword [rsp + 0xe8]
mov ebp, dword [rsp + 0x40]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], gethostname
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
jmp 0x1400cabc0
mov esi, dword [rsp + 0xe8]
mov ebp, dword [rsp + 0x40]
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400cabd5
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
jne 0x1400cabfd
mov rax, qword [rbx + 8]
inc dword [rbx + 0x34]
lea rcx, [rdi + rdi*2]
mov word [rax + rcx*8], reloc.WS2_32.dll_gethostname
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r13
mov rdx, qword [rbx + 8]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
test rdx, rdx
je 0x1400cac1d
movsxd rax, dword [rbx + 0x34]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
mov rax, qword [rsp + 0xe0]
mov rdi, qword [rdi + 0x28]
mov qword [rsp + 0x50], rdi
test rdi, rdi
jne 0x1400ca0c6
mov ebp, dword [rsp + 0x4c]
mov r13d, dword [rsp + 0x30]
mov r12, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
cmp qword [rax + 0x10], 0
jne 0x1400cacc0
mov ecx, dword [rsp + 0x48]
mov r9d, dword [rax + 0x3c]
mov r8d, r13d
mov dword [rsp + 0x20], ecx
mov rcx, rbx
mov edx, 0x27
call fcn.1400b0840
xor r15d, r15d
mov r9d, ebp
lea edx, [r15 + 0x20]
mov r8d, r13d
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
lea edx, [r15 + 0x2d]
xor r9d, r9d
mov r8d, r13d
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
lea edx, [r15 + 0x1c]
xor r9d, r9d
mov r8d, ebp
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
mov r14d, eax
jmp 0x1400cad20
mov eax, dword [rsp + 0x38]
test eax, eax
js 0x1400cacdb
mov edx, dword [rbx + 0x34]
cmp edx, eax
jbe 0x1400cacdb
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
movsxd rdi, dword [rbx + 0x34]
cmp dword [rbx + 0x38], edi
jg 0x1400cacf5
mov rcx, rbx
call fcn.1400b07a0
test eax, eax
je 0x1400cacf5
xor r15d, r15d
jmp 0x1400cad20
inc dword [rbx + 0x34]
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
xor r15d, r15d
mov r14d, edi
mov word [rax + rcx*8], 1
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 4], r15
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov r9d, dword [rsp + 0x5c]
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0xa]
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
mov esi, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x44]
mov r9d, 3
mov rcx, rbx
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x1c]
call fcn.1400b0840
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov r13, qword [rsp + 0x88]
test r8, r8
je 0x1400cadc9
cmp byte [rcx + 0x50], 0
jne 0x1400cadc9
test eax, eax
jns 0x1400cad7b
mov eax, dword [rbx + 0x34]
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.1400b0d20
lea rcx, [0x1401df81c]
mov qword [rdi + 0x10], r15
mov rax, rcx
inc rax
cmp byte [rax], 0
jne 0x1400cada2
sub eax, ecx
mov rdx, rcx
mov rcx, qword [rbx]
and eax, 0x3fffffff
mov r8d, eax
call fcn.140090500
mov byte [rdi + 1], 0xff
mov qword [rdi + 0x10], rax
jmp 0x1400cadd7
lea r8, [0x1401df81c]
xor edx, edx
call fcn.1400b0d20
mov ebp, dword [rsp + 0x40]
mov r8d, dword [rsp + 0xe8]
mov edx, gethostname
mov rcx, rbx
mov r9d, ebp
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
mov r8d, dword [rsp + 0xe8]
mov r9d, esi
mov edx, reloc.WS2_32.dll_gethostname
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.1400b0840
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1400cae2a
movsxd rax, dword [rbx + 0x34]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
cmp dword [r12 + 0x58], esi
jge 0x1400cae36
mov dword [r12 + 0x58], esi
test r14d, r14d
js 0x1400cae52
mov edx, dword [rbx + 0x34]
cmp edx, r14d
jbe 0x1400cae52
mov eax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
mov rsi, qword [rsp + 0x90]
add rsp, 0x98
pop r15
pop r14
pop r12
pop rdi
pop rbp
pop rbx
ret