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

Disassembly:
mov r11, rsp
push rdi
push r13
sub rsp, 0x168
mov rax, qword [0x140125080]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov r13, qword [rcx]
mov qword [r11 - 0x18], rbp
xor ebp, ebp
mov eax, ebp
mov qword [r11 - 0x30], r14
mov r14, rcx
mov dword [rsp + 0x8c], eax
mov edi, ebp
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xb8], rdx
mov dword [rsp + 0x64], ebp
mov dword [rsp + 0x7c], 0xffffffff
mov qword [rsp + 0x70], rbp
mov dword [rsp + 0x98], ebp
mov dword [rsp + 0x68], ebp
mov dword [rsp + 0x84], ebp
mov dword [rsp + 0xb4], ebp
mov dword [rsp + 0x6c], ebp
mov dword [rsp + 0xb0], ebp
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xd8], rbp
mov qword [rsp + 0xa8], r13
cmp dword [rcx + 0x30], ebp
jne 0x140060339
cmp byte [r13 + 0x55], al
jne 0x140060339
mov qword [r11 - 0x28], r12
call fcn.14005eba0
mov r12, rax
test rax, rax
je 0x140060331
mov rax, qword [r14]
mov qword [rsp + 0x198], rbx
mov qword [rsp + 0x158], rsi
mov esi, ebp
test dword [rax + 0x2c], 0x1000000
je 0x14005f082
mov rdx, r12
mov rcx, r14
call fcn.140087670
mov rsi, rax
mov rbx, rsi
test rsi, rsi
je 0x14005f0b4
nop word [rax + rax]
cmp byte [rbx + 0x10], 0x6d
jne 0x14005f0ab
mov rcx, qword [rbx + 0x20]
xor edx, edx
call fcn.140088ec0
test eax, eax
je 0x14005f0ab
movzx eax, byte [rbx + 0x11]
or edi, eax
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x14005f090
test edi, edi
mov rbx, rbp
mov edi, 1
cmovne rbx, rsi
mov rsi, qword [r12 + 0x18]
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xf0], rbx
test rbx, rbx
jne 0x14005f125
mov rax, qword [r14]
test dword [rax + 0x2c], 0x80000
je 0x14005f11c
mov rcx, qword [r12 + 0x68]
lea r8, [rsp + 0xa0]
mov rdx, qword [r12]
add rcx, 0x50
call fcn.14000b280
test rax, rax
je 0x14005f10d
cmp qword [rax + 0x10], rbp
jne 0x14005f116
mov eax, ebp
cmp qword [r12 + 0x20], rbp
je 0x14005f118
mov eax, edi
test eax, eax
jne 0x14005f125
mov dword [rsp + 0x88], ebp
jmp 0x14005f12c
mov dword [rsp + 0x88], edi
mov rdx, r12
mov rcx, r14
call fcn.140058150
test eax, eax
jne 0x14006031e
mov r8d, ebp
test rbx, rbx
mov rdx, r12
mov rcx, r14
setne r8b
call fcn.14005ec80
test eax, eax
jne 0x14006031e
mov rdx, qword [r12 + 0x68]
mov edi, 0xfff0bdc0
test rdx, rdx
je 0x14005f18f
mov ecx, dword [r13 + 0x28]
mov edi, ebp
test ecx, ecx
jle 0x14005f18f
mov rax, qword [r13 + 0x20]
add rax, 0x18
nop dword [rax]
cmp qword [rax], rdx
je 0x14005f18f
inc edi
add rax, 0x20
cmp edi, ecx
jl 0x14005f180
mov rax, qword [r13 + 0x20]
xor r9d, r9d
mov r8, qword [r12]
mov edx, 9
movsxd rcx, edi
shl rcx, 5
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.140053180
mov ebp, eax
cmp eax, 1
je 0x140060317
mov rax, qword [rsp + 0xb8]
xor edx, edx
mov qword [rsp + 0x140], r15
mov r15d, dword [r14 + 0x34]
mov dword [rsp + 0x80], r15d
mov dword [rax + 0x50], r15d
mov ecx, dword [r14 + 0x34]
inc ecx
mov dword [rsp + 0xa0], edx
mov dword [r14 + 0x34], ecx
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x14005f218
nop
inc ecx
inc edx
mov dword [r14 + 0x34], ecx
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14005f200
mov dword [rsp + 0xa0], edx
test rsi, rsi
je 0x14005f23f
mov rax, qword [r14 + 0x218]
mov qword [rsp + 0xe0], rax
mov rax, qword [r12]
mov qword [r14 + 0x218], rax
mov qword [rsp + 0xd8], r14
mov rsi, qword [r14 + 0x10]
test rsi, rsi
jne 0x14005f25c
mov rcx, r14
call fcn.14007d750
mov rsi, rax
test rax, rax
je 0x1400602ec
cmp byte [r14 + 0x1e], 0
jne 0x14005f26a
or dword [rsi + 0xc0], 0x10
mov rbx, qword [r14 + 0xa0]
test rbx, rbx
je 0x14005f27b
mov rcx, rbx
jmp 0x14005f281
mov rbx, r14
mov rcx, r14
mov eax, dword [rcx + 0x7c]
bt eax, edi
jb 0x14005f299
bts eax, edi
mov dword [rcx + 0x7c], eax
cmp edi, 1
jne 0x14005f299
call fcn.14005caf0
mov eax, dword [rbx + 0x78]
or byte [rbx + 0x20], 1
bts eax, edi
cmp qword [rsp + 0xd0], 0
mov dword [rbx + 0x78], eax
mov rbx, qword [rsp + 0xc0]
je 0x14005f2e0
mov r9d, r15d
mov r8, rbx
mov rdx, r12
mov rcx, r14
call fcn.14005ed20
mov eax, r15d
mov dword [rsp + 0x64], r15d
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x9c], eax
mov rax, qword [rsp + 0xb8]
lea rcx, [rsp + 0xf8]
xorps xmm0, xmm0
mov qword [rsp + 0x100], rax
xorps xmm1, xmm1
mov qword [rsp + 0x128], 0
mov rdx, rbx
mov qword [rsp + 0xf8], r14
movdqu xmmword [rsp + 0x108], xmm0
movdqu xmmword [rsp + 0x118], xmm1
call fcn.1400431c0
test eax, eax
jne 0x1400602ec
test byte [r13 + 0x2c], 0x80
je 0x14005f376
inc dword [r14 + 0x38]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov edx, dword [r14 + 0x38]
mov dword [rsp + 0x7c], edx
cmp dword [rax + 0x3c], ecx
jg 0x14005f3ff
mov r9d, edx
mov dword [rsp + 0x20], 0
mov edx, 0x4c
xor r8d, r8d
mov rcx, rsi
call fcn.14002bc90
xor r9d, r9d
test ebp, ebp
jne 0x14005f54d
test rbx, rbx
jne 0x14005f54d
cmp dword [rsp + 0x88], ebx
jne 0x14005f54d
test byte [r12 + 0x46], 0x10
jne 0x14005f54d
mov rax, qword [r12]
mov r9b, 1
mov r8d, dword [r12 + 0x38]
mov edx, edi
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.140053240
test byte [r12 + 0x46], 0x20
jne 0x14005f4c8
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
mov rbx, qword [r12]
mov r8d, dword [r12 + 0x38]
cmp dword [rax + 0x3c], edx
jg 0x14005f436
mov eax, dword [rsp + 0x7c]
mov r9d, edi
mov edx, 0x83
mov dword [rsp + 0x20], eax
mov rcx, rsi
call fcn.14002bc90
mov edx, eax
jmp 0x14005f46e
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x4c
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14005f379
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x7c]
mov dword [rax + rcx*8 + 0xc], r8d
mov word [rax + rcx*8], 0x83
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], edi
mov qword [rax + rcx*8 + 0x10], 0
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
je 0x14005f486
mov r8, rbx
mov edx, 0xfffffffe
call fcn.14002ca30
jmp 0x14005f4c8
test edx, edx
jns 0x14005f492
mov edx, dword [rsi + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x14005f4bb
mov r9d, 0xfffffffe
mov r8, rbx
mov rcx, rsi
call fcn.14002cd50
jmp 0x14005f4c8
test rbx, rbx
je 0x14005f4c8
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xfe
mov rbx, qword [r12 + 0x10]
test rbx, rbx
je 0x140060202
nop word [rax + rax]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov edx, dword [rbx + 0x58]
cmp dword [rax + 0x3c], ecx
jg 0x14005f510
mov r8d, edx
mov dword [rsp + 0x20], 0
mov edx, 0x83
mov r9d, edi
mov rcx, rsi
call fcn.14002bc90
jmp 0x14005f53f
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov word [rax + rcx*8], 0x83
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], edi
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14005f4e0
jmp 0x140060202
test byte [rsp + 0x128], 0x40
mov ecx, 1
mov r13d, dword [rsp + 0x88]
mov edi, 0x41c
cmovne r13d, ecx
mov eax, 0x414
test r13d, r13d
mov dword [rsp + 0x88], r13d
cmovne di, ax
test byte [r12 + 0x46], 0x20
jne 0x14005f602
inc dword [r14 + 0x38]
movzx ebp, cx
mov rax, qword [rsi + 0x18]
mov r13, r9
mov edx, dword [r14 + 0x38]
mov word [rsp + 0x78], cx
movsxd rcx, dword [rsi + 0xb8]
mov dword [rsp + 0x84], edx
cmp dword [rax + 0x3c], ecx
jg 0x14005f5ce
mov dword [rsp + 0x20], r9d
xor r8d, r8d
mov r9d, edx
mov rcx, rsi
mov edx, 0x4f
call fcn.14002bc90
jmp 0x14005f71b
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x4f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14005f71e
mov r13, qword [r12 + 0x10]
test r13, r13
je 0x14005f623
nop dword [rax]
mov eax, dword [r13 + 0x64]
and al, 3
cmp al, 2
je 0x14005f623
mov r13, qword [r13 + 0x28]
test r13, r13
jne 0x14005f610
movsx ebp, word [r13 + 0x5e]
mov eax, dword [r14 + 0x38]
mov edx, ebp
mov r8d, dword [r14 + 0x34]
mov word [rsp + 0x78], bp
mov dword [rsp + 0x68], r8d
lea ecx, [rax + 1]
add eax, ebp
mov dword [r14 + 0x38], eax
lea eax, [r8 + 1]
mov dword [r14 + 0x34], eax
mov rax, qword [rsi + 0x18]
mov dword [rsp + 0x98], ecx
movsxd rcx, dword [rsi + 0xb8]
mov dword [rsp + 0xb0], ecx
cmp dword [rax + 0x3c], ecx
jg 0x14005f689
mov dword [rsp + 0x20], r9d
mov rcx, rsi
mov r9d, edx
mov edx, 0x6b
call fcn.14002bc90
mov dword [rsp + 0xb0], eax
jmp 0x14005f6b8
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x6b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov rbx, qword [r14 + 0x10]
mov rdx, r13
mov rcx, r14
call fcn.14005d910
mov rcx, qword [rbx]
mov r8, rax
cmp byte [rcx + 0x55], 0
je 0x14005f6df
mov edx, 0xfffffffa
call fcn.14002ca30
jmp 0x14005f71b
movsxd rax, dword [rbx + 0xb8]
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rdx*8 - 0x17], 0
lea r10, [rax + rdx*8]
je 0x14005f70d
mov r9d, 0xfffffffa
lea rdx, [r10 - 0x18]
mov rcx, rbx
call fcn.14002cd50
jmp 0x14005f71b
test r8, r8
je 0x14005f71b
mov qword [r10 - 8], r8
mov byte [r10 - 0x17], 0xfa
xor r9d, r9d
mov r8, qword [rsp + 0xc0]
lea eax, [r15 + 1]
mov rdx, qword [rsp + 0xb8]
mov rcx, r14
mov dword [rsp + 0x30], eax
mov word [rsp + 0x28], di
mov qword [rsp + 0x20], r9
xor r9d, r9d
call fcn.14009e240
mov qword [rsp + 0xc8], rax
test rax, rax
je 0x1400602e4
mov rbx, qword [rax + 0x24]
mov rdi, qword [rsp + 0xa8]
movzx eax, byte [rax + 0x3d]
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0xe8], rbx
test byte [rdi + 0x2c], 0x80
mov byte [rsp + 0x60], al
je 0x14005f7ba
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov r8d, dword [rsp + 0x7c]
cmp dword [rax + 0x3c], ecx
jg 0x14005f821
mov r9d, 1
mov dword [rsp + 0x20], 0
mov edx, 0x5b
mov rcx, rsi
call fcn.14002bc90
xor r11d, r11d
test r13, r13
je 0x14005f858
movsx r15, bp
test r15, r15
jle 0x14005f815
mov ebp, dword [rsp + 0x98]
mov rdi, r11
mov ebx, dword [rsp + 0x80]
mov rax, qword [r13 + 8]
mov r8d, ebx
mov rdx, r12
mov dword [rsp + 0x20], ebp
mov rcx, rsi
movsx r9d, word [rax + rdi*2]
call fcn.140049b50
inc ebp
inc rdi
cmp rdi, r15
jl 0x14005f7e0
mov rbx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xa8]
mov ebp, dword [rsp + 0x98]
jmp 0x14005f944
lea eax, [rcx + 1]
xor r11d, r11d
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x5b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], r11
jmp 0x14005f7bd
mov ebp, dword [r14 + 0x38]
lea rdx, [r14 + 0xc4]
movzx r8d, byte [r14 + 0x25]
inc ebp
mov r10, qword [r14 + 0x10]
mov ecx, r11d
test r8b, r8b
je 0x14005f88d
cmp dword [rdx], r15d
jne 0x14005f882
cmp word [rdx + 4], 0xffff
je 0x14005f8b7
inc ecx
add rdx, 0x14
cmp ecx, r8d
jl 0x14005f876
mov rax, qword [r10 + 0x18]
movsxd rdx, dword [r10 + 0xb8]
cmp dword [rax + 0x3c], edx
jg 0x14005f8f6
mov r9d, ebp
mov dword [rsp + 0x20], r11d
mov r8d, r15d
mov edx, 0x7b
mov rcx, r10
call fcn.14002bc90
jmp 0x14005f926
mov eax, dword [r14 + 0x50]
mov r8d, r11d
mov dword [rdx + 0x10], eax
inc dword [r14 + 0x50]
cmp byte [r14 + 0x25], 0
mov r9d, dword [rdx + 0xc]
jbe 0x14005f8f1
lea rcx, [r14 + 0xca]
cmp dword [rcx + 6], r9d
jne 0x14005f8e0
mov byte [rcx], 0
movzx eax, byte [r14 + 0x25]
inc r8d
add rcx, 0x14
cmp r8d, eax
jl 0x14005f8d7
mov ebp, dword [rdx + 0xc]
jmp 0x14005f93a
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r10 + 0xb8], eax
mov rax, qword [r10 + 0x68]
mov word [rax + rcx*8], 0x7b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov r9d, ebp
mov r8d, 0xffffffff
mov edx, r15d
mov rcx, r14
call fcn.1400498d0
cmp ebp, dword [r14 + 0x38]
jle 0x14005f944
mov dword [r14 + 0x38], ebp
cmp byte [rsp + 0x60], 0
mov r15d, dword [rsp + 0xec]
je 0x14005fa38
movzx eax, word [rsp + 0x78]
mov rcx, rdi
mov word [rsp + 0x90], ax
mov eax, dword [rsp + 0xa0]
add eax, 2
movsxd rdx, eax
call fcn.140006e60
mov qword [rsp + 0x70], rax
mov rdi, rax
test rax, rax
jne 0x14005f9a0
mov rcx, qword [rsp + 0xc8]
call fcn.14009ef30
mov r13, qword [rsp + 0xa8]
jmp 0x1400602f1
movsxd rdi, dword [rsp + 0xa0]
mov edx, 1
mov rcx, rax
lea r8, [rdi + 1]
call fcn.1400f4290
mov rdx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x80]
mov byte [rdi + rdx + 1], 0
test ebx, ebx
js 0x14005f9d7
sub ebx, ecx
movsxd rax, ebx
mov byte [rax + rdx], 0
test r15d, r15d
js 0x14005f9e7
mov eax, r15d
sub eax, ecx
cdqe
mov byte [rax + rdx], 0
movsxd rax, dword [rsp + 0xb0]
test eax, eax
je 0x14005fa24
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
jne 0x14005fa24
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.14002ca30
mov word [rbx], 0xa1
mov qword [rbx + 0x10], 0
mov rcx, rsi
call fcn.14002c340
mov dword [rsp + 0xb4], eax
jmp 0x14005fb66
test r13, r13
je 0x14005fae4
inc dword [r14 + 0x38]
xor edi, edi
mov rcx, qword [r14]
mov rdx, r13
mov ebp, dword [r14 + 0x38]
movsx ebx, word [rsp + 0x78]
mov dword [rsp + 0x90], edi
call fcn.1400693e0
mov r8d, dword [rsp + 0x98]
mov r9d, ebx
mov dword [rsp + 0x30], ebx
mov edx, 0x63
mov qword [rsp + 0x28], rax
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.14002bff0
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14005fab5
mov r8d, dword [rsp + 0x68]
mov r9d, ebp
mov edx, 0x7e
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.14002bc90
jmp 0x14005fb59
mov edx, dword [rsp + 0x68]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x7e
mov byte [rax + rcx*8 + 3], dil
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x14005fb55
movsxd rcx, dword [rsi + 0xb8]
mov eax, 1
mov word [rsp + 0x90], ax
mov rax, qword [rsi + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x14005fb23
mov r8d, dword [rsp + 0x84]
mov r9d, ebp
mov edx, 0x8e
mov dword [rsp + 0x20], 0
mov rcx, rsi
call fcn.14002bc90
jmp 0x14005fb59
mov edx, dword [rsp + 0x84]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov word [rax + rcx*8], 0x8e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], ebp
mov rcx, qword [rsp + 0xc8]
call fcn.14009ef30
cmp qword [rsp + 0xd0], 0
lea rdi, [0x14012aae0]
jne 0x14005fc7f
xor edx, edx
cmp byte [rsp + 0x60], 2
mov ebx, edx
jne 0x14005fbdb
mov rax, qword [rsi + 0x18]
movsxd rbx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ebx
jg 0x14005fbb2
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, socket
xor r8d, r8d
mov rcx, rsi
call fcn.14002bc90
mov ebx, eax
jmp 0x14005fbdb
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], socket
mov byte [rax + rcx*8 + 3], dl
mov qword [rax + rcx*8 + 4], rdx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
lea rax, [rsp + 0x9c]
mov r9b, 8
mov qword [rsp + 0x38], rax
mov r8d, 0x69
lea rax, [rsp + 0x64]
mov rdx, r12
mov qword [rsp + 0x30], rax
mov rcx, r14
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x20], eax
call fcn.14006ddf0
cmp byte [rsp + 0x60], 2
jne 0x14005fc71
mov rax, qword [rsi]
mov edx, dword [rsi + 0xb8]
cmp byte [rax + 0x55], 0
je 0x14005fc47
mov rax, rdi
mov dword [rax + 8], edx
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x8c], eax
jmp 0x14005fc86
lea eax, [rdx - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x8c], eax
jmp 0x14005fc86
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x8c], eax
cmp byte [rsp + 0x60], 0
je 0x14005fcdf
test byte [r12 + 0x46], 0x10
mov edx, dword [rsp + 0x64]
mov ebx, dword [rsp + 0x90]
jne 0x14005fe1f
mov rcx, qword [rsp + 0x70]
mov eax, edx
sub eax, dword [rsp + 0x80]
cdqe
cmp byte [rax + rcx], 0
je 0x14005fe13
mov r9d, dword [rsp + 0xb4]
mov r8d, edx
movsx eax, bx
mov edx, 0x1e
mov dword [rsp + 0x28], eax
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.14002c260
jmp 0x14005fe0f
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
mov dword [rsp + 0x6c], edx
mov ecx, dword [rax + 0x3c]
test r13, r13
je 0x14005fdac
cmp ecx, edx
jg 0x14005fd28
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
mov edx, 0x39
mov dword [rsp + 0x20], 0
mov rcx, rsi
call fcn.14002bc90
mov edx, dword [rsp + 0x68]
xor r8d, r8d
mov dword [rsp + 0x6c], eax
jmp 0x14005fd59
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x68]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x39
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14005fd86
mov dword [rsp + 0x20], r8d
mov r9d, ebp
mov r8d, edx
mov rcx, rsi
mov edx, 0x79
call fcn.14002bc90
jmp 0x14005fe08
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x79
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r8d
jmp 0x14005fdfe
mov r8d, dword [rsp + 0x84]
cmp ecx, edx
jg 0x14005fdd2
xor r9d, r9d
mov dword [rsp + 0x20], ebp
mov edx, 0x3e
mov rcx, rsi
call fcn.14002bc90
mov dword [rsp + 0x6c], eax
jmp 0x14005fe08
lea rcx, [rdx + rdx*2]
mov dword [rsp + 0x6c], edx
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], r8d
xor r8d, r8d
mov dword [rax + rcx*8 + 8], r8d
mov word [rax + rcx*8], 0x3e
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r8
mov byte [rax + rcx*8 + 3], 0
mov ebx, dword [rsp + 0x90]
mov edx, dword [rsp + 0x64]
test byte [r12 + 0x46], 0x10
je 0x14005ff44
mov rbx, qword [r12 + 0x58]
test rbx, rbx
je 0x14005fe3f
mov rax, qword [rsp + 0xa8]
cmp qword [rbx], rax
je 0x14005fe3f
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14005fe31
mov rdx, r12
mov rcx, r14
call fcn.14008f3f0
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], edx
jg 0x14005fe78
mov r9d, 1
mov dword [rsp + 0x20], ebp
xor r8d, r8d
mov edx, 0xc
mov rcx, rsi
call fcn.14002bc90
mov edx, eax
jmp 0x14005fead
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0xc
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], 1
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x14005fefb
test edx, edx
jns 0x14005fec2
mov edx, dword [rsi + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x14005feeb
mov r9d, 0xfffffff6
mov r8, rbx
mov rcx, rsi
call fcn.14002cd50
jmp 0x14005fefb
test rbx, rbx
je 0x14005fefb
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf6
inc dword [rbx + 0x18]
movsxd rax, dword [rsi + 0xb8]
test eax, eax
jle 0x14005ff13
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8 - 0x15], 2
mov rax, qword [r14 + 0xa0]
mov rcx, r14
test rax, rax
cmovne rcx, rax
cmp byte [rsp + 0x60], 1
mov byte [rcx + 0x21], 1
jne 0x14005ffa6
cmp qword [r14 + 0xa0], 0
jne 0x14005ffa6
mov byte [r14 + 0x20], 0
mov rax, qword [rsi + 0x18]
jmp 0x14005ffb5
cmp dword [rsp + 0x88], 0
mov ecx, 0xffffffff
jne 0x14005ff5a
cmp r15d, edx
cmovne ecx, r15d
cmp byte [r14 + 0x1e], 0
mov r9d, edx
movzx r15d, byte [rsp + 0x60]
mov rdx, r12
mov r8, qword [rsp + 0xf0]
sete al
mov dword [rsp + 0x50], ecx
mov rcx, r14
mov byte [rsp + 0x48], r15b
mov byte [rsp + 0x40], 0xa
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x8c]
mov word [rsp + 0x30], bx
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], eax
call fcn.140060440
jmp 0x14005ffac
movzx r15d, byte [rsp + 0x60]
mov rax, qword [rsi + 0x18]
test r15b, r15b
je 0x14005ffe5
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14005ffd3
mov eax, dword [rsp + 0xb4]
not eax
movsxd rcx, eax
mov eax, dword [rsi + 0xb8]
mov dword [rdx + rcx*4], eax
mov rcx, qword [rsp + 0xc8]
call fcn.14009ef30
jmp 0x1400600fb
movsxd rcx, dword [rsi + 0xb8]
mov edx, dword [rax + 0x3c]
test r13, r13
je 0x140060076
mov ebx, dword [rsp + 0x6c]
lea r8d, [rbx + 1]
cmp edx, ecx
jg 0x140060023
mov r9d, r8d
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x68]
mov edx, 7
mov rcx, rsi
call fcn.14002bc90
jmp 0x140060057
mov edx, dword [rsp + 0x68]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov word [rax + rcx*8], 7
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r8d
mov edx, dword [rsi + 0xb8]
test ebx, ebx
jns 0x140060064
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x1400600f8
movsxd rax, ebx
jmp 0x1400600ec
cmp edx, ecx
jg 0x140060099
mov r9d, dword [rsp + 0x6c]
xor r8d, r8d
mov edx, 0xd
mov dword [rsp + 0x20], 0
mov rcx, rsi
call fcn.14002bc90
jmp 0x1400600cf
mov edx, dword [rsp + 0x6c]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
xor r8d, r8d
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov ecx, dword [rsp + 0x6c]
mov edx, dword [rsi + 0xb8]
test ecx, ecx
jns 0x1400600e0
lea ecx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x1400600f8
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rdi, [rax + rcx*8]
mov dword [rdi + 8], edx
cmp qword [rsp + 0xd0], 0
jne 0x1400601fa
test byte [r12 + 0x46], 0x10
jne 0x1400601fa
test r13, r13
jne 0x140060145
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14006018b
mov r8d, dword [rsp + 0x64]
xor r9d, r9d
mov edx, WSAStartup
mov dword [rsp + 0x20], r13d
mov rcx, rsi
call fcn.14002bc90
xor edx, edx
mov rbx, qword [r12 + 0x10]
test rbx, rbx
je 0x1400601fa
mov edi, dword [rsp + 0x8c]
nop dword [rax]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1400601bd
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, WSAStartup
mov r8d, edi
mov rcx, rsi
call fcn.14002bc90
xor edx, edx
jmp 0x1400601eb
mov edx, dword [rsp + 0x64]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov word [rax + rcx*8], WSAStartup
mov byte [rax + rcx*8 + 3], 0
jmp 0x140060147
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], WSAStartup
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdx
mov rbx, qword [rbx + 0x28]
inc edi
test rbx, rbx
jne 0x140060160
mov r13, qword [rsp + 0xa8]
cmp byte [r14 + 0x1e], 0
jne 0x140060225
cmp qword [r14 + 0xa8], 0
jne 0x140060225
cmp qword [r14 + 0x98], 0
je 0x140060225
mov rcx, r14
call fcn.140069b20
test byte [r13 + 0x2c], 0x80
je 0x1400602ec
cmp byte [r14 + 0x1e], 0
jne 0x1400602ec
cmp qword [r14 + 0xa8], 0
jne 0x1400602ec
mov rax, qword [rsi + 0x18]
xor ebx, ebx
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140060279
mov r8d, dword [rsp + 0x7c]
mov r9d, 1
mov edx, 0x57
mov dword [rsp + 0x20], ebx
mov rcx, rsi
call fcn.14002bc90
jmp 0x1400602ab
mov edx, dword [rsp + 0x7c]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x57
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], rbx
mov edx, 1
mov rcx, rsi
call fcn.14002e570
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x1400602ec
mov rcx, qword [rsi + 0x80]
lea rdx, str.rows_deleted
mov r9b, 1
mov qword [rsp + 0x20], rbx
mov r8d, 0xffffffff
call fcn.14002ae20
jmp 0x1400602ec
mov r13, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x70]
mov rax, qword [rsp + 0xd8]
mov r15, qword [rsp + 0x140]
test rax, rax
je 0x140060321
mov rcx, qword [rsp + 0xe0]
mov qword [rax + 0x218], rcx
jmp 0x140060321
mov rdi, qword [rsp + 0x70]
jmp 0x140060321
mov rdi, rbp
mov rsi, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x198]
mov r12, qword [rsp + 0x150]
mov rdx, qword [rsp + 0xb8]
mov rcx, r13
call fcn.14005c280
mov rax, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x160]
test rax, rax
je 0x140060371
mov rdx, rax
mov rcx, r13
call fcn.140044c80
test rdi, rdi
je 0x140060420
test r13, r13
je 0x1400603c5
cmp qword [r13 + 0x298], 0
je 0x140060399
mov rdx, rdi
mov rcx, r13
call fcn.140006a00
jmp 0x140060420
cmp rdi, qword [r13 + 0x180]
jb 0x1400603c5
cmp rdi, qword [r13 + 0x188]
jae 0x1400603c5
mov rax, qword [r13 + 0x178]
mov qword [rdi], rax
dec dword [r13 + 0x160]
mov qword [r13 + 0x178], rdi
jmp 0x140060420
cmp dword [0x140126d50], 0
je 0x140060417
mov rcx, qword [0x14012acd8]
test rcx, rcx
je 0x1400603e0
call qword [0x140126dd8]
mov rcx, rdi
call qword [0x140126d90]
dec qword [0x14012aa88]
movsxd rcx, eax
sub qword [0x14012aa40], rcx
mov rcx, rdi
call qword [0x140126d80]
mov rcx, qword [0x14012acd8]
test rcx, rcx
je 0x140060420
call qword [0x140126de8]
jmp 0x140060420
mov rcx, rdi
call qword [0x140126d80]
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.1400d1190
add rsp, 0x168
pop r13
pop rdi
ret