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

Disassembly:
mov r11, rsp
push r12
sub rsp, 0x1e0
mov rax, qword [0x140123080]
xor rax, rsp
mov qword [rsp + 0x198], rax
mov r12, qword [rcx]
mov qword [r11 - 0x10], rbx
xor ebx, ebx
mov qword [r11 - 0x18], rbp
mov rbp, r8
mov qword [r11 - 0x20], rsi
mov qword [r11 - 0x28], rdi
mov rdi, rdx
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r14
mov r14, rcx
mov qword [r11 - 0x40], r15
mov qword [rsp + 0x128], r9
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xe8], rcx
mov dword [rsp + 0xd0], ebx
mov qword [rsp + 0x110], rbx
mov dword [rsp + 0x90], ebx
mov dword [rsp + 0xe0], ebx
mov dword [rsp + 0xc0], ebx
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x94], ebx
mov dword [rsp + 0xd4], ebx
mov dword [rsp + 0x100], ebx
mov dword [rsp + 0xdc], ebx
mov dword [rsp + 0x7c], ebx
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x138], rbx
mov qword [rsp + 0x108], r12
cmp dword [rcx + 0x30], ebx
jne 0x14008bd91
cmp byte [r12 + 0x55], bl
jne 0x14008bd91
call fcn.14005eac0
mov qword [rsp + 0xb8], rax
mov r13, rax
test rax, rax
je 0x14008bd91
mov rdx, qword [rax + 0x68]
mov esi, 0xfff0bdc0
mov r9, qword [r14]
mov dword [rsp + 0x84], esi
test rdx, rdx
je 0x140089e32
movsxd rcx, dword [r9 + 0x28]
mov esi, ebx
mov dword [rsp + 0x84], ebx
test ecx, ecx
jle 0x140089e32
mov rax, qword [r9 + 0x20]
mov r8, rcx
add rax, 0x18
mov ecx, ebx
cmp qword [rax], rdx
je 0x140089e2b
inc esi
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x140089e18
mov dword [rsp + 0x84], esi
test dword [r9 + 0x2c], 0x1000000
mov r15d, ebx
mov dword [rsp + 0x190], ebx
mov rdi, rbx
je 0x140089e57
mov rdx, r13
mov rcx, r14
call fcn.140087590
mov rdi, rax
mov rbx, rdi
test rdi, rdi
je 0x140089e8e
nop
cmp byte [rbx + 0x10], 0x6e
jne 0x140089e7d
mov rcx, qword [rbx + 0x20]
mov rdx, rbp
call fcn.140088de0
test eax, eax
je 0x140089e7d
movzx eax, byte [rbx + 0x11]
or r15d, eax
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140089e60
mov dword [rsp + 0x190], r15d
xor ebx, ebx
mov rdx, r13
test r15d, r15d
mov eax, ebx
mov rcx, r14
cmovne rax, rdi
mov qword [rsp + 0xc8], rax
mov rax, qword [r13 + 0x18]
mov qword [rsp + 0x118], rax
call fcn.140058070
test eax, eax
jne 0x14008bd89
mov r8d, r15d
mov rdx, r13
mov rcx, r14
call fcn.14005eba0
mov rdi, qword [rsp + 0x98]
test eax, eax
jne 0x14008bd91
mov r10d, dword [r14 + 0x34]
mov dword [rdi + 0x50], r10d
inc dword [r14 + 0x34]
test byte [r13 + 0x46], 0x20
lea eax, [r10 + 1]
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0xac], eax
mov dword [rsp + 0xd8], r10d
jne 0x140089f16
mov r9d, ebx
mov qword [rsp + 0xb0], rbx
jmp 0x140089f4b
mov r9, qword [r13 + 0x10]
mov qword [rsp + 0xb0], r9
test r9, r9
je 0x140089f4b
nop word [rax + rax]
mov eax, dword [r9 + 0x64]
and al, 3
cmp al, 2
je 0x140089f43
mov r9, qword [r9 + 0x28]
test r9, r9
jne 0x140089f30
mov qword [rsp + 0xb0], r9
mov rcx, qword [r13 + 0x10]
mov r8d, ebx
mov dword [rsp + 0x104], ebx
test rcx, rcx
je 0x140089f93
mov edx, dword [r14 + 0x34]
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
jne 0x140089f77
test r9, r9
je 0x140089f77
mov dword [rsp + 0x60], edx
mov dword [rdi + 0x50], edx
inc dword [r14 + 0x34]
inc r8d
mov rcx, qword [rcx + 0x28]
mov edx, dword [r14 + 0x34]
test rcx, rcx
jne 0x140089f62
mov dword [rsp + 0x104], r8d
movsx eax, word [r13 + 0x3e]
mov rcx, r12
add eax, r8d
movsxd rbx, r8d
cdqe
lea rdx, [rax*4 + 2]
add rdx, rbx
call fcn.140006d80
mov qword [rsp + 0x88], rax
mov r15, rax
test rax, rax
je 0x14008bd91
movsx rcx, word [r13 + 0x3e]
lea r8, [rbx + 1]
mov edx, 1
lea rax, [rax + rcx*4]
lea rbp, [rax + rbx*4]
mov qword [rsp + 0x120], rax
mov rcx, rbp
mov qword [rsp + 0xf0], rbp
call fcn.1400f43c0
xor r8d, r8d
mov byte [rbx + rbp + 1], 0
mov edx, r8d
cmp r8w, word [r13 + 0x3e]
jge 0x14008a025
mov rcx, r15
nop word [rax + rax]
mov dword [rcx], 0xffffffff
lea rcx, [rcx + 4]
movsx eax, word [r13 + 0x3e]
inc edx
cmp edx, eax
jl 0x14008a010
mov rax, qword [rsp + 0x70]
xor bpl, bpl
xor bl, bl
mov qword [rsp + 0x188], r8
xorps xmm0, xmm0
mov qword [rsp + 0x158], r14
xorps xmm1, xmm1
mov qword [rsp + 0x160], rdi
mov r12d, r8d
mov dword [rsp + 0xa4], ebp
movdqu xmmword [rsp + 0x168], xmm0
mov byte [rsp + 0x64], bl
movdqu xmmword [rsp + 0x178], xmm1
cmp dword [rax], r8d
jle 0x14008a2f2
movsxd rsi, esi
xor ebx, ebx
mov qword [rsp + 0xf8], rsi
mov r15d, ebx
nop word [rax + rax]
mov rdx, qword [rax + 8]
lea rcx, [rsp + 0x158]
mov rdx, qword [r15 + rdx]
call fcn.1400430e0
test eax, eax
jne 0x14008bc94
movsx rcx, word [r13 + 0x3e]
mov r11d, ebx
mov rdi, rbx
cmp bx, cx
jge 0x14008a152
mov rax, qword [rsp + 0x70]
mov rbx, rcx
mov r10, qword [r13 + 8]
lea rcx, [0x14010afe0]
mov rax, qword [rax + 8]
mov rsi, qword [rax + r15 + 8]
movzx eax, byte [rsi]
movzx ebp, byte [rax + rcx]
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [r10]
movzx edx, byte [r8]
movzx eax, byte [rdx + rcx]
cmp eax, ebp
jne 0x14008a134
mov r9, rsi
sub r9, r8
test dl, dl
je 0x14008a1ae
movzx eax, byte [r8 + r9 + 1]
inc r8
movzx ecx, byte [rax + rcx]
lea rax, [0x14010afe0]
movzx edx, byte [r8]
movzx eax, byte [rdx + rax]
cmp eax, ecx
lea rcx, [0x14010afe0]
je 0x14008a105
inc r11d
inc rdi
add r10, 0x20
cmp rdi, rbx
jl 0x14008a0f0
mov ebp, dword [rsp + 0xa4]
mov rsi, qword [rsp + 0xf8]
movsx eax, word [r13 + 0x3e]
cmp r11d, eax
jl 0x14008a230
cmp qword [rsp + 0xb0], 0
jne 0x14008a2af
mov rax, qword [rsp + 0x70]
mov rbx, qword [rax + 8]
mov rcx, qword [rbx + r15 + 8]
call fcn.1400464a0
test eax, eax
je 0x14008a2af
mov rax, qword [rbx + r15]
lea r9, str.ROWID
mov qword [rsp + 0x110], rax
mov rdi, 0xffffffffffffffff
mov byte [rsp + 0x64], 1
jmp 0x14008a24d
movsx eax, word [r13 + 0x3c]
cmp r11d, eax
jne 0x14008a1ea
mov rax, qword [rsp + 0x70]
mov byte [rsp + 0x64], 1
mov rax, qword [rax + 8]
mov rax, qword [r15 + rax]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x88]
mov ebp, dword [rsp + 0xa4]
mov dword [rax + rdi*4], r12d
jmp 0x14008a14a
cmp qword [rsp + 0xb0], 0
je 0x14008a1d2
mov rcx, qword [r13 + 8]
mov rax, rdi
mov ebp, dword [rsp + 0xa4]
shl rax, 5
movzx ebp, bpl
test byte [rax + rcx + 0x1b], 1
mov eax, 1
cmovne ebp, eax
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0xa4], ebp
mov dword [rax + rdi*4], r12d
jmp 0x14008a14a
test rdi, rdi
jns 0x14008a23e
lea r9, str.ROWID
jmp 0x14008a24d
mov rax, qword [r13 + 8]
mov rcx, rdi
shl rcx, 5
mov r9, qword [rcx + rax]
mov rax, qword [rsp + 0x108]
mov rcx, rsi
mov r8, qword [r13]
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.1400530a0
cmp eax, 1
je 0x14008bc94
cmp eax, 2
jne 0x14008a297
mov rax, qword [rsp + 0x88]
mov dword [rax + rdi*4], 0xffffffff
mov rax, qword [rsp + 0x70]
inc r12d
add r15, 0x28
cmp r12d, dword [rax]
jge 0x14008a2e5
xor ebx, ebx
jmp 0x14008a090
mov rbp, qword [rsp + 0x70]
lea rdx, str.no_such_column:__s
movsxd rax, r12d
mov r8, qword [rbp + 8]
lea rcx, [rax + rax*4]
mov r8, qword [r8 + rcx*8 + 8]
mov rcx, r14
call fcn.140009c50
mov r15, qword [rsp + 0x88]
mov byte [r14 + 0x1d], 1
jmp 0x14008bca1
mov r15, qword [rsp + 0x88]
movzx ebx, byte [rsp + 0x64]
movzx eax, byte [r13 + 0x46]
lea edi, [rbx + rbp]
mov rcx, qword [rsp + 0x98]
and al, 0x10
neg al
movzx r9d, dil
mov r8, r15
mov byte [rsp + 0xa0], dil
sbb rax, rax
mov rdx, r13
mov qword [rcx + 0x68], rax
mov rcx, r14
call fcn.140067de0
mov r8, qword [r13 + 0x10]
mov ebp, eax
mov dword [rsp + 0xa8], eax
test r8, r8
je 0x14008a3ce
mov r11, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x120]
inc r11
mov r13, qword [rsp + 0xb0]
test dil, dil
jne 0x14008a3a2
test ebp, ebp
jne 0x14008a3a2
cmp qword [r8 + 0x48], 0
jne 0x14008a3a2
cmp r8, r13
je 0x14008a3a2
movzx eax, word [r8 + 0x5e]
xor ecx, ecx
mov r10d, ecx
mov edx, ecx
cmp cx, ax
jae 0x14008a3af
mov rcx, qword [r8 + 8]
mov r9d, eax
movsx rax, word [rcx]
test ax, ax
js 0x14008a3a2
cmp dword [r15 + rax*4], r10d
jge 0x14008a3a2
inc rdx
add rcx, 2
cmp rdx, r9
jl 0x14008a385
jmp 0x14008a3af
inc dword [r14 + 0x38]
mov r10d, dword [r14 + 0x38]
test r10d, r10d
jne 0x14008a3b3
mov byte [r11], 0
mov dword [rbx], r10d
inc r11
mov r8, qword [r8 + 0x28]
add rbx, 4
test r8, r8
jne 0x14008a358
mov r13, qword [rsp + 0xb8]
mov rsi, qword [r14 + 0x10]
mov qword [rsp + 0xf8], rsi
test rsi, rsi
jne 0x14008a3fb
mov rcx, r14
call fcn.14007d670
mov qword [rsp + 0xf8], rax
mov rsi, rax
test rax, rax
je 0x14008bc9c
cmp byte [r14 + 0x1e], 0
jne 0x14008a409
or dword [rsi + 0xc0], 0x10
mov rbx, qword [r14 + 0xa0]
test rbx, rbx
je 0x14008a41a
mov rcx, rbx
jmp 0x14008a428
mov rbx, r14
mov qword [rsp + 0xf8], rsi
mov rcx, r14
mov eax, dword [rcx + 0x7c]
mov r15d, dword [rsp + 0x84]
bt eax, r15d
jb 0x14008a44b
bts eax, r15d
mov dword [rcx + 0x7c], eax
cmp r15d, 1
jne 0x14008a44b
call fcn.14005ca10
mov eax, dword [rbx + 0x78]
or byte [rbx + 0x20], 1
bts eax, r15d
mov dword [rbx + 0x78], eax
test byte [r13 + 0x46], 0x10
jne 0x14008a4f8
mov r12d, dword [r14 + 0x38]
inc r12d
cmp byte [rsp + 0xa4], 0
mov dword [rsp + 0xdc], r12d
lea edx, [r12 + 1]
mov dword [rsp + 0x94], edx
mov ebx, edx
mov dword [r14 + 0x38], edx
mov dword [rsp + 0x68], edx
jne 0x14008a4a6
mov rax, qword [rsp + 0xc8]
test rax, rax
jne 0x14008a4a6
mov ecx, edx
test ebp, ebp
je 0x14008a4c3
movsx ecx, word [r13 + 0x3e]
lea eax, [rdx + 1]
add ecx, edx
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0xc8]
mov dword [r14 + 0x38], ecx
test dil, dil
jne 0x14008a4d1
test rax, rax
jne 0x14008a4d1
test ebp, ebp
je 0x14008a4e1
lea eax, [rcx + 1]
mov dword [rsp + 0x94], eax
mov ecx, eax
mov dword [r14 + 0x38], eax
lea eax, [rcx + 1]
mov dword [rsp + 0xd4], eax
movsx eax, word [r13 + 0x3e]
add eax, ecx
mov dword [r14 + 0x38], eax
jmp 0x14008a503
mov r12d, dword [rsp + 0xdc]
mov ebx, r12d
cmp qword [rsp + 0x118], 0
mov r15, qword [rsp + 0x128]
je 0x14008a553
mov rax, qword [r14 + 0x218]
mov r8, r15
mov r9d, dword [rsp + 0x60]
mov rdx, r13
mov qword [rsp + 0x140], rax
mov rcx, r14
mov rax, qword [r13]
mov qword [r14 + 0x218], rax
mov qword [rsp + 0x138], r14
call fcn.14005ec40
mov qword [rsp + 0xf8], rsi
mov rdx, r15
lea rcx, [rsp + 0x158]
call fcn.1400430e0
test eax, eax
jne 0x14008bc61
movzx eax, byte [r13 + 0x46]
test al, 0x10
je 0x14008a5c1
mov eax, dword [rsp + 0x210]
mov r8, r13
mov rdx, qword [rsp + 0x110]
mov rcx, r14
mov rbp, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x98]
mov r9, rbp
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], r15
mov r15, qword [rsp + 0x88]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdx
mov rdx, rdi
call fcn.14008be20
jmp 0x14008bc76
test al, 0x20
jne 0x14008a7b8
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008a5f4
mov r9d, r12d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
mov edx, 0x4f
mov rcx, rsi
call fcn.14002bbb0
xor edx, edx
jmp 0x14008a624
lea eax, [rcx + 1]
xor edx, edx
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], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rdx
mov eax, dword [rsp + 0xac]
xor r9d, r9d
mov rdi, qword [rsp + 0x98]
mov r8, r15
mov dword [rsp + 0x30], eax
mov rcx, r14
mov word [rsp + 0x28], 0x404
mov qword [rsp + 0x20], rdx
mov rdx, rdi
call fcn.14009e160
mov r15, rax
test rax, rax
je 0x14008bc69
mov rcx, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
mov rbx, qword [rax + 0x24]
movzx edi, byte [rax + 0x3d]
mov qword [rsp + 0x130], rbx
mov dword [rsp + 0x84], edi
cmp dword [rcx + 0x3c], edx
jg 0x14008a6ad
mov r9d, dword [rsp + 0x68]
xor eax, eax
mov r8d, dword [rsp + 0x60]
mov edx, 0x7b
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.14002bbb0
mov edx, dword [rsp + 0x68]
xor r8d, r8d
jmp 0x14008a6e6
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x60]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], 0x7b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
test edi, edi
jne 0x14008a716
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008a781
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, r12d
mov edx, 0x8e
mov rcx, rsi
call fcn.14002bbb0
xor r12d, r12d
mov rcx, r15
call fcn.14009ee50
mov rax, qword [rsp + 0x108]
test byte [rax + 0x2c], 0x80
je 0x14008ab77
cmp qword [r14 + 0xa8], 0
jne 0x14008ab77
inc dword [r14 + 0x38]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov edx, dword [r14 + 0x38]
mov dword [rsp + 0xc0], edx
cmp dword [rax + 0x3c], ecx
jg 0x14008ab48
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x4c
xor r8d, r8d
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008ab77
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], r12d
xor r12d, r12d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov word [rax + rcx*8], 0x8e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], edx
jmp 0x14008a719
mov eax, dword [r14 + 0x38]
mov edx, dword [r14 + 0x34]
mov rdi, qword [rsp + 0xb0]
mov dword [rsp + 0x90], edx
lea r12d, [rax + 1]
inc eax
mov dword [rsp + 0x80], r12d
movsx rbp, word [rdi + 0x5e]
add eax, ebp
mov ebx, ebp
mov dword [r14 + 0x38], eax
mov dword [rsp + 0x7c], eax
lea eax, [rdx + 1]
mov dword [r14 + 0x34], eax
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008a82a
xor eax, eax
mov r9d, r12d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x4f
mov rcx, rsi
call fcn.14002bbb0
mov edx, dword [rsp + 0x90]
xor r8d, r8d
jmp 0x14008a85d
lea eax, [rcx + 1]
xor r8d, r8d
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], r8d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi + 0x18]
movsxd r13, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], r13d
jg 0x14008a88b
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, rsi
mov edx, 0x6b
call fcn.14002bbb0
mov r13d, eax
jmp 0x14008a8c1
lea eax, [r13 + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [r13*2]
mov rax, qword [rsi + 0x68]
add rcx, r13
mov word [rax + rcx*8], 0x6b
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], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rbx, qword [r14 + 0x10]
mov rdx, rdi
mov rcx, r14
call fcn.14005d830
mov rcx, qword [rbx]
mov r8, rax
cmp byte [rcx + 0x55], 0
je 0x14008a8e8
mov edx, 0xfffffffa
call fcn.14002c950
jmp 0x14008a923
movsxd rax, dword [rbx + 0xb8]
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rdx*8 - 0x17], 0
lea rcx, [rax + rdx*8]
je 0x14008a916
lea rdx, [rcx - 0x18]
mov r9d, 0xfffffffa
mov rcx, rbx
call fcn.14002cc70
jmp 0x14008a923
test r8, r8
je 0x14008a923
mov qword [rcx - 8], r8
mov byte [rcx - 0x17], 0xfa
mov eax, dword [rsp + 0xac]
xor r9d, r9d
mov rdi, qword [rsp + 0x98]
mov r8, r15
mov dword [rsp + 0x30], eax
mov rdx, rdi
xor eax, eax
mov word [rsp + 0x28], 4
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14009e160
mov qword [rsp + 0x150], rax
mov r15, rax
test rax, rax
je 0x14008bc69
mov rbx, qword [rax + 0x24]
mov r14, rbp
movzx edi, byte [rax + 0x3d]
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x130], rbx
mov dword [rsp + 0x84], edi
test rbp, rbp
jle 0x14008a9f8
mov rbx, qword [rsp + 0xb8]
xor eax, eax
mov r15, qword [rsp + 0xb0]
mov ebp, r12d
mov r12d, dword [rsp + 0x60]
mov edi, eax
nop dword [rax]
mov rax, qword [r15 + 8]
mov r8d, r12d
mov rdx, rbx
mov dword [rsp + 0x20], ebp
mov rcx, rsi
movsx r9d, word [rax + rdi*2]
call fcn.140049a70
inc ebp
inc rdi
cmp rdi, r14
jl 0x14008a9b0
mov rbx, qword [rsp + 0x148]
movzx ebp, r14w
mov r15, qword [rsp + 0x150]
mov r12d, dword [rsp + 0x80]
mov edi, dword [rsp + 0x84]
test edi, edi
je 0x14008aa60
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
jne 0x14008aa35
movsxd rax, r13d
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov r8, qword [rax + rdx*8 + 0x10]
lea rdi, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.14002c950
xor eax, eax
mov word [rdi], 0xa1
mov qword [rdi + 0x10], rax
mov edi, dword [rsp + 0x84]
mov r14, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xb8]
movsx eax, bp
mov ebp, dword [rsp + 0xa8]
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0x7c], r12d
jmp 0x14008a716
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x108]
movsx edi, bp
call fcn.140069300
mov dword [rsp + 0x30], edi
mov r8d, r12d
mov edi, dword [rsp + 0x7c]
mov edx, 0x63
mov qword [rsp + 0x28], rax
mov rcx, rsi
movsx r9d, bp
mov dword [rsp + 0x20], edi
call fcn.14002bf10
mov rax, qword [rsi + 0x18]
xor r12d, r12d
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008aaf0
mov r8d, dword [rsp + 0x90]
mov r9d, edi
mov edx, 0x7e
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.14002bbb0
mov r14, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xb8]
mov edi, dword [rsp + 0x84]
mov ebp, dword [rsp + 0xa8]
jmp 0x14008a719
mov edx, dword [rsp + 0x90]
lea eax, [rcx + 1]
mov r14, qword [rsp + 0xe8]
lea rcx, [rcx + rcx*2]
mov r13, qword [rsp + 0xb8]
mov ebp, dword [rsp + 0xa8]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 8], edi
mov edi, dword [rsp + 0x84]
mov word [rax + rcx*8], 0x7e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
jmp 0x14008a719
lea eax, [rcx + 1]
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], r12d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rcx, rsi
call fcn.14002c260
mov r8, qword [rsp + 0x118]
mov r15d, eax
mov r12d, dword [rsp + 0x210]
mov dword [rsp + 0x80], eax
test r8, r8
jne 0x14008ac55
cmp r12d, 5
je 0x14008abc2
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x14008abe0
cmp byte [rax + 0x62], 5
je 0x14008abc2
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14008abb1
jmp 0x14008abe0
mov eax, dword [rsp + 0x104]
mov edx, 1
mov rcx, qword [rsp + 0xf0]
inc eax
movsxd r8, eax
call fcn.1400f43c0
test edi, edi
je 0x14008ac13
mov ecx, dword [rsp + 0xd8]
mov rdx, qword [rsp + 0xf0]
test ebx, ebx
js 0x14008ac00
sub ebx, ecx
movsxd rax, ebx
mov byte [rax + rdx], 0
mov eax, dword [rsp + 0x134]
test eax, eax
js 0x14008ac13
sub eax, ecx
cdqe
mov byte [rax + rdx], 0
mov ebx, dword [rsp + 0xd8]
xor eax, eax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov r8d, 0x69
mov rax, qword [rsp + 0xf0]
mov rdx, r13
mov qword [rsp + 0x28], rax
mov rcx, r14
mov dword [rsp + 0x20], ebx
call fcn.14006dd10
mov r8, qword [rsp + 0x118]
jmp 0x14008ac5c
mov ebx, dword [rsp + 0xd8]
test edi, edi
je 0x14008ad12
mov ecx, dword [rsp + 0x60]
mov eax, ecx
mov rdx, qword [rsp + 0xf0]
sub eax, ebx
mov ebx, dword [rsp + 0x7c]
cdqe
cmp byte [rax + rdx], 0
je 0x14008aca7
test r8, r8
jne 0x14008aca7
mov eax, dword [rsp + 0xe0]
mov r8d, ecx
mov dword [rsp + 0x28], eax
mov rcx, rsi
mov r9d, r15d
mov dword [rsp + 0x20], ebx
mov edx, 0x1e
call fcn.14002c180
cmp qword [rsp + 0xb0], 0
mov r13d, r15d
mov edx, dword [rsp + 0x68]
mov rax, qword [rsi + 0x18]
cmovne edx, ebx
movsxd rcx, dword [rsi + 0xb8]
xor edi, edi
mov dword [rsp + 0x78], r15d
cmp dword [rax + 0x3c], ecx
jg 0x14008aced
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x22
mov r9d, r15d
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008af1f
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
jmp 0x14008af11
cmp qword [rsp + 0xb0], 0
je 0x14008ae35
mov rcx, rsi
call fcn.14002c260
mov rcx, qword [rsi + 0x18]
mov r13d, eax
movsxd rdx, dword [rsi + 0xb8]
mov dword [rsp + 0x78], eax
cmp dword [rcx + 0x3c], edx
jg 0x14008ad6a
mov r8d, dword [rsp + 0x90]
xor eax, eax
mov r9d, r15d
mov dword [rsp + 0x20], eax
mov edx, 0x39
mov rcx, rsi
call fcn.14002bbb0
mov edx, dword [rsp + 0x90]
xor r8d, r8d
jmp 0x14008ada3
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x90]
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 dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rdi, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov ebx, dword [rsp + 0x7c]
mov dword [rsp + 0xd0], edi
cmp dword [rax + 0x3c], edi
jg 0x14008ade2
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, rsi
mov edx, 0x79
call fcn.14002bbb0
mov dword [rsp + 0xd0], eax
xor r8d, r8d
jmp 0x14008ae10
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x79
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], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov dword [rsp + 0x28], r8d
mov r9d, r13d
mov r8d, dword [rsp + 0x60]
mov edx, 0x1e
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.14002c180
xor edi, edi
jmp 0x14008af1f
movsxd r13, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov dword [rsp + 0x78], r13d
cmp dword [rax + 0x3c], r13d
jg 0x14008ae7b
mov eax, dword [rsp + 0x68]
mov r9d, r15d
mov r8d, dword [rsp + 0xdc]
mov edx, 0x3e
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.14002bbb0
mov r8d, dword [rsp + 0x68]
mov r13d, eax
mov dword [rsp + 0x78], eax
xor edi, edi
jmp 0x14008aec0
mov edx, dword [rsp + 0xdc]
lea eax, [r13 + 1]
mov r8d, dword [rsp + 0x68]
lea rcx, [r13*2]
mov dword [rsi + 0xb8], eax
add rcx, r13
mov rax, qword [rsi + 0x68]
xor edi, edi
mov word [rax + rcx*8], 0x3e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008aeec
mov dword [rsp + 0x20], r8d
mov r9d, r13d
mov r8d, dword [rsp + 0x60]
mov edx, 0x21
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008af1f
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x21
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
mov dword [rax + rcx*8 + 4], edx
mov byte [rax + rcx*8 + 3], 0
cmp byte [rsp + 0x64], 0
je 0x14008af6b
mov ebx, dword [rsp + 0x94]
mov rcx, r14
mov rdx, qword [rsp + 0x110]
mov r8d, ebx
call fcn.14004bb30
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b098
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, ebx
mov edx, send
mov rcx, rsi
call fcn.14002bbb0
xor r8d, r8d
cmp byte [rsp + 0xa4], 0
jne 0x14008b0ca
test ebp, ebp
jne 0x14008b0d2
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x14008b1e8
mov r14d, r8d
mov rax, qword [rsp + 0xc8]
mov edi, r8d
mov rbx, rax
test rax, rax
je 0x14008b00e
mov rbp, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xb8]
mov r13, qword [rsp + 0x70]
cmp byte [rbx + 0x10], 0x6e
jne 0x14008aff5
test byte [rbx + 0x11], 3
je 0x14008aff5
mov rcx, qword [rbx + 0x20]
mov rdx, r13
call fcn.140088de0
test eax, eax
je 0x14008aff5
mov r9d, r12d
mov r8, r15
mov rdx, rbx
mov rcx, rbp
call fcn.1400898e0
test rax, rax
je 0x14008aff5
or edi, dword [rax + 0x1c]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x14008afc0
mov r13d, dword [rsp + 0x78]
xor r8d, r8d
mov r15d, dword [rsp + 0x80]
mov rax, qword [rsp + 0xb8]
or r14d, edi
mov ebx, r8d
cmp r8w, word [rax + 0x3e]
jge 0x14008b164
mov r12d, dword [rsp + 0x60]
mov edi, 1
mov r15d, dword [rsp + 0x100]
mov rbp, r8
mov r13, rax
nop
cmp r14d, 0xffffffff
je 0x14008b11e
cmp ebx, 0x20
jge 0x14008b058
test r14d, edi
jne 0x14008b11e
mov rax, qword [r13 + 8]
test byte [rax + rbp + 0x1b], 1
jne 0x14008b11e
mov rax, qword [rsi + 0x18]
lea edx, [rbx + r15]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b0ed
mov dword [rsp + 0x20], r8d
mov r9d, edx
xor r8d, r8d
mov edx, 0x4f
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008b137
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], send
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x14008af6e
test ebp, ebp
je 0x14008af95
mov rdx, qword [rsp + 0xb8]
mov rcx, r14
call fcn.140067cb0
mov r14d, eax
xor r8d, r8d
jmp 0x14008af98
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], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x14008b13a
lea eax, [rbx + r15]
mov r9d, ebx
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rdx, r13
mov rcx, rsi
call fcn.140049a70
xor r8d, r8d
movsx eax, word [r13 + 0x3e]
inc ebx
rol edi, 1
add rbp, 0x20
cmp ebx, eax
jl 0x14008b040
mov r13d, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x210]
mov r15d, dword [rsp + 0x80]
cmp byte [rsp + 0x64], 0
jne 0x14008b1e0
cmp qword [rsp + 0xb0], 0
jne 0x14008b1e0
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b1a7
mov r9d, dword [rsp + 0x94]
mov edx, 0x54
mov dword [rsp + 0x20], r8d
mov rcx, rsi
mov r8d, dword [rsp + 0x68]
call fcn.14002bbb0
jmp 0x14008b1e0
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
mov edx, dword [rsp + 0x94]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], 0x54
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0xc8]
xor r9d, r9d
mov rbx, rax
mov ebp, r9d
test rax, rax
je 0x14008b266
mov r15, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x70]
nop dword [rax + rax]
cmp byte [rbx + 0x10], 0x6e
jne 0x14008b245
test byte [rbx + 0x11], 1
je 0x14008b245
mov rcx, qword [rbx + 0x20]
mov rdx, rsi
call fcn.140088de0
test eax, eax
je 0x14008b245
mov r9d, r12d
mov r8, r13
mov rdx, rbx
mov rcx, r15
call fcn.1400898e0
test rax, rax
je 0x14008b245
or ebp, dword [rax + 0x20]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x14008b210
mov rsi, qword [rsp + 0xf8]
xor r9d, r9d
mov r13d, dword [rsp + 0x78]
mov r15d, dword [rsp + 0x80]
mov rax, qword [rsp + 0xb8]
cmp r9w, word [rax + 0x3e]
jge 0x14008b39b
mov ebx, dword [rsp + 0xd4]
mov edi, 1
mov r14, qword [rsp + 0x88]
mov r15d, ebx
mov r12, qword [rsp + 0xe8]
neg r15d
mov r13, rax
nop
movsx eax, word [r13 + 0x3c]
lea r8d, [r15 + rbx]
cmp r8d, eax
jne 0x14008b2db
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b325
mov dword [rsp + 0x20], r9d
xor r8d, r8d
mov r9d, ebx
mov edx, 0x4f
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008b36a
movsxd rax, dword [r14]
test eax, eax
js 0x14008b300
lea rcx, [rax + rax*4]
mov r8d, ebx
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + rcx*8]
mov rcx, r12
call fcn.14004bb30
jmp 0x14008b36a
mov eax, dword [rsp + 0x190]
test al, 1
je 0x14008b356
cmp r8d, 0x1f
jg 0x14008b356
test edi, ebp
jne 0x14008b356
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jle 0x14008b2be
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], ebx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14008b36d
mov r9d, dword [rsp + 0x60]
mov rdx, r13
mov rcx, r12
mov dword [rsp + 0x20], ebx
call fcn.140049d00
xor r9d, r9d
movsx eax, word [r13 + 0x3e]
inc ebx
rol edi, 1
add r14, 4
lea ecx, [r15 + rbx]
cmp ecx, eax
jl 0x14008b2a0
mov r13d, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x210]
mov r15d, dword [rsp + 0x80]
test byte [rsp + 0x190], 1
mov rbp, qword [rsp + 0xb8]
je 0x14008b4fc
mov r8d, dword [rsp + 0xd4]
mov rdx, rbp
mov rcx, rsi
call fcn.140069510
mov ebx, dword [rsp + 0x68]
mov r8d, WSAStartup
mov r14, qword [rsp + 0xe8]
mov r9, qword [rsp + 0x70]
mov rcx, r14
mov rdx, qword [rsp + 0xc8]
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 1
call fcn.140089ad0
cmp qword [rsp + 0xb0], 0
je 0x14008b43b
mov eax, dword [rsp + 0xe0]
mov r9d, r13d
mov r8d, dword [rsp + 0x60]
mov edx, 0x1e
mov dword [rsp + 0x28], eax
mov rcx, rsi
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x20], eax
call fcn.14002c180
jmp 0x14008b49c
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b466
mov r8d, dword [rsp + 0x60]
mov r9d, r13d
mov edx, 0x21
mov dword [rsp + 0x20], ebx
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008b49c
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x21
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], 0
xor eax, eax
mov ebx, eax
cmp ax, word [rbp + 0x3e]
jge 0x14008b506
mov rdi, qword [rsp + 0x88]
mov r15d, dword [rsp + 0x60]
mov r14d, dword [rsp + 0xd4]
nop dword [rax + rax]
cmp dword [rdi], 0
jge 0x14008b4e6
movsx eax, word [rbp + 0x3c]
cmp ebx, eax
je 0x14008b4e6
lea eax, [rbx + r14]
mov r9d, ebx
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rdx, rbp
mov rcx, rsi
call fcn.140049a70
movsx eax, word [rbp + 0x3e]
inc ebx
add rdi, 4
cmp ebx, eax
jl 0x14008b4c0
mov r15d, dword [rsp + 0x80]
mov r14, qword [rsp + 0xe8]
xor eax, eax
cmp qword [rsp + 0x118], 0
jne 0x14008b89e
movzx edi, byte [rsp + 0xa0]
mov ebx, eax
mov r9d, dword [rsp + 0x60]
mov rdx, rbp
mov r8, qword [rsp + 0x120]
mov rcx, r14
mov dword [rsp + 0x190], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x190]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x48], r13d
mov byte [rsp + 0x40], r12b
mov byte [rsp + 0x38], dil
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x20], eax
call fcn.14006bfd0
cmp dword [rsp + 0xa8], 0
je 0x14008b5b3
mov rax, qword [rsp + 0x88]
xor r9d, r9d
mov r8d, dword [rsp + 0x68]
mov rdx, rbp
mov dword [rsp + 0x28], edi
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.140067210
cmp dword [rsp + 0x190], 0
jne 0x14008b5c6
test dil, dil
je 0x14008b667
cmp qword [rsp + 0xb0], 0
je 0x14008b5fd
mov eax, dword [rsp + 0xe0]
xor r9d, r9d
mov r8d, dword [rsp + 0x60]
mov edx, 0x1e
mov dword [rsp + 0x28], eax
mov rcx, rsi
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x20], eax
call fcn.14002c180
mov ebx, eax
jmp 0x14008b667
mov rax, qword [rsi + 0x18]
movsxd rbx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ebx
jg 0x14008b62e
mov eax, dword [rsp + 0x68]
xor r9d, r9d
mov r8d, dword [rsp + 0x60]
mov edx, 0x21
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.14002bbb0
mov ebx, eax
jmp 0x14008b667
mov edx, dword [rsp + 0x60]
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
xor r8d, r8d
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8], 0x21
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 + 0x120]
mov rdx, rbp
mov r9d, dword [rsp + 0xac]
mov rcx, r14
mov r8d, dword [rsp + 0x60]
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.1400608e0
mov r8d, dword [rsp + 0xa8]
test r8d, r8d
jne 0x14008b6b1
test dil, dil
jne 0x14008b6b1
cmp qword [rsp + 0xb0], 0
je 0x14008b716
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b6e6
mov r8d, dword [rsp + 0x60]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov edx, 0x75
mov rcx, rsi
call fcn.14002bbb0
mov r8d, dword [rsp + 0xa8]
jmp 0x14008b716
mov edx, dword [rsp + 0x60]
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], 0x75
mov byte [rax + rcx*8 + 3], 0
cmp dword [rsp + 0x190], 0
jne 0x14008b725
test dil, dil
je 0x14008b756
mov edx, dword [rsi + 0xb8]
test ebx, ebx
jns 0x14008b732
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x14008b744
lea rax, [0x140128950]
jmp 0x14008b753
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test r8d, r8d
je 0x14008b782
mov rax, qword [rsp + 0x88]
xor r8d, r8d
mov r9d, dword [rsp + 0x94]
mov rdx, rbp
mov dword [rsp + 0x28], edi
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.140067210
mov r9d, dword [rsp + 0xac]
xor eax, eax
mov r8d, dword [rsp + 0x60]
mov rdx, rbp
mov dword [rsp + 0x40], eax
mov rcx, r14
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x120]
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x20], eax
call fcn.14006d9a0
cmp dword [rsp + 0xa8], 0
je 0x14008b89e
mov rax, qword [r14]
test dword [rax + 0x2c], 0x80000
je 0x14008b89e
mov rcx, qword [rbp + 0x68]
lea r8, [rsp + 0x100]
mov rdx, qword [rbp]
add rcx, 0x50
call fcn.14000b1a0
test rax, rax
je 0x14008b89e
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14008b89e
mov r15, qword [rsp + 0x88]
xor esi, esi
mov r12, qword [rsp + 0x70]
mov r13d, dword [rsp + 0x68]
nop word [rax + rax]
mov r9d, edi
mov r8, r15
mov rdx, rbx
mov rcx, rbp
call fcn.1400670e0
test eax, eax
je 0x14008b878
mov r9, r12
mov r8, rbx
mov rdx, rbp
mov rcx, r14
call fcn.140067f00
test rax, rax
je 0x14008b878
mov dword [rsp + 0x28], esi
mov r9d, r13d
mov r8, rbp
mov dword [rsp + 0x20], 2
mov rdx, rax
mov rcx, r14
call fcn.140089920
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x14008b830
mov rsi, qword [rsp + 0xf8]
mov r13d, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x210]
mov r15d, dword [rsp + 0x80]
mov rbx, qword [rsp + 0x108]
test byte [rbx + 0x2c], 0x80
je 0x14008b920
cmp qword [r14 + 0xa8], 0
jne 0x14008b920
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b8e9
mov r8d, dword [rsp + 0xc0]
xor eax, eax
mov r9d, 1
mov dword [rsp + 0x20], eax
mov edx, 0x5b
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008b920
mov edx, dword [rsp + 0xc0]
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 + 0x10], rdx
mov word [rax + rcx*8], 0x5b
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 8], 1
mov eax, dword [rsp + 0x68]
mov r8d, WSAStartup
mov r9, qword [rsp + 0x70]
mov rcx, r14
mov rdx, qword [rsp + 0xc8]
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 2
call fcn.140089ad0
cmp dword [rsp + 0x84], 0
jne 0x14008ba66
cmp qword [rsp + 0xb0], 0
mov rax, qword [rsi + 0x18]
je 0x14008ba0b
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14008b993
mov eax, dword [rsi + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
mov rax, qword [rsi + 0x18]
xor r12d, r12d
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b9cd
mov r9d, dword [rsp + 0xd0]
mov edx, 7
mov r8d, dword [rsp + 0x90]
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.14002bbb0
jmp 0x14008ba69
mov edx, dword [rsp + 0x90]
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
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 0x14008ba69
movsxd rcx, dword [rsi + 0xb8]
xor r12d, r12d
cmp dword [rax + 0x3c], ecx
jg 0x14008ba34
mov r9d, r13d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0xd
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008ba69
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0xd
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 0x14008ba69
xor r12d, r12d
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14008ba85
mov eax, dword [rsi + 0xb8]
not r15d
movsxd rcx, r15d
mov dword [rdx + rcx*4], eax
mov rdi, qword [rbp + 0x10]
test rdi, rdi
je 0x14008bb18
mov rbp, qword [rsp + 0xf0]
mov ebx, dword [rsp + 0xac]
inc rbp
cmp byte [rbp], 0
je 0x14008bb02
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008bad4
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov edx, WSAStartup
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008bb02
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], 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 0x14008baa4
mov rbx, qword [rsp + 0x108]
mov edx, dword [rsp + 0x60]
cmp edx, dword [rsp + 0xac]
jge 0x14008bb7d
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008bb4f
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, WSAStartup
xor r9d, r9d
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008bb7d
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], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
cmp byte [r14 + 0x1e], 0
jne 0x14008bba0
cmp qword [r14 + 0xa8], 0
jne 0x14008bba0
cmp qword [r14 + 0x98], 0
je 0x14008bba0
mov rcx, r14
call fcn.140069a40
test byte [rbx + 0x2c], 0x80
je 0x14008bc61
cmp qword [r14 + 0xa8], 0
jne 0x14008bc61
cmp byte [r14 + 0x1e], 0
jne 0x14008bc61
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008bbf5
mov r8d, dword [rsp + 0xc0]
mov r9d, 1
mov edx, 0x57
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.14002bbb0
jmp 0x14008bc2a
mov edx, dword [rsp + 0xc0]
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], r12
mov edx, 1
mov rcx, rsi
call fcn.14002e490
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x14008bc61
mov rcx, qword [rsi + 0x80]
lea rdx, str.rows_updated
mov r9b, 1
mov qword [rsp + 0x20], r12
mov r8d, 0xffffffff
call fcn.14002ad40
mov rdi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x70]
mov r15, qword [rsp + 0x88]
mov rax, qword [rsp + 0x138]
test rax, rax
je 0x14008bca9
mov rcx, qword [rsp + 0x140]
mov qword [rax + 0x218], rcx
jmp 0x14008bca9
mov r15, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x98]
mov r12, qword [rsp + 0x108]
cmp qword [r12 + 0x298], 0
je 0x14008bcd7
mov rdx, r15
mov rcx, r12
call fcn.140006920
mov rdx, rdi
mov rcx, r12
call fcn.14005c1a0
jmp 0x14008bda1
cmp r15, qword [r12 + 0x180]
jb 0x14008bd16
cmp r15, qword [r12 + 0x188]
jae 0x14008bd16
mov rax, qword [r12 + 0x178]
mov rdx, rdi
mov qword [r15], rax
mov rcx, r12
dec dword [r12 + 0x160]
mov qword [r12 + 0x178], r15
call fcn.14005c1a0
jmp 0x14008bda1
cmp dword [0x140124d50], 0
je 0x14008bd73
mov rcx, qword [0x140128b48]
test rcx, rcx
je 0x14008bd31
call qword [0x140124dd8]
mov rcx, r15
call qword [0x140124d90]
dec qword [0x1401288f8]
movsxd rcx, eax
sub qword [0x1401288b0], rcx
mov rcx, r15
call qword [0x140124d80]
mov rcx, qword [0x140128b48]
test rcx, rcx
je 0x14008bd66
call qword [0x140124de8]
mov rdx, rdi
mov rcx, r12
call fcn.14005c1a0
jmp 0x14008bda1
mov rcx, r15
call qword [0x140124d80]
mov rdx, rdi
mov rcx, r12
call fcn.14005c1a0
jmp 0x14008bda1
mov rdi, qword [rsp + 0x98]
mov rdx, rdi
mov rcx, r12
call fcn.14005c1a0
test rbp, rbp
je 0x14008bdac
mov rdx, rbp
mov rcx, r12
call fcn.140045ec0
mov rax, qword [rsp + 0x128]
mov r15, qword [rsp + 0x1a8]
mov r14, qword [rsp + 0x1b0]
mov r13, qword [rsp + 0x1b8]
mov rdi, qword [rsp + 0x1c0]
mov rsi, qword [rsp + 0x1c8]
mov rbp, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x1d8]
test rax, rax
je 0x14008bdfc
mov rdx, rax
mov rcx, r12
call fcn.140044ba0
mov rcx, qword [rsp + 0x198]
xor rcx, rsp
call fcn.1400d12d0
add rsp, 0x1e0
pop r12
ret