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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push r14
push r15
sub rsp, 0x1b0
mov r15, qword [rcx]
xor ebx, ebx
mov r14, rcx
mov qword [rax - 0x38], r12
mov r12, rdx
mov qword [rax - 0x40], r13
mov r13d, ebx
mov dword [rsp + 0xd0], ebx
mov qword [rsp + 0xf0], rbx
mov dword [rsp + 0x7c], ebx
mov dword [rsp + 0xcc], ebx
mov dword [rsp + 0xb4], ebx
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x74], ebx
mov dword [rsp + 0xe0], ebx
mov dword [rsp + 0xb8], ebx
mov dword [rsp + 0xc8], ebx
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0xe8], r15
cmp dword [rcx + 0x50], ebx
jne 0x180132e1d
cmp byte [r15 + 0x55], bl
jne 0x180132e1d
mov qword [rax - 0x20], rbp
call fcn.18012f620
mov qword [rsp + 0xa0], rax
mov rbp, rax
test rax, rax
je 0x180132e15
mov rdx, qword [rax + 0x68]
mov r9, qword [r14]
mov qword [rsp + 0x1a0], rsi
mov esi, 0xfff0bdc0
mov dword [rsp + 0x78], esi
mov qword [rsp + 0x198], rdi
test rdx, rdx
je 0x180130d87
movsxd rcx, dword [r9 + 0x28]
mov esi, ebx
mov dword [rsp + 0x78], ebx
test ecx, ecx
jle 0x180130d87
mov rax, qword [r9 + 0x20]
mov r8, rcx
add rax, 0x18
mov ecx, ebx
nop
cmp qword [rax], rdx
je 0x180130d83
inc esi
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x180130d70
mov dword [rsp + 0x78], esi
test dword [r9 + 0x2c], 0x800000
mov ecx, ebx
mov dword [rsp + 0x84], ebx
mov rdi, rbx
je 0x180130dad
mov rdx, rbp
mov rcx, r14
call fcn.1801306a0
mov rdi, rax
mov ecx, ebx
mov rbx, rdi
test rdi, rdi
je 0x180130dfb
mov r12, qword [rsp + 0x1e0]
nop dword [rax]
cmp byte [rbx + 0x10], 0x6e
jne 0x180130dea
mov rcx, qword [rbx + 0x20]
mov rdx, r12
call fcn.18007c440
mov ecx, dword [rsp + 0x84]
test eax, eax
je 0x180130dea
movzx eax, byte [rbx + 0x11]
or ecx, eax
mov dword [rsp + 0x84], ecx
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x180130dc0
mov r12, qword [rsp + 0x1d8]
xor ebx, ebx
mov rdx, rbp
test ecx, ecx
mov eax, ebx
mov rcx, r14
cmovne rax, rdi
mov qword [rsp + 0xc0], rax
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0x100], rax
call fcn.180142750
test eax, eax
jne 0x180132e05
mov r8d, dword [rsp + 0x84]
mov rdx, rbp
mov rcx, r14
call fcn.18011bc80
test eax, eax
jne 0x180132e05
mov r10d, dword [r14 + 0x54]
mov dword [r12 + 0x50], r10d
inc dword [r14 + 0x54]
test byte [rbp + 0x46], 0x20
mov ecx, dword [r14 + 0x54]
lea eax, [r10 + 1]
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x64], r10d
mov dword [rsp + 0x6c], r10d
jne 0x180130e80
mov r9d, ebx
mov qword [rsp + 0x90], rbx
jmp 0x180130eac
mov r9, qword [rbp + 0x10]
mov qword [rsp + 0x90], r9
test r9, r9
je 0x180130eac
mov eax, dword [r9 + 0x64]
and al, 3
cmp al, 2
je 0x180130ea4
mov r9, qword [r9 + 0x28]
test r9, r9
jne 0x180130e91
mov qword [rsp + 0x90], r9
mov rdx, qword [rbp + 0x10]
test rdx, rdx
je 0x180130ef1
nop word [rax + rax]
mov eax, dword [rdx + 0x64]
mov r8d, ecx
and al, 3
cmp al, 2
jne 0x180130ede
test r9, r9
je 0x180130ede
mov dword [r12 + 0x50], ecx
mov r8d, dword [r14 + 0x54]
mov dword [rsp + 0x64], ecx
lea ecx, [r8 + 1]
inc ebx
mov dword [r14 + 0x54], ecx
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x180130ec0
movsx eax, word [rbp + 0x3e]
mov rcx, r15
add eax, ebx
movsxd rdi, ebx
cdqe
lea rdx, [rax*4 + 2]
add rdx, rdi
call fcn.1800f8480
mov qword [rsp + 0xa8], rax
mov r12, rax
test rax, rax
je 0x180132e05
movsx rcx, word [rbp + 0x3e]
mov edx, 1
lea rax, [rax + rcx*4]
lea r15, [rax + rdi*4]
mov qword [rsp + 0x108], rax
lea eax, [rbx + 1]
mov qword [rsp + 0xd8], r15
cdqe
mov rcx, r15
mov r8, rax
mov qword [rsp + 0x118], rax
call fcn.180162c50
xor r8d, r8d
mov byte [r15 + rdi + 1], r13b
mov edx, r8d
cmp r8w, word [rbp + 0x3e]
jge 0x180130f94
mov rcx, r12
nop dword [rax]
nop word [rax + rax]
mov dword [rcx], 0xffffffff
lea rcx, [rcx + 4]
movsx eax, word [rbp + 0x3e]
inc edx
cmp edx, eax
jl 0x180130f80
mov rax, qword [rsp + 0x1d8]
xor bl, bl
mov rcx, qword [rsp + 0x1e0]
xorps xmm0, xmm0
mov qword [rsp + 0x150], rax
xorps xmm1, xmm1
xor al, al
mov qword [rsp + 0x178], r8
movdqu xmmword [rsp + 0x158], xmm0
mov r12d, r8d
mov qword [rsp + 0x148], r14
movdqu xmmword [rsp + 0x168], xmm1
mov dword [rsp + 0xb0], ebx
mov byte [rsp + 0x60], al
cmp dword [rcx], r8d
jle 0x180131270
xor ebx, ebx
movsxd r13, esi
mov r15d, ebx
nop word [rax + rax]
mov rdx, qword [rcx + 8]
lea rcx, [rsp + 0x148]
mov rdx, qword [r15 + rdx]
call fcn.180128310
test eax, eax
jne 0x180132d4f
movsx rcx, word [rbp + 0x3e]
mov r11d, ebx
mov rdi, rbx
cmp bx, cx
jge 0x1801310d6
mov rax, qword [rsp + 0x1e0]
lea r9, [0x1801a59b0]
mov rbp, qword [rbp + 8]
mov rsi, rcx
mov r10, rbp
mov r14, qword [rax + 8]
mov rbx, qword [r14 + r15 + 8]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbx]
mov r8, qword [r10]
movzx ecx, byte [rax + r9]
movzx edx, byte [r8]
movzx eax, byte [rdx + r9]
cmp eax, ecx
jne 0x1801310b7
mov r9, rbx
sub r9, r8
nop
test dl, dl
je 0x18013113c
movzx eax, byte [r9 + r8 + 1]
lea rcx, [0x1801a59b0]
movzx edx, byte [r8 + 1]
inc r8
movzx ecx, byte [rax + rcx]
lea rax, [0x1801a59b0]
movzx eax, byte [rdx + rax]
cmp eax, ecx
je 0x180131080
lea r9, [0x1801a59b0]
inc r11d
inc rdi
add r10, 0x20
cmp rdi, rsi
jl 0x180131060
mov r14, qword [rsp + 0x1d0]
mov rbp, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
movsx eax, word [rbp + 0x3e]
cmp r11d, eax
jl 0x1801311b1
cmp qword [rsp + 0x90], 0
jne 0x18013122b
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rax + 8]
mov rcx, qword [rbx + r15 + 8]
call fcn.18011bd20
test eax, eax
je 0x18013122b
mov rax, qword [rbx + r15]
lea r9, str.ROWID
mov qword [rsp + 0xf0], rax
mov rdi, 0xffffffffffffffff
mov byte [rsp + 0x60], 1
jmp 0x1801311ce
mov rax, qword [rsp + 0xa0]
movsx eax, word [rax + 0x3c]
cmp r11d, eax
jne 0x180131160
mov rax, qword [r14 + r15]
mov qword [rsp + 0xf0], rax
mov byte [rsp + 0x60], 1
jmp 0x180131190
cmp qword [rsp + 0x90], 0
je 0x180131190
mov ebx, dword [rsp + 0xb0]
mov rax, rdi
shl rax, 5
movzx ebx, bl
test byte [rax + rbp + 0x1b], 1
mov eax, 1
cmovne ebx, eax
mov dword [rsp + 0xb0], ebx
mov rsi, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x1d0]
mov rbp, qword [rsp + 0xa0]
mov dword [rsi + rdi*4], r12d
jmp 0x1801310de
test rdi, rdi
jns 0x1801311bf
lea r9, str.ROWID
jmp 0x1801311ce
mov rax, qword [rbp + 8]
mov rcx, rdi
shl rcx, 5
mov r9, qword [rcx + rax]
mov rax, qword [rsp + 0xe8]
mov rcx, r13
mov r8, qword [rbp]
mov edx, reloc.WS2_32.dll_socket
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.1800ee280
cmp eax, 1
je 0x180132d4f
cmp eax, 2
jne 0x180131210
mov dword [rsi + rdi*4], 0xffffffff
mov rcx, qword [rsp + 0x1e0]
inc r12d
add r15, 0x28
cmp r12d, dword [rcx]
jge 0x18013125c
xor ebx, ebx
jmp 0x180131000
movsxd rax, r12d
lea rdx, str.no_such_column:__s
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x1e0]
mov r8, qword [rax + 8]
mov r8, qword [r8 + rcx*8 + 8]
mov rcx, r14
call fcn.1800fb3f0
mov byte [r14 + 0x1d], 1
jmp 0x180132d4f
mov ebx, dword [rsp + 0xb0]
mov r13, qword [rsp + 0xf0]
movzx eax, byte [rsp + 0x60]
mov rcx, qword [rsp + 0x1d8]
lea r15d, [rax + rbx]
movzx eax, byte [rbp + 0x46]
mov rdx, rbp
mov rsi, qword [rsp + 0xa8]
and al, 0x10
neg al
mov byte [rsp + 0x80], r15b
mov r8, rsi
sbb rax, rax
mov qword [rcx + 0x68], rax
mov rcx, r14
movzx eax, r15b
mov r9d, eax
mov dword [rsp + 0x114], eax
call fcn.1801032e0
mov r9, qword [rbp + 0x10]
movsxd r12, eax
mov dword [rsp + 0x88], r12d
test r9, r9
je 0x18013136b
mov r11, qword [rsp + 0xd8]
mov rdi, r12
mov rbx, qword [rsp + 0x108]
inc r11
mov r13, qword [rsp + 0x90]
xor r12d, r12d
test r15b, r15b
jne 0x18013133d
test rdi, rdi
jne 0x18013133d
cmp qword [r9 + 0x48], r12
jne 0x18013133d
cmp r9, r13
je 0x18013133d
movzx eax, word [r9 + 0x5e]
mov r10d, r12d
mov rdx, r12
cmp r12w, ax
jae 0x18013134a
mov rcx, qword [r9 + 8]
mov r8d, eax
nop dword [rax]
movsx rax, word [rcx]
test ax, ax
js 0x18013133d
cmp dword [rsi + rax*4], r12d
jge 0x18013133d
inc rdx
add rcx, 2
cmp rdx, r8
jl 0x180131320
jmp 0x18013134a
inc dword [r14 + 0x58]
mov r10d, dword [r14 + 0x58]
test r10d, r10d
jne 0x18013134d
mov byte [r11], r12b
mov dword [rbx], r10d
inc r11
mov r9, qword [r9 + 0x28]
add rbx, 4
test r9, r9
jne 0x1801312f0
mov r13, qword [rsp + 0xf0]
mov r12d, edi
mov rsi, qword [r14 + 0x10]
mov qword [rsp + 0xf8], rsi
test rsi, rsi
jne 0x18013140e
mov rcx, r14
call fcn.1801362a0
mov qword [rsp + 0xf8], rax
mov rsi, rax
mov qword [r14 + 0x10], rax
test rax, rax
je 0x1801313ed
mov rcx, qword [rax + 0x30]
movsxd rdx, dword [rax + 0x3c]
cmp dword [rcx + 0x64], edx
jg 0x1801313c4
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x9e
mov rcx, rsi
call fcn.1800cfb00
jmp 0x1801313ed
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor edx, edx
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x9e
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 4], rdx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
cmp qword [r14 + 0x1c8], 0
jne 0x180131405
mov rax, qword [r14]
test byte [rax + 0x50], 8
jne 0x180131405
mov byte [r14 + 0x23], 1
test rsi, rsi
je 0x180132d4f
cmp byte [r14 + 0x1e], 0
jne 0x18013141c
or dword [rsi + 0x94], 4
mov rax, qword [r14 + 0x1c8]
mov rbx, r14
movsxd rdi, dword [rsp + 0x78]
test rax, rax
cmovne rbx, rax
mov eax, dword [rbx + 0x174]
bt eax, edi
jb 0x18013146f
bts eax, edi
mov rcx, rdi
mov dword [rbx + 0x174], eax
mov rax, qword [rbx]
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + rcx + 0x18]
mov eax, dword [rcx]
mov dword [rbx + rdi*4 + 0x178], eax
cmp edi, 1
jne 0x18013146f
mov rcx, rbx
call fcn.18011e610
mov eax, dword [rbx + 0x170]
or byte [rbx + 0x20], 1
bts eax, edi
mov dword [rbx + 0x170], eax
test byte [rbp + 0x46], 0x10
jne 0x180131514
mov edi, dword [r14 + 0x58]
inc edi
cmp byte [rsp + 0xb0], 0
mov dword [rsp + 0xc8], edi
lea edx, [rdi + 1]
mov dword [rsp + 0x74], edx
mov dword [r14 + 0x58], edx
mov dword [rsp + 0x68], edx
jne 0x1801314c6
mov rax, qword [rsp + 0xc0]
test rax, rax
jne 0x1801314c6
mov ecx, edx
test r12d, r12d
je 0x1801314e2
movsx ecx, word [rbp + 0x3e]
lea eax, [rdx + 1]
add ecx, edx
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0xc0]
mov dword [r14 + 0x58], ecx
test r15b, r15b
jne 0x1801314f1
test rax, rax
jne 0x1801314f1
test r12d, r12d
je 0x1801314fe
lea eax, [rcx + 1]
mov dword [rsp + 0x74], eax
mov ecx, eax
mov dword [r14 + 0x58], eax
lea eax, [rcx + 1]
mov dword [rsp + 0xe0], eax
movsx eax, word [rbp + 0x3e]
add eax, ecx
mov dword [r14 + 0x58], eax
jmp 0x18013151b
mov edi, dword [rsp + 0xc8]
cmp qword [rsp + 0x100], 0
mov r12d, dword [rsp + 0x64]
mov rbx, qword [rsp + 0x1e8]
je 0x180131566
mov rax, qword [r14 + 0x238]
mov r9d, r12d
mov qword [rsp + 0x130], rax
mov r8, rbx
mov rax, qword [rbp]
mov rdx, rbp
mov rcx, r14
mov qword [r14 + 0x238], rax
call fcn.18011dc30
mov qword [rsp + 0x128], r14
mov rdx, rbx
lea rcx, [rsp + 0x148]
call fcn.180128310
test eax, eax
jne 0x180132d33
movzx eax, byte [rbp + 0x46]
test al, 0x10
je 0x1801315c8
mov eax, dword [rsp + 0x1f0]
mov r8, rbp
mov r9, qword [rsp + 0x1e0]
mov rcx, r14
mov rdx, qword [rsp + 0x1d8]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
call fcn.18014d3d0
jmp 0x180132d33
test al, 0x20
jne 0x180131700
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1801315fc
mov eax, dword [rsp + 0x68]
xor r8d, r8d
mov r9d, edi
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [r8 + 0x19]
call fcn.1800cfb00
xor r8d, r8d
jmp 0x18013162e
mov edx, dword [rsp + 0x68]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
xor r8d, r8d
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
mov ecx, dword [rsp + 0x8c]
mov eax, 4
mov rdx, qword [rsp + 0x1d8]
xor r9d, r9d
mov dword [rsp + 0x30], ecx
mov rcx, r14
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r8
mov r8, rbx
call fcn.180144d20
mov r13, rax
test rax, rax
je 0x180132d33
mov rcx, qword [rsi + 0x30]
movsxd rdx, dword [rsi + 0x3c]
mov rbx, qword [rax + 0x4c]
movzx r15d, byte [rax + 0x38]
mov qword [rsp + 0x120], rbx
mov dword [rsp + 0x78], r15d
cmp dword [rcx + 0x64], edx
jg 0x1801316ac
mov r9d, dword [rsp + 0x68]
xor eax, eax
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x67]
call fcn.1800cfb00
mov edx, dword [rsp + 0x68]
jmp 0x1801316df
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x68]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x67
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
test r15d, r15d
jne 0x180131926
mov r9d, edx
mov r8d, edi
mov edx, 0x81
mov rcx, rsi
call fcn.180135530
jmp 0x180131926
mov eax, dword [r14 + 0x58]
xor r13d, r13d
mov edx, dword [r14 + 0x54]
mov rdi, qword [rsp + 0x90]
mov dword [rsp + 0x7c], edx
lea ebp, [rax + 1]
inc eax
mov dword [rsp + 0x110], ebp
movsx r12, word [rdi + 0x5e]
add eax, r12d
mov dword [r14 + 0x58], eax
mov dword [rsp + 0x70], eax
lea eax, [rdx + 1]
mov dword [r14 + 0x54], eax
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180131764
mov r9d, ebp
mov dword [rsp + 0x20], r13d
xor r8d, r8d
lea edx, [r13 + 0x19]
mov rcx, rsi
call fcn.1800cfb00
mov edx, dword [rsp + 0x7c]
jmp 0x180131790
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov rax, qword [rsi + 0x30]
movsxd r15, dword [rsi + 0x3c]
cmp dword [rax + 0x64], r15d
jg 0x1801317bb
mov r8d, edx
mov dword [rsp + 0x20], r13d
mov edx, 0x39
mov r9d, r12d
mov rcx, rsi
call fcn.1800cfb00
mov r15d, eax
jmp 0x1801317e8
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x39
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov rdx, rdi
mov rcx, r14
call fcn.180141eb0
mov ecx, dword [rsp + 0x8c]
mov eax, 4
mov rdx, qword [rsp + 0x1d8]
xor r9d, r9d
mov dword [rsp + 0x30], ecx
mov r8, rbx
mov word [rsp + 0x28], ax
mov rcx, r14
mov qword [rsp + 0x20], r13
call fcn.180144d20
mov qword [rsp + 0x140], rax
mov r13, rax
test rax, rax
je 0x180132d33
mov rbx, qword [rax + 0x4c]
mov r14, r12
movzx eax, byte [rax + 0x38]
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x138], rbx
mov qword [rsp + 0x120], rbx
test r12d, r12d
jle 0x1801318cb
mov rbx, qword [rsp + 0xa0]
xor eax, eax
mov r13, qword [rsp + 0x90]
mov edi, eax
mov r12d, dword [rsp + 0x64]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r13 + 8]
mov r8d, r12d
mov rdx, rbx
mov dword [rsp + 0x20], ebp
mov rcx, rsi
movsx r9d, word [rax + rdi*2]
call fcn.1800fd0b0
inc ebp
inc rdi
cmp rdi, r14
jl 0x180131880
mov rbx, qword [rsp + 0x138]
mov r12d, r14d
mov r13, qword [rsp + 0x140]
mov ebp, dword [rsp + 0x110]
mov eax, dword [rsp + 0x78]
mov rdi, qword [rsp + 0x90]
test eax, eax
je 0x18013198b
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
jne 0x180131905
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov r8, qword [rax + rdx*8 + 0x10]
lea rdi, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.18008b8c0
xor eax, eax
mov word [rdi], 0xa0
mov qword [rdi + 0x10], rax
mov dword [rsp + 0xcc], r12d
mov dword [rsp + 0x70], ebp
mov r14, qword [rsp + 0x1d0]
mov rbp, qword [rsp + 0xa0]
mov r15d, dword [rsp + 0x78]
xor edi, edi
mov rcx, r13
call fcn.180147f30
mov rax, qword [rsp + 0xe8]
test byte [rax + 0x2c], 0x80
je 0x180131a5f
cmp qword [r14 + 0x1d0], 0
jne 0x180131a5f
inc dword [r14 + 0x58]
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
mov edx, dword [r14 + 0x58]
mov dword [rsp + 0xb4], edx
cmp dword [rax + 0x64], ecx
jg 0x180131a35
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x16]
call fcn.1800cfb00
jmp 0x180131a5f
mov rcx, qword [rsp + 0xe8]
mov rdx, rdi
call fcn.180119030
mov edi, dword [rsp + 0x70]
mov r9d, r12d
mov dword [rsp + 0x30], r12d
mov r8d, ebp
mov qword [rsp + 0x28], rax
mov edx, 0x31
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.180135610
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1801319eb
mov r8d, dword [rsp + 0x7c]
xor eax, eax
mov r9d, edi
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x6e]
call fcn.1800cfb00
jmp 0x180131911
mov edx, dword [rsp + 0x7c]
lea eax, [rcx + 1]
mov r14, qword [rsp + 0x1d0]
lea rcx, [rcx + rcx*2]
mov rbp, qword [rsp + 0xa0]
mov r15d, dword [rsp + 0x78]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], edi
xor edi, edi
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov word [rax + rcx*8], WSAStartup
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
jmp 0x180131928
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], socket
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rdi, qword [rsi + 0x30]
mov edx, dword [rdi + 0x80]
mov dword [rsp + 0x98], edx
lea eax, [rdx + 1]
mov dword [rdi + 0x80], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x180131aab
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x88]
movsxd r8, eax
shl r8, 2
call fcn.1800f8550
mov edx, dword [rsp + 0x98]
mov qword [rdi + 0x88], rax
mov rcx, qword [rdi + 0x88]
test rcx, rcx
je 0x180131ac1
movsxd rax, edx
mov dword [rcx + rax*4], 0xffffffff
mov r12d, dword [rsp + 0x1f0]
mov edi, edx
mov rdx, qword [rsp + 0x100]
not edi
test rdx, rdx
jne 0x180131b89
cmp r12d, 5
je 0x180131b01
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x180131b1b
nop dword [rax]
cmp byte [rax + 0x62], 5
je 0x180131b01
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x180131af0
jmp 0x180131b1b
mov r8, qword [rsp + 0x118]
mov edx, 1
mov rcx, qword [rsp + 0xd8]
call fcn.180162c50
mov r13d, dword [rsp + 0x6c]
test r15d, r15d
je 0x180131b4f
mov rcx, qword [rsp + 0xd8]
test ebx, ebx
js 0x180131b3b
sub ebx, r13d
movsxd rax, ebx
mov byte [rax + rcx], 0
mov eax, dword [rsp + 0x124]
test eax, eax
js 0x180131b4f
sub eax, r13d
cdqe
mov byte [rax + rcx], 0
mov rbx, qword [rsp + 0xd8]
xor eax, eax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov rdx, rbp
mov qword [rsp + 0x28], rbx
mov rcx, r14
lea r8d, [rax + 0x37]
mov dword [rsp + 0x20], r13d
call fcn.18011e350
mov rdx, qword [rsp + 0x100]
jmp 0x180131b96
mov r13d, dword [rsp + 0x6c]
mov rbx, qword [rsp + 0xd8]
test r15d, r15d
je 0x180131c40
mov ecx, dword [rsp + 0x64]
mov eax, ecx
sub eax, r13d
cdqe
cmp byte [rax + rbx], 0
mov ebx, dword [rsp + 0x70]
je 0x180131bdb
test rdx, rdx
jne 0x180131bdb
mov eax, dword [rsp + 0xcc]
mov r8d, ecx
mov dword [rsp + 0x28], eax
mov rcx, rsi
mov r9d, edi
mov dword [rsp + 0x20], ebx
mov edx, 0x44
call fcn.180135730
cmp qword [rsp + 0x90], 0
mov r13d, edi
mov edx, dword [rsp + 0x68]
mov rax, qword [rsi + 0x30]
cmovne edx, ebx
movsxd rcx, dword [rsi + 0x3c]
xor r15d, r15d
mov dword [rsp + 0x6c], edi
cmp dword [rax + 0x64], ecx
jg 0x180131c1e
mov r8d, edx
mov dword [rsp + 0x20], r15d
lea edx, [r15 + 0x4c]
mov r9d, edi
mov rcx, rsi
call fcn.1800cfb00
jmp 0x180131e1c
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x4c
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r15d
jmp 0x180131e0e
cmp qword [rsp + 0x90], 0
je 0x180131d43
mov rcx, rsi
call fcn.18013f640
mov rcx, qword [rsi + 0x30]
xor r15d, r15d
movsxd rdx, dword [rsi + 0x3c]
mov r13d, eax
mov dword [rsp + 0x6c], eax
cmp dword [rcx + 0x64], edx
jg 0x180131c8d
mov r8d, dword [rsp + 0x7c]
lea edx, [r15 + 0x6c]
mov r9d, edi
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.1800cfb00
mov edx, dword [rsp + 0x7c]
jmp 0x180131cbc
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x7c]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], WSAGetLastError
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rdi, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
mov ebx, dword [rsp + 0x70]
mov dword [rsp + 0xd0], edi
cmp dword [rax + 0x64], edi
jg 0x180131cf5
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x65
mov r9d, ebx
mov rcx, rsi
call fcn.1800cfb00
mov dword [rsp + 0xd0], eax
jmp 0x180131d20
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x65
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov r8d, dword [rsp + 0x64]
mov r9d, r13d
mov dword [rsp + 0x28], r15d
mov edx, 0x44
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.180135730
jmp 0x180131e1c
movsxd r13, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
mov r8d, dword [rsp + 0xc8]
mov dword [rsp + 0x6c], r13d
cmp dword [rax + 0x64], r13d
jg 0x180131d87
mov eax, dword [rsp + 0x68]
mov r9d, edi
mov edx, 0x82
mov dword [rsp + 0x20], eax
mov rcx, rsi
call fcn.1800cfb00
mov r8d, dword [rsp + 0x68]
mov r13d, eax
mov dword [rsp + 0x6c], eax
xor r15d, r15d
jmp 0x180131dc3
lea eax, [r13 + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [r13*2]
mov rax, qword [rsi + 8]
add rcx, r13
xor r15d, r15d
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 0xc], r8d
mov word [rax + rcx*8], 0x82
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], edi
mov qword [rax + rcx*8 + 0x10], r15
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180131dec
mov dword [rsp + 0x20], r8d
mov r9d, r13d
mov r8d, dword [rsp + 0x64]
mov edx, 0x46
mov rcx, rsi
call fcn.1800cfb00
jmp 0x180131e1c
mov edx, dword [rsp + 0x64]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r15
mov dword [rax + rcx*8 + 4], edx
mov byte [rax + rcx*8 + 3], 0
cmp byte [rsp + 0x60], 0
je 0x180131e9c
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x180131ff2
cmp byte [rax], 0x9d
jne 0x180131ff2
mov r10, qword [r14 + 0x10]
mov edx, dword [rax + 0x2c]
mov ebx, dword [rsp + 0x74]
mov rax, qword [r10 + 0x30]
movsxd rcx, dword [r10 + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180131fbe
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x1e
mov r9d, ebx
mov rcx, r10
call fcn.1800cfb00
xor r10d, r10d
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180132057
xor r9d, r9d
mov dword [rsp + 0x20], r10d
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0x26]
call fcn.1800cfb00
xor r10d, r10d
cmp byte [rsp + 0xb0], 0
jne 0x180132087
cmp dword [rsp + 0x88], 0
jne 0x180132095
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x18013227b
mov r14d, r10d
mov rax, qword [rsp + 0xc0]
mov edi, r10d
mov r15, qword [rsp + 0x1d0]
mov rbx, rax
test rax, rax
je 0x180131f38
mov r13, qword [rsp + 0x1e0]
cmp byte [rbx + 0x10], 0x6e
jne 0x180131f27
test byte [rbx + 0x11], 3
je 0x180131f27
mov rcx, qword [rbx + 0x20]
mov rdx, r13
call fcn.18007c440
test eax, eax
je 0x180131f27
mov r9d, r12d
mov r8, rbp
mov rdx, rbx
mov rcx, r15
call fcn.1800cf980
test rax, rax
je 0x180131f27
or edi, dword [rax + 0x1c]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x180131ef2
mov r13d, dword [rsp + 0x6c]
xor r10d, r10d
or r14d, edi
mov ebx, r10d
cmp r10w, word [rbp + 0x3e]
jge 0x18013211f
mov r13, qword [rsp + 0xa0]
mov edi, 1
mov r15d, dword [rsp + 0xb8]
mov rbp, r10
mov r12d, dword [rsp + 0x64]
cmp r14d, 0xffffffff
je 0x1801320d9
cmp ebx, 0x20
jge 0x180131f7e
test r14d, edi
jne 0x1801320d9
mov rax, qword [r13 + 8]
test byte [rax + rbp + 0x1b], 1
jne 0x1801320d9
mov rax, qword [rsi + 0x30]
lea edx, [rbx + r15]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1801320ab
xor r8d, r8d
mov dword [rsp + 0x20], r10d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x19]
call fcn.1800cfb00
jmp 0x1801320f2
lea eax, [rcx + 1]
mov dword [r10 + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 8]
mov word [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 4], edx
mov byte [rax + rcx*8 + 3], 0
xor r10d, r10d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x180131e74
mov ebx, dword [rsp + 0x74]
mov rdx, rax
mov r8d, ebx
mov rcx, r14
call fcn.1800fda70
mov r8d, eax
cmp eax, ebx
je 0x180131e71
mov r10, qword [r14 + 0x10]
test r10, r10
je 0x180131e71
mov rdx, qword [r10 + 0x30]
movsxd rcx, dword [r10 + 0x3c]
cmp dword [rdx + 0x64], ecx
jg 0x18013203b
mov dword [rsp + 0x20], r15d
mov r9d, ebx
mov edx, 0x1f
jmp 0x180131e69
lea eax, [rcx + 1]
mov dword [r10 + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 8]
mov word [rax + rcx*8], 0x1f
mov dword [rax + rcx*8 + 4], r8d
jmp 0x180131fd7
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x26
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x180131e9f
cmp dword [rsp + 0x88], 0
je 0x180131ecc
mov rdx, rbp
mov rcx, r14
call fcn.180103180
mov r14d, eax
xor r10d, r10d
jmp 0x180131ecf
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x1801320f5
lea eax, [rbx + r15]
mov r9d, ebx
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rdx, r13
mov rcx, rsi
call fcn.1800fd0b0
xor r10d, r10d
movsx eax, word [r13 + 0x3e]
inc ebx
rol edi, 1
add rbp, 0x20
cmp ebx, eax
jl 0x180131f66
mov r13d, dword [rsp + 0x6c]
mov r12d, dword [rsp + 0x1f0]
mov r15, qword [rsp + 0x1d0]
cmp byte [rsp + 0x60], 0
jne 0x18013215e
cmp qword [rsp + 0x90], 0
jne 0x18013215e
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180132243
mov r9d, dword [rsp + 0x74]
mov edx, 0x1e
mov r8d, dword [rsp + 0x68]
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.1800cfb00
mov rax, qword [rsp + 0xc0]
xor r9d, r9d
mov rbx, rax
mov ebp, r9d
test rax, rax
je 0x1801321d2
mov r13, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x1e0]
cmp byte [rbx + 0x10], 0x6e
jne 0x1801321b9
test byte [rbx + 0x11], 1
je 0x1801321b9
mov rcx, qword [rbx + 0x20]
mov rdx, rsi
call fcn.18007c440
test eax, eax
je 0x1801321b9
mov r9d, r12d
mov r8, r13
mov rdx, rbx
mov rcx, r15
call fcn.1800cf980
test rax, rax
je 0x1801321b9
or ebp, dword [rax + 0x20]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x180132184
mov rsi, qword [rsp + 0xf8]
xor r9d, r9d
mov r13d, dword [rsp + 0x6c]
mov r15, qword [rsp + 0xa0]
cmp r9w, word [r15 + 0x3e]
jge 0x180132435
mov r15d, dword [rsp + 0xe0]
mov edi, 1
mov r14, qword [rsp + 0xa8]
mov ebx, r15d
mov r12, qword [rsp + 0x1d0]
neg r15d
mov r13, qword [rsp + 0xa0]
movsx eax, word [r13 + 0x3c]
lea r8d, [r15 + rbx]
cmp r8d, eax
jne 0x180132288
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18013238c
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov rcx, rsi
lea edx, [r8 + 0x19]
jmp 0x1801323fc
mov edx, dword [rsp + 0x68]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x74]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], 0x1e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x18013215e
mov r15, qword [rsp + 0x1d0]
jmp 0x180132166
movsxd rax, dword [r14]
test eax, eax
js 0x180132366
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x1e0]
mov rax, qword [rax + 8]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x180132308
cmp byte [rdx], 0x9d
jne 0x180132308
mov r10, qword [r12 + 0x10]
mov r8d, dword [rdx + 0x2c]
mov rax, qword [r10 + 0x30]
movsxd rcx, dword [r10 + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1801322d6
mov dword [rsp + 0x20], r9d
mov edx, 0x1e
jmp 0x1801323f9
lea eax, [rcx + 1]
mov dword [r10 + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 8]
mov word [rax + rcx*8], 0x1e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x180132407
mov r8d, ebx
mov rcx, r12
call fcn.1800fda70
mov r8d, eax
cmp eax, ebx
je 0x180132404
mov r10, qword [r12 + 0x10]
test r10, r10
je 0x180132404
jmp 0x1801323df
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r10 + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 8]
mov word [rax + rcx*8], 0x1f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x180132407
mov eax, dword [rsp + 0x84]
test al, 1
je 0x1801323ba
cmp r8d, 0x1f
jg 0x1801323ba
test edi, ebp
jne 0x1801323ba
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jle 0x18013222f
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x180132407
mov r9d, dword [rsp + 0x64]
mov rdx, r13
mov byte [rsp + 0x28], 0
mov rcx, r12
mov dword [rsp + 0x20], ebx
call fcn.1800fcf40
mov r8d, eax
cmp eax, ebx
je 0x180132404
mov r10, qword [r12 + 0x10]
mov rdx, qword [r10 + 0x30]
movsxd rcx, dword [r10 + 0x3c]
cmp dword [rdx + 0x64], ecx
jg 0x180132331
xor eax, eax
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x1f]
mov rcx, r10
mov r9d, ebx
call fcn.1800cfb00
xor r9d, r9d
movsx eax, word [r13 + 0x3e]
inc ebx
rol edi, 1
add r14, 4
lea ecx, [r15 + rbx]
cmp ecx, eax
jl 0x180132210
mov r13d, dword [rsp + 0x6c]
mov r12d, dword [rsp + 0x1f0]
mov r15, qword [rsp + 0xa0]
test byte [rsp + 0x84], 1
je 0x1801325ad
mov ebp, dword [rsp + 0xe0]
mov rdx, r15
mov r8d, ebp
mov rcx, rsi
call fcn.1801302e0
mov rax, qword [rsp + 0xc0]
mov rbx, rax
test rax, rax
je 0x1801324bf
mov rsi, qword [rsp + 0x1d0]
cmp byte [rbx + 0x10], 0x6e
jne 0x1801324ae
cmp byte [rbx + 0x11], 1
jne 0x1801324ae
mov rdx, qword [rsp + 0x1e0]
mov rcx, qword [rbx + 0x20]
call fcn.18007c440
test eax, eax
je 0x1801324ae
mov r9d, dword [rsp + 0x68]
mov r8, r15
mov dword [rsp + 0x28], r13d
mov rdx, rbx
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.1800f4190
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x180132470
mov rsi, qword [rsp + 0xf8]
cmp qword [rsp + 0x90], 0
je 0x1801324f4
mov eax, dword [rsp + 0xcc]
mov r9d, r13d
mov r8d, dword [rsp + 0x64]
mov edx, 0x44
mov dword [rsp + 0x28], eax
mov rcx, rsi
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
call fcn.180135730
jmp 0x180132557
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180132520
mov eax, dword [rsp + 0x68]
mov r9d, r13d
mov r8d, dword [rsp + 0x64]
mov edx, 0x46
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1800cfb00
jmp 0x180132557
mov edx, dword [rsp + 0x64]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8], 0x46
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r13d
mov qword [rax + rcx*8 + 0x10], 0
xor eax, eax
mov ebx, eax
cmp ax, word [r15 + 0x3e]
jge 0x1801325af
mov rdi, qword [rsp + 0xa8]
mov r12d, dword [rsp + 0x64]
nop
cmp dword [rdi], 0
jge 0x180132596
movsx eax, word [r15 + 0x3c]
cmp ebx, eax
je 0x180132596
lea eax, [rbx + rbp]
mov r9d, ebx
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rdx, r15
mov rcx, rsi
call fcn.1800fd0b0
movsx eax, word [r15 + 0x3e]
inc ebx
add rdi, 4
cmp ebx, eax
jl 0x180132570
mov r12d, dword [rsp + 0x1f0]
xor eax, eax
cmp qword [rsp + 0x100], 0
mov r14, qword [rsp + 0x1d0]
jne 0x180132926
mov rdi, qword [rsp + 0xa8]
mov ebx, eax
movzx ebp, byte [rsp + 0x80]
mov rdx, r15
mov r9d, dword [rsp + 0x64]
mov rcx, r14
mov r8, qword [rsp + 0x108]
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0xb8], eax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x48], r13d
mov byte [rsp + 0x40], r12b
mov byte [rsp + 0x38], bpl
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x20], eax
call fcn.1801158b0
cmp dword [rsp + 0x88], 0
je 0x180132659
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
mov dword [rsp + 0x28], ebp
mov rdx, r15
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.180102230
mov edi, dword [rsp + 0xb8]
test edi, edi
jne 0x18013266d
test bpl, bpl
je 0x180132706
cmp qword [rsp + 0x90], 0
je 0x1801326a3
mov eax, dword [rsp + 0xcc]
xor r9d, r9d
mov r8d, dword [rsp + 0x64]
mov rcx, rsi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
lea edx, [r9 + 0x44]
mov dword [rsp + 0x20], eax
call fcn.180135730
mov ebx, eax
jmp 0x180132706
mov rax, qword [rsi + 0x30]
movsxd rbx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ebx
jg 0x1801326d0
mov eax, dword [rsp + 0x68]
xor r9d, r9d
mov r8d, dword [rsp + 0x64]
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x46]
call fcn.1800cfb00
mov ebx, eax
jmp 0x180132706
mov edx, dword [rsp + 0x64]
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
xor r8d, r8d
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8], 0x46
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0x108]
mov rdx, r15
mov r9d, dword [rsp + 0x8c]
mov rcx, r14
mov r8d, dword [rsp + 0x64]
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.180117910
mov r8d, dword [rsp + 0x88]
test r8d, r8d
jne 0x180132750
test bpl, bpl
jne 0x180132750
cmp qword [rsp + 0x90], 0
je 0x1801327ad
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180132780
mov r8d, dword [rsp + 0x64]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x5f]
call fcn.1800cfb00
mov r8d, dword [rsp + 0x88]
jmp 0x1801327ad
mov edx, dword [rsp + 0x64]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
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], 0x5f
mov byte [rax + rcx*8 + 3], 0
test edi, edi
jne 0x1801327b6
test bpl, bpl
je 0x1801327f0
mov rax, qword [rsi + 0x30]
mov ecx, dword [rsi + 0x3c]
dec ecx
mov dword [rax + 0x6c], ecx
mov rax, qword [rsi]
mov edx, dword [rsi + 0x3c]
cmp byte [rax + 0x55], 0
je 0x1801327d7
lea rax, [0x1801eea88]
jmp 0x1801327ed
lea eax, [rdx - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test r8d, r8d
je 0x18013281d
mov r9d, dword [rsp + 0x74]
mov edi, ebp
mov dword [rsp + 0x28], ebp
xor r8d, r8d
mov rbp, qword [rsp + 0xa8]
mov rdx, r15
mov rcx, r14
mov qword [rsp + 0x20], rbp
call fcn.180102230
jmp 0x18013282c
mov edi, dword [rsp + 0x114]
mov rbp, qword [rsp + 0xa8]
mov r9d, dword [rsp + 0x8c]
xor eax, eax
mov r8d, dword [rsp + 0x64]
mov rdx, r15
mov dword [rsp + 0x40], eax
mov rcx, r14
mov dword [rsp + 0x38], eax
mov eax, 1
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x20], eax
call fcn.1800f6350
cmp dword [rsp + 0x88], 0
je 0x180132926
mov rax, qword [r14]
test dword [rax + 0x2c], 0x80000
je 0x180132926
mov rcx, qword [r15 + 0x68]
lea r8, [rsp + 0x1d0]
mov rdx, qword [r15]
add rcx, 0x50
call fcn.180087a00
test rax, rax
je 0x180132926
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180132926
mov r12, qword [rsp + 0x1e0]
xor esi, esi
mov r13d, dword [rsp + 0x68]
nop
mov r9d, edi
mov r8, rbp
mov rdx, rbx
mov rcx, r15
call fcn.180089d40
test eax, eax
je 0x180132908
mov r9, r12
mov r8, rbx
mov rdx, r15
mov rcx, r14
call fcn.180087fa0
test rax, rax
je 0x180132908
mov dword [rsp + 0x28], esi
mov r9d, r13d
mov r8, r15
mov dword [rsp + 0x20], 2
mov rdx, rax
mov rcx, r14
call fcn.1800f4190
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x1801328c0
mov rsi, qword [rsp + 0xf8]
mov r13d, dword [rsp + 0x6c]
mov r12d, dword [rsp + 0x1f0]
mov rbx, qword [rsp + 0xe8]
test byte [rbx + 0x2c], 0x80
je 0x18013299e
cmp qword [r14 + 0x1d0], 0
jne 0x18013299e
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18013296a
mov r8d, dword [rsp + 0xb4]
xor eax, eax
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea r9d, [rax + 1]
lea edx, [rax + 0x25]
call fcn.1800cfb00
jmp 0x18013299e
mov edx, dword [rsp + 0xb4]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov qword [rax + rcx*8 + 0x10], rdx
mov word [rax + rcx*8], 0x25
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 8], 1
mov rdi, qword [rsp + 0xc0]
test rdi, rdi
je 0x180132a07
mov rbx, qword [rsp + 0x1e0]
mov esi, dword [rsp + 0x68]
cmp byte [rdi + 0x10], 0x6e
jne 0x1801329ee
cmp byte [rdi + 0x11], 2
jne 0x1801329ee
mov rcx, qword [rdi + 0x20]
mov rdx, rbx
call fcn.18007c440
test eax, eax
je 0x1801329ee
mov dword [rsp + 0x28], r13d
mov r9d, esi
mov r8, r15
mov dword [rsp + 0x20], r12d
mov rdx, rdi
mov rcx, r14
call fcn.1800f4190
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1801329b7
mov rsi, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0xe8]
cmp dword [rsp + 0x78], 0
jne 0x180132b07
cmp qword [rsp + 0x90], 0
mov rdx, qword [rsi + 0x30]
je 0x180132ab2
mov r10, qword [rdx + 0x88]
test r10, r10
je 0x180132a3e
mov eax, dword [rsi + 0x3c]
not r13d
movsxd rcx, r13d
mov dword [r10 + rcx*4], eax
mov eax, dword [rsi + 0x3c]
xor r12d, r12d
dec eax
mov dword [rdx + 0x6c], eax
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180132a7a
mov r9d, dword [rsp + 0xd0]
lea edx, [r12 + 7]
mov r8d, dword [rsp + 0x7c]
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.1800cfb00
jmp 0x180132b0a
mov edx, dword [rsp + 0x7c]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0xd0]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], 7
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
jmp 0x180132b0a
movsxd rcx, dword [rsi + 0x3c]
xor r12d, r12d
cmp dword [rdx + 0x64], ecx
jg 0x180132ad8
mov r9d, r13d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
lea edx, [r12 + 0xd]
mov rcx, rsi
call fcn.1800cfb00
jmp 0x180132b0a
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], select
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], r12d
mov qword [rax + rcx*8 + 0x10], r12
jmp 0x180132b0a
xor r12d, r12d
mov r8, qword [rsi + 0x30]
mov rdx, qword [r8 + 0x88]
test rdx, rdx
je 0x180132b28
movsxd rcx, dword [rsp + 0x98]
mov eax, dword [rsi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsi + 0x3c]
dec eax
mov dword [r8 + 0x6c], eax
mov rdi, qword [r15 + 0x10]
test rdi, rdi
je 0x180132bbd
mov rbp, qword [rsp + 0xd8]
mov ebx, dword [rsp + 0x8c]
inc rbp
cmp byte [rbp], 0
je 0x180132ba7
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180132b7c
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0x3d]
call fcn.1800cfb00
jmp 0x180132ba7
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x3d
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
mov rdi, qword [rdi + 0x28]
inc ebx
inc rbp
test rdi, rdi
jne 0x180132b50
mov rbx, qword [rsp + 0xe8]
mov edx, dword [rsp + 0x64]
cmp edx, dword [rsp + 0x8c]
jge 0x180132c1b
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180132bf0
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x3d]
call fcn.1800cfb00
jmp 0x180132c1b
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x3d
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
cmp byte [r14 + 0x1e], 0
jne 0x180132c3e
cmp qword [r14 + 0x1d0], 0
jne 0x180132c3e
cmp qword [r14 + 0x1c0], 0
je 0x180132c3e
mov rcx, r14
call fcn.1800776e0
test byte [rbx + 0x2c], 0x80
je 0x180132d33
cmp qword [r14 + 0x1d0], 0
jne 0x180132d33
cmp byte [r14 + 0x1e], 0
jne 0x180132d33
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x180132c8f
mov r8d, dword [rsp + 0xb4]
mov r9d, 1
mov rcx, rsi
mov dword [rsp + 0x20], r12d
lea edx, [r9 + 0x20]
call fcn.1800cfb00
jmp 0x180132cc1
mov edx, dword [rsp + 0xb4]
lea eax, [rcx + 1]
mov dword [rsi + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x21
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], r12
mov edx, 1
mov rcx, rsi
call fcn.180141d20
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x180132d33
mov rbx, qword [rsi + 0x20]
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x180132ce9
mov eax, dword [rax + 0x6c]
jmp 0x180132cee
mov eax, 0x3b9aca00
mov ecx, recv
lea edi, [rax + 1]
cmp eax, ecx
mov eax, 0x2460
cmovge edi, ecx
test word [rbx + 8], ax
jne 0x180132d0c
cmp dword [rbx + 0x20], 0
je 0x180132d14
mov rcx, rbx
call fcn.18014f7e0
lea rax, str.rows_updated
mov qword [rbx + 0x30], r12
mov qword [rbx + 0x10], rax
mov eax, 0xa02
mov word [rbx + 8], ax
mov dword [rbx + 0xc], edi
mov byte [rbx + 0xa], 1
mov rax, qword [rsp + 0x128]
test rax, rax
je 0x180132d4f
mov rcx, qword [rsp + 0x130]
mov qword [rax + 0x238], rcx
mov r15, qword [rsp + 0xe8]
cmp qword [r15 + 0x290], 0
je 0x180132d76
mov rdx, qword [rsp + 0xa8]
mov rcx, r15
call fcn.1800d60e0
jmp 0x180132e05
mov rbx, qword [rsp + 0xa8]
cmp rbx, qword [r15 + 0x178]
jb 0x180132daa
cmp rbx, qword [r15 + 0x180]
jae 0x180132daa
mov rax, qword [r15 + 0x170]
mov qword [rbx], rax
dec dword [r15 + 0x158]
mov qword [r15 + 0x170], rbx
jmp 0x180132e05
cmp dword [0x1801e5920], 0
je 0x180132dfc
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x180132dc5
call qword [0x1801e59a8]
mov rcx, rbx
call qword [0x1801e5960]
dec qword [0x1801ee598]
movsxd rcx, eax
sub qword [0x1801ee550], rcx
mov rcx, rbx
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x180132e05
call qword [0x1801e59b8]
jmp 0x180132e05
mov rcx, rbx
call qword [0x1801e5950]
mov rsi, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x198]
mov rbp, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x1d8]
mov rcx, r15
call fcn.18012ec80
mov rdx, qword [rsp + 0x1e0]
mov rcx, r15
call fcn.1800ffe70
mov r14, qword [rsp + 0x1e8]
mov r13, qword [rsp + 0x188]
mov r12, qword [rsp + 0x190]
test r14, r14
je 0x180133034
test dword [r14 + 4], 0x4000
jne 0x180132f62
mov rdx, qword [r14 + 0x10]
mov rcx, r15
call fcn.1800ff150
mov rdx, qword [r14 + 0x18]
mov rcx, r15
call fcn.1800ff150
test dword [r14 + 4], 0x10000
je 0x180132f45
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x180132f45
test r15, r15
je 0x180132eea
cmp qword [r15 + 0x290], 0
je 0x180132ebe
mov rdx, rbx
mov rcx, r15
call fcn.1800d60e0
jmp 0x180132f45
cmp rbx, qword [r15 + 0x178]
jb 0x180132eea
cmp rbx, qword [r15 + 0x180]
jae 0x180132eea
mov rax, qword [r15 + 0x170]
mov qword [rbx], rax
dec dword [r15 + 0x158]
mov qword [r15 + 0x170], rbx
jmp 0x180132f45
cmp dword [0x1801e5920], 0
je 0x180132f3c
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x180132f05
call qword [0x1801e59a8]
mov rcx, rbx
call qword [0x1801e5960]
dec qword [0x1801ee598]
movsxd rcx, eax
sub qword [0x1801ee550], rcx
mov rcx, rbx
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x180132f45
call qword [0x1801e59b8]
jmp 0x180132f45
mov rcx, rbx
call qword [0x1801e5950]
test dword [r14 + 4], 0x800
mov rcx, r15
mov rdx, qword [r14 + 0x20]
je 0x180132f5d
call fcn.18012df60
jmp 0x180132f62
call fcn.1800ffe70
test dword [r14 + 4], 0x8000
jne 0x180133034
test r15, r15
je 0x180132fce
cmp qword [r15 + 0x290], 0
je 0x180132f97
mov rdx, r14
mov rcx, r15
call fcn.1800d60e0
add rsp, 0x1b0
pop r15
pop r14
pop rbx
ret
cmp r14, qword [r15 + 0x178]
jb 0x180132fce
cmp r14, qword [r15 + 0x180]
jae 0x180132fce
mov rax, qword [r15 + 0x170]
mov qword [r14], rax
dec dword [r15 + 0x158]
mov qword [r15 + 0x170], r14
add rsp, 0x1b0
pop r15
pop r14
pop rbx
ret
cmp dword [0x1801e5920], 0
je 0x18013302b
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x180132fe9
call qword [0x1801e59a8]
mov rcx, r14
call qword [0x1801e5960]
dec qword [0x1801ee598]
movsxd rcx, eax
sub qword [0x1801ee550], rcx
mov rcx, r14
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x180133034
call qword [0x1801e59b8]
add rsp, 0x1b0
pop r15
pop r14
pop rbx
ret
mov rcx, r14
call qword [0x1801e5950]
add rsp, 0x1b0
pop r15
pop r14
pop rbx
ret