Function at 0x1401c2cb0
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbp
push r13
lea rbp, [r11 - 0x248]
sub rsp, 0x338
mov rax, qword [0x1403ddfb8]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov rax, qword [rcx + 0x88]
mov r13, rcx
mov qword [r11 + 0x20], rdi
mov qword [r11 - 0x18], r12
mov qword [rsp + 0x48], rax
mov r12, qword [r13]
mov qword [rsp + 0x30], rax
xor al, al
mov qword [rsp + 0x58], rcx
xor ecx, ecx
mov qword [r11 - 0x20], r14
mov r14d, ecx
mov qword [r11 - 0x28], r15
mov r15, qword [r13 + 0x68]
mov byte [rsp + 0x68], al
movzx eax, byte [r12 + 0x5e]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x7c], ecx
mov dword [rbp - 0x80], ecx
mov rcx, r13
mov byte [rsp + 0x40], al
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x50], r15
call fcn.1401c2b60
or edx, 0xffffffff
cmp qword [r12 + 0x1e0], r14
je 0x1401c2d5f
mov edi, dword [r12 + 0x1f0]
xor edx, edx
mov eax, dword [r13 + 0xe4]
div edi
sub edi, edx
or edx, 0xffffffff
jmp 0x1401c2d61
mov edi, edx
cmp dword [r13 + 0x38], 7
mov r10d, 1
mov qword [rsp + 0x358], rbx
mov qword [rsp + 0x360], rsi
movaps xmmword [rsp + 0x310], xmm6
mov dword [rsp + 0x3c], edi
je 0x1401c4b10
xor r11d, r11d
mov qword [r13 + 0x48], r11
mov qword [r13 + 0xa0], r11
mov eax, dword [r12 + 0x170]
mov dword [r12 + 0x268], r11d
test eax, eax
jne 0x1401c912d
movsxd rax, dword [r13 + 0x34]
mov r8d, 0x2400
mov rdi, qword [rsp + 0x48]
xorps xmm6, xmm6
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
movzx ebx, byte [rsi]
inc r14d
mov qword [rsp + 0x30], rsi
mov r9d, 0x80
mov dword [rbp - 0x80], r14d
cmp ebx, 0xaa
ja case.0x1401c2e07.85
lea rcx, [0x140000000]
mov ecx, dword [rcx + rbx*4 + 0x1c9384]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
sub rcx, rdi
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r15 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
jmp 0x1401c4595
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
mov word [rdx + r15 + 8], r9w
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx + r15], rax
mov eax, 4
mov word [rcx + r15 + 8], ax
cmp dword [rsi + 8], 0
jne 0x1401c459a
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
dec eax
mov word [rdx + r15 + 8], r9w
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
jmp case.0x1401c2e07.85
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
sub rbx, rdi
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r15]
mov word [r8 + r15 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea rsi, [rdi + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
jmp 0x1401c4aaa
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je 0x1401c3044
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x30]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rdx + 4], 0
jne 0x1401c8aff
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x1401c8aff
mov rax, qword [rcx + 8]
dec dword [r13 + 0x110]
mov qword [r13 + 0x100], rax
mov eax, dword [r13 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
call fcn.1401ca0d0
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + 8], 4
jne 0x1401c2fc8
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov rdi, qword [r13 + 0x88]
mov r15, qword [r13 + 0x68]
cdqe
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r15
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
jmp 0x1401c4aa1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r8w
je 0x1401c302f
call fcn.14017f810
mov rsi, qword [rsp + 0x30]
mov rcx, rax
mov rax, qword [rsp + 0x30]
xor r11d, r11d
mov r8d, 0x2400
movsxd rax, dword [rax + 4]
lea r10d, [r11 + 1]
mov qword [rcx], rax
jmp case.0x1401c2e07.85
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov rsi, qword [rsp + 0x30]
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r8w
je 0x1401c3080
mov rcx, rdx
call fcn.14017f810
xor r11d, r11d
mov rdx, rax
mov r8d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401c3089
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rsi, qword [rsp + 0x30]
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r8w
je 0x1401c30d8
mov rcx, rdx
call fcn.14017f810
xor r11d, r11d
mov rdx, rax
mov r8d, 0x2400
lea r10d, [r11 + 1]
lea eax, [r11 + 8]
jmp 0x1401c3085
mov eax, 4
mov word [rdx + 8], ax
mov eax, 8
jmp 0x1401c3085
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
add rsi, qword [r13 + 0x68]
test word [rsi + 8], r8w
je 0x1401c311a
mov rcx, rsi
call fcn.14017f810
xor r11d, r11d
mov rsi, rax
mov r8d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401c3123
mov eax, 4
mov word [rsi + 8], ax
mov rdi, qword [rbx + 0x10]
or rdx, 0xffffffffffffffff
test rdi, rdi
jne 0x1401c3135
mov eax, r11d
jmp 0x1401c314e
mov rax, rdx
nop dword [rax + rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x1401c3140
and eax, 0x3fffffff
movzx ecx, byte [rsp + 0x40]
mov dword [rbx + 4], eax
cmp cl, 1
je 0x1401c3251
test rdi, rdi
jne 0x1401c3183
test word [rsi + 8], r8w
je 0x1401c317a
mov rcx, rsi
call fcn.1401de560
movzx ecx, byte [rsp + 0x40]
jmp 0x1401c31ea
mov word [rsi + 8], r10w
xor edi, edi
jmp 0x1401c31ea
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x1401c3192
mov r14d, dword [rax + 0x7c]
jmp 0x1401c3198
mov r14d, 0x3b9aca00
mov rbx, rdx
nop dword [rax + rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1401c31a0
btr ebx, 0x1f
test word [rsi + 8], r8w
jne 0x1401c31ba
cmp dword [rsi + 0x20], 0
je 0x1401c31c7
mov rcx, rsi
call fcn.1401de490
movzx ecx, byte [rsp + 0x40]
mov qword [rsi + 0x10], rdi
mov eax, 0xa02
xor edi, edi
mov dword [rsi + 0xc], ebx
mov qword [rsi + 0x30], rdi
mov word [rsi + 8], ax
mov byte [rsi + 0xa], 1
cmp ebx, r14d
jg 0x1401c8e65
test byte [rsi + 8], 2
mov dword [rsp + 0x38], edi
movzx ecx, cl
je 0x1401c3212
movzx eax, byte [rsi + 0xa]
cmp eax, ecx
je 0x1401c3212
movzx edx, cl
mov rcx, rsi
call fcn.1401cc340
test eax, eax
jne 0x1401c4b0c
mov eax, 0x800
mov dword [rsi + 0x20], edi
or word [rsi + 8], ax
mov rax, qword [rsp + 0x30]
cmp byte [rax + 1], 0xf9
jne 0x1401c323a
mov rdx, qword [rax + 0x10]
mov rcx, r12
call fcn.140199700
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x30]
mov byte [rax + 1], 0xf9
mov rax, qword [rsi + 0x10]
mov qword [rbx + 0x10], rax
mov eax, dword [rsi + 0xc]
mov dword [rbx + 4], eax
mov eax, dword [r12 + 0x7c]
cmp dword [rbx + 4], eax
jg 0x1401c8e65
mov rdi, qword [rsp + 0x48]
mov r8d, 0x2400
mov byte [rbx], 0x47
jmp 0x1401c3274
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r8w
je 0x1401c329a
mov rcx, rdx
call fcn.14017f810
mov rdx, rax
mov r8d, 0x2400
jmp 0x1401c32a3
mov eax, 4
mov word [rdx + 8], ax
mov eax, 0xa02
mov word [rdx + 8], ax
mov rax, qword [rbx + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rbx + 4]
mov dword [rdx + 0xc], eax
movzx eax, byte [rsp + 0x40]
mov byte [rdx + 0xa], al
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x1401c89a4
mov rsi, qword [rsp + 0x30]
xor r11d, r11d
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
cmp qword [rcx + r15], rax
jne 0x1401c89ac
mov eax, 0xa10
lea r10d, [r11 + 1]
mov word [rdx + 8], ax
jmp case.0x1401c2e07.85
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
add rax, qword [r13 + 0x68]
test word [rax + 8], r8w
je 0x1401c3333
mov rcx, rax
call fcn.14017f810
xor r11d, r11d
mov r8d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401c333c
mov ecx, 4
mov word [rax + 8], cx
mov edi, dword [rbx + 0xc]
mov esi, r10d
sub edi, dword [rbx + 8]
mov ecx, 0x101
cmp dword [rbx + 4], 0
lea rbx, [rax + 8]
mov dword [rax + 0xc], r11d
cmovne si, cx
mov word [rbx], si
test edi, edi
jle 0x1401c897c
test word [rbx + 0x38], r8w
lea rbx, [rbx + 0x38]
je 0x1401c3388
lea rcx, [rbx - 8]
call fcn.1401de560
xor r11d, r11d
mov r8d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401c338c
mov word [rbx], r10w
dec edi
mov word [rbx], si
mov dword [rbx + 4], r11d
test edi, edi
jg 0x1401c3365
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r15
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x68]
test word [rbx + 8], r8w
je 0x1401c33f8
mov rcx, rbx
call fcn.14017f810
mov rbx, rax
xor r11d, r11d
jmp 0x1401c3401
mov eax, 4
mov word [rbx + 8], ax
mov rax, qword [rsp + 0x30]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], r11
mov r8d, dword [rax + 4]
mov rdx, qword [rax + 0x10]
call fcn.1401cbf90
movzx eax, byte [rsp + 0x40]
mov byte [rbx + 0xa], al
jmp 0x1401c4a9c
mov rbx, qword [rsp + 0x30]
mov eax, dword [rbx + 4]
dec eax
cdqe
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x80]
movzx eax, word [rdi + 8]
test al, 0x12
je 0x1401c346e
mov edx, dword [rdi + 0xc]
mov ecx, 0x4000
test cx, ax
je 0x1401c3459
add edx, dword [rdi]
mov rax, qword [rdi + 0x28]
mov ecx, r11d
cmp edx, dword [rax + 0x7c]
setg cl
test ecx, ecx
jne 0x1401c8e65
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rbx, r15
test word [rbx + 8], r8w
je 0x1401c3495
mov rcx, rbx
call fcn.1401de560
xor r11d, r11d
mov r8d, 0x2400
lea r10d, [r11 + 1]
movups xmm0, xmmword [rdi]
mov rsi, qword [rsp + 0x30]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
mov rdi, qword [rsp + 0x48]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
jmp case.0x1401c2e07.85
mov rcx, qword [rsp + 0x30]
mov r14d, 0x1000
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
mov rdx, rdi
mov rcx, rbx
call fcn.1401cbcf0
test word [rbx + 8], r14w
je 0x1401c3512
mov rcx, rbx
call fcn.1401cbc90
test eax, eax
jne 0x1401c4b0c
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x1401c34f0
jmp 0x1401c4a97
mov rcx, qword [rsp + 0x30]
mov r14d, 0x1000
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
nop dword [rax + rax]
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.1401cc200
test word [rbx + 8], r14w
je 0x1401c3575
mov rcx, rbx
call fcn.1401cbc90
test eax, eax
jne 0x1401c4b0c
mov eax, esi
dec esi
test eax, eax
je 0x1401c89a4
add rbx, 0x38
add rdi, 0x38
jmp 0x1401c3550
mov rcx, qword [rsp + 0x30]
mov r8d, 0x1000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r15
add rcx, r15
call fcn.1401cc200
jmp 0x1401c4a9c
mov rcx, qword [rsp + 0x30]
mov edx, 0x2400
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r15
mov rax, qword [rcx + r15]
test word [r8 + 8], dx
je 0x1401c35ee
mov rdx, rax
mov rcx, r8
call fcn.1401df890
jmp 0x1401c4a9c
mov rsi, qword [rsp + 0x30]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 8], ax
mov r8d, edx
jmp case.0x1401c2e07.85
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul r13, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
add r13, r15
imul rbx, rax, 0x38
movzx r14d, word [r13 + 8]
add rdi, r15
movzx eax, r14b
add rbx, r15
or al, byte [rdi + 8]
test al, 1
je 0x1401c3666
test word [rbx + 8], r8w
je 0x1401c3652
mov rcx, rbx
call fcn.1401de560
jmp 0x1401c4a97
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov word [rbx + 8], r10w
jmp case.0x1401c2e07.85
test r14b, 0x12
jne 0x1401c369e
movzx r15d, byte [rsp + 0x40]
xor r8d, r8d
movzx edx, r15b
mov rcx, r13
call fcn.1401cc240
test eax, eax
jne 0x1401c4b07
movzx r14d, word [r13 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
jmp 0x1401c36d2
mov eax, 0x4000
test ax, r14w
je 0x1401c36cc
mov rcx, r13
call fcn.1401cb7b0
test eax, eax
jne 0x1401c4b07
movzx r14d, word [r13 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
movzx r15d, byte [rsp + 0x40]
movzx esi, word [rdi + 8]
test sil, 0x12
jne 0x1401c36ed
xor r8d, r8d
movzx edx, r15b
mov rcx, rdi
call fcn.1401cc240
jmp 0x1401c36fa
test ax, si
je 0x1401c370e
mov rcx, rdi
call fcn.1401cb7b0
test eax, eax
jne 0x1401c4b07
movzx esi, word [rdi + 8]
mov eax, 0xfffd
and si, ax
mov eax, dword [r13 + 0xc]
add eax, dword [rdi + 0xc]
movsxd r15, eax
movsxd rax, dword [r12 + 0x7c]
cmp r15, rax
jg 0x1401c8e60
xor edx, edx
mov rcx, rbx
mov r8d, edx
cmp rbx, rdi
lea edx, [r15 + 3]
sete r8b
call fcn.1401cb980
test eax, eax
jne 0x1401c4b07
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], 2
cmp rbx, rdi
je 0x1401c376e
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.14028db80
mov word [rdi + 8], si
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
call fcn.14028db80
mov word [r13 + 8], r14w
mov rax, qword [rbx + 0x10]
mov byte [r15 + rax], 0
mov rax, qword [rbx + 0x10]
mov byte [r15 + rax + 1], 0
mov rax, qword [rbx + 0x10]
mov byte [r15 + rax + 2], 0
mov eax, 0x200
or word [rbx + 8], ax
movzx eax, byte [rsp + 0x40]
mov byte [rbx + 0xa], al
mov dword [rbx + 0xc], r15d
jmp 0x1401c4a92
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 4]
imul rsi, rax, 0x38
add rsi, r15
movzx eax, word [rsi + 8]
movzx ebx, ax
and bx, 0x2c
jne 0x1401c37f4
test al, 0x12
je 0x1401c37f1
mov rcx, rsi
call fcn.14016a8b0
movzx ebx, ax
xor r11d, r11d
jmp 0x1401c37f4
mov ebx, r11d
movsxd rax, dword [r12 + 8]
imul rdi, rax, 0x38
add rdi, r15
movzx eax, word [rdi + 8]
movzx ecx, ax
and cx, 0x2c
jne 0x1401c3821
test al, 0x12
je 0x1401c381e
mov rcx, rdi
call fcn.14016a8b0
movzx ecx, ax
jmp 0x1401c3821
mov ecx, r11d
movsxd rax, dword [r12 + 0xc]
and cl, bl
movzx r10d, word [rsi + 8]
imul r14, rax, 0x38
movzx eax, r10w
or ax, word [rdi + 8]
add r14, r15
test cl, 4
je 0x1401c3a48
movzx ecx, byte [r12]
mov rax, r12
mov r9, qword [rsi]
mov r8, qword [rdi]
sub ecx, 0x69
je 0x1401c39f4
sub ecx, 1
je 0x1401c3976
sub ecx, 1
je 0x1401c38c8
cmp ecx, 1
je 0x1401c3896
test r9, r9
je 0x1401c3b68
cmp r9, 0xffffffffffffffff
mov rax, r8
mov r12d, 1
cqo
cmove r9, r12
idiv r9
mov r8, rdx
jmp 0x1401c3a30
test r9, r9
je 0x1401c3b68
cmp r9, 0xffffffffffffffff
jne 0x1401c38b8
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x1401c3a50
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x1401c3a30
test r9, r9
jle 0x1401c3906
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x1401c3a50
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x1401c3a50
imul r8, r9
jmp 0x1401c3a30
jns 0x1401c396d
test r8, r8
jle 0x1401c392e
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jl 0x1401c3a50
imul r8, r9
jmp 0x1401c3a30
jns 0x1401c396d
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x1401c3a50
cmp r8, rcx
je 0x1401c3a50
movabs rax, 0x8000000000000001
cqo
idiv r9
mov rcx, rax
mov rax, r8
neg rax
cmp rax, rcx
jg 0x1401c3a50
imul r8, r9
jmp 0x1401c3a30
movabs rcx, 0x8000000000000000
cmp r9, rcx
jne 0x1401c3996
test r8, r8
jns 0x1401c3a50
sub r8, rcx
jmp 0x1401c3a30
neg r9
js 0x1401c39bd
test r8, r8
jle 0x1401c39e3
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x1401c39e3
mov r12d, 1
mov eax, r12d
jmp 0x1401c39ee
test r8, r8
jns 0x1401c39e3
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x1401c39e3
mov r12d, 1
mov eax, r12d
jmp 0x1401c39ee
add r8, r9
xor edx, edx
mov eax, edx
lea r12d, [rdx + 1]
test eax, eax
jne 0x1401c3a56
jmp 0x1401c3a30
test r9, r9
js 0x1401c3a12
test r8, r8
jle 0x1401c3a2d
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x1401c3a50
jmp 0x1401c3a2d
test r8, r8
jns 0x1401c3a2d
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x1401c3a50
add r8, r9
mov eax, 0x3e40
mov qword [r14], r8
and word [r14 + 8], ax
or word [r14 + 8], 4
jmp 0x1401c4a97
test al, 1
jne 0x1401c3b68
mov r12d, 1
test r10b, 8
je 0x1401c3a62
movsd xmm2, qword [rsi]
jmp 0x1401c3a88
test r10b, 0x24
je 0x1401c3a72
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rsi]
jmp 0x1401c3a88
test r10b, 0x12
je 0x1401c3a85
mov rcx, rsi
call fcn.14017c450
movaps xmm2, xmm0
jmp 0x1401c3a88
movaps xmm2, xmm6
movzx eax, word [rdi + 8]
test al, 8
je 0x1401c3a96
movsd xmm0, qword [rdi]
jmp 0x1401c3ab5
test al, 0x24
je 0x1401c3aa4
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rdi]
jmp 0x1401c3ab5
test al, 0x12
je 0x1401c3ab2
mov rcx, rdi
call fcn.14017c450
jmp 0x1401c3ab5
movaps xmm0, xmm6
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
sub ecx, 0x69
je 0x1401c3b1a
sub ecx, 1
je 0x1401c3b14
sub ecx, 1
je 0x1401c3b0e
cmp ecx, 1
je 0x1401c3b00
mov rcx, rsi
call fcn.1401ca9b0
mov rcx, rdi
mov rbx, rax
call fcn.1401ca9b0
test rbx, rbx
je 0x1401c3b68
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r12
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x1401c3b1e
ucomisd xmm2, xmm6
jp 0x1401c3b08
je 0x1401c3b68
divsd xmm0, xmm2
jmp 0x1401c3b1e
mulsd xmm0, xmm2
jmp 0x1401c3b1e
subsd xmm0, xmm2
jmp 0x1401c3b1e
addsd xmm0, xmm2
movabs rcx, 0xfffffffffffff
movsd qword [rbp - 0x78], xmm0
mov rax, qword [rbp - 0x78]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x1401c3b68
mov eax, 0x3e40
movsd qword [r14], xmm0
and word [r14 + 8], ax
or word [r14 + 8], 8
jmp 0x1401c4a97
mov r8d, 0x2400
test word [r14 + 8], r8w
je 0x1401c3b82
mov rcx, r14
call fcn.1401de560
jmp 0x1401c4a97
mov rsi, qword [rsp + 0x30]
mov r10d, 1
mov rdi, qword [rsp + 0x48]
xor r11d, r11d
mov word [r14 + 8], r10w
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x1401c3044
imul rcx, rax, 0x38
add rcx, r15
test word [rcx + 8], r8w
je 0x1401c3bca
xor edx, edx
call fcn.1401df890
jmp 0x1401c4a9c
mov rsi, qword [rsp + 0x30]
mov eax, 4
mov word [rcx + 8], ax
mov qword [rcx], r11
jmp case.0x1401c2e07.85
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rdi, r15
add rcx, r15
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, byte [rcx + 8]
or al, byte [rdi + 8]
add rsi, r15
test al, 1
je 0x1401c3c3e
test word [rsi + 8], r8w
je 0x1401c3c2a
mov rcx, rsi
call fcn.1401de560
jmp 0x1401c4a97
mov rdi, qword [rsp + 0x48]
mov word [rsi + 8], r10w
mov rsi, qword [rsp + 0x30]
jmp case.0x1401c2e07.85
call fcn.1401ca9b0
mov rcx, rdi
mov rbx, rax
call fcn.1401ca9b0
mov rdx, qword [rsp + 0x30]
mov rcx, rax
movzx edx, byte [rdx]
cmp dl, 0x65
jne 0x1401c3c63
and rbx, rax
jmp 0x1401c3cd2
cmp dl, 0x66
jne 0x1401c3c6d
or rbx, rcx
jmp 0x1401c3cd2
test rcx, rcx
je 0x1401c3cd2
jns 0x1401c3c87
mov eax, 0xcf
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x1401c3c8d
neg rcx
cmp rcx, 0x40
jl 0x1401c3ca3
test rbx, rbx
jns 0x1401c3c9d
cmp dl, 0x67
je 0x1401c3c9d
or rbx, 0xffffffffffffffff
jmp 0x1401c3cd2
xor edx, edx
mov ebx, edx
jmp 0x1401c3cd2
cmp dl, 0x67
jne 0x1401c3cb0
shl rbx, cl
mov r8, rbx
jmp 0x1401c3ccf
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1401c3ccf
or rdx, 0xffffffffffffffff
mov eax, 0x40
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e40
mov qword [rsi], rbx
and word [rsi + 8], ax
or word [rsi + 8], 4
jmp 0x1401c4a97
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.1401cbc30
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rsi + 8]
add qword [rbx], rax
jmp 0x1401c4aa1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401c3d74
test al, 8
jne 0x1401c3d4b
test al, 2
je 0x1401c3d53
mov edx, r10d
mov rcx, rbx
call fcn.1401619c0
xor r11d, r11d
mov r8d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401c3d53
mov rcx, rbx
call fcn.1401ca9e0
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401c3d74
mov rsi, qword [rsp + 0x30]
cmp dword [rsi + 8], 0
jne 0x1401c459a
mov eax, reloc.WS2_32.dll_sendto
jmp 0x1401c54e4
mov rsi, qword [rsp + 0x30]
mov ecx, 0x3e40
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 0x24
je 0x1401c3044
call fcn.1401cbe50
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r15
test word [rbx + 8], ax
je 0x1401c3ddd
mov rcx, rbx
call fcn.1401cb7b0
test eax, eax
jne 0x1401c54e4
mov rax, qword [rsp + 0x30]
mov rcx, rbx
movzx r8d, byte [rsp + 0x40]
movzx edx, byte [rax + 8]
call fcn.1401cb5c0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul r14, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
add r14, r15
add rdi, r15
movzx esi, word [r14 + 8]
movzx ebx, word [rdi + 8]
movzx ecx, bx
or cx, si
test cl, 1
je 0x1401c3ebe
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
test al, al
jns 0x1401c3e76
movzx eax, bl
and al, sil
test al, 1
je 0x1401c3e61
mov eax, 0x100
test ax, bx
jne 0x1401c3e61
mov edx, r11d
jmp 0x1401c408f
test bl, 1
mov edx, r10d
mov rax, 0xffffffffffffffff
cmovne edx, eax
jmp 0x1401c405d
mov rdi, qword [rsp + 0x48]
test al, 0x20
je 0x1401c3eac
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
mov dword [rsp + 0x7c], r10d
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x3e40
add rcx, r15
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp case.0x1401c2e07.85
test al, 0x10
jne 0x1401c4595
mov rsi, qword [rsp + 0x30]
jmp case.0x1401c2e07.85
mov r15, qword [rsp + 0x30]
movzx eax, byte [r15 + 2]
and al, 0x47
cmp al, 0x43
jb 0x1401c3fd0
test cl, 2
je 0x1401c3f02
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x1401c3eef
xor edx, edx
mov rcx, r14
call fcn.1401619c0
movzx ebx, word [rdi + 8]
movzx eax, bl
and al, 0x2e
cmp al, 2
jne 0x1401c3f02
xor edx, edx
mov rcx, rdi
call fcn.1401619c0
movzx eax, byte [rdi + 8]
and al, byte [r14 + 8]
test al, 4
je 0x1401c4045
mov rax, qword [rdi]
mov rcx, qword [r14]
cmp rax, rcx
jle 0x1401c3fba
mov r10d, 1
mov edx, r10d
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax]
sub eax, 0x34
movsxd rcx, eax
lea rax, [0x140000000]
movzx eax, byte [rcx + rax + 0x2f7248]
xor r11d, r11d
mov r9, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
mov word [rdi + 8], bx
mov word [r14 + 8], si
movzx r9d, word [r9 + 2]
mov rsi, qword [rsp + 0x30]
movzx r8d, al
test r9b, 0x20
je 0x1401c40b7
mov rax, rsi
mov dword [rsp + 0x7c], edx
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r15
test r9b, 8
je 0x1401c3f9f
cmp byte [rsi], 0x35
mov eax, r11d
sete al
cmp eax, r8d
je 0x1401c89ac
mov rdi, qword [rsp + 0x48]
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], 4
mov qword [rcx], r8
jmp 0x1401c4aaa
jge 0x1401c3fc5
or rdx, 0xffffffffffffffff
jmp 0x1401c4061
xor r11d, r11d
mov edx, r11d
jmp 0x1401c408f
cmp al, 0x42
jne 0x1401c4045
movzx r12d, byte [rsp + 0x40]
test sil, 2
jne 0x1401c4018
test sil, 0x2c
je 0x1401c4018
mov r8b, 1
movzx edx, r12b
mov rcx, r14
call fcn.1401cc240
movzx eax, si
mov r13d, 0x3e40
xor ax, word [r14 + 8]
and ax, r13w
xor si, ax
cmp r14, rdi
jne 0x1401c401e
movzx ebx, si
or bx, 2
jmp 0x1401c401e
mov r13d, 0x3e40
test bl, 2
jne 0x1401c4045
test bl, 0x2c
je 0x1401c4045
mov r8b, 1
movzx edx, r12b
mov rcx, rdi
call fcn.1401cc240
movzx eax, word [rdi + 8]
xor ax, bx
and ax, r13w
xor bx, ax
mov r8, qword [r15 + 0x10]
mov rdx, r14
mov rcx, rdi
call fcn.1401adb90
xor r11d, r11d
mov edx, eax
lea r10d, [r11 + 1]
test edx, edx
jns 0x1401c4089
mov rax, qword [rsp + 0x30]
mov r10d, 1
movzx eax, byte [rax]
sub eax, 0x34
movsxd rcx, eax
lea rax, [0x140000000]
movzx eax, byte [rcx + rax + 0x2f6b78]
jmp 0x1401c3f47
jne 0x1401c3f2a
mov rax, qword [rsp + 0x30]
mov r10d, 1
movzx eax, byte [rax]
sub eax, 0x34
movsxd rcx, eax
lea rax, [0x140000000]
movzx eax, byte [rcx + rax + 0x2f7240]
jmp 0x1401c3f4a
mov rdi, qword [rsp + 0x48]
test al, al
jne 0x1401c459a
jmp 0x1401c4aaa
cmp dword [rsp + 0x7c], 0
jne 0x1401c459a
jmp case.0x1401c2e07.85
mov rcx, qword [rsp + 0x30]
test byte [rcx + 2], 1
jne 0x1401c40e9
mov r12, r11
jmp 0x1401c40f1
mov r12, qword [rcx - 8]
add r12, 4
mov rax, qword [rcx + 0x10]
mov esi, r11d
mov r8d, dword [rcx + 4]
mov rbx, r11
mov r13, qword [rsp + 0x30]
mov ecx, dword [rcx + 8]
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x70], r8d
movsxd r13, dword [r13 + 0xc]
mov dword [rsp + 0x70], ecx
test r13, r13
jle 0x1401c8ae6
lea r15, [rax + 0x20]
test r12, r12
je 0x1401c412f
mov edi, dword [r12 + rbx*4]
jmp 0x1401c4131
mov edi, esi
mov rax, qword [rax + 0x18]
movzx r14d, byte [rax + rbx]
lea eax, [rdi + rcx]
movsxd rcx, eax
and r14d, 1
imul rdx, rcx, 0x38
lea eax, [rdi + r8]
mov r8, qword [r15]
add rdx, qword [rsp + 0x50]
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.1401adb90
mov edx, eax
mov dword [rsp + 0x7c], eax
test eax, eax
mov rax, qword [rbp - 0x78]
jne 0x1401c418e
mov r8d, dword [rbp - 0x70]
inc esi
mov ecx, dword [rsp + 0x70]
inc rbx
add r15, 8
cmp rbx, r13
jl 0x1401c4124
jmp 0x1401c4a92
mov rax, qword [rax + 0x18]
mov r15, qword [rsp + 0x50]
test byte [rbx + rax], 2
je 0x1401c41cc
mov eax, dword [rbp - 0x70]
add eax, edi
movsxd rcx, eax
imul rax, rcx, 0x38
test byte [rax + r15 + 8], 1
jne 0x1401c41c6
mov eax, dword [rsp + 0x70]
add eax, edi
movsxd rcx, eax
imul rax, rcx, 0x38
test byte [rax + r15 + 8], 1
je 0x1401c41cc
neg edx
mov dword [rsp + 0x7c], edx
mov rsi, qword [rsp + 0x30]
test r14d, r14d
je 0x1401c89a9
mov rdi, qword [rsp + 0x48]
neg edx
mov dword [rsp + 0x7c], edx
jmp 0x1401c4aa1
mov edx, dword [rsp + 0x7c]
mov rax, qword [rsp + 0x30]
test edx, edx
jns 0x1401c420b
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
jmp case.0x1401c2e07.85
jne 0x1401c4221
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
jmp case.0x1401c2e07.85
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
jmp case.0x1401c2e07.85
mov r12, qword [rsp + 0x30]
mov edx, 2
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r15
call fcn.1401c2190
movsxd rcx, dword [r12 + 8]
mov edx, 2
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r15
call fcn.1401c2190
lea rcx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r12], 0x2c
cdqe
jne 0x1401c4287
movzx ecx, byte [rax + rcx + 0x2f7250]
jmp 0x1401c428f
movzx ecx, byte [rax + rcx + 0x2f7260]
movsxd rax, dword [r12 + 0xc]
mov rsi, r12
movzx edx, cl
mov r10d, 1
imul rcx, rax, 0x38
mov eax, 0x3e40
mov r8d, 0x2400
add rcx, r15
and word [rcx + 8], ax
cmp edx, 2
jne 0x1401c42c8
or word [rcx + 8], r10w
xor r11d, r11d
jmp case.0x1401c2e07.85
or word [rcx + 8], 4
xor r11d, r11d
mov qword [rcx], rdx
jmp case.0x1401c2e07.85
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r15
call fcn.1401c2190
movsxd rdx, dword [rbx + 0x10]
mov r8d, 0x2400
movsxd rcx, eax
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, r15
test word [rcx + 8], r8w
je 0x1401c431f
call fcn.1401df890
mov rsi, rbx
jmp 0x1401c4aa1
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
mov rsi, rbx
xor r11d, r11d
lea r10d, [rax - 3]
jmp case.0x1401c2e07.85
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r15
add rbx, r15
test byte [rcx + 8], 1
jne 0x1401c43a4
xor edx, edx
call fcn.1401c2190
xor r11d, r11d
mov r8d, 0x2400
test eax, eax
mov ecx, r11d
sete cl
test word [rbx + 8], r8w
je 0x1401c438a
mov rdx, rcx
mov rcx, rbx
call fcn.1401df890
jmp 0x1401c4a9c
mov rsi, qword [rsp + 0x30]
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
lea r10d, [rax - 3]
jmp case.0x1401c2e07.85
test word [rbx + 8], r8w
je 0x1401c43b8
mov rcx, rbx
call fcn.1401de560
jmp 0x1401c4a9c
mov rsi, qword [rsp + 0x30]
mov word [rbx + 8], r10w
jmp case.0x1401c2e07.85
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r15
add rbx, r15
test word [rbx + 8], r8w
je 0x1401c43f6
mov rcx, rbx
call fcn.1401de560
xor r11d, r11d
jmp 0x1401c43fb
mov word [rbx + 8], r10w
test byte [rdi + 8], 1
jne 0x1401c897c
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.1401ca9b0
not rax
mov qword [rbx], rax
jmp 0x1401c4a97
mov r8, qword [r13 + 0x100]
test r8, r8
je 0x1401c4478
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r13 + 0x88]
mov r9, qword [r8 + 0x30]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x1401c4595
bts eax, edx
mov byte [rcx + r9], al
jmp 0x1401c4490
mov rax, qword [rsp + 0x30]
mov rcx, qword [r13 + 0x88]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x1401c4595
mov rax, qword [r13 + 0x88]
mov rsi, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
mov dword [rsi + 4], ecx
jmp 0x1401c4aaa
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rcx, r15
mov edx, dword [rax + 0xc]
call fcn.1401c2190
mov rsi, qword [rsp + 0x30]
xor r11d, r11d
mov r10d, 1
test eax, eax
jne 0x1401c459a
jmp 0x1401c4aaa
mov rax, qword [rsp + 0x30]
mov edx, r11d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r15
call fcn.1401c2190
mov rsi, qword [rsp + 0x30]
xor r11d, r11d
lea r10d, [r11 + 1]
test eax, eax
je 0x1401c459a
jmp 0x1401c4aaa
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
jne 0x1401c459a
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], 1
je 0x1401c459a
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je 0x1401c3044
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r15
test word [rcx + 8], r8w
je 0x1401c45ae
call fcn.1401de560
xor r11d, r11d
mov r10d, 1
mov rsi, qword [rsp + 0x30]
mov eax, dword [rsi + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
jmp 0x1401c4aaa
mov word [rcx + 8], r10w
jmp 0x1401c4595
mov rbx, qword [rsp + 0x30]
mov rax, qword [r13 + 0x78]
movsxd rcx, dword [rbx + 4]
mov esi, dword [rbx + 8]
mov dword [rbp - 0x70], esi
mov r15, qword [rax + rcx*8]
cmp byte [r15 + 3], 0
je 0x1401c4669
mov rdx, qword [r15 + 0x20]
test rdx, rdx
je 0x1401c465f
lea eax, [rsi + 1]
movsxd rcx, eax
mov eax, dword [rdx + rcx*4]
test eax, eax
jle 0x1401c465f
mov r15, qword [r15 + 0x30]
lea esi, [rax - 1]
mov dword [rbp - 0x70], esi
mov dword [rsp + 0x38], r11d
movsxd rax, dword [rbx + 0xc]
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
mov r13, qword [r15 + 0x60]
imul r12, rax, 0x38
mov eax, dword [rdi + 0x30]
add r12, r9
mov qword [rsp + 0x70], r13
mov qword [rbp - 0x78], r12
cmp dword [r15 + 0x28], eax
je 0x1401c47bc
cmp byte [r15 + 2], 0
je 0x1401c46d0
cmp byte [r15], 3
jne 0x1401c4698
movsxd rax, dword [r15 + 0x2c]
imul rcx, rax, 0x38
mov eax, dword [rcx + r9 + 0xc]
mov dword [r15 + 0x74], eax
mov dword [r15 + 0x70], eax
mov rax, qword [rcx + r9 + 0x10]
mov qword [r15 + 0x68], rax
jmp 0x1401c4723
mov rcx, r15
call fcn.1401c9dc0
jmp 0x1401c467a
mov rax, qword [r15 + 0x38]
cmp byte [rax], 0
je 0x1401c45f7
mov rcx, r15
call fcn.140178e50
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
xor r11d, r11d
lea r10d, [rax + 1]
mov r8d, 0x2400
jmp 0x1401c45fc
test word [r12 + 8], r8w
je 0x1401c46ba
mov rcx, r12
call fcn.1401de560
mov r15, qword [rsp + 0x50]
mov rsi, rbx
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aa1
mov rdi, qword [rsp + 0x48]
mov rsi, rbx
mov word [r12 + 8], r10w
mov r15, r9
jmp case.0x1401c2e07.85
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.1401781c0
mov eax, dword [rbx + 0x40]
mov dword [r15 + 0x70], eax
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x1401c4704
mov ecx, edx
test edx, edx
mov edx, 0
cmovs ecx, edx
mov r8, qword [rsp + 0x60]
mov dword [r15 + 0x74], ecx
mov rax, qword [rbx + 0x38]
mov qword [r15 + 0x68], rax
mov eax, dword [r8 + 0x7c]
cmp dword [r15 + 0x70], eax
ja 0x1401c8e7e
mov eax, dword [rdi + 0x30]
mov rcx, qword [r15 + 0x68]
mov dword [r15 + 0x28], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x1401c4743
movzx eax, al
mov dword [r13], eax
mov eax, 1
jmp 0x1401c474e
mov rdx, r13
call fcn.1401a9080
movzx eax, al
movzx eax, al
xor r11d, r11d
mov dword [r15 + 0x48], eax
mov word [r15 + 0x52], r11w
mov eax, dword [r13]
cmp dword [r15 + 0x74], eax
jae 0x1401c47b3
mov qword [r15 + 0x68], r11
mov dword [r15 + 0x74], r11d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x1401c4780
cmp eax, dword [r15 + 0x70]
jbe 0x1401c47bc
mov r8d, 0x2400
mov rdi, qword [rsp + 0x48]
mov eax, dword [rdi + 0xc]
test eax, eax
jle 0x1401c8bf4
mov r15, qword [rsp + 0x50]
dec eax
movsxd rcx, eax
mov r10d, 1
lea rax, [rcx + rcx*2]
lea rsi, [rdi + rax*8]
jmp case.0x1401c2e07.85
mov rax, qword [r15 + 0x68]
jmp 0x1401c486a
movzx eax, word [r15 + 0x52]
cmp eax, esi
jg 0x1401c4a3f
mov eax, dword [r13]
cmp dword [r15 + 0x48], eax
jae 0x1401c49fc
mov rax, qword [r15 + 0x68]
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x1401c486e
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rax
mov r10, qword [r15 + 0x38]
mov r8d, dword [r13]
mov dword [rsp + 0x38], r11d
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x1401c4830
test edx, edx
mov ecx, edx
cmovs ecx, r11d
cmp r8d, ecx
ja 0x1401c484c
mov rax, qword [r10 + 0x38]
mov ecx, 0x1010
mov qword [rbp + 0x58], rax
mov word [rbp + 0x50], cx
mov dword [rbp + 0x54], r8d
jmp 0x1401c486a
lea r9, [rbp + 0x48]
xor edx, edx
mov rcx, r10
call fcn.1401de5a0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c919a
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x58], rax
movzx r12d, word [r15 + 0x52]
mov edx, 0x80
mov ebx, dword [r15 + 0x48]
mov esi, r12d
mov rcx, qword [rsp + 0x70]
add rbx, rax
mov r14d, dword [r13 + r12*4]
mov r13d, dword [r13]
add r13, rax
nop dword [rax]
nop word [rax + rax]
movzx edi, byte [rbx]
mov dword [rbp - 0x68], edi
mov dword [r15 + rsi*4 + 0x78], edi
cmp edi, edx
jae 0x1401c48c4
lea r8, [0x140000000]
inc rbx
movzx eax, byte [rdi + r8 + 0x2f7160]
jmp 0x1401c4907
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.1401a9080
mov edi, dword [rbp - 0x68]
movzx eax, al
add rbx, rax
mov dword [r15 + rsi*4 + 0x78], edi
mov eax, 0x80
cmp edi, eax
jb 0x1401c48ee
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x1401c48fd
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x2f7160]
mov rcx, qword [rsp + 0x70]
mov edx, 0x80
inc r12d
add r14, rax
movsxd rsi, r12d
mov dword [rcx + rsi*4], r14d
cmp r12d, dword [rbp - 0x70]
jg 0x1401c4921
cmp rbx, r13
jb 0x1401c48a0
jmp 0x1401c4926
cmp rbx, r13
jb 0x1401c4934
cmp rbx, r13
ja 0x1401c493d
mov eax, dword [r15 + 0x70]
cmp r14, rax
jne 0x1401c493d
mov eax, dword [r15 + 0x70]
cmp r14, rax
jbe 0x1401c4980
cmp dword [rcx], 0
jne 0x1401c494d
xor r11d, r11d
mov rbx, r13
mov r12d, r11d
jmp 0x1401c4983
cmp qword [r15 + 0x68], 0
mov r8d, 0x2400
jne 0x1401c4978
test word [rbp + 0x50], r8w
jne 0x1401c4967
cmp dword [rbp + 0x68], 0
je 0x1401c4978
lea rcx, [rbp + 0x48]
call fcn.1401de490
xor r11d, r11d
jmp 0x1401c4780
xor r11d, r11d
jmp 0x1401c4786
xor r11d, r11d
sub ebx, dword [rbp - 0x58]
mov r8d, 0x2400
cmp qword [r15 + 0x68], 0
mov word [r15 + 0x52], r12w
mov dword [r15 + 0x48], ebx
jne 0x1401c49bb
test word [rbp + 0x50], r8w
jne 0x1401c49a9
cmp dword [rbp + 0x68], 0
je 0x1401c49bb
lea rcx, [rbp + 0x48]
call fcn.1401de490
xor r11d, r11d
mov r8d, 0x2400
mov r13, qword [rsp + 0x70]
mov r12, qword [rbp - 0x78]
mov esi, dword [rbp - 0x70]
movzx eax, word [r15 + 0x52]
cmp eax, esi
jg 0x1401c4a4a
mov rsi, qword [rsp + 0x30]
cmp byte [rsi + 1], 0xf5
jne 0x1401c4a0b
mov rdx, qword [rsi + 0x10]
mov r8d, 0x800
mov rcx, r12
call fcn.1401cc200
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aa1
mov edi, r11d
mov dword [rbp - 0x68], r11d
mov r8d, 0x2400
jmp 0x1401c49c7
test word [r12 + 8], r8w
je 0x1401c4a27
mov rcx, r12
call fcn.1401de560
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aa1
mov r15, qword [rsp + 0x50]
mov r10d, 1
mov rdi, qword [rsp + 0x48]
mov word [r12 + 8], r10w
jmp case.0x1401c2e07.85
movsxd rax, esi
mov edi, dword [r15 + rax*4 + 0x78]
mov dword [rbp - 0x68], edi
mov edx, 0x2400
test word [r12 + 8], dx
je 0x1401c4a5f
mov rcx, r12
call fcn.1401de560
lea eax, [rsi + 1]
movsxd rcx, eax
mov eax, dword [r13 + rcx*4]
cmp dword [r15 + 0x74], eax
jb 0x1401c4b85
movsxd rax, esi
mov r14d, dword [r13 + rax*4]
add r14, qword [r15 + 0x68]
cmp edi, 0xc
jae 0x1401c4aca
mov r8, r12
mov edx, edi
mov rcx, r14
call fcn.1401cd5b0
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x30]
xor r11d, r11d
mov r10d, 1
mov r8d, 0x2400
mov r12, qword [rsp + 0x60]
add rsi, 0x18
mov r13, qword [rsp + 0x58]
or edx, 0xffffffff
mov r14d, dword [rbp - 0x80]
jmp 0x1401c2dce
movzx eax, byte [rsp + 0x40]
lea esi, [rdi - 0xc]
shr esi, 1
mov dword [r12 + 0xc], esi
mov byte [r12 + 0xa], al
lea edx, [rsi + 2]
cmp dword [r12 + 0x20], edx
jge 0x1401c4b34
mov eax, 1
xor r8d, r8d
mov rcx, r12
mov word [r12 + 8], ax
call fcn.1401cb980
test eax, eax
je 0x1401c4b3e
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
mov edi, dword [rsp + 0x3c]
mov rcx, r12
call fcn.1401ae000
lea rdx, str.out_of_memory
mov rcx, r13
call fcn.1401c2c00
mov eax, 7
lea esi, [rax - 6]
jmp 0x1401c54ed
mov rax, qword [r12 + 0x18]
mov qword [r12 + 0x10], rax
mov rcx, qword [r12 + 0x10]
mov rdx, r14
mov r8d, esi
call fcn.14028db80
mov rax, qword [r12 + 0x10]
mov byte [rsi + rax], 0
lea eax, [rsi + 1]
movsxd rcx, eax
mov rax, qword [r12 + 0x10]
mov byte [rcx + rax], 0
mov eax, edi
and eax, 1
lea rcx, [0x140000000]
movzx eax, word [rcx + rax*2 + 0x2f725c]
mov word [r12 + 8], ax
jmp 0x1401c4a92
movzx eax, byte [rsp + 0x40]
mov byte [r12 + 0xa], al
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x1401c4bab
cmp edi, 0xc
jb 0x1401c4ba7
test dil, 1
je 0x1401c4bd4
test al, al
js 0x1401c4bd4
mov eax, 0x80
cmp edi, eax
jb 0x1401c4bbd
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x1401c4bcf
mov eax, edi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x2f7160]
test r8d, r8d
jne 0x1401c4be5
mov r8, r12
lea rcx, [0x1402f6160]
mov edx, edi
jmp 0x1401c4a8d
mov rcx, qword [r15 + 0x38]
mov r9, r12
movsxd rax, esi
mov edx, dword [r13 + rax*4]
call fcn.1401cb920
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c9190
mov rcx, qword [r12 + 0x10]
mov r8, r12
mov edx, edi
call fcn.1401cd5b0
mov eax, 0xefff
and word [r12 + 8], ax
jmp 0x1401c4a92
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r15
nop dword [rax + rax]
movzx r8d, byte [rsp + 0x40]
mov rcx, rbx
movzx edx, byte [rdi]
call fcn.140161950
cmp byte [rdi], 0x45
jne 0x1401c4ca3
movzx ecx, word [rbx + 8]
test cl, 4
je 0x1401c4ca3
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x1401c4c8c
and cx, ax
or cx, 0x20
jmp 0x1401c4c9f
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
inc rdi
cmp byte [rdi], 0
je 0x1401c89a4
add rbx, 0x38
jmp 0x1401c4c40
mov rbx, qword [rsp + 0x30]
mov rdx, r11
movzx esi, byte [r13 + 0xc3]
mov r15, r11
mov r12d, r11d
mov qword [rbp - 0x58], rdx
mov byte [rsp + 0x78], sil
movsxd rax, dword [rbx + 4]
mov rdi, qword [rbx + 0x10]
imul rcx, rax, 0x38
mov eax, dword [rbx + 8]
add rcx, qword [rsp + 0x50]
dec eax
cdqe
imul r14, rax, 0x38
movsxd rax, dword [rbx + 0xc]
imul r8, rax, 0x38
add r14, rcx
mov qword [rsp + 0x70], rcx
add r8, qword [rsp + 0x50]
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], r8
test rdi, rdi
je 0x1401c4d75
movzx r14d, byte [rsp + 0x40]
lea rbx, [rcx + 8]
mov esi, 0xfffb
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rdi]
lea rcx, [rbx - 8]
movzx r8d, r14b
call fcn.140161950
cmp byte [rdi], 0x45
jne 0x1401c4d56
movzx eax, word [rbx]
test al, 4
je 0x1401c4d56
and ax, si
or ax, 0x20
mov word [rbx], ax
inc rdi
add rbx, 0x38
cmp byte [rdi], 0
jne 0x1401c4d30
movzx esi, byte [rsp + 0x78]
mov r10d, 1
mov rdx, qword [rbp - 0x58]
mov r14, qword [rbp - 0x78]
movzx r13d, sil
lea rbx, [r14 + 0x24]
nop dword [rax]
movzx ecx, word [rbx - 0x1c]
test cl, 1
je 0x1401c4da3
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [rbx], eax
inc r12d
jmp 0x1401c4f15
test cl, 0x24
je 0x1401c4e8e
mov r8, qword [rbx - 0x24]
mov rdx, r8
test r8, r8
jns 0x1401c4dbb
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x1401c4dea
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x1401c4ddf
cmp r13, 4
jb 0x1401c4ddf
lea eax, [rdx + 8]
mov dword [rbx], eax
jmp 0x1401c4f15
inc r15
mov dword [rbx], r10d
jmp 0x1401c4f15
cmp rdx, 0x7fff
ja 0x1401c4e02
add r15, 2
mov dword [rbx], 2
jmp 0x1401c4f15
cmp rdx, 0x7fffff
ja 0x1401c4e1a
add r15, 3
mov dword [rbx], 3
jmp 0x1401c4f15
cmp rdx, 0x7fffffff
ja 0x1401c4e33
mov eax, 4
add r15, 4
mov dword [rbx], eax
jmp 0x1401c4f15
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1401c4e51
add r15, 6
mov dword [rbx], 5
jmp 0x1401c4f15
add r15, 8
test cl, 0x20
je 0x1401c4e83
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
mov eax, 7
cvtsi2sd xmm0, r8
or cx, 8
mov dword [rbx], eax
mov word [rbx - 0x1c], cx
movsd qword [rbx - 0x24], xmm0
jmp 0x1401c4f15
mov dword [rbx], 6
jmp 0x1401c4f15
test cl, 8
je 0x1401c4ea3
inc r12d
mov eax, 7
add r15, 8
mov dword [rbx], eax
jmp 0x1401c4f15
mov esi, dword [rbx - 0x18]
mov r14d, ecx
shr r14d, 1
mov eax, 0x4000
and r14d, 1
add r14d, 0xc
lea r14d, [r14 + rsi*2]
test ax, cx
je 0x1401c4ef0
movsxd rax, dword [rbx - 0x24]
lea r14d, [r14 + rax*2]
test r15, r15
je 0x1401c4ee9
lea rcx, [rbx - 0x24]
call fcn.1401cb7b0
test eax, eax
jne 0x1401c4b02
add esi, dword [rbx - 0x24]
lea r10d, [rax + 1]
jmp 0x1401c4ef0
add rdx, rax
mov qword [rbp - 0x58], rdx
mov eax, esi
mov ecx, r10d
add r15, rax
mov eax, r14d
shr rax, 7
test rax, rax
je 0x1401c4f0f
inc ecx
shr rax, 7
test rax, rax
jne 0x1401c4f04
add r12d, ecx
mov dword [rbx], r14d
lea rax, [rbx - 0x24]
cmp rax, qword [rsp + 0x70]
je 0x1401c4f2d
mov rdx, qword [rbp - 0x58]
sub rbx, 0x38
jmp 0x1401c4d80
cmp r12d, 0x7e
jle 0x1401c4f6f
movsxd rax, r12d
mov edx, r10d
shr rax, 7
test rax, rax
je 0x1401c4f4d
inc edx
shr rax, 7
test rax, rax
jne 0x1401c4f42
add r12d, edx
mov ecx, r10d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x1401c4f6b
nop
inc ecx
shr rax, 7
test rax, rax
jne 0x1401c4f60
cmp edx, ecx
jge 0x1401c4f72
inc r12d
mov r14, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x58]
movsxd rdi, r12d
movsxd rdx, dword [r14 + 0x20]
lea rbx, [r15 + rdi]
lea rcx, [rbx + rsi]
cmp rcx, rdx
jle 0x1401c4fc5
mov r8, qword [rsp + 0x60]
movsxd rax, dword [r8 + 0x7c]
cmp rcx, rax
jg 0x1401c8e5d
cmp edx, ebx
jge 0x1401c4fbf
xor r8d, r8d
mov edx, ebx
mov rcx, r14
call fcn.1401cb980
test eax, eax
jne 0x1401c4b02
lea r10d, [rax + 1]
jmp 0x1401c4fcd
and word [r14 + 8], 0x2d
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov dword [r14 + 0xc], ebx
mov eax, reloc.WS2_32.dll_recv
mov word [r14 + 8], ax
test rsi, rsi
je 0x1401c4fed
mov eax, 0x4010
mov dword [r14], esi
mov word [r14 + 8], ax
mov r14, qword [r14 + 0x10]
mov ecx, 0x80
lea rsi, [r14 + rdi]
cmp r12d, ecx
jae 0x1401c5007
mov byte [r14], r12b
mov eax, r10d
jmp 0x1401c501b
mov rdx, rdi
mov rcx, r14
call fcn.1401b5200
mov ecx, 0x80
lea r10d, [rcx - 0x7f]
mov r9, qword [rsp + 0x70]
mov rdi, qword [rbp - 0x78]
movzx eax, al
add r14, rax
or r15d, 0xffffffff
nop
mov r11d, dword [r9 + 0x24]
cmp r11d, ecx
jae 0x1401c5041
mov byte [r14], r11b
mov eax, r10d
jmp 0x1401c5051
mov rdx, r11
mov rcx, r14
call fcn.1401b5200
mov r9, qword [rsp + 0x70]
movzx eax, al
add r14, rax
lea eax, [r11 - 1]
cmp eax, 6
ja 0x1401c5093
mov rdx, qword [r9]
lea rcx, [0x140000000]
movzx ecx, byte [r11 + rcx + 0x2f7160]
mov ebx, ecx
nop word [rax + rax]
add ecx, r15d
mov byte [rcx + rsi], dl
shr rdx, 8
test ecx, ecx
jne 0x1401c5080
xor r11d, r11d
jmp 0x1401c50c0
cmp r11d, 0xc
jb 0x1401c50ba
mov ebx, dword [r9 + 0xc]
test ebx, ebx
je 0x1401c50b5
mov rdx, qword [r9 + 0x10]
mov r8d, ebx
mov rcx, rsi
call fcn.14028db80
mov r9, qword [rsp + 0x70]
xor r11d, r11d
jmp 0x1401c50c0
xor r11d, r11d
mov ebx, r11d
add r9, 0x38
mov eax, ebx
mov ecx, 0x80
mov qword [rsp + 0x70], r9
add rsi, rax
lea r10d, [rcx - 0x7f]
cmp r9, rdi
jbe 0x1401c5030
mov rsi, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aaa
mov rax, qword [rsp + 0x30]
lea r8, [rbp + 0x38]
mov qword [rbp + 0x38], r11
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x38]
mov rcx, r12
call fcn.140191d90
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
mov rax, qword [rsp + 0x30]
mov edx, 0x2400
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], dx
je 0x1401c5155
call fcn.14017f810
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov qword [rcx], rax
jmp 0x1401c747d
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rbp + 0x38]
mov qword [rcx], rax
jmp 0x1401c747d
mov rax, qword [rsp + 0x30]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rsp + 0x70], r14d
test r14d, r14d
jne 0x1401c5255
cmp dword [r12 + 0xd0], r14d
jg 0x1401c8c0c
test rdi, rdi
jne 0x1401c519d
mov ebx, r11d
jmp 0x1401c51b0
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1401c51a1
and ebx, 0x3fffffff
mov r8d, dword [r12 + 0x2c0]
xor edx, edx
add r8d, dword [r12 + 0x2bc]
mov rcx, r12
call fcn.1401cfbf0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
mov edx, ebx
mov rcx, r12
add rdx, 0x21
call fcn.1401997c0
mov rsi, rax
test rax, rax
je 0x1401c89a4
lea r9, [rax + 0x20]
mov rdx, rdi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.14028db80
cmp byte [r12 + 0x5f], 0
je 0x1401c521c
mov byte [r12 + 0x5f], 0
mov byte [r12 + 0x67], 1
jmp 0x1401c5224
inc dword [r12 + 0x2bc]
mov rax, qword [r12 + 0x2b0]
mov qword [rsi + 0x18], rax
mov rax, qword [r12 + 0x2c8]
mov qword [r12 + 0x2b0], rsi
mov qword [rsi + 8], rax
mov rax, qword [r12 + 0x2d0]
mov qword [rsi + 0x10], rax
jmp 0x1401c4a97
mov rsi, qword [r12 + 0x2b0]
mov r15d, r11d
test rsi, rsi
je 0x1401c5280
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.1401bd3f0
test eax, eax
je 0x1401c529e
mov rsi, qword [rsi + 0x18]
inc r15d
test rsi, rsi
jne 0x1401c5265
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
call fcn.1401c2c00
mov esi, 1
mov eax, esi
jmp 0x1401c54e9
cmp dword [r12 + 0xd0], 0
jle 0x1401c52b3
cmp r14d, 1
je 0x1401c8c25
cmp qword [rsi + 0x18], 0
jne 0x1401c5323
cmp byte [r12 + 0x67], 0
je 0x1401c5323
mov r13d, 1
cmp r14d, r13d
jne 0x1401c5326
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x2d0]
add rcx, qword [rax + 0x2c8]
test rcx, rcx
mov rcx, rbx
jg 0x1401c8c90
mov byte [r12 + 0x5f], r13b
call fcn.1401ca310
cmp eax, 5
je 0x1401c8c3e
mov eax, dword [rbx + 0x38]
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1401c5318
mov byte [r12 + 0x5f], 0
jmp 0x1401c5429
mov byte [r12 + 0x67], 0
jmp 0x1401c5431
mov r13d, r11d
mov eax, dword [r12 + 0x2bc]
sub eax, r15d
lea r15d, [rax - 1]
mov rax, qword [rsp + 0x60]
cmp r14d, 2
jne 0x1401c539c
mov r12d, dword [r12 + 0x2c]
mov edi, r11d
and r12d, 1
cmp dword [rax + 0x28], 0
jle 0x1401c539f
mov r14d, r12d
mov rbx, r11
xor r14d, 1
nop dword [rax]
mov rcx, qword [rax + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.140194a60
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c9190
mov rax, qword [rsp + 0x60]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x1401c5360
mov r14d, dword [rsp + 0x70]
xor r11d, r11d
jmp 0x1401c539f
mov r12d, r11d
cmp dword [rax + 0x28], 0
mov edi, r11d
jle 0x1401c53e0
mov rbx, r11
nop dword [rax + rax]
mov rcx, qword [rax + 0x20]
mov r8d, r15d
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.1401942b0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c9190
mov rax, qword [rsp + 0x60]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x1401c53b0
test r12d, r12d
mov r12, qword [rsp + 0x60]
je 0x1401c5425
mov rax, qword [r12 + 8]
test rax, rax
je 0x1401c5417
nop dword [rax]
nop dword [rax + rax]
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401c5400
mov rcx, r12
call fcn.1401b6330
or dword [r12 + 0x2c], 1
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54df
cmp qword [r12 + 0x2b0], rsi
je 0x1401c546e
nop dword [rax + rax]
mov rdx, qword [r12 + 0x2b0]
mov rcx, r12
mov rax, qword [rdx + 0x18]
mov qword [r12 + 0x2b0], rax
call fcn.140199700
dec dword [r12 + 0x2bc]
cmp qword [r12 + 0x2b0], rsi
jne 0x1401c5440
cmp r14d, 1
jne 0x1401c549e
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, r12
mov qword [r12 + 0x2b0], rax
call fcn.140199700
test r13d, r13d
jne 0x1401c899f
dec dword [r12 + 0x2bc]
jmp 0x1401c54c5
mov rax, qword [rsi + 8]
mov qword [r12 + 0x2c8], rax
mov rax, qword [rsi + 0x10]
mov qword [r12 + 0x2d0], rax
test r13d, r13d
je 0x1401c54c5
cmp r14d, 2
jne 0x1401c899f
mov r8d, r15d
mov edx, r14d
mov rcx, r12
call fcn.1401cfbf0
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1401c4a92
mov r13, qword [rsp + 0x58]
mov esi, 1
mov edi, dword [rsp + 0x3c]
xor ebx, ebx
or r15d, 0xffffffff
cmp byte [r12 + 0x61], 0
mov ecx, 7
cmovne eax, ecx
cmp qword [r13 + 0xa8], 0
mov dword [rsp + 0x38], eax
jne 0x1401c91d7
cmp eax, 0xc0a
je 0x1401c91d7
mov eax, eax
lea r8, str.unknown_error
mov ecx, eax
sub ecx, 0x64
je 0x1401c91bd
sub ecx, 1
je 0x1401c91b4
cmp ecx, 0x19f
je 0x1401c91ab
movzx eax, al
cmp eax, 0x1d
jae 0x1401c91c4
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x2faa10]
test rcx, rcx
je 0x1401c91c4
mov r8, rcx
jmp 0x1401c91c4
mov rcx, qword [rsp + 0x30]
mov dword [rbp - 0x4c], r11d
mov edx, dword [rcx + 8]
test edx, edx
je 0x1401c5593
mov eax, dword [r12 + 0x30]
bt rax, 0x14
jb 0x1401c8cc3
movsxd rcx, dword [rcx + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x1401c5700
lea r8, [rbp - 0x4c]
mov rcx, rbx
call fcn.1401913e0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c8ccd
test byte [r13 + 0xc8], 0x80
je 0x1401c56aa
mov rdi, qword [rsp + 0x30]
cmp dword [rdi + 8], eax
je 0x1401c56a5
cmp byte [r12 + 0x5f], al
je 0x1401c55f8
cmp dword [r12 + 0xcc], 1
jle 0x1401c56a5
cmp dword [r13 + 0x40], 0
jne 0x1401c561b
inc dword [r12 + 0x2c0]
mov ecx, dword [r12 + 0x2c0]
add ecx, dword [r12 + 0x2bc]
mov dword [r13 + 0x40], ecx
mov r8d, dword [r13 + 0x40]
xor edx, edx
dec r8d
mov rcx, r12
call fcn.1401cfbf0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c5689
mov edi, dword [r13 + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x1401c5651
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x1401c5651
mov rcx, rbx
call fcn.140165250
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x1401c566f
cmp byte [rcx + 0xa], 0
je 0x1401c566f
mov edx, edi
call fcn.140180470
mov dword [rsp + 0x38], eax
jmp 0x1401c5675
xor edx, edx
mov dword [rsp + 0x38], edx
cmp byte [rbx + 0x11], 0
je 0x1401c5689
sub dword [rbx + 0x14], 1
jne 0x1401c5689
mov rcx, rbx
call fcn.1401dba10
mov rax, qword [r12 + 0x2c8]
mov qword [r13 + 0x58], rax
mov rax, qword [r12 + 0x2d0]
mov qword [r13 + 0x60], rax
mov eax, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r8d, 0x2400
mov r10d, 1
xor r11d, r11d
mov rsi, qword [rsp + 0x30]
cmp word [rsi + 2], 0
je 0x1401c56f3
mov eax, dword [rsi + 0xc]
cmp dword [rbp - 0x4c], eax
jne 0x1401c8d16
mov rax, qword [r12 + 0x20]
movsxd rcx, dword [rsi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsi + 0x10]
cmp dword [rcx + 4], eax
jne 0x1401c8d16
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
jmp case.0x1401c2e07.85
mov eax, dword [rsp + 0x38]
jmp 0x1401c56b9
mov rcx, qword [r12 + 0x20]
lea r8, [rbp - 0x1c]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
mov edx, dword [rdx + 0xc]
movsxd rax, dword [rax + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140192470
mov rcx, qword [rsp + 0x30]
mov r8d, 0x2400
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r8w
je 0x1401c575c
call fcn.14017f810
mov rcx, rax
mov r8d, 0x2400
jmp 0x1401c5765
mov eax, 4
mov word [rcx + 8], ax
movsxd rax, dword [rbp - 0x1c]
mov qword [rcx], rax
xor r11d, r11d
mov rsi, qword [rsp + 0x30]
mov r10d, 1
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r12 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140194be0
mov rdx, qword [rsp + 0x30]
mov dword [rsp + 0x38], eax
mov eax, dword [rdx + 8]
cmp eax, 1
jne 0x1401c57c3
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdx + 0xc]
mov dword [rcx], eax
or dword [r12 + 0x2c], 1
jmp 0x1401c57d3
cmp eax, 2
jne 0x1401c57d3
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rdx + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rdx + 4], 1
jne 0x1401c580f
mov rax, qword [r12 + 8]
test rax, rax
je 0x1401c5807
nop dword [rax]
nop word [rax + rax]
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401c57f0
and dword [r13 + 0xc8], 0xfffffffc
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
mov rsi, rdx
jmp 0x1401c4aa1
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je case.0x1401c2e07.96
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
cmp dword [rdi + 0x4c], eax
je 0x1401c5977
mov eax, dword [r13 + 0xc8]
and al, 3
cmp al, 1
je 0x1401c8d79
mov rax, qword [rsp + 0x30]
mov edi, r11d
mov r8, qword [rsp + 0x60]
mov r14, r11
movsxd r12, dword [rax + 0xc]
movsxd r15, dword [rax + 8]
mov rax, r12
shl rax, 5
add rax, qword [r8 + 0x20]
mov r8, qword [rsp + 0x30]
mov r13, qword [rax + 8]
cmp bl, 0x61
jne 0x1401c58b4
mov rax, qword [rax + 0x18]
movzx esi, word [r8 + 2]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x58]
cmp cl, byte [rax + 0xc3]
jae 0x1401c58b7
mov byte [rax + 0xc3], cl
jmp 0x1401c58b7
mov esi, r11d
test byte [r8 + 2], 0x10
je 0x1401c58da
imul rbx, r15, 0x38
mov rax, r15
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1401cbc30
mov r8, qword [rsp + 0x30]
mov r15d, dword [rbx]
movzx eax, byte [r8 + 1]
cmp al, 0xf7
jne 0x1401c58ee
mov r14, qword [r8 + 0x10]
movzx edi, word [r14 + 8]
jmp 0x1401c58f6
cmp al, 0xfd
jne 0x1401c58f6
mov edi, dword [r8 + 0x10]
mov rcx, qword [rsp + 0x58]
mov r9d, r12d
mov r12, qword [rsp + 0x30]
mov r8d, edi
mov byte [rsp + 0x20], 0
mov edx, dword [r12 + 4]
call fcn.140160070
mov rdi, rax
test rax, rax
je 0x1401c4b02
mov rcx, qword [rax + 0x38]
mov r9, r14
or dword [rax + 8], 4
mov r8d, esi
mov qword [rsp + 0x20], rcx
mov edx, r15d
mov rcx, r13
mov byte [rax + 2], 1
mov dword [rax + 0x4c], r15d
call fcn.140191f10
mov r13, qword [rsp + 0x58]
mov r8d, 0x2400
mov r15, qword [rsp + 0x50]
mov qword [rdi + 0x40], r14
cmp byte [r12 + 1], 0xf7
mov r12, qword [rsp + 0x60]
mov dword [rsp + 0x38], eax
setne al
xor r11d, r11d
mov byte [rdi + 4], al
lea r10d, [r11 + 1]
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + 2]
mov rax, qword [rdi + 0x38]
and cl, 3
mov byte [rax + 3], cl
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
or r9, 0xffffffffffffffff
mov byte [rsp + 0x20], 0
movsxd rcx, dword [rax + 8]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rax, qword [rsp + 0x30]
movsx r8d, word [rbx + 0x50]
mov edx, dword [rax + 4]
call fcn.140160070
mov r10, rax
test rax, rax
je 0x1401c4b0c
or dword [rax + 8], 1
mov r8d, 4
mov byte [rax + 2], 1
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov edx, ecx
mov dword [rax + 0x4c], ecx
mov eax, dword [rbx + 8]
xor eax, dword [r10 + 8]
and eax, 4
xor dword [r10 + 8], eax
mov rax, qword [r10 + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140191f10
mov dword [rsp + 0x38], eax
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x1401c5a6c
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1401c5a6c
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
mov qword [rbx + 0x18], r11
mov dword [rbx + 0x28], r11d
call fcn.140191750
mov dword [rsp + 0x38], eax
xor r11d, r11d
jmp 0x1401c5b8f
mov rax, qword [rsp + 0x30]
or r9, 0xffffffffffffffff
mov rcx, r13
mov byte [rsp + 0x20], 0
mov r8d, dword [rax + 8]
call fcn.140160070
mov rbx, rax
test rax, rax
je 0x1401c4b0c
or dword [rax + 8], 1
lea r9, [rbx + 0x10]
mov rax, qword [rsp + 0x30]
mov r8, r12
mov dword [rsp + 0x28], 0x41e
xor edx, edx
movzx ecx, word [rax + 2]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov rcx, qword [r12]
call fcn.1401938a0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c5b63
mov rcx, qword [rbx + 0x10]
mov r14d, 1
mov edx, r14d
xor r8d, r8d
call fcn.1401913e0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c5b63
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rax + 0x10]
mov qword [rbx + 0x40], rsi
test rsi, rsi
je 0x1401c5b3f
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x4c]
or r8d, 2
call fcn.140191ea0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c5b39
mov rax, qword [rbx + 0x38]
lea r8d, [r14 + 3]
mov edx, dword [rbx + 0x4c]
mov r9, rsi
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140191f10
mov dword [rsp + 0x38], eax
mov byte [rbx + 4], 0
jmp 0x1401c5b63
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov edx, r14d
mov dword [rbx + 0x4c], r14d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.140191f10
mov dword [rsp + 0x38], eax
mov byte [rbx + 4], r14b
mov rax, qword [rsp + 0x30]
xor r11d, r11d
mov rdi, qword [rsp + 0x48]
mov ecx, r11d
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov eax, dword [rsp + 0x38]
mov dword [rbx + 8], ecx
test eax, eax
jne 0x1401c54e4
mov rsi, qword [rsp + 0x30]
mov byte [rbx + 2], 1
jmp 0x1401c4aa4
mov rax, qword [rsp + 0x30]
or r9, 0xffffffffffffffff
mov rcx, r13
mov byte [rsp + 0x20], 1
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140160070
test rax, rax
je 0x1401c4b0c
mov rdx, qword [rsp + 0x30]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x40], rcx
mov rcx, r12
mov edx, dword [rdx + 0xc]
call fcn.1401cdac0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x1401c459a
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
or r9, 0xffffffffffffffff
mov rcx, r13
mov byte [rsp + 0x20], 3
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.140160070
test rax, rax
je 0x1401c4b0c
mov rcx, qword [rsp + 0x30]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1403efcc4]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], 1
jmp 0x1401c4a9c
mov rdx, qword [r13 + 0x78]
mov rcx, r13
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.1401ca180
mov rax, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov qword [rax + rcx*8], r11
jmp 0x1401c4aa4
mov rax, qword [rsp + 0x30]
mov r12d, r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 4], 0
mov word [r14 + 2], 0
mov dword [r14 + 0x28], r11d
je 0x1401c5dc0
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r15
movzx esi, word [rdi + 8]
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x1401c5cf9
xor edx, edx
mov rcx, rdi
call fcn.1401619c0
mov rcx, rdi
call fcn.1401ca9b0
movzx edx, word [rdi + 8]
mov r15, rax
mov word [rdi + 8], si
test dl, 0x24
jne 0x1401c5d8b
test dl, 8
jne 0x1401c5d5f
test dl, 1
jne 0x1401c842f
cmp ebx, 0x18
jae 0x1401c842f
mov rcx, qword [r14 + 0x38]
lea rdx, [rsp + 0x6c]
call fcn.140193120
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c9186
xor r11d, r11d
cmp dword [rsp + 0x6c], 0
je 0x1401c5f39
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x1401c458f
movsd xmm0, qword [rdi]
xorps xmm1, xmm1
cvtsi2sd xmm1, r15
comisd xmm1, xmm0
jbe 0x1401c5d7e
test bl, 1
lea eax, [rbx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x1401c5d8b
comisd xmm0, xmm1
jbe 0x1401c5d8b
test bl, 1
jne 0x1401c5d8b
inc ebx
mov rcx, qword [r14 + 0x38]
lea rax, [rsp + 0x6c]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r15
xor edx, edx
call fcn.1401932e0
mov dword [rsp + 0x38], eax
mov qword [r14 + 0x58], r15
test eax, eax
jne 0x1401c9186
mov r15, qword [rsp + 0x50]
jmp 0x1401c5e50
mov rax, qword [r14 + 0x38]
mov rcx, qword [rsp + 0x30]
movzx edi, byte [rax + 3]
mov rax, qword [r14 + 0x40]
and dil, 2
mov qword [rbp + 0xb8], rax
movzx eax, word [rcx + 0x10]
setne r12b
mov word [rbp + 0xc8], ax
test bl, 1
mov eax, r10d
mov byte [rbp + 0xce], 0
cmovne eax, edx
xor r9d, r9d
mov byte [rbp + 0xca], al
lea rdx, [rbp + 0xb8]
movsxd rax, dword [rcx + 0xc]
xor r8d, r8d
imul rcx, rax, 0x38
lea rax, [rsp + 0x6c]
add rcx, r15
mov qword [rsp + 0x20], rax
mov qword [rbp + 0xc0], rcx
mov rcx, qword [r14 + 0x38]
call fcn.1401932e0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c9186
test dil, dil
je 0x1401c5e50
cmp byte [rbp + 0xce], al
je 0x1401c5d42
mov eax, dword [rsp + 0x6c]
cmp ebx, 0x18
jl 0x1401c5eb4
test eax, eax
js 0x1401c5e71
jne 0x1401c5e64
cmp ebx, 0x19
je 0x1401c5e71
xor r11d, r11d
mov dword [rsp + 0x6c], r11d
jmp 0x1401c5f39
mov rcx, qword [r14 + 0x38]
xor ebx, ebx
xor edx, edx
mov dword [rsp + 0x6c], ebx
call fcn.140193860
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1401c5f36
cmp eax, 0x65
jne 0x1401c916f
mov rdi, qword [rsp + 0x48]
xor r11d, r11d
mov r10d, 1
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x6c], r10d
jmp 0x1401c4595
test eax, eax
jg 0x1401c5ed8
jne 0x1401c5ebf
cmp ebx, 0x16
je 0x1401c5ed8
mov rax, qword [r14 + 0x38]
xor r11d, r11d
mov ecx, r11d
cmp byte [rax], r11b
setne cl
mov dword [rsp + 0x6c], ecx
jmp 0x1401c5d45
mov rcx, qword [r14 + 0x38]
xor r11d, r11d
mov dword [rsp + 0x6c], r11d
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r11w
cmp byte [rcx], r11b
jne 0x1401c5f16
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x1401c5f16
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], r11b
je 0x1401c5f16
dec dx
mov dword [rsp + 0x38], r11d
mov word [rcx + 0x56], dx
jmp 0x1401c5f39
call fcn.140165c30
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1401c5f36
cmp eax, 0x65
je 0x1401c5e97
mov r12, qword [rsp + 0x60]
jmp 0x1401c54e4
xor r11d, r11d
mov rsi, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
add rsi, 0x18
mov rdi, qword [rsp + 0x48]
test r12d, r12d
cmove rsi, qword [rsp + 0x30]
jmp 0x1401c4aa4
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
cmp qword [rax + rcx*8], 0
je case.0x1401c2e07.11
mov rsi, qword [rsp + 0x30]
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
test byte [rcx + 8], 8
jne 0x1401c3044
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
imul rbx, rax, 0x38
add rbx, r15
cmp dword [rcx + 0x10], 0
jle 0x1401c6016
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x178]
mov qword [rbp + 0x178], rax
mov r14, r11
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x188], ax
mov qword [rbp + 0x180], rbx
jmp 0x1401c6068
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1401c6031
mov rcx, rbx
call fcn.1401cb7b0
test eax, eax
jne 0x1401c4b0c
mov rcx, qword [rsi + 0x40]
call fcn.1401c20f0
mov rdi, rax
mov r14, rax
test rax, rax
je 0x1401c4b0c
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.1401cd290
mov rcx, qword [rsp + 0x30]
xor r11d, r11d
lea r10d, [r11 + 1]
mov byte [rdi + 0x12], 0
mov ebx, r11d
cmp byte [rcx], 0x1c
jne 0x1401c609b
movzx edx, word [rdi + 0x10]
mov ecx, r11d
test edx, edx
je 0x1401c609b
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x1401c6098
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x1401c6087
jmp 0x1401c609b
mov ebx, r10d
mov rcx, qword [rsi + 0x38]
lea rax, [rbp - 0x20]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.1401932e0
mov dword [rsp + 0x38], eax
test r14, r14
je 0x1401c60ce
mov rdx, r14
mov rcx, r12
call fcn.140199760
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
mov eax, dword [rbp - 0x20]
xor r11d, r11d
mov rdi, qword [rsp + 0x48]
test eax, eax
mov dword [rsi + 0x2c], eax
mov ecx, r11d
sete cl
mov byte [rsi + 3], r11b
mov dword [rsi + 0x28], r11d
mov r10d, 1
mov eax, r10d
sub al, cl
mov byte [rsi + 2], al
mov rsi, qword [rsp + 0x30]
cmp byte [rsi], 0x1e
jne 0x1401c6119
test ecx, ecx
jne 0x1401c459a
jmp 0x1401c4aaa
test ebx, ebx
jne 0x1401c459a
test ecx, ecx
je 0x1401c459a
jmp 0x1401c4aaa
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 0x24
jne case.0x1401c2e07.32
movups xmm2, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp], xmm2
psrldq xmm2, 8
movd edx, xmm2
movups xmmword [rbp + 0x10], xmm1
movsd xmm1, qword [rcx + 0x30]
movsd qword [rbp + 0x30], xmm1
movups xmmword [rbp + 0x20], xmm0
test dl, 4
jne 0x1401c630e
test dl, 8
jne 0x1401c62b9
test dl, 2
je 0x1401c6305
mov rcx, qword [rbp + 8]
lea rdx, [rbp + 0xf0]
mov r9, rcx
shr rcx, 0x20
mov r8d, ecx
shr r9, 0x10
mov rcx, qword [rbp + 0x10]
call fcn.14018f4a0
test eax, eax
jle 0x1401c62b0
movsd xmm4, qword [rbp + 0xf0]
cmp eax, 1
jne 0x1401c6251
ucomisd xmm4, xmm6
cvttsd2si rcx, xmm4
xorps xmm0, xmm0
movsd qword [rbp + 0xf8], xmm4
cvtsi2sd xmm0, rcx
movsd qword [rbp + 0x100], xmm0
jp 0x1401c61ed
je 0x1401c6219
mov rax, qword [rbp + 0xf8]
cmp rax, qword [rbp + 0x100]
jne 0x1401c6226
movabs rax, 0x8000000000000
movabs rdx, 0xfffffffffffff
add rax, rcx
cmp rax, rdx
ja 0x1401c6226
movzx edx, word [rbp + 8]
xor r11d, r11d
mov qword [rbp], rcx
jmp 0x1401c6298
movzx r9d, byte [rbp + 0xa]
lea rdx, [rbp]
mov r8d, dword [rbp + 0xc]
mov rcx, qword [rbp + 0x10]
call fcn.14018f920
xor r11d, r11d
test eax, eax
mov ecx, r11d
sete cl
test ecx, ecx
je 0x1401c6254
movzx edx, word [rbp + 8]
jmp 0x1401c6298
xor r11d, r11d
movzx edx, word [rbp + 8]
movaps xmm0, xmm4
or dx, 8
movsd qword [rbp], xmm4
call fcn.14016e2a0
xorps xmm3, xmm3
cvtsi2sd xmm3, rax
ucomisd xmm4, xmm3
jp 0x1401c629c
jne 0x1401c629c
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x1401c629c
mov qword [rbp], rax
mov eax, 0x3e40
and dx, ax
or dx, 4
mov eax, 0xfffd
mov r10d, 1
and dx, ax
mov word [rbp + 8], dx
jmp 0x1401c6301
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401c6301
movsd xmm4, qword [rbp]
movaps xmm0, xmm4
call fcn.14016e2a0
xorps xmm3, xmm3
cvtsi2sd xmm3, rax
ucomisd xmm4, xmm3
jp 0x1401c6305
jne 0x1401c6305
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x1401c6305
mov qword [rbp], rax
mov ecx, 0x3e40
movzx eax, word [rbp + 8]
and ax, cx
or ax, 4
mov word [rbp + 8], ax
movzx edx, byte [rbp + 8]
test dl, 4
je 0x1401c4595
mov rdi, qword [rbp]
jmp 0x1401c6325
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r15]
mov rax, qword [rsp + 0x30]
xor r9d, r9d
mov r8, rdi
mov dword [rbp - 0x30], r11d
xor edx, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
call fcn.1401932e0
mov rsi, qword [rsp + 0x30]
xor r11d, r11d
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x30]
mov qword [rbx + 0x58], rdi
mov word [rbx + 2], 0
mov dword [rbx + 0x28], r11d
mov dword [rbx + 0x2c], eax
test eax, eax
je 0x1401c6395
cmp dword [rsi + 8], r11d
jne 0x1401c843e
mov ecx, 0x15d9c
call fcn.1401978f0
mov dword [rsp + 0x38], eax
xor r11d, r11d
jmp 0x1401c6399
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aa4
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r8w
je 0x1401c63dd
mov rcx, rdx
call fcn.14017f810
xor r11d, r11d
mov rdx, rax
mov r8d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401c63e6
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r13 + 0x78]
mov rsi, rbx
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
mov rbx, r11
mov qword [rbp - 0x48], rbx
mov dword [rbp - 0x64], r11d
movsxd rax, dword [rax + 8]
imul r14, rax, 0x38
add r14, qword [r13 + 0x68]
test word [r14 + 8], r8w
je 0x1401c6441
mov rcx, r14
call fcn.14017f810
mov r14, rax
jmp 0x1401c644b
mov eax, 4
mov word [r14 + 8], ax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x1401c64bd
mov rcx, qword [rsi + 0x38]
lea rdx, [rbp - 0x64]
call fcn.140193120
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
cmp dword [rbp - 0x64], eax
je 0x1401c648d
mov eax, 1
mov ebx, eax
mov qword [rbp - 0x48], rax
jmp 0x1401c64bd
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.1401781c0
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
mov qword [rbp - 0x48], rbx
cmp rbx, rax
jl 0x1401c64b6
or dword [rsi + 8], 2
jmp 0x1401c64bd
inc rbx
mov qword [rbp - 0x48], rbx
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x1401c6532
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x1401c64f6
mov rax, qword [rcx + 8]
test rax, rax
je 0x1401c64ec
nop
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401c64e0
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1401c64fd
imul rdi, rdx, 0x38
add rdi, r15
mov rcx, rdi
call fcn.1401cbc30
mov rax, qword [rdi]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x1401c6598
test byte [rsi + 8], 2
jne 0x1401c6598
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x48], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x1401c65a2
xor edx, edx
mov edi, edx
nop dword [rax]
lea rdx, [rbp - 0x48]
mov ecx, 8
call fcn.140158e00
mov rbx, qword [rbp - 0x48]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsi + 0x38]
and rbx, rax
inc rbx
lea rax, [rbp - 0x64]
mov r8, rbx
mov qword [rbp - 0x48], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.1401932e0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
cmp dword [rbp - 0x64], eax
jne 0x1401c65a2
inc edi
cmp edi, 0x64
jl 0x1401c6540
mov eax, reloc.WS2_32.dll_listen
jmp 0x1401c54e4
mov rdi, qword [rsp + 0x48]
xor r11d, r11d
mov dword [rsi + 0x28], r11d
mov byte [rsi + 3], 0
mov rsi, qword [rsp + 0x30]
mov qword [r14], rbx
jmp 0x1401c4aa4
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, r15
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r15]
mov rcx, qword [rsp + 0x30]
mov qword [rbp + 0x198], r8
cmp byte [rcx + 1], 0xfa
jne 0x1401c6626
cmp qword [r12 + 0x130], 0
je 0x1401c6626
movsx rcx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rsi, qword [rcx + rax]
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rcx + 0x10]
jmp 0x1401c662c
mov rdi, r11
mov rsi, r11
test byte [rcx + 2], 1
je 0x1401c6636
inc dword [r13 + 0x3c]
test byte [rcx + 2], 0x20
je 0x1401c6641
mov qword [r12 + 0x38], r8
mov rax, qword [rdx + 0x10]
movzx r8d, word [rcx + 2]
mov qword [rbp + 0x1a0], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0x1b4], eax
test r8b, 0x10
je 0x1401c6666
mov r9d, dword [rbx + 0x2c]
jmp 0x1401c6669
mov r9d, r11d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x1401c667e
mov eax, dword [rdx]
mov dword [rbp + 0x1b8], eax
jmp 0x1401c6685
mov dword [rbp + 0x1b8], r11d
mov qword [rbp + 0x190], r11
lea rdx, [rbp + 0x190]
mov rcx, qword [rbx + 0x38]
and r8d, 0xa
call fcn.140192640
xor r11d, r11d
mov dword [rsp + 0x38], eax
mov byte [rbx + 3], 0
mov dword [rbx + 0x28], r11d
test eax, eax
jne 0x1401c54e4
test rdi, rdi
je 0x1401c897c
mov rax, qword [rsp + 0x30]
mov edx, reloc.WS2_32.dll_select
mov r9, qword [rdi]
mov r8, rsi
mov rcx, qword [r12 + 0x128]
test byte [rax + 2], 4
mov eax, reloc.WS2_32.dll_socket
cmovne edx, eax
mov rax, qword [rbp + 0x198]
mov qword [rsp + 0x20], rax
call qword [r12 + 0x130]
jmp 0x1401c4a97
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xfa
mov r15d, dword [rax + 8]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
jne 0x1401c6765
cmp qword [r12 + 0x130], 0
je 0x1401c6765
movsx rcx, byte [rdi + 1]
mov rax, qword [r12 + 0x20]
mov rsi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov r14, qword [rcx + rax]
je 0x1401c676b
cmp byte [rdi + 4], 0
je 0x1401c676b
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.1401781c0
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x30]
mov qword [rdi + 0x58], rax
jmp 0x1401c676b
mov r14, r11
mov rsi, r11
movzx edx, byte [rdx + 2]
mov rcx, qword [rdi + 0x38]
call fcn.140191fa0
xor r11d, r11d
mov dword [rsp + 0x38], eax
mov qword [rdi + 0x28], r11
test eax, eax
jne 0x1401c54e4
test r15b, 1
je 0x1401c898b
inc dword [r13 + 0x3c]
mov r10, qword [r12 + 0x130]
test r10, r10
je 0x1401c898b
test byte [rsi + 0x40], 0x80
jne 0x1401c898b
mov rax, qword [rdi + 0x58]
lea edx, [r11 + 9]
mov r9, qword [rsi]
mov r8, r14
mov rcx, qword [r12 + 0x128]
mov qword [rsp + 0x20], rax
call r10
jmp 0x1401c4a92
mov eax, dword [r13 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
mov dword [r13 + 0x3c], r11d
jmp case.0x1401c2e07.85
mov rbx, qword [rsp + 0x30]
lea r9, [rbp - 0x2c]
mov rax, qword [r13 + 0x78]
mov dword [rbp - 0x2c], r11d
movsxd rcx, dword [rbx + 4]
mov r8d, dword [rbx + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
add rdx, r15
call fcn.1401cd970
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
xor r11d, r11d
lea r10d, [rax + 1]
mov rsi, rbx
cmp dword [rbp - 0x2c], r11d
jne 0x1401c459a
jmp 0x1401c4aaa
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, r15
mov rcx, qword [rax + rcx*8]
call fcn.1401ce080
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
mov rax, qword [rsp + 0x30]
xor r11d, r11d
mov rsi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r11d
jmp 0x1401c4aa4
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x68]
test word [rbx + 8], r8w
je 0x1401c68b4
mov rcx, rbx
call fcn.14017f810
mov rbx, rax
jmp 0x1401c68bd
mov eax, 4
mov word [rbx + 8], ax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x38]
mov rcx, rdi
call fcn.1401781c0
mov r8d, dword [rdi + 0x40]
cmp r8d, dword [r12 + 0x7c]
ja 0x1401c8e65
mov r9, rbx
xor edx, edx
mov rcx, rdi
call fcn.1401cb920
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
mov rsi, qword [rsp + 0x30]
cmp dword [rsi + 0xc], eax
jne 0x1401c89a9
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1401c89a9
mov rcx, rbx
call fcn.1401cbc90
test eax, eax
jne 0x1401c4b0c
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aa1
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.14017f7e0
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [r13 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], 0
je 0x1401c697b
mov rsi, qword [rsp + 0x30]
mov r10d, 1
mov rdi, qword [rsp + 0x48]
xor r11d, r11d
mov word [rax + 8], r10w
jmp 0x1401c4aaa
cmp byte [rbx + 3], 0
je 0x1401c6991
mov rax, qword [rbx + 0x58]
mov qword [rbp - 0x10], rax
mov qword [rdi], rax
jmp 0x1401c4a97
cmp byte [rbx], 2
jne 0x1401c69ce
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp - 0x10]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.1401cf7e0
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
mov rax, qword [rbp - 0x10]
mov qword [rdi], rax
jmp 0x1401c4a97
mov rax, qword [rbx + 0x38]
cmp byte [rax], 0
je 0x1401c69f0
mov rcx, rbx
call fcn.140178e50
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
xor r11d, r11d
jmp 0x1401c69f8
xor r11d, r11d
mov dword [rsp + 0x38], r11d
cmp byte [rbx + 2], 0
je 0x1401c6a18
mov rsi, qword [rsp + 0x30]
mov r10d, 1
mov word [rdi + 8], r10w
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aaa
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.1401781c0
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x10], rax
mov qword [rdi], rax
jmp 0x1401c4a97
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 0
mov byte [rcx + 2], 1
mov dword [rcx + 0x28], r11d
jne 0x1401c897c
mov rcx, qword [rcx + 0x38]
call fcn.140191720
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
mov dword [rbp - 0x40], r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x38]
cmp bl, 0x81
jne 0x1401c6a92
or rax, 0xffffffffffffffff
mov dword [rdi + 0x2c], eax
cmp byte [rcx], 0
je 0x1401c897c
lea rdx, [rbp - 0x40]
call fcn.140193120
mov dword [rsp + 0x38], eax
xor r11d, r11d
mov ecx, dword [rsp + 0x38]
mov eax, dword [rbp - 0x40]
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r11d
test ecx, ecx
jne 0x1401c8dd5
mov rsi, qword [rsp + 0x30]
cmp dword [rsi + 8], r11d
jle 0x1401c89ac
mov rdi, qword [rsp + 0x48]
jmp 0x1401c44cc
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.14017ccc0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c6b0f
xor edx, edx
mov rcx, rbx
mov esi, edx
mov dword [rbp - 0x50], edx
call fcn.14017ca20
mov dword [rsp + 0x38], eax
jmp 0x1401c6b30
cmp eax, 0x10
jne 0x1401c6b2d
mov r10d, 1
xor r11d, r11d
mov eax, r11d
mov dword [rbp - 0x50], r10d
mov dword [rsp + 0x38], eax
mov esi, r10d
jmp 0x1401c6b39
mov esi, dword [rbp - 0x50]
mov r10d, 1
xor r11d, r11d
test eax, eax
jne 0x1401c54e4
test esi, esi
jne 0x1401c4595
mov rcx, rbx
call fcn.140194250
test rax, rax
js 0x1401c897c
mov rcx, rax
call fcn.1401ad480
mov rsi, qword [rsp + 0x30]
movsx ecx, ax
cmp ecx, dword [rsi + 0xc]
jge 0x1401c89ac
mov r10d, 1
mov dword [rbp - 0x50], r10d
jmp 0x1401c459a
inc dword [r13 + 0xdc]
mov rax, qword [rsp + 0x30]
mov ebx, r10d
mov dword [rbp - 0x60], ebx
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi], 1
jne 0x1401c6bbd
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.1401cdff0
mov ebx, dword [rbp - 0x60]
xor r11d, r11d
mov dword [rsp + 0x38], eax
jmp 0x1401c6bef
mov rsi, qword [rdi + 0x38]
mov rcx, rsi
call fcn.14017ccc0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c6c19
xor edx, edx
mov rcx, rsi
mov ebx, edx
mov dword [rbp - 0x60], edx
call fcn.14017ca20
mov dword [rsp + 0x38], eax
xor r11d, r11d
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r11d
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
mov rsi, qword [rsp + 0x30]
lea r10d, [rax + 1]
mov byte [rdi + 2], bl
mov rdi, qword [rsp + 0x48]
test ebx, ebx
jne 0x1401c459a
jmp 0x1401c4aaa
cmp eax, 0x10
jne 0x1401c6be4
mov eax, 1
xor r11d, r11d
mov ebx, eax
mov dword [rbp - 0x60], eax
mov dword [rsp + 0x38], r11d
jmp 0x1401c6be7
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
mov rdx, rbx
call fcn.1401cdc90
jmp 0x1401c6c70
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x38]
mov edx, dword [rax + 0xc]
call qword [rax + reloc.WS2_32.dll_recv]
mov dword [rsp + 0x38], eax
xor r11d, r11d
mov dword [rbx + 0x28], r11d
test eax, eax
jne 0x1401c6c99
mov rax, qword [rsp + 0x30]
mov byte [rbx + 2], r11b
movzx eax, word [rax + 2]
inc dword [r13 + rax*4 + 0xd4]
jmp case.0x1401c2e07.11
cmp eax, 0x65
jne 0x1401c54e4
mov dword [rsp + 0x38], r11d
mov byte [rbx + 2], 1
jmp 0x1401c747d
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r15
test byte [rcx + 2], 1
je 0x1401c6cdb
inc dword [r13 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1401c6cfe
mov rcx, rbx
call fcn.1401cb7b0
test eax, eax
jne 0x1401c54e4
mov rcx, qword [rsp + 0x30]
xor r11d, r11d
cmp byte [rcx], 0x82
jne 0x1401c6d13
mov rdx, rbx
mov rcx, rdi
call fcn.1401ce150
xor r11d, r11d
jmp 0x1401c6d7a
movsxd rax, dword [rbx + 0xc]
mov qword [rbp + 0x1c8], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x1c0], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r15
mov qword [rbp + 0x1d8], rcx
mov rcx, qword [rsp + 0x30]
movzx r8d, word [rcx + 2]
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x1e0], ax
test r8b, 0x10
je 0x1401c6d5c
mov r9d, dword [rdi + 0x2c]
jmp 0x1401c6d5f
mov r9d, r11d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x1c0]
and r8d, 0xa
call fcn.140192640
xor r11d, r11d
mov dword [rdi + 0x28], r11d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aa4
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x110]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0x110], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x120], ax
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 0x14]
mov byte [rbp + 0x122], 0
add rcx, r15
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x118], rcx
mov rcx, rdi
call fcn.1401932e0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
cmp dword [rbp - 0x14], eax
jne 0x1401c6e23
mov dl, 4
mov rcx, rdi
call fcn.140191fa0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
mov rsi, qword [rsp + 0x30]
xor r11d, r11d
mov rdi, qword [rsp + 0x48]
mov qword [rbx + 0x28], r11
jmp 0x1401c4aa4
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], 0
je 0x1401c6e76
mov rcx, rbx
call fcn.140178e50
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
xor r11d, r11d
lea r10d, [rax + 1]
mov r8d, 0x2400
jmp 0x1401c6e7b
mov dword [rsp + 0x38], r11d
cmp byte [rbx + 2], 0
jne 0x1401c6ef2
mov rdx, qword [rbx + 0x38]
lea r8, [rbp - 8]
mov rcx, r12
mov qword [rbp - 8], r11
call fcn.1401ca7a0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0x85
jne 0x1401c6edb
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 8]
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x30]
mov word [rdx + 2], 0x100
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x1401c4a9c
mov rdx, rax
mov rcx, r13
call fcn.14017f7e0
mov rcx, qword [rbp - 8]
mov qword [rax], rcx
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r15
test word [rcx + 8], r8w
je 0x1401c6f13
call fcn.1401de560
jmp 0x1401c4a9c
mov rsi, qword [rsp + 0x30]
mov word [rcx + 8], r10w
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x1401c3044
call fcn.1401c9dc0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
lea r9, [rbp - 0x7c]
cmp bl, 0x28
mov dword [rbp - 0x7c], r11d
lea r8, [rbp + 0x128]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0x128], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x138], ax
sbb al, al
mov byte [rbp + 0x13a], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, r15
mov qword [rbp + 0x130], rcx
mov rcx, r12
call fcn.1401ca670
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
test byte [rax], 1
mov eax, dword [rbp - 0x7c]
jne 0x1401c6fc8
neg eax
jmp 0x1401c6fca
inc eax
mov ecx, dword [rsp + 0x38]
mov dword [rbp - 0x7c], eax
test ecx, ecx
jne 0x1401c8dd5
mov rsi, qword [rsp + 0x30]
lea r10d, [rcx + 1]
xor r11d, r11d
test eax, eax
jg 0x1401c459a
jmp 0x1401c4aaa
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.14017f7e0
mov esi, 1
mov rdi, rax
mov word [rax + 8], si
mov ecx, dword [r12 + 0xd8]
inc ecx
cmp dword [r12 + 0xcc], ecx
jg 0x1401c8d83
mov rax, qword [rsp + 0x30]
xor edx, edx
mov dword [rbp - 0x3c], edx
movsxd r14, dword [rax + 0xc]
mov esi, dword [rax + 4]
mov rcx, r14
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], dl
je 0x1401c705a
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], dl
jne 0x1401c705a
mov rcx, rbx
call fcn.140165250
lea r8, [rbp - 0x3c]
mov edx, esi
mov rcx, rbx
call fcn.140164b30
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x38], eax
je 0x1401c7080
sub dword [rbx + 0x14], 1
jne 0x1401c7080
mov rcx, rbx
call fcn.1401dba10
movsxd r8, dword [rbp - 0x3c]
mov eax, 4
mov word [rdi + 8], ax
mov eax, dword [rsp + 0x38]
mov qword [rdi], r8
test eax, eax
jne 0x1401c54e4
test r8d, r8d
je 0x1401c89a4
mov rax, qword [rsp + 0x30]
mov edx, r14d
mov rcx, r12
mov r9d, dword [rax + 4]
call fcn.1401b6c90
lea eax, [r14 + 1]
mov byte [rsp + 0x68], al
jmp 0x1401c4a97
mov rax, qword [rsp + 0x30]
lea r8, [rbp - 0x38]
mov rcx, qword [r12 + 0x20]
mov rdx, qword [rsp + 0x30]
mov dword [rbp - 0x38], r11d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [rdx + 4]
cmove r8, r11
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140191750
mov rsi, qword [rsp + 0x30]
mov dword [rsp + 0x38], eax
cmp dword [rsi + 0xc], 0
je 0x1401c7125
movsxd rdx, dword [rbp - 0x38]
add dword [r13 + 0x3c], edx
movsxd rax, dword [rsi + 0xc]
test eax, eax
jle 0x1401c7121
imul rcx, rax, 0x38
add qword [rcx + r15], rdx
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4aa1
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x1401c7159
mov rdx, qword [rcx + 0x38]
mov rcx, r12
call fcn.1401cdd40
jmp 0x1401c4a9c
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.140191750
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a9c
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.14017f7e0
xor edx, edx
mov rbx, rax
mov rax, qword [rsp + 0x30]
mov dword [rbp - 0x34], edx
lea rdx, [rbp - 0x34]
movsxd rcx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
shl rcx, 5
add rcx, qword [r12 + 0x20]
mov rcx, qword [rcx + 8]
call fcn.140191ea0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
movsxd rax, dword [rbp - 0x34]
mov qword [rbx], rax
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
xor r9d, r9d
inc byte [r12 + 0x6a]
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], r11
mov rdx, qword [rax + 0x10]
call fcn.1401526a0
dec byte [r12 + 0x6a]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x10]
movsxd rbx, dword [rax + 4]
test rcx, rcx
jne 0x1401c7260
mov rcx, qword [r12 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1401b7f10
and dword [r12 + 0x2c], 0xffffffef
lea r8, [r13 + 0xa8]
mov r9d, 1
mov edx, ebx
mov rcx, r12
call fcn.1401a9f10
or dword [r12 + 0x2c], 1
and dword [r13 + 0xc8], 0xfffffffc
mov dword [rsp + 0x38], eax
jmp 0x1401c7332
mov r8, qword [r12 + 0x20]
lea rax, [r13 + 0xa8]
mov qword [rbp + 0xd8], rax
lea r9, str.sqlite_master
mov qword [rbp + 0xd0], r12
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp + 0xe0], ebx
mov rax, rbx
shl rax, 5
mov dword [rbp + 0xe8], r11d
mov qword [rsp + 0x20], rcx
mov rcx, r12
mov r8, qword [rax + r8]
call fcn.1401ad640
mov rbx, rax
test rax, rax
je 0x1401c8d95
xor eax, eax
mov byte [r12 + 0xb5], 1
lea r9, [rbp + 0xd0]
mov dword [rbp + 0xe4], eax
lea r8, [fcn.1401a9cb0]
mov dword [rbp + 0xec], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rcx, r12
call fcn.1401526a0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c731a
mov eax, dword [rbp + 0xe4]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c731a
cmp dword [rbp + 0xec], eax
jne 0x1401c731a
mov ecx, 0x16335
call fcn.1401978f0
mov dword [rsp + 0x38], eax
mov rdx, rbx
mov rcx, r12
call fcn.140199760
mov eax, dword [rsp + 0x38]
mov byte [r12 + 0xb5], 0
test eax, eax
jne 0x1401c8d9e
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov edx, dword [rax + 4]
call fcn.14018efe0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401be3c0
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401be2b0
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401be4a0
jmp 0x1401c4a9c
mov rcx, qword [rsp + 0x30]
lea r10, [rbp - 0x18]
mov r9, qword [rsp + 0x30]
mov rdx, qword [r12 + 0x20]
mov qword [rsp + 0x28], r10
movsxd rax, dword [rcx + 0xc]
mov r8, qword [rcx + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
mov ecx, dword [rdi + r15]
add rbx, r15
mov r9d, dword [r9 + 8]
inc ecx
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, r12
mov rdx, qword [rax + rdx + 8]
call fcn.140192a90
mov edx, 0x2400
mov rsi, rax
test word [rbx + 8], dx
je 0x1401c741a
mov rcx, rbx
call fcn.1401de560
jmp 0x1401c7423
mov eax, 1
mov word [rbx + 8], ax
mov eax, dword [rbp - 0x18]
test eax, eax
je 0x1401c745a
test rsi, rsi
je 0x1401c4b0c
dec eax
mov r9b, 1
movsxd rcx, eax
or r8, 0xffffffffffffffff
sub qword [rdi + r15], rcx
lea rax, [fcn.140158210]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.1401cbf90
test byte [rbx + 8], 2
movzx ecx, byte [rsp + 0x40]
je 0x1401c7478
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1401c7478
movzx edx, cl
mov rcx, rbx
call fcn.1401cc340
mov rdi, qword [rsp + 0x48]
mov eax, dword [r12 + 0x170]
test eax, eax
jne 0x1401c9129
mov ebx, dword [rsp + 0x3c]
cmp r14d, ebx
jb 0x1401c89a4
nop word [rax + rax]
mov rax, qword [r12 + 0x1e0]
test rax, rax
je 0x1401c89a4
add ebx, dword [r12 + 0x1f0]
mov rcx, qword [r12 + 0x1e8]
mov dword [rsp + 0x3c], ebx
call rax
test eax, eax
jne 0x1401c8e47
cmp r14d, ebx
jae 0x1401c74a0
jmp 0x1401c4a9c
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r15
imul rdi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x1401c7507
mov rcx, rbx
call fcn.1401cbf20
test eax, eax
jne 0x1401c4b0c
mov rdx, qword [rdi + r15]
mov rcx, qword [rbx + 0x10]
call fcn.1401b6f60
jmp 0x1401c4a97
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r15
test byte [rdi + 8], 0x10
je 0x1401c75bb
mov rbx, qword [rdi + 0x10]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x1401c7561
test al, 1
jne 0x1401c755c
mov rcx, qword [rbx + 0x10]
call fcn.140189f30
mov qword [rbx + 0x10], rax
mov r10d, 1
mov r8d, 0x2400
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1401c75bb
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x1401c7582
mov rcx, rbx
call fcn.1401b6cf0
mov rax, qword [rsp + 0x30]
mov edx, 0x2400
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r15
test word [rcx + 8], dx
je 0x1401c75aa
mov rdx, rdi
call fcn.1401df890
jmp 0x1401c7478
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
jmp 0x1401c7478
test word [rdi + 8], r8w
je 0x1401c75cf
mov rcx, rdi
call fcn.1401de560
jmp 0x1401c85e2
mov word [rdi + 8], r10w
jmp 0x1401c85e2
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r15
imul rsi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x1401c760a
mov rcx, rbx
call fcn.1401cbf20
test eax, eax
jne 0x1401c4b0c
test edi, edi
je 0x1401c7627
mov r8, qword [rsi + r15]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.1401b6fd0
test eax, eax
jne 0x1401c8434
test edi, edi
js 0x1401c4a97
mov rdx, qword [rsi + r15]
mov rcx, qword [rbx + 0x10]
call fcn.1401b6f60
jmp 0x1401c4a97
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, qword [rsp + 0x50]
cmp word [rcx + 2], 0
je 0x1401c7683
mov rax, qword [r13 + 0x100]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x1401c7683
nop dword [rax]
cmp qword [rax + 0x38], rcx
je 0x1401c8af0
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401c7670
mov eax, dword [r12 + 0xa4]
cmp dword [r13 + 0x110], eax
jge 0x1401c8dc1
test byte [r14 + 8], 0x10
jne 0x1401c788c
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
lea eax, [rdi + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
add eax, 7
jns 0x1401c76c9
add eax, 7
sar eax, 3
lea ebx, [rax + rcx*8]
mov rcx, r12
movsxd rdx, ebx
call fcn.1401998c0
mov rsi, rax
test rax, rax
je 0x1401c4b0c
mov edx, 0x2400
test word [r14 + 8], dx
jne 0x1401c76f9
cmp dword [r14 + 0x20], 0
je 0x1401c7701
mov rcx, r14
call fcn.1401de490
mov rcx, qword [rsp + 0x30]
mov eax, 0x410
sub rcx, qword [rsp + 0x48]
mov word [r14 + 8], ax
lea rax, [0x1401ca0b0]
mov qword [r14 + 0x30], rax
mov qword [r14 + 0x10], rsi
mov dword [r14 + 0xc], ebx
mov qword [rsi], r13
mov dword [rsi + 0x60], edi
mov eax, dword [r15 + 0x10]
mov dword [rsi + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x54], edx
mov rax, qword [r13 + 0x68]
mov qword [rsi + 0x20], rax
mov eax, dword [r13 + 0x28]
mov dword [rsi + 0x5c], eax
mov rax, qword [r13 + 0x78]
mov qword [rsi + 0x28], rax
mov eax, dword [r13 + 0x2c]
mov dword [rsi + 0x50], eax
mov rax, qword [r13 + 0x88]
mov qword [rsi + 0x10], rax
mov eax, dword [r13 + 0x90]
mov dword [rsi + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x38], rax
movsxd rax, edi
add rax, 2
imul rcx, rax, 0x38
lea rax, [rsi + 0x70]
add rcx, rsi
cmp rax, rcx
je 0x1401c77c1
mov edx, 0x80
nop word [rax + rax]
mov word [rax + 8], dx
mov qword [rax + 0x28], r12
add rax, 0x38
cmp rax, rcx
jne 0x1401c77b0
xor r11d, r11d
inc dword [r13 + 0x110]
lea r9, [rsi + 0x70]
mov rax, qword [r13 + 0x100]
mov qword [rsi + 8], rax
mov rax, qword [r12 + 0x38]
mov qword [rsi + 0x40], rax
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x68], eax
mov rax, qword [r13]
mov qword [rsp + 0x50], r9
mov ecx, dword [rax + 0x74]
mov dword [rsi + 0x6c], ecx
mov rax, qword [r13 + 0x120]
mov qword [rsi + 0x48], rax
mov qword [r13 + 0x120], r11
mov dword [r13 + 0x3c], r11d
mov qword [r13 + 0x100], rsi
mov qword [r13 + 0x68], r9
movsxd rcx, dword [rsi + 0x60]
mov dword [r13 + 0x28], ecx
movzx eax, word [rsi + 0x64]
mov dword [r13 + 0x2c], eax
imul rdx, rcx, 0x38
add rdx, r9
mov qword [r13 + 0x78], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rsi + 0x30], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.14028e7e0
mov rdi, qword [r15]
mov r14d, dword [rbp - 0x80]
mov qword [r13 + 0x88], rdi
mov eax, dword [r15 + 8]
mov r15, qword [rsp + 0x50]
mov dword [r13 + 0x90], eax
lea rax, [rdi - 0x18]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], rdi
jmp 0x1401c747d
mov rsi, qword [r14 + 0x10]
jmp 0x1401c77c4
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.14017f7e0
mov r9, qword [r13 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, qword [rsp + 0x30]
add r8d, dword [rcx + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.1401cc200
jmp 0x1401c4a9c
mov eax, dword [r12 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x30]
jae 0x1401c7908
movsxd rax, dword [rax + 8]
add qword [r12 + 0x2d0], rax
mov rsi, qword [rsp + 0x30]
jmp case.0x1401c2e07.85
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
mov rsi, qword [rsp + 0x30]
je 0x1401c7924
add qword [r12 + 0x2c8], rax
jmp case.0x1401c2e07.85
add qword [r13 + 0x50], rax
jmp case.0x1401c2e07.85
cmp dword [rsi + 4], 0
je 0x1401c793e
cmp qword [r12 + 0x2c8], 0
jmp 0x1401c7943
cmp qword [r13 + 0x50], 0
jne case.0x1401c2e07.85
cmp qword [r12 + 0x2d0], 0
je 0x1401c459a
jmp case.0x1401c2e07.85
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x1401c7991
mov rax, qword [rcx + 8]
test rax, rax
je 0x1401c797e
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401c7972
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1401c79a1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r15
mov rcx, rdi
call fcn.1401cbc30
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.1401cbc30
mov rax, qword [rbx]
xor r11d, r11d
mov rsi, qword [rsp + 0x30]
cmp qword [rdi], rax
jge 0x1401c89ac
mov qword [rdi], rax
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aa4
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r15]
test rdx, rdx
jle case.0x1401c2e07.85
mov rax, rsi
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r15], rdx
jmp 0x1401c459a
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, r13
imul rdi, rax, 0x38
call fcn.14017f7e0
mov rcx, qword [rbx + r15]
xor r11d, r11d
mov qword [rbp + 0x40], rcx
mov r10, rax
test rcx, rcx
jle 0x1401c7a78
mov rcx, qword [rdi + r15]
mov edx, r11d
test rcx, rcx
cmovg rdx, rcx
lea rcx, [rbp + 0x40]
call fcn.14018daf0
test eax, eax
jne 0x1401c7a78
mov rax, qword [rbp + 0x40]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov qword [r10], rax
jmp 0x1401c4aa4
mov rsi, qword [rsp + 0x30]
or rax, 0xffffffffffffffff
mov rdi, qword [rsp + 0x48]
mov qword [r10], rax
jmp 0x1401c4aa4
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r15]
test rax, rax
je 0x1401c3044
mov rsi, qword [rsp + 0x30]
jle 0x1401c459a
dec rax
mov qword [rcx + r15], rax
jmp 0x1401c459a
mov rax, qword [rsp + 0x30]
movabs rdx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r15]
cmp rax, rdx
jle 0x1401c7ae6
dec rax
mov qword [rcx + r15], rax
cmp qword [rcx + r15], 0
mov rsi, qword [rsp + 0x30]
je 0x1401c459a
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
mov rcx, r12
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.1401997c0
mov r8, rax
test rax, rax
je 0x1401c4b0c
xor r9d, r9d
add rdi, 6
lea rcx, [rax + rdi*8]
mov qword [rax + 0x10], r9
mov rdi, qword [rsp + 0x48]
mov esi, 1
mov qword [rax], rcx
mov rax, qword [rsp + 0x30]
mov word [rcx + 8], si
mov qword [rcx + 0x28], r12
mov dword [rcx + 0x20], r9d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, rdi
mov qword [r8 + 0x18], r13
mov byte [r8 + 0x28], r9b
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov dword [r8 + 0x24], r9d
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x29], bl
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x30]
mov dword [r8 + 0x20], edx
mov word [rax], 0xf09b
mov qword [rax + 0x10], r8
jmp 0x1401c7ba6
mov rax, qword [rsp + 0x30]
mov esi, 1
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, r15
cmp qword [rbx + 0x10], r10
je 0x1401c7c05
movzx edx, byte [rbx + 0x29]
sub edx, 1
mov qword [rbx + 0x10], r10
movsxd r8, edx
js 0x1401c7c05
mov r12, qword [rsp + 0x30]
lea r9, [r8 + 6]
lea r9, [rbx + r9*8]
nop dword [rax + rax]
mov eax, dword [r12 + 8]
lea r9, [r9 - 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, r15
sub r8, 1
mov qword [r9 + 8], rcx
jns 0x1401c7be0
mov r12, qword [rsp + 0x60]
inc dword [r10 + 0xc]
lea r8, [rbx + 0x30]
mov rax, qword [rsp + 0x30]
mov rcx, rbx
movzx edx, byte [rbx + 0x29]
cmp dword [rax + 4], 0
mov rax, qword [rbx + 8]
je 0x1401c7c28
call qword [rax + 0x30]
jmp 0x1401c7c2b
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1401c89a4
jle 0x1401c7c59
mov rcx, qword [rbx]
call fcn.14014e690
mov r8, rax
lea rdx, [0x1402fbc40]
mov rcx, r13
call fcn.1401c2c00
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x38], eax
cmp byte [rbx + 0x28], 0
je 0x1401c7c98
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x1401c7c94
imul rcx, rax, 0x38
mov edx, 0x2400
add rcx, r15
test word [rcx + 8], dx
je 0x1401c7c88
mov rdx, rsi
call fcn.1401df890
jmp 0x1401c7c94
mov eax, 4
mov qword [rcx], rsi
mov word [rcx + 8], ax
mov byte [rbx + 0x28], 0
mov rcx, qword [rbx]
mov r8d, 0x2400
test word [rcx + 8], r8w
jne 0x1401c7cae
cmp dword [rcx + 0x20], 0
je 0x1401c7cb9
call fcn.1401de490
mov r8d, 0x2400
mov rax, qword [rbx]
xor r11d, r11d
mov r10d, 1
mov word [rax + 8], r10w
mov eax, dword [rsp + 0x38]
mov dword [rbx + 0x24], r11d
test eax, eax
je 0x1401c3098
mov esi, r10d
jmp 0x1401c54e9
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r15
test eax, eax
je 0x1401c7d25
mov r8, qword [rcx + 0x10]
mov rcx, rbx
imul rdx, rax, 0x38
add rdx, r15
call fcn.1401cb540
mov ecx, eax
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r15
jmp 0x1401c7d37
mov rdx, qword [rcx + 0x10]
mov rcx, rbx
call fcn.1401cb810
mov ecx, eax
mov dword [rsp + 0x38], eax
test ecx, ecx
jne 0x1401c8dde
test byte [rbx + 8], 2
movzx ecx, byte [rsp + 0x40]
je 0x1401c7d5d
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1401c7d5d
movzx edx, cl
mov rcx, rbx
call fcn.1401cc340
mov rcx, rbx
call fcn.1401cc310
test eax, eax
jne 0x1401c8e65
jmp 0x1401c4a9c
or rax, 0xffffffffffffffff
mov dword [rbp + 0x1f0], r11d
mov dword [rbp + 0x1f8], eax
lea r9, [rbp + 0x1f4]
mov dword [rbp + 0x1f4], eax
mov rcx, r12
lea rax, [rbp + 0x1f8]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x30]
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.140194ed0
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1401c7dd4
cmp eax, 5
jne 0x1401c54e4
xor edx, edx
mov eax, 1
mov dword [rsp + 0x38], edx
mov dword [rbp + 0x1f0], eax
jmp 0x1401c7dd6
xor edx, edx
mov rax, qword [rsp + 0x30]
mov rdi, rdx
mov r8d, 0x2400
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r15
mov r15d, 4
nop word [rax + rax]
movsxd rax, dword [rbp + rdi*4 + 0x1f0]
test word [rbx + 8], r8w
je 0x1401c7e22
mov rdx, rax
mov rcx, rbx
call fcn.1401df890
mov r8d, 0x2400
jmp 0x1401c7e2a
mov qword [rbx], rax
mov word [rbx + 8], r15w
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x1401c7e00
mov rsi, qword [rsp + 0x30]
xor r11d, r11d
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
lea r10d, [r11 + 1]
jmp case.0x1401c2e07.85
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.14017f7e0
mov rcx, qword [r12 + 0x20]
mov r15, rax
mov r8d, dword [rbx + 0xc]
movsxd rdx, dword [rbx + 4]
shl rdx, 5
cmp r8d, 0xffffffff
mov r14, qword [rdx + rcx + 8]
mov rcx, qword [r14 + 8]
mov rdi, qword [rcx]
movzx esi, byte [rdi + 9]
cmove r8d, esi
cmp byte [rdi + 0x14], 3
jb 0x1401c7e9a
xor edx, edx
mov eax, edx
jmp 0x1401c7eb6
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x1401c7eb1
cmp qword [rdi + 0x60], 0
jle 0x1401c7eb1
xor edx, edx
mov eax, edx
jmp 0x1401c7eb6
mov eax, 1
test eax, eax
lea rcx, [0x1402f600b]
mov ebx, esi
cmovne ebx, r8d
cmp byte [rdi + 0x13], 0
jne 0x1401c7ed2
mov rcx, qword [rdi + 0xd0]
cmp ebx, 5
jne 0x1401c7f32
test rcx, rcx
je 0x1401c7f01
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1401c7ee0
and eax, 0x3fffffff
je 0x1401c7f01
mov rcx, rdi
mov ebx, 5
call fcn.1401b0300
test eax, eax
jne 0x1401c7f32
mov ebx, esi
mov eax, dword [rsp + 0x38]
test eax, eax
cmove esi, ebx
mov rcx, rdi
mov edx, esi
call fcn.1401afc80
xor ebx, ebx
mov ecx, 0xa02
mov word [r15 + 8], cx
cmp eax, 6
jne 0x1401c7fb8
mov ecx, ebx
jmp 0x1401c7fc9
cmp ebx, esi
je 0x1401c7f03
cmp esi, 5
je 0x1401c7f40
cmp ebx, 5
jne 0x1401c7f03
cmp byte [r12 + 0x5f], 0
je 0x1401c8e01
cmp dword [r12 + 0xcc], 1
jg 0x1401c8e01
cmp esi, 5
jne 0x1401c7f7f
mov rdx, r12
mov rcx, rdi
call fcn.1401aec10
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c7f09
mov edx, ebx
mov rcx, rdi
call fcn.1401afc80
jmp 0x1401c7f9b
cmp esi, 4
jne 0x1401c7f8f
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.1401afc80
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c7f09
xor eax, eax
mov rcx, r14
mov edx, eax
cmp ebx, 5
sete dl
inc edx
call fcn.1401947f0
mov dword [rsp + 0x38], eax
jmp 0x1401c7f07
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x2f72e8]
mov qword [r15 + 0x10], rcx
test rcx, rcx
jne 0x1401c7fd6
mov eax, ebx
jmp 0x1401c7fee
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1401c7fe0
and eax, 0x3fffffff
mov dword [r15 + 0xc], eax
movzx eax, byte [rsp + 0x40]
mov byte [r15 + 0xa], 1
cmp eax, 1
je 0x1401c800c
movzx edx, al
mov rcx, r15
call fcn.1401cc340
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c9178
jmp 0x1401c4a92
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
test eax, eax
je 0x1401c8033
imul r9, rax, 0x38
add r9, r15
jmp 0x1401c8036
mov r9, r11
mov rax, qword [rsp + 0x30]
lea rcx, [r13 + 0xa8]
mov rdx, r12
mov r8d, dword [rax + 4]
call fcn.1401b7890
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140192500
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1401c89a4
cmp eax, 0x65
jne 0x1401c54e4
xor r11d, r11d
mov dword [rsp + 0x38], r11d
jmp 0x1401c458f
mov rax, qword [rsp + 0x30]
cmp dword [rax + 4], 0
jne 0x1401c80bd
mov edx, dword [rax + 8]
mov rcx, r12
call fcn.14019c560
mov rsi, qword [rsp + 0x30]
jmp case.0x1401c2e07.85
mov eax, dword [rax + 8]
mov rsi, qword [rsp + 0x30]
inc eax
xor eax, dword [r13 + 0xc8]
and eax, 3
xor dword [r13 + 0xc8], eax
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
or byte [rax + 1], 0x40
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
and byte [rax + 1], 0xbf
jmp case.0x1401c2e07.85
mov rax, qword [rsp + 0x30]
movzx r8d, byte [rax + 0xc]
test r8b, r8b
jne 0x1401c8147
mov eax, dword [r12 + 0x30]
bt rax, 0xa
jb 0x1401c8ae6
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov rcx, qword [r12 + 0x20]
mov rdx, qword [rsp + 0x30]
shl rax, 5
mov edx, dword [rdx + 8]
mov rcx, qword [rax + rcx + 8]
call fcn.1401931a0
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1401c4a9c
cmp al, 6
jne 0x1401c54e4
mov rax, qword [rsp + 0x30]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
mov r8, qword [rax + 0x10]
call fcn.1401c2c00
mov eax, dword [rsp + 0x38]
jmp 0x1401c54e4
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.1401ce9e0
mov dword [rsp + 0x38], eax
test rbx, rbx
je 0x1401c81c8
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.1401cf7e0
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a9c
xor eax, eax
mov qword [rbp + 0xa8], r12
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x80]
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xb0], rax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r15
call fcn.1401cb710
mov rcx, qword [rbp + 0x88]
mov edx, 0x202
mov dword [rsp + 0x38], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1401c8251
cmp byte [rbp + 0x8a], 1
jne 0x1401c8251
mov rax, qword [rbp + 0x90]
jmp 0x1401c826b
test cl, 1
jne 0x1401c8295
mov dl, 1
lea rcx, [rbp + 0x80]
call fcn.1401dd050
mov rcx, qword [rbp + 0x88]
test rax, rax
je 0x1401c8295
mov r8, rax
lea r9, [r13 + 0xa8]
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov edx, dword [rax + 4]
call fcn.1401ced10
mov rcx, qword [rbp + 0x88]
mov dword [rsp + 0x38], eax
mov r8d, 0x2400
test r8w, cx
jne 0x1401c82aa
cmp dword [rbp + 0xa0], 0
je 0x1401c82bc
lea rcx, [rbp + 0x80]
call fcn.1401de490
mov r8d, 0x2400
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
jmp 0x1401c576c
mov rax, qword [rsp + 0x30]
mov rcx, r12
inc dword [r12 + 0xd8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401cee30
dec dword [r12 + 0xd8]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x28], r11
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401c8e3d
mov rdi, qword [rbx]
test rdi, rdi
je 0x1401c8e3d
lea rdx, [rbp - 0x28]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.1401cf7e0
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
mov rax, qword [rbp - 0x28]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r13
mov qword [rax], rbx
mov rax, qword [rsp + 0x30]
mov edx, dword [rax + 4]
call fcn.140160070
mov rcx, qword [rbp - 0x28]
test rax, rax
je 0x1401c8e35
mov qword [rax + 0x38], rcx
inc dword [rbx + 8]
jmp 0x1401c4a97
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x58]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
mov rdi, qword [rdi + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, r15
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
xor eax, eax
mov edx, dword [rdx]
mov r8d, eax
mov rsi, qword [r13 + 0x38]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x1401c83e9
nop dword [rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x1401c83d0
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x58]
mov rdx, r15
mov dword [rsp + 0x38], eax
call fcn.1401cf7e0
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54df
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x1401c4a92
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x1401c458c
mov rdi, qword [rsp + 0x48]
mov r10d, 1
jmp 0x1401c459a
mov rbx, qword [rsp + 0x30]
mov rax, qword [r13 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, r15
cmp byte [rdi + 2], 0
jne 0x1401c363e
mov rax, qword [rdi + 0x38]
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], rax
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x170], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x140], rbx
test byte [rax + 2], 1
je 0x1401c84f4
test word [rbx + 8], r8w
je 0x1401c84e1
mov rcx, rbx
call fcn.1401de560
mov rax, qword [rsp + 0x30]
xor r11d, r11d
mov ecx, 0x4001
mov dword [rbx], r11d
mov word [rbx + 8], cx
jmp 0x1401c8502
mov ecx, 0x4001
mov word [rbx + 8], r10w
mov word [rbx + 8], cx
mov dword [rbx], r11d
jmp 0x1401c8502
mov ecx, 0x3e40
and word [rbx + 8], cx
or word [rbx + 8], 1
mov r8d, dword [rax + 8]
lea rdx, [rbp + 0x140]
mov rcx, qword [rdi + 0x38]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.1401cf7e0
cmp dword [rbp + 0x164], 0
jle 0x1401c8551
mov rcx, rbx
call fcn.14014e690
mov r8, rax
lea rdx, [0x1402fbc40]
mov rcx, r13
call fcn.1401c2c00
mov eax, dword [rbp + 0x164]
mov dword [rsp + 0x38], eax
test byte [rbx + 8], 2
movzx ecx, byte [rsp + 0x40]
je 0x1401c856f
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1401c856f
movzx edx, cl
mov rcx, rbx
call fcn.1401cc340
mov rcx, rbx
call fcn.1401cc310
test eax, eax
jne 0x1401c8e65
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a97
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x1401c3399
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.1401cf7e0
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
test eax, eax
jne 0x1401c7478
mov rdi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [rdi + rcx*8]
mov qword [rsp + 0x30], rax
jmp 0x1401c747d
mov rcx, qword [rsp + 0x30]
mov esi, dword [r12 + 0x30]
or qword [r12 + 0x30], 0x4000000
and esi, 0x4000000
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r15
test byte [rbx + 8], 2
je 0x1401c864f
cmp byte [rbx + 0xa], 1
je 0x1401c864f
mov dl, 1
mov rcx, rbx
call fcn.1401cc340
test eax, eax
jne 0x1401c54e4
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov dword [rsp + 0x38], eax
test esi, esi
jne 0x1401c8670
and qword [r12 + 0x30], 0xfffffffffbffffff
mov rdx, rdi
mov rcx, r13
call fcn.1401cf7e0
and dword [r13 + 0xc8], 0xfffffffc
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a97
cmp byte [r12 + 0x61], 0
jne 0x1401c4b0c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401c8e3d
mov r10, qword [rbx]
test r10, r10
je 0x1401c8e3d
cmp qword [r10 + 0x68], 0
mov rdx, qword [rsp + 0x30]
movsxd rdx, dword [rdx + 8]
je 0x1401c576f
mov rax, qword [rsp + 0x30]
movzx edi, byte [r12 + 0x66]
mov r8, qword [r13 + 0x70]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, r11
add rcx, r15
test edx, edx
jle 0x1401c8710
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x1401c8700
mov rax, qword [rsp + 0x30]
lea r9, [rbp + 0x108]
mov rcx, rbx
movzx eax, byte [rax + 2]
mov byte [r12 + 0x66], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r12 + 0x66], dil
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.1401cf7e0
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
test eax, eax
jne 0x1401c8762
cmp dword [rcx + 4], eax
je 0x1401c8762
mov rax, qword [rbp + 0x108]
mov qword [r12 + 0x38], rax
mov eax, dword [rsp + 0x38]
cmp al, 0x13
jne 0x1401c87b6
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x1c], 0
je 0x1401c87b6
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
cmp ax, 4
jne 0x1401c8796
mov rsi, qword [rsp + 0x30]
xor r11d, r11d
mov rdi, qword [rsp + 0x48]
mov dword [rsp + 0x38], r11d
jmp 0x1401c4aa4
cmp ax, 5
jne 0x1401c87aa
mov eax, 2
mov byte [r13 + 0xc2], al
jmp 0x1401c87ba
movzx eax, ax
mov byte [r13 + 0xc2], al
jmp 0x1401c87ba
inc dword [r13 + 0x3c]
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x1401c54e4
jmp 0x1401c4a97
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.14017f7e0
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [rcx + 4]
mov rcx, qword [r12 + 0x20]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x3c]
btr edx, 0x1f
mov qword [rax], rdx
jmp 0x1401c4a9c
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.14017f7e0
mov rcx, qword [r12 + 0x20]
mov rbx, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
shl rdx, 5
mov r9, qword [rdx + rcx + 8]
xor edx, edx
test r8d, r8d
je 0x1401c8846
mov rcx, qword [r9 + 8]
mov edx, dword [rcx + 0x3c]
btr edx, 0x1f
cmp edx, r8d
cmovb edx, r8d
mov rcx, r9
call fcn.140193280
movsxd rcx, eax
mov qword [rbx], rcx
jmp 0x1401c4a9c
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r15
cmp qword [rbx], rdi
je 0x1401c88c5
movzx edx, byte [rbx + 0x29]
sub edx, 1
mov qword [rbx + 0x18], r13
movsxd r8, edx
mov qword [rbx], rdi
js 0x1401c88c5
mov r12, qword [rsp + 0x30]
lea r9, [rbx + 0x30]
lea r9, [r9 + r8*8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r12 + 8]
lea r9, [r9 - 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, r15
sub r8, 1
mov qword [r9 + 8], rcx
jns 0x1401c88a0
mov r12, qword [rsp + 0x60]
mov eax, 0x3e40
lea r8, [rbx + 0x30]
and word [rdi + 8], ax
mov rcx, rbx
or word [rdi + 8], 1
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1401c8940
jle 0x1401c890f
mov rcx, rdi
call fcn.14014e690
mov r8, rax
lea rdx, [0x1402fbc40]
mov rcx, r13
call fcn.1401c2c00
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
lea rdx, [r13 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, r12
mov r9d, dword [rax + 4]
call fcn.1401c2990
mov eax, dword [rsp + 0x38]
xor r11d, r11d
mov dword [rbx + 0x24], r11d
test eax, eax
jne 0x1401c54e4
jmp 0x1401c8943
xor r11d, r11d
movzx eax, word [rdi + 8]
test al, 0x12
je 0x1401c897c
movzx ecx, byte [rsp + 0x40]
test al, 2
je 0x1401c8967
movzx eax, byte [rdi + 0xa]
cmp eax, ecx
je 0x1401c8967
movzx edx, cl
mov rcx, rdi
call fcn.1401cc340
mov rcx, rdi
call fcn.1401cc310
test eax, eax
jne 0x1401c8e65
jmp 0x1401c4a97
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aa4
mov rsi, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aa4
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x30]
xor r11d, r11d
mov rdi, qword [rsp + 0x48]
jmp 0x1401c4aa4
movzx eax, byte [r12 + 0x68]
test al, 0x41
je 0x1401c8a8c
test byte [r13 + 0xc8], 0x10
jne 0x1401c8a8c
mov r9, qword [rsi + 0x10]
test r9, r9
jne 0x1401c89eb
mov r9, qword [r13 + 0xf0]
test r9, r9
je 0x1401c8a8c
test al, 0x40
je 0x1401c8a21
mov rdi, qword [r12 + 0xe8]
mov rdx, r9
mov rcx, r13
call fcn.1401c9630
mov rcx, qword [r12 + 0xf0]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call fcn.140158210
mov rdi, qword [rsp + 0x48]
jmp 0x1401c8a7f
cmp dword [r12 + 0xd4], 1
jle 0x1401c8a69
mov r8, r9
lea rdx, str.____s
mov rcx, r12
call fcn.1401ad640
mov rdx, qword [r12 + 0xf0]
mov r9, rax
mov r8, r13
mov ecx, 1
mov rbx, rax
call qword [r12 + 0xe8]
mov rdx, rbx
mov rcx, r12
call fcn.140199700
jmp 0x1401c8a7f
mov rdx, qword [r12 + 0xf0]
mov r8, r13
mov ecx, r10d
call qword [r12 + 0xe8]
xor r11d, r11d
mov r8d, 0x2400
lea r10d, [r11 + 1]
mov eax, dword [0x1403dd2b4]
cmp dword [rsi + 4], eax
jl 0x1401c8ad7
cmp byte [rsi], 0xaa
je case.0x1401c2e07.85
cmp dword [r13 + 0x90], 1
mov edx, r10d
jle 0x1401c8ad3
mov eax, 0x18
mov rcx, qword [r13 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x1401c8ac4
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0x90]
jl 0x1401c8ab2
mov dword [rsi + 4], r11d
inc dword [rsi + 4]
inc dword [r13 + 0xec]
jmp 0x1401c459a
mov rsi, qword [rsp + 0x30]
jmp 0x1401c4aaa
mov rsi, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
jmp case.0x1401c2e07.85
mov ecx, dword [rdx + 4]
mov dword [r13 + 0x38], ecx
movzx eax, byte [rdx + 8]
mov byte [r13 + 0xc2], al
mov dword [r13 + 0x34], ebx
test ecx, ecx
je 0x1401c8bb3
movzx eax, word [rdx + 2]
mov rcx, r13
test ax, ax
je 0x1401c8b79
movzx eax, ax
lea rdx, str._s_constraint_failed
dec eax
movsxd r8, eax
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x2f7220]
call fcn.1401c2c00
mov rax, qword [rsp + 0x30]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x1401c8b89
mov r8, qword [r13 + 0xa8]
lea rdx, str._z:__s
mov rcx, r12
call fcn.1401ad640
mov qword [r13 + 0xa8], rax
jmp 0x1401c8b89
mov r8, qword [rdx + 0x10]
lea rdx, [0x1402fbc40]
call fcn.1401c2c00
mov rax, qword [r13 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xf0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
call fcn.14014bd30
mov rcx, r13
call fcn.1401ca310
mov edi, dword [rsp + 0x3c]
mov esi, 1
mov dword [rsp + 0x38], eax
cmp eax, 5
jne 0x1401c8bda
mov dword [r13 + 0x38], eax
or r15d, 0xffffffff
jmp 0x1401c92d6
cmp dword [r13 + 0x38], 0
mov ecx, 0x65
cmovne ecx, esi
or r15d, 0xffffffff
mov dword [rsp + 0x38], ecx
jmp 0x1401c92d6
mov ecx, 0x15690
call fcn.1401978f0
mov r12, qword [rsp + 0x60]
mov dword [rsp + 0x38], eax
jmp 0x1401c54df
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401c2c00
mov eax, 5
jmp 0x1401c54e4
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401c2c00
mov eax, 5
jmp 0x1401c54e4
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x48]
mov r13, rbx
mov edi, dword [rsp + 0x3c]
mov esi, 1
imul rcx
mov dword [rsp + 0x38], 5
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x34], edx
or r15d, 0xffffffff
mov byte [r12 + 0x5f], 0
mov dword [rbx + 0x38], 5
jmp 0x1401c92d2
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rbx + 0x38], 0x313
mov r13, rbx
mov byte [rbx + 0xc2], 2
call fcn.1401c2c00
mov edi, dword [rsp + 0x3c]
mov esi, 1
mov dword [rsp + 0x38], esi
or r15d, 0xffffffff
jmp 0x1401c92d2
mov eax, 8
jmp 0x1401c54e4
mov esi, 1
cmp al, 5
jne 0x1401c54e9
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
mov edi, dword [rsp + 0x3c]
imul rcx
mov ecx, dword [rsp + 0x38]
sar rdx, 2
mov rax, rdx
mov dword [r13 + 0x38], ecx
shr rax, 0x3f
add rdx, rax
mov dword [r13 + 0x34], edx
or r15d, 0xffffffff
jmp 0x1401c92d6
mov rdx, qword [r13 + 0xa8]
mov rcx, r12
call fcn.140199700
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.140199b40
mov qword [r13 + 0xa8], rax
mov rax, qword [r12 + 0x20]
movsxd rdx, dword [rsi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x4c]
cmp dword [rcx], eax
je 0x1401c8d5f
mov rcx, r12
call fcn.1401b6420
and dword [r13 + 0xc8], 0xfffffffd
mov eax, reloc.WS2_32.dll_recvfrom
or dword [r13 + 0xc8], 1
jmp 0x1401c54e4
mov eax, 0x204
jmp 0x1401c54e4
mov eax, 6
mov byte [r13 + 0xc2], 2
jmp 0x1401c54e9
mov eax, 7
mov dword [rsp + 0x38], eax
mov rcx, r12
call fcn.1401b6330
mov eax, dword [rsp + 0x38]
mov edi, dword [rsp + 0x3c]
cmp eax, 7
je 0x1401c4b10
mov esi, 1
jmp 0x1401c54ed
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x38], r10d
mov rcx, r13
call fcn.1401c2c00
mov eax, dword [rsp + 0x38]
jmp 0x1401c54e4
mov rcx, rbx
call fcn.14014e690
mov r8, rax
lea rdx, [0x1402fbc40]
mov rcx, r13
call fcn.1401c2c00
mov eax, dword [rsp + 0x38]
jmp 0x1401c54e4
cmp ebx, 5
lea rax, str.into
lea r8, str.out_of
mov esi, 1
cmove r8, rax
mov dword [rsp + 0x38], esi
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r13
call fcn.1401c2c00
mov eax, esi
jmp 0x1401c54e9
call qword [rdi + reloc.WS2_32.dll_getservbyport]
jmp 0x1401c4b0c
mov eax, 6
jmp 0x1401c54e4
or r15d, 0xffffffff
mov eax, 9
mov edi, r15d
xor ebx, ebx
lea esi, [rax - 8]
jmp 0x1401c54f3
mov r12, r8
mov r13, qword [rsp + 0x58]
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.1401c2c00
mov eax, reloc.WS2_32.dll_select
jmp 0x1401c54e4
mov r12, r8
mov r13, rdi
jmp 0x1401c8e65
cmp qword [r13 + 0x50], 0
jle 0x1401c8eb8
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r13 + 0x38], 0x313
mov rcx, r13
mov byte [r13 + 0xc2], 2
call fcn.1401c2c00
mov esi, 1
mov eax, esi
jmp 0x1401c54e9
mov rax, qword [r13]
cmp dword [rax + 0x2c0], 0
je 0x1401c8eda
cmp dword [r13 + 0x40], 0
je 0x1401c8eda
mov edx, r10d
mov rcx, r13
call fcn.1401dd210
xor r11d, r11d
mov eax, dword [r13 + 0x30]
mov edi, r11d
mov rbx, qword [rsp + 0x30]
add eax, 2
or eax, 1
mov dword [r13 + 0x30], eax
movsxd rax, dword [rbx + 4]
imul rsi, rax, 0x38
add rsi, r15
mov qword [r13 + 0xa0], rsi
cmp dword [rbx + 8], 0
jle 0x1401c8f5c
lea rbx, [rsi + 8]
mov r15d, 0x202
mov eax, 0x1000
test word [rbx], ax
je 0x1401c8f33
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1401cbc90
test eax, eax
jne 0x1401c4b0c
movzx eax, word [rbx]
and ax, r15w
cmp ax, 2
jne 0x1401c8f49
lea rcx, [rbx - 8]
call fcn.1401de420
mov rax, qword [rsp + 0x30]
inc edi
add rbx, 0x38
cmp edi, dword [rax + 8]
jl 0x1401c8f12
mov rbx, rax
cmp byte [r12 + 0x61], 0
jne 0x1401c4b0c
test byte [r12 + 0x68], 4
je 0x1401c8f8a
mov rdx, qword [r12 + 0xf0]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [r12 + 0xe8]
mov edi, dword [rsp + 0x3c]
mov rcx, rbx
sub rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov ebx, 0x64
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea esi, [rbx - 0x63]
inc edx
mov dword [r13 + 0x34], edx
or r15d, 0xffffffff
jmp 0x1401c92e0
mov rax, qword [rsp + 0x30]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [r12 + 0x5f]
cmp ebx, eax
je 0x1401c90f4
test ecx, ecx
je 0x1401c8ffa
mov edx, 0x204
mov rcx, r12
call fcn.1401b6b30
mov byte [r12 + 0x5f], 1
jmp 0x1401c9071
test ebx, ebx
je 0x1401c9022
cmp dword [r12 + 0xd0], 0
jle 0x1401c9022
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.1401c2c00
mov eax, 5
jmp 0x1401c54e4
mov rax, qword [r13]
mov rcx, qword [rax + 0x2d0]
add rcx, qword [rax + 0x2c8]
test rcx, rcx
jle 0x1401c906c
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r13 + 0x38], 0x313
mov rcx, r13
mov byte [r13 + 0xc2], 2
call fcn.1401c2c00
mov edi, dword [rsp + 0x3c]
mov esi, 1
mov ebx, esi
or r15d, 0xffffffff
jmp 0x1401c92e0
mov byte [r12 + 0x5f], bl
mov rcx, r13
call fcn.1401ca310
cmp eax, 5
jne 0x1401c90c9
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
mov esi, 1
mov edi, dword [rsp + 0x3c]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, esi
sub al, bl
mov dword [r13 + 0x34], edx
mov ebx, 5
mov byte [r12 + 0x5f], al
mov dword [r13 + 0x38], ebx
or r15d, 0xffffffff
jmp 0x1401c92e0
mov rcx, r12
call fcn.1401954c0
cmp dword [r13 + 0x38], 0
mov ecx, 0x65
mov edi, dword [rsp + 0x3c]
mov esi, 1
cmovne ecx, esi
or r15d, 0xffffffff
mov dword [rsp + 0x38], ecx
jmp 0x1401c92d6
test ebx, ebx
jne 0x1401c9101
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1401c9115
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, r13
call fcn.1401c2c00
mov esi, 1
mov eax, esi
jmp 0x1401c54e9
mov edi, dword [rsp + 0x3c]
cmp byte [r12 + 0x61], 0
mov ecx, 7
mov eax, 9
cmovne eax, ecx
mov ecx, eax
mov dword [rsp + 0x38], eax
mov dword [r13 + 0x38], eax
call fcn.14019c160
mov r8, rax
lea rdx, [0x1402fbc40]
mov rcx, r13
call fcn.1401c2c00
mov eax, dword [rsp + 0x38]
mov esi, 1
jmp 0x1401c54ed
mov r12, qword [rsp + 0x60]
mov eax, dword [rsp + 0x38]
mov edi, dword [rsp + 0x3c]
mov esi, 1
jmp 0x1401c54ef
mov r12, qword [rsp + 0x60]
jmp 0x1401c54e4
mov r12, qword [rsp + 0x60]
jmp 0x1401c54df
mov r12, qword [rsp + 0x60]
mov r13, rdi
mov eax, dword [rsp + 0x38]
jmp 0x1401c54e4
lea r8, str.abort_due_to_ROLLBACK
jmp 0x1401c91c4
lea r8, str.no_more_rows_available
jmp 0x1401c91c4
lea r8, str.another_row_available
lea rdx, [0x1402fbc40]
mov rcx, r13
call fcn.1401c2c00
mov eax, dword [rsp + 0x38]
mov dword [r13 + 0x38], eax
cmp eax, 0xc0a
je 0x1401c920f
movzx eax, al
sub eax, 0xa
test eax, 0xfffffffb
jne 0x1401c920f
mov rcx, qword [r12]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x1401c9208
xor r8d, r8d
xor edx, edx
call rax
jmp 0x1401c920a
mov eax, ebx
mov dword [r12 + 0x58], eax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x48]
mov r9, qword [r13 + 0xf0]
imul rcx
mov rax, qword [r13 + 0xa8]
mov ecx, dword [rsp + 0x38]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.14014bd30
mov rcx, r13
call fcn.1401ca310
cmp dword [rsp + 0x38], 0xc0a
jne 0x1401c92b8
cmp byte [r12 + 0x61], 0
jne 0x1401c92b8
cmp byte [r12 + 0x62], 0
jne 0x1401c92b8
cmp dword [r12 + 0xd4], 0
mov byte [r12 + 0x61], 1
jle 0x1401c9292
mov dword [r12 + 0x170], esi
inc dword [r12 + 0x178]
mov rax, qword [r12 + 0x138]
mov word [r12 + 0x17c], bx
test rax, rax
je 0x1401c92b8
mov ecx, 7
mov dword [rax + 0x18], ecx
movzx eax, byte [rsp + 0x68]
mov dword [rsp + 0x38], esi
test al, al
je 0x1401c92d2
movzx edx, al
mov rcx, r12
dec edx
call fcn.1401b6420
mov r14d, dword [rbp - 0x80]
mov ebx, dword [rsp + 0x38]
nop word [rax + rax]
cmp r14d, edi
jb 0x1401c9317
mov rax, qword [r12 + 0x1e0]
test rax, rax
je 0x1401c9317
mov rcx, qword [r12 + 0x1e8]
add edi, dword [r12 + 0x1f0]
call rax
test eax, eax
je 0x1401c92e0
mov edi, r15d
mov eax, 9
xor ebx, ebx
jmp 0x1401c54f3
add dword [r13 + 0xe4], r14d
cmp dword [r13 + 0xd0], 0
movaps xmm6, xmmword [rsp + 0x310]
mov r15, qword [rsp + 0x320]
mov r14, qword [rsp + 0x328]
mov r12, qword [rsp + 0x330]
mov rdi, qword [rsp + 0x368]
mov rsi, qword [rsp + 0x360]
je 0x1401c9360
mov rcx, r13
call fcn.1401de390
mov eax, ebx
mov rbx, qword [rsp + 0x358]
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.14026d870
add rsp, 0x338
pop r13
pop rbp
ret