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

Disassembly:
mov r11, rsp
push r12
sub rsp, 0x1e0
mov rax, qword [0x140125080]
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 0x14008be71
cmp byte [r12 + 0x55], bl
jne 0x14008be71
call fcn.14005eba0
mov qword [rsp + 0xb8], rax
mov r13, rax
test rax, rax
je 0x14008be71
mov rdx, qword [rax + 0x68]
mov esi, 0xfff0bdc0
mov r9, qword [r14]
mov dword [rsp + 0x84], esi
test rdx, rdx
je 0x140089f12
movsxd rcx, dword [r9 + 0x28]
mov esi, ebx
mov dword [rsp + 0x84], ebx
test ecx, ecx
jle 0x140089f12
mov rax, qword [r9 + 0x20]
mov r8, rcx
add rax, 0x18
mov ecx, ebx
cmp qword [rax], rdx
je 0x140089f0b
inc esi
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x140089ef8
mov dword [rsp + 0x84], esi
test dword [r9 + 0x2c], 0x1000000
mov r15d, ebx
mov dword [rsp + 0x190], ebx
mov rdi, rbx
je 0x140089f37
mov rdx, r13
mov rcx, r14
call fcn.140087670
mov rdi, rax
mov rbx, rdi
test rdi, rdi
je 0x140089f6e
nop
cmp byte [rbx + 0x10], 0x6e
jne 0x140089f5d
mov rcx, qword [rbx + 0x20]
mov rdx, rbp
call fcn.140088ec0
test eax, eax
je 0x140089f5d
movzx eax, byte [rbx + 0x11]
or r15d, eax
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140089f40
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.140058150
test eax, eax
jne 0x14008be69
mov r8d, r15d
mov rdx, r13
mov rcx, r14
call fcn.14005ec80
mov rdi, qword [rsp + 0x98]
test eax, eax
jne 0x14008be71
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 0x140089ff6
mov r9d, ebx
mov qword [rsp + 0xb0], rbx
jmp 0x14008a02b
mov r9, qword [r13 + 0x10]
mov qword [rsp + 0xb0], r9
test r9, r9
je 0x14008a02b
nop word [rax + rax]
mov eax, dword [r9 + 0x64]
and al, 3
cmp al, 2
je 0x14008a023
mov r9, qword [r9 + 0x28]
test r9, r9
jne 0x14008a010
mov qword [rsp + 0xb0], r9
mov rcx, qword [r13 + 0x10]
mov r8d, ebx
mov dword [rsp + 0x104], ebx
test rcx, rcx
je 0x14008a073
mov edx, dword [r14 + 0x34]
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
jne 0x14008a057
test r9, r9
je 0x14008a057
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 0x14008a042
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.140006e60
mov qword [rsp + 0x88], rax
mov r15, rax
test rax, rax
je 0x14008be71
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.1400f4290
xor r8d, r8d
mov byte [rbx + rbp + 1], 0
mov edx, r8d
cmp r8w, word [r13 + 0x3e]
jge 0x14008a105
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 0x14008a0f0
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 0x14008a3d2
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.1400431c0
test eax, eax
jne 0x14008bd74
movsx rcx, word [r13 + 0x3e]
mov r11d, ebx
mov rdi, rbx
cmp bx, cx
jge 0x14008a232
mov rax, qword [rsp + 0x70]
mov rbx, rcx
mov r10, qword [r13 + 8]
lea rcx, [0x14010c000]
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 0x14008a214
mov r9, rsi
sub r9, r8
test dl, dl
je 0x14008a28e
movzx eax, byte [r8 + r9 + 1]
inc r8
movzx ecx, byte [rax + rcx]
lea rax, [0x14010c000]
movzx edx, byte [r8]
movzx eax, byte [rdx + rax]
cmp eax, ecx
lea rcx, [0x14010c000]
je 0x14008a1e5
inc r11d
inc rdi
add r10, 0x20
cmp rdi, rbx
jl 0x14008a1d0
mov ebp, dword [rsp + 0xa4]
mov rsi, qword [rsp + 0xf8]
movsx eax, word [r13 + 0x3e]
cmp r11d, eax
jl 0x14008a310
cmp qword [rsp + 0xb0], 0
jne 0x14008a38f
mov rax, qword [rsp + 0x70]
mov rbx, qword [rax + 8]
mov rcx, qword [rbx + r15 + 8]
call fcn.140046580
test eax, eax
je 0x14008a38f
mov rax, qword [rbx + r15]
lea r9, str.ROWID
mov qword [rsp + 0x110], rax
mov rdi, 0xffffffffffffffff
mov byte [rsp + 0x64], 1
jmp 0x14008a32d
movsx eax, word [r13 + 0x3c]
cmp r11d, eax
jne 0x14008a2ca
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 0x14008a22a
cmp qword [rsp + 0xb0], 0
je 0x14008a2b2
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 0x14008a22a
test rdi, rdi
jns 0x14008a31e
lea r9, str.ROWID
jmp 0x14008a32d
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.140053180
cmp eax, 1
je 0x14008bd74
cmp eax, 2
jne 0x14008a377
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 0x14008a3c5
xor ebx, ebx
jmp 0x14008a170
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.140009d30
mov r15, qword [rsp + 0x88]
mov byte [r14 + 0x1d], 1
jmp 0x14008bd81
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.140067ec0
mov r8, qword [r13 + 0x10]
mov ebp, eax
mov dword [rsp + 0xa8], eax
test r8, r8
je 0x14008a4ae
mov r11, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x120]
inc r11
mov r13, qword [rsp + 0xb0]
test dil, dil
jne 0x14008a482
test ebp, ebp
jne 0x14008a482
cmp qword [r8 + 0x48], 0
jne 0x14008a482
cmp r8, r13
je 0x14008a482
movzx eax, word [r8 + 0x5e]
xor ecx, ecx
mov r10d, ecx
mov edx, ecx
cmp cx, ax
jae 0x14008a48f
mov rcx, qword [r8 + 8]
mov r9d, eax
movsx rax, word [rcx]
test ax, ax
js 0x14008a482
cmp dword [r15 + rax*4], r10d
jge 0x14008a482
inc rdx
add rcx, 2
cmp rdx, r9
jl 0x14008a465
jmp 0x14008a48f
inc dword [r14 + 0x38]
mov r10d, dword [r14 + 0x38]
test r10d, r10d
jne 0x14008a493
mov byte [r11], 0
mov dword [rbx], r10d
inc r11
mov r8, qword [r8 + 0x28]
add rbx, 4
test r8, r8
jne 0x14008a438
mov r13, qword [rsp + 0xb8]
mov rsi, qword [r14 + 0x10]
mov qword [rsp + 0xf8], rsi
test rsi, rsi
jne 0x14008a4db
mov rcx, r14
call fcn.14007d750
mov qword [rsp + 0xf8], rax
mov rsi, rax
test rax, rax
je 0x14008bd7c
cmp byte [r14 + 0x1e], 0
jne 0x14008a4e9
or dword [rsi + 0xc0], 0x10
mov rbx, qword [r14 + 0xa0]
test rbx, rbx
je 0x14008a4fa
mov rcx, rbx
jmp 0x14008a508
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 0x14008a52b
bts eax, r15d
mov dword [rcx + 0x7c], eax
cmp r15d, 1
jne 0x14008a52b
call fcn.14005caf0
mov eax, dword [rbx + 0x78]
or byte [rbx + 0x20], 1
bts eax, r15d
mov dword [rbx + 0x78], eax
test byte [r13 + 0x46], 0x10
jne 0x14008a5d8
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 0x14008a586
mov rax, qword [rsp + 0xc8]
test rax, rax
jne 0x14008a586
mov ecx, edx
test ebp, ebp
je 0x14008a5a3
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 0x14008a5b1
test rax, rax
jne 0x14008a5b1
test ebp, ebp
je 0x14008a5c1
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 0x14008a5e3
mov r12d, dword [rsp + 0xdc]
mov ebx, r12d
cmp qword [rsp + 0x118], 0
mov r15, qword [rsp + 0x128]
je 0x14008a633
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.14005ed20
mov qword [rsp + 0xf8], rsi
mov rdx, r15
lea rcx, [rsp + 0x158]
call fcn.1400431c0
test eax, eax
jne 0x14008bd41
movzx eax, byte [r13 + 0x46]
test al, 0x10
je 0x14008a6a1
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.14008bf00
jmp 0x14008bd56
test al, 0x20
jne 0x14008a898
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008a6d4
mov r9d, r12d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
mov edx, 0x4f
mov rcx, rsi
call fcn.14002bc90
xor edx, edx
jmp 0x14008a704
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.14009e240
mov r15, rax
test rax, rax
je 0x14008bd49
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 0x14008a78d
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.14002bc90
mov edx, dword [rsp + 0x68]
xor r8d, r8d
jmp 0x14008a7c6
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 0x14008a7f6
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008a861
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, r12d
mov edx, 0x8e
mov rcx, rsi
call fcn.14002bc90
xor r12d, r12d
mov rcx, r15
call fcn.14009ef30
mov rax, qword [rsp + 0x108]
test byte [rax + 0x2c], 0x80
je 0x14008ac57
cmp qword [r14 + 0xa8], 0
jne 0x14008ac57
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 0x14008ac28
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0x4c
xor r8d, r8d
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008ac57
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 0x14008a7f9
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 0x14008a90a
xor eax, eax
mov r9d, r12d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x4f
mov rcx, rsi
call fcn.14002bc90
mov edx, dword [rsp + 0x90]
xor r8d, r8d
jmp 0x14008a93d
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 0x14008a96b
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, rsi
mov edx, 0x6b
call fcn.14002bc90
mov r13d, eax
jmp 0x14008a9a1
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.14005d910
mov rcx, qword [rbx]
mov r8, rax
cmp byte [rcx + 0x55], 0
je 0x14008a9c8
mov edx, 0xfffffffa
call fcn.14002ca30
jmp 0x14008aa03
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 0x14008a9f6
lea rdx, [rcx - 0x18]
mov r9d, 0xfffffffa
mov rcx, rbx
call fcn.14002cd50
jmp 0x14008aa03
test r8, r8
je 0x14008aa03
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.14009e240
mov qword [rsp + 0x150], rax
mov r15, rax
test rax, rax
je 0x14008bd49
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 0x14008aad8
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.140049b50
inc ebp
inc rdi
cmp rdi, r14
jl 0x14008aa90
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 0x14008ab40
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
jne 0x14008ab15
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.14002ca30
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 0x14008a7f6
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x108]
movsx edi, bp
call fcn.1400693e0
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.14002bff0
mov rax, qword [rsi + 0x18]
xor r12d, r12d
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008abd0
mov r8d, dword [rsp + 0x90]
mov r9d, edi
mov edx, 0x7e
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.14002bc90
mov r14, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xb8]
mov edi, dword [rsp + 0x84]
mov ebp, dword [rsp + 0xa8]
jmp 0x14008a7f9
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 0x14008a7f9
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.14002c340
mov r8, qword [rsp + 0x118]
mov r15d, eax
mov r12d, dword [rsp + 0x210]
mov dword [rsp + 0x80], eax
test r8, r8
jne 0x14008ad35
cmp r12d, 5
je 0x14008aca2
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x14008acc0
cmp byte [rax + 0x62], 5
je 0x14008aca2
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14008ac91
jmp 0x14008acc0
mov eax, dword [rsp + 0x104]
mov edx, 1
mov rcx, qword [rsp + 0xf0]
inc eax
movsxd r8, eax
call fcn.1400f4290
test edi, edi
je 0x14008acf3
mov ecx, dword [rsp + 0xd8]
mov rdx, qword [rsp + 0xf0]
test ebx, ebx
js 0x14008ace0
sub ebx, ecx
movsxd rax, ebx
mov byte [rax + rdx], 0
mov eax, dword [rsp + 0x134]
test eax, eax
js 0x14008acf3
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.14006ddf0
mov r8, qword [rsp + 0x118]
jmp 0x14008ad3c
mov ebx, dword [rsp + 0xd8]
test edi, edi
je 0x14008adf2
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 0x14008ad87
test r8, r8
jne 0x14008ad87
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.14002c260
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 0x14008adcd
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x22
mov r9d, r15d
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008afff
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 0x14008aff1
cmp qword [rsp + 0xb0], 0
je 0x14008af15
mov rcx, rsi
call fcn.14002c340
mov rcx, qword [rsi + 0x18]
mov r13d, eax
movsxd rdx, dword [rsi + 0xb8]
mov dword [rsp + 0x78], eax
cmp dword [rcx + 0x3c], edx
jg 0x14008ae4a
mov r8d, dword [rsp + 0x90]
xor eax, eax
mov r9d, r15d
mov dword [rsp + 0x20], eax
mov edx, 0x39
mov rcx, rsi
call fcn.14002bc90
mov edx, dword [rsp + 0x90]
xor r8d, r8d
jmp 0x14008ae83
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 0x14008aec2
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, rsi
mov edx, 0x79
call fcn.14002bc90
mov dword [rsp + 0xd0], eax
xor r8d, r8d
jmp 0x14008aef0
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.14002c260
xor edi, edi
jmp 0x14008afff
movsxd r13, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov dword [rsp + 0x78], r13d
cmp dword [rax + 0x3c], r13d
jg 0x14008af5b
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.14002bc90
mov r8d, dword [rsp + 0x68]
mov r13d, eax
mov dword [rsp + 0x78], eax
xor edi, edi
jmp 0x14008afa0
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 0x14008afcc
mov dword [rsp + 0x20], r8d
mov r9d, r13d
mov r8d, dword [rsp + 0x60]
mov edx, 0x21
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008afff
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 0x14008b04b
mov ebx, dword [rsp + 0x94]
mov rcx, r14
mov rdx, qword [rsp + 0x110]
mov r8d, ebx
call fcn.14004bc10
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b178
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, ebx
mov edx, send
mov rcx, rsi
call fcn.14002bc90
xor r8d, r8d
cmp byte [rsp + 0xa4], 0
jne 0x14008b1aa
test ebp, ebp
jne 0x14008b1b2
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x14008b2c8
mov r14d, r8d
mov rax, qword [rsp + 0xc8]
mov edi, r8d
mov rbx, rax
test rax, rax
je 0x14008b0ee
mov rbp, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xb8]
mov r13, qword [rsp + 0x70]
cmp byte [rbx + 0x10], 0x6e
jne 0x14008b0d5
test byte [rbx + 0x11], 3
je 0x14008b0d5
mov rcx, qword [rbx + 0x20]
mov rdx, r13
call fcn.140088ec0
test eax, eax
je 0x14008b0d5
mov r9d, r12d
mov r8, r15
mov rdx, rbx
mov rcx, rbp
call fcn.1400899c0
test rax, rax
je 0x14008b0d5
or edi, dword [rax + 0x1c]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x14008b0a0
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 0x14008b244
mov r12d, dword [rsp + 0x60]
mov edi, 1
mov r15d, dword [rsp + 0x100]
mov rbp, r8
mov r13, rax
nop
cmp r14d, 0xffffffff
je 0x14008b1fe
cmp ebx, 0x20
jge 0x14008b138
test r14d, edi
jne 0x14008b1fe
mov rax, qword [r13 + 8]
test byte [rax + rbp + 0x1b], 1
jne 0x14008b1fe
mov rax, qword [rsi + 0x18]
lea edx, [rbx + r15]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b1cd
mov dword [rsp + 0x20], r8d
mov r9d, edx
xor r8d, r8d
mov edx, 0x4f
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008b217
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 0x14008b04e
test ebp, ebp
je 0x14008b075
mov rdx, qword [rsp + 0xb8]
mov rcx, r14
call fcn.140067d90
mov r14d, eax
xor r8d, r8d
jmp 0x14008b078
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 0x14008b21a
lea eax, [rbx + r15]
mov r9d, ebx
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rdx, r13
mov rcx, rsi
call fcn.140049b50
xor r8d, r8d
movsx eax, word [r13 + 0x3e]
inc ebx
rol edi, 1
add rbp, 0x20
cmp ebx, eax
jl 0x14008b120
mov r13d, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x210]
mov r15d, dword [rsp + 0x80]
cmp byte [rsp + 0x64], 0
jne 0x14008b2c0
cmp qword [rsp + 0xb0], 0
jne 0x14008b2c0
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b287
mov r9d, dword [rsp + 0x94]
mov edx, 0x54
mov dword [rsp + 0x20], r8d
mov rcx, rsi
mov r8d, dword [rsp + 0x68]
call fcn.14002bc90
jmp 0x14008b2c0
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 0x14008b346
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 0x14008b325
test byte [rbx + 0x11], 1
je 0x14008b325
mov rcx, qword [rbx + 0x20]
mov rdx, rsi
call fcn.140088ec0
test eax, eax
je 0x14008b325
mov r9d, r12d
mov r8, r13
mov rdx, rbx
mov rcx, r15
call fcn.1400899c0
test rax, rax
je 0x14008b325
or ebp, dword [rax + 0x20]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x14008b2f0
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 0x14008b47b
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 0x14008b3bb
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b405
mov dword [rsp + 0x20], r9d
xor r8d, r8d
mov r9d, ebx
mov edx, 0x4f
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008b44a
movsxd rax, dword [r14]
test eax, eax
js 0x14008b3e0
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.14004bc10
jmp 0x14008b44a
mov eax, dword [rsp + 0x190]
test al, 1
je 0x14008b436
cmp r8d, 0x1f
jg 0x14008b436
test edi, ebp
jne 0x14008b436
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jle 0x14008b39e
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 0x14008b44d
mov r9d, dword [rsp + 0x60]
mov rdx, r13
mov rcx, r12
mov dword [rsp + 0x20], ebx
call fcn.140049de0
xor r9d, r9d
movsx eax, word [r13 + 0x3e]
inc ebx
rol edi, 1
add r14, 4
lea ecx, [r15 + rbx]
cmp ecx, eax
jl 0x14008b380
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 0x14008b5dc
mov r8d, dword [rsp + 0xd4]
mov rdx, rbp
mov rcx, rsi
call fcn.1400695f0
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.140089bb0
cmp qword [rsp + 0xb0], 0
je 0x14008b51b
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.14002c260
jmp 0x14008b57c
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b546
mov r8d, dword [rsp + 0x60]
mov r9d, r13d
mov edx, 0x21
mov dword [rsp + 0x20], ebx
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008b57c
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 0x14008b5e6
mov rdi, qword [rsp + 0x88]
mov r15d, dword [rsp + 0x60]
mov r14d, dword [rsp + 0xd4]
nop dword [rax + rax]
cmp dword [rdi], 0
jge 0x14008b5c6
movsx eax, word [rbp + 0x3c]
cmp ebx, eax
je 0x14008b5c6
lea eax, [rbx + r14]
mov r9d, ebx
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rdx, rbp
mov rcx, rsi
call fcn.140049b50
movsx eax, word [rbp + 0x3e]
inc ebx
add rdi, 4
cmp ebx, eax
jl 0x14008b5a0
mov r15d, dword [rsp + 0x80]
mov r14, qword [rsp + 0xe8]
xor eax, eax
cmp qword [rsp + 0x118], 0
jne 0x14008b97e
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.14006c0b0
cmp dword [rsp + 0xa8], 0
je 0x14008b693
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.1400672f0
cmp dword [rsp + 0x190], 0
jne 0x14008b6a6
test dil, dil
je 0x14008b747
cmp qword [rsp + 0xb0], 0
je 0x14008b6dd
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.14002c260
mov ebx, eax
jmp 0x14008b747
mov rax, qword [rsi + 0x18]
movsxd rbx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ebx
jg 0x14008b70e
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.14002bc90
mov ebx, eax
jmp 0x14008b747
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.1400609c0
mov r8d, dword [rsp + 0xa8]
test r8d, r8d
jne 0x14008b791
test dil, dil
jne 0x14008b791
cmp qword [rsp + 0xb0], 0
je 0x14008b7f6
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b7c6
mov r8d, dword [rsp + 0x60]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov edx, 0x75
mov rcx, rsi
call fcn.14002bc90
mov r8d, dword [rsp + 0xa8]
jmp 0x14008b7f6
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 0x14008b805
test dil, dil
je 0x14008b836
mov edx, dword [rsi + 0xb8]
test ebx, ebx
jns 0x14008b812
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x14008b824
lea rax, [0x14012aae0]
jmp 0x14008b833
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 0x14008b862
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.1400672f0
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.14006da80
cmp dword [rsp + 0xa8], 0
je 0x14008b97e
mov rax, qword [r14]
test dword [rax + 0x2c], 0x80000
je 0x14008b97e
mov rcx, qword [rbp + 0x68]
lea r8, [rsp + 0x100]
mov rdx, qword [rbp]
add rcx, 0x50
call fcn.14000b280
test rax, rax
je 0x14008b97e
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14008b97e
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.1400671c0
test eax, eax
je 0x14008b958
mov r9, r12
mov r8, rbx
mov rdx, rbp
mov rcx, r14
call fcn.140067fe0
test rax, rax
je 0x14008b958
mov dword [rsp + 0x28], esi
mov r9d, r13d
mov r8, rbp
mov dword [rsp + 0x20], 2
mov rdx, rax
mov rcx, r14
call fcn.140089a00
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x14008b910
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 0x14008ba00
cmp qword [r14 + 0xa8], 0
jne 0x14008ba00
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b9c9
mov r8d, dword [rsp + 0xc0]
xor eax, eax
mov r9d, 1
mov dword [rsp + 0x20], eax
mov edx, 0x5b
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008ba00
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.140089bb0
cmp dword [rsp + 0x84], 0
jne 0x14008bb46
cmp qword [rsp + 0xb0], 0
mov rax, qword [rsi + 0x18]
je 0x14008baeb
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14008ba73
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 0x14008baad
mov r9d, dword [rsp + 0xd0]
mov edx, 7
mov r8d, dword [rsp + 0x90]
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.14002bc90
jmp 0x14008bb49
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 0x14008bb49
movsxd rcx, dword [rsi + 0xb8]
xor r12d, r12d
cmp dword [rax + 0x3c], ecx
jg 0x14008bb14
mov r9d, r13d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0xd
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008bb49
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 0x14008bb49
xor r12d, r12d
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14008bb65
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 0x14008bbf8
mov rbp, qword [rsp + 0xf0]
mov ebx, dword [rsp + 0xac]
inc rbp
cmp byte [rbp], 0
je 0x14008bbe2
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008bbb4
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov edx, WSAStartup
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008bbe2
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 0x14008bb84
mov rbx, qword [rsp + 0x108]
mov edx, dword [rsp + 0x60]
cmp edx, dword [rsp + 0xac]
jge 0x14008bc5d
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008bc2f
mov r8d, edx
mov dword [rsp + 0x20], r12d
mov edx, WSAStartup
xor r9d, r9d
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008bc5d
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 0x14008bc80
cmp qword [r14 + 0xa8], 0
jne 0x14008bc80
cmp qword [r14 + 0x98], 0
je 0x14008bc80
mov rcx, r14
call fcn.140069b20
test byte [rbx + 0x2c], 0x80
je 0x14008bd41
cmp qword [r14 + 0xa8], 0
jne 0x14008bd41
cmp byte [r14 + 0x1e], 0
jne 0x14008bd41
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008bcd5
mov r8d, dword [rsp + 0xc0]
mov r9d, 1
mov edx, 0x57
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.14002bc90
jmp 0x14008bd0a
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.14002e570
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x14008bd41
mov rcx, qword [rsi + 0x80]
lea rdx, str.rows_updated
mov r9b, 1
mov qword [rsp + 0x20], r12
mov r8d, 0xffffffff
call fcn.14002ae20
mov rdi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x70]
mov r15, qword [rsp + 0x88]
mov rax, qword [rsp + 0x138]
test rax, rax
je 0x14008bd89
mov rcx, qword [rsp + 0x140]
mov qword [rax + 0x218], rcx
jmp 0x14008bd89
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 0x14008bdb7
mov rdx, r15
mov rcx, r12
call fcn.140006a00
mov rdx, rdi
mov rcx, r12
call fcn.14005c280
jmp 0x14008be81
cmp r15, qword [r12 + 0x180]
jb 0x14008bdf6
cmp r15, qword [r12 + 0x188]
jae 0x14008bdf6
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.14005c280
jmp 0x14008be81
cmp dword [0x140126d50], 0
je 0x14008be53
mov rcx, qword [0x14012acd8]
test rcx, rcx
je 0x14008be11
call qword [0x140126dd8]
mov rcx, r15
call qword [0x140126d90]
dec qword [0x14012aa88]
movsxd rcx, eax
sub qword [0x14012aa40], rcx
mov rcx, r15
call qword [0x140126d80]
mov rcx, qword [0x14012acd8]
test rcx, rcx
je 0x14008be46
call qword [0x140126de8]
mov rdx, rdi
mov rcx, r12
call fcn.14005c280
jmp 0x14008be81
mov rcx, r15
call qword [0x140126d80]
mov rdx, rdi
mov rcx, r12
call fcn.14005c280
jmp 0x14008be81
mov rdi, qword [rsp + 0x98]
mov rdx, rdi
mov rcx, r12
call fcn.14005c280
test rbp, rbp
je 0x14008be8c
mov rdx, rbp
mov rcx, r12
call fcn.140045fa0
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 0x14008bedc
mov rdx, rax
mov rcx, r12
call fcn.140044c80
mov rcx, qword [rsp + 0x198]
xor rcx, rsp
call fcn.1400d1190
add rsp, 0x1e0
pop r12
ret