Function at 0x18006a070
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
mov r11, rsp
push rbp
push r13
push r15
lea rbp, [r11 - 0x318]
sub rsp, 0x400
mov rax, qword [0x1801f5f20]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov r10, qword [rcx + 0x68]
xor al, al
mov qword [r11 + 0x18], rsi
mov r15, rcx
mov qword [r11 + 0x20], rdi
mov rdi, qword [rcx]
mov qword [r11 - 0x20], r12
mov qword [r11 - 0x28], r14
xor r11d, r11d
mov r13d, r11d
mov r14, qword [rcx + 0x88]
mov r8d, r11d
movzx r9d, byte [rdi + 0x64]
mov esi, r11d
mov byte [rsp + 0x40], r9b
mov qword [rbp - 0x80], rcx
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x54], r11d
mov qword [rsp + 0x58], rdi
mov byte [rbp - 0x70], al
mov dword [rsp + 0x50], r11d
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x60], r10
mov dword [rbp - 0x5c], r11d
cmp dword [rcx + 0xd0], r11d
je 0x18006a11d
call fcn.180062160
mov r10, qword [rsp + 0x60]
mov r8d, esi
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
or rax, 0xffffffffffffffff
cmp qword [rdi + 0x210], rsi
je 0x18006a142
mov ecx, dword [rdi + 0x220]
xor edx, edx
mov eax, dword [r15 + 0xe4]
div ecx
sub ecx, edx
mov r12d, ecx
jmp 0x18006a145
mov r12, rax
cmp dword [r15 + 0x34], 7
mov edx, 1
mov qword [rsp + 0x428], rbx
movaps xmmword [rsp + 0x3e0], xmm6
movaps xmmword [rsp + 0x3d0], xmm7
mov qword [rsp + 0x68], r12
je 0x18006c3ea
mov dword [r15 + 0x34], r11d
mov qword [r15 + 0x48], r11
mov dword [rdi + 0x298], r11d
mov eax, dword [rdi + 0x198]
test eax, eax
jne 0x180071c65
movsxd rax, dword [r15 + 0x30]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
movzx ebx, byte [r12]
inc rsi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x70], rsi
cmp ebx, 0xb5
ja case.0x18006a1d7.89
movsxd rax, ebx
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x71f84]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
sub rcx, r14
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r10 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r10], rax
jmp case.0x18006a1d7.9
movsxd rax, dword [r12 + 4]
imul rax, rax, 0x38
test byte [rax + r10 + 0x14], 4
je case.0x18006a1d7.89
mov rax, qword [rax + r10]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x18006a19e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0xc]
dec eax
cdqe
mov qword [rcx + r10], rax
mov eax, 4
mov word [rcx + r10 + 0x14], ax
cmp dword [r12 + 8], 0
jne 0x18006dc94
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r10]
lea rcx, [rax + rax*2]
mov eax, dword [r14 + rcx*8 + 8]
dec eax
mov word [rdx + r10 + 0x14], r11w
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
jmp 0x18006a3a5
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
sub rbx, r14
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r10 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r10]
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r12, [r14 + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r10], rax
jmp 0x18006a3a0
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
je case.0x18006a1d7.89
mov rcx, qword [r15 + 0x108]
test rcx, rcx
je 0x18007158e
cmp dword [r12 + 4], 0
jne 0x18007158e
mov rax, qword [rcx + 8]
mov qword [r15 + 0x108], rax
dec dword [r15 + 0x118]
mov rax, qword [r15 + 0x38]
mov qword [rdi + 0x78], rax
add qword [rdi + 0x80], rax
call fcn.1800630d0
cmp dword [r12 + 8], 4
jne 0x18006a378
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r14, qword [r15 + 0x88]
mov r10, qword [r15 + 0x68]
movzx r9d, byte [rsp + 0x40]
cdqe
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x60], r10
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
mov edx, 1
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], ax
je 0x18006a3e5
call fcn.180069c80
xor r11d, r11d
mov rcx, rax
lea edx, [r11 + 1]
jmp 0x18006a3ee
mov eax, 4
mov word [rcx + 0x14], ax
movsxd rax, dword [r12 + 4]
mov qword [rcx], rax
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
add r12, 0x18
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x18006a440
mov rcx, rdx
call fcn.180069c80
mov rdx, rax
xor r11d, r11d
jmp 0x18006a449
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [r12 + 0x10]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x18006a3a0
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x18006a490
mov rcx, rdx
call fcn.180069c80
xor r11d, r11d
mov rdx, rax
lea eax, [r11 + 8]
jmp 0x18006a445
mov eax, 4
mov word [rdx + 0x14], ax
mov eax, 8
jmp 0x18006a445
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x18006a4c8
mov rcx, rbx
call fcn.180069c80
mov rbx, rax
xor r11d, r11d
jmp 0x18006a4d1
mov eax, 4
mov word [rbx + 0x14], ax
mov rcx, qword [r12 + 0x10]
or rdx, 0xffffffffffffffff
test rcx, rcx
jne 0x18006a4e4
mov eax, r11d
jmp 0x18006a4f5
mov rax, rdx
inc rax
cmp byte [rcx + rax], 0
jne 0x18006a4e7
and eax, 0x3fffffff
movzx esi, byte [rsp + 0x40]
mov dword [r12 + 4], eax
cmp sil, 1
je 0x18006a59e
mov r8, rdx
mov qword [rsp + 0x20], r11
mov rdx, qword [r12 + 0x10]
mov r9b, 1
mov rcx, rbx
call fcn.18005f6b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180071904
test byte [rbx + 0x14], 2
movzx ecx, sil
jne 0x18006a53f
mov byte [rbx + 0x16], cl
jmp 0x18006a55a
movzx eax, byte [rbx + 0x16]
cmp eax, ecx
je 0x18006a55a
movzx edx, cl
mov rcx, rbx
call fcn.18003c030
test eax, eax
jne 0x18006c3e0
xor ecx, ecx
mov eax, 0x2000
mov dword [rbx + 0x20], ecx
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 1], 0xfa
jne 0x18006a584
mov rdx, qword [rax + 0x10]
mov rcx, rdi
call fcn.180038c60
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r12 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r12 + 4], eax
mov eax, dword [rdi + 0x88]
cmp dword [r12 + 4], eax
jg 0x180071904
mov byte [r12], 0x49
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x18006a5d9
mov rcx, rdx
call fcn.180069c80
mov rdx, rax
jmp 0x18006a5e2
mov eax, 4
mov word [rdx + 0x14], ax
movzx r9d, byte [rsp + 0x40]
mov eax, 0x2202
mov r10, qword [rsp + 0x60]
mov word [rdx + 0x14], ax
mov rax, qword [r12 + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [r12 + 4]
mov dword [rdx + 0x10], eax
mov byte [rdx + 0x16], r9b
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x18007124d
mov r8d, dword [rsp + 0x50]
xor r11d, r11d
imul rcx, rax, 0x38
movzx eax, word [r12 + 2]
cmp qword [rcx + r10], rax
jne 0x18006d170
mov eax, 0x2210
mov word [rdx + 0x14], ax
jmp 0x18006a3a5
mov rbx, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
add rax, qword [r15 + 0x68]
test word [rax + 0x14], cx
je 0x18006a674
mov rcx, rax
call fcn.180069c80
xor r11d, r11d
mov ecx, 0x9000
lea edx, [r11 + 1]
jmp 0x18006a67f
mov r8d, 4
mov word [rax + 0x14], r8w
mov edi, dword [rbx + 0xc]
mov esi, edx
sub edi, dword [rbx + 8]
mov r8d, 0x101
cmp dword [rbx + 4], 0
lea rbx, [rax + 0x14]
cmovne si, r8w
mov word [rbx], si
mov dword [rax + 0x10], r11d
test edi, edi
jle 0x18006e39d
nop dword [rax]
test word [rbx + 0x38], cx
lea rbx, [rbx + 0x38]
je 0x18006a6d1
lea rcx, [rbx - 0x14]
call fcn.18005ee50
xor r11d, r11d
mov ecx, 0x9000
lea edx, [r11 + 1]
jmp 0x18006a6d4
mov word [rbx], dx
dec edi
mov word [rbx], si
mov dword [rbx - 4], r11d
test edi, edi
jg 0x18006a6b0
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
add r12, 0x18
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
movsxd rax, dword [r12 + 4]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
imul rcx, rax, 0x38
mov eax, 0xffc1
add rcx, r10
and word [rcx + 0x14], ax
or word [rcx + 0x14], 1
add r12, 0x18
jmp 0x18006a19e
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x18006a761
mov rcx, rbx
call fcn.180069c80
mov rbx, rax
xor r11d, r11d
jmp 0x18006a76a
mov eax, 4
mov word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov rcx, rbx
mov rdx, qword [rax + 0x10]
test rdx, rdx
jne 0x18006a795
mov edx, dword [rax + 4]
call fcn.18005f400
mov rcx, rbx
call fcn.18005ec10
test eax, eax
jne 0x18006c3e5
jmp 0x18006a7a6
movsxd r8, dword [rax + 4]
xor r9d, r9d
mov qword [rsp + 0x20], r11
call fcn.18005f6b0
movzx r9d, byte [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
mov byte [rbx + 0x16], r9b
jmp 0x18006a39d
mov rbx, qword [rsp + 0x48]
mov eax, dword [rbx + 4]
dec eax
cdqe
imul rdi, rax, 0x38
add rdi, qword [r15 + 0x80]
movzx eax, word [rdi + 0x14]
test al, 0x12
je 0x18006a805
mov edx, dword [rdi + 0x10]
mov ecx, 0x400
test cx, ax
je 0x18006a7ed
add edx, dword [rdi]
mov rax, qword [rdi + 0x18]
mov ecx, r11d
cmp edx, dword [rax + 0x88]
setg cl
test ecx, ecx
jne 0x180071928
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r10
test word [rbx + 0x14], ax
je 0x18006a82b
mov rcx, rbx
call fcn.18005ee50
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movups xmm0, xmmword [rdi]
mov r12, qword [rsp + 0x48]
mov ecx, 0xafff
movzx r9d, byte [rsp + 0x40]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
mov rdi, qword [rsp + 0x58]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
jmp 0x18006a3a0
mov rcx, qword [rsp + 0x48]
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, r10
add rbx, r10
nop word [rax + rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x18006a8a1
cmp dword [rbx + 0x20], 0
je 0x18006a8b0
mov rcx, rbx
call fcn.18005ee90
xor r11d, r11d
lea edx, [r11 + 1]
movups xmm0, xmmword [rdi]
mov eax, 0x4000
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 0x14], dx
mov dword [rdi + 0x20], r11d
test word [rbx + 0x14], ax
je 0x18006a8f9
mov rcx, rbx
call fcn.18005ebb0
test eax, eax
jne 0x180071c79
xor r11d, r11d
lea edx, [rax + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x18006a890
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
add r12, 0x18
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov rcx, qword [rsp + 0x48]
mov r14d, 0x4000
mov r12, rcx
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, r10
add rbx, r10
nop dword [rax]
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.18005f5d0
test word [rbx + 0x14], r14w
je 0x18006a985
mov rcx, rbx
call fcn.18005ebb0
test eax, eax
jne 0x180071c79
movzx eax, word [rbx + 0x14]
mov ecx, 0x800
test cx, ax
je 0x18006a9a7
test byte [r12 + 2], 2
je 0x18006a9a7
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x180071278
add rbx, 0x38
add rdi, 0x38
jmp 0x18006a960
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r10
add rcx, r10
mov r8d, 0x4000
call fcn.18005f5d0
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r10
mov rax, qword [rcx + r10]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x18006aa35
mov rdx, rax
mov rcx, r8
call fcn.18005f450
jmp 0x18006a9e3
mov r12, qword [rsp + 0x48]
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
mov qword [r8], rax
mov eax, 4
mov word [r8 + 0x14], ax
mov r8d, dword [rsp + 0x50]
jmp 0x18006a19e
cmp qword [r15 + 0x50], 0
jg 0x18007169a
mov r15, qword [rbp - 0x80]
mov r13d, r11d
mov rsi, qword [rsp + 0x70]
add r12, 0x18
mov dword [rsp + 0x54], r11d
jmp 0x18006a19e
mov rbx, qword [rsp + 0x48]
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, r10
imul rbx, rax, 0x38
movzx r15d, word [r13 + 0x14]
add rdi, r10
movzx eax, r15b
add rbx, r10
or al, byte [rdi + 0x14]
test al, 1
je 0x18006ab00
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x18006aadb
mov rcx, rbx
call fcn.18005ee50
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
jmp 0x18006a9e3
mov r13d, dword [rsp + 0x54]
mov word [rbx + 0x14], dx
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
test r15b, 0x12
jne 0x18006ab33
xor r8d, r8d
movzx edx, r9b
mov rcx, r13
call fcn.18005ec70
test eax, eax
jne 0x180071c83
movzx r15d, word [r13 + 0x14]
mov r14d, 0xfffd
and r15w, r14w
mov eax, 0x400
jmp 0x18006ab4e
mov eax, 0x400
test ax, r15w
je 0x18006ab48
mov rcx, r13
call fcn.18005ec10
jmp 0x18006ab15
mov r14d, 0xfffd
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x18006ab6a
movzx edx, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
call fcn.18005ec70
jmp 0x18006ab77
test ax, si
je 0x18006ab87
mov rcx, rdi
call fcn.18005ec10
test eax, eax
jne 0x18006c3d7
movzx esi, word [rdi + 0x14]
and si, r14w
mov eax, dword [r13 + 0x10]
add eax, dword [rdi + 0x10]
movsxd r14, eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x88]
cmp r14, rax
jg 0x1800718fb
xor ecx, ecx
lea edx, [r14 + 2]
mov r8d, ecx
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.18005e890
test eax, eax
jne 0x18006c3d7
mov eax, 0xf242
and word [rbx + 0x14], ax
or word [rbx + 0x14], 2
cmp rbx, rdi
je 0x18006abee
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call fcn.180150e10
mov word [rdi + 0x14], si
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call fcn.180150e10
movzx r9d, byte [rsp + 0x40]
mov word [r13 + 0x14], r15w
cmp r9b, 1
jbe 0x18006ac18
and r14, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
mov r13d, dword [rsp + 0x54]
mov byte [r14 + rax], 0
mov rax, qword [rbx + 8]
mov byte [r14 + rax + 1], 0
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r14d
mov byte [rbx + 0x16], r9b
mov rdi, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
xor r11d, r11d
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rsi, r10
imul r14, rax, 0x38
movzx ebx, word [rsi + 0x14]
add rdi, r10
add r14, r10
movzx ecx, word [rdi + 0x14]
movzx eax, cl
and al, bl
test al, 4
jne 0x18006ace3
or cl, bl
test cl, 1
jne 0x18006afca
and bx, 0x2d
jne 0x18006acbb
mov rcx, rsi
call fcn.180069bd0
movzx ebx, ax
movzx eax, word [rdi + 0x14]
and ax, 0x2d
jne 0x18006accd
mov rcx, rdi
call fcn.180069bd0
and al, bl
test al, 4
je 0x18006aed2
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
movzx ecx, byte [r12]
mov r9, qword [rsi]
mov r8, qword [rdi]
sub ecx, 0x6a
je 0x18006ae70
sub ecx, 1
je 0x18006ae08
sub ecx, 1
je 0x18006ad5d
cmp ecx, 1
je 0x18006ad2b
test r9, r9
je 0x18006afca
cmp r9, 0xffffffffffffffff
mov rax, r8
cmove r9, rdx
cqo
idiv r9
mov r8, rdx
jmp 0x18006ae8f
test r9, r9
je 0x18006afca
cmp r9, 0xffffffffffffffff
jne 0x18006ad4d
movabs rcx, 0x8000000000000000
cmp r8, rcx
je 0x18006aed2
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x18006ae8f
test r9, r9
jle 0x18006ad9b
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x18006aed2
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x18006aed2
imul r8, r9
jmp 0x18006ae8f
jns 0x18006adff
test r8, r8
jle 0x18006adc3
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jl 0x18006aed2
imul r8, r9
jmp 0x18006ae8f
jns 0x18006adff
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x18006aed2
cmp r8, rcx
je 0x18006aed2
movabs rax, 0x8000000000000001
mov rcx, r8
cqo
neg rcx
idiv r9
cmp rcx, rax
jg 0x18006aed2
imul r8, r9
jmp 0x18006ae8f
movabs rcx, 0x8000000000000000
cmp r9, rcx
jne 0x18006ae25
test r8, r8
jns 0x18006aed2
sub r8, rcx
jmp 0x18006ae8f
neg r9
js 0x18006ae45
test r8, r8
jle 0x18006ae64
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x18006ae64
mov eax, edx
jmp 0x18006ae6a
test r8, r8
jns 0x18006ae64
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x18006ae64
mov eax, edx
jmp 0x18006ae6a
add r8, r9
mov eax, r11d
test eax, eax
jne 0x18006aed2
jmp 0x18006ae8f
test r9, r9
js 0x18006aeb7
test r8, r8
jle 0x18006ae8c
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x18006aed2
add r8, r9
mov rdi, qword [rsp + 0x58]
mov eax, 0xf244
movzx r9d, byte [rsp + 0x40]
mov qword [r14], r8
and word [r14 + 0x14], ax
or word [r14 + 0x14], 4
mov r14, qword [rsp + 0x78]
jmp 0x18006a3a0
test r8, r8
jns 0x18006ae8c
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x18006ae8c
movzx eax, word [rsi + 0x14]
test al, 8
je 0x18006aee0
movsd xmm6, qword [rsi]
jmp 0x18006af02
test al, 0x24
je 0x18006aeee
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rsi]
jmp 0x18006af02
test al, 0x12
je 0x18006aeff
mov rcx, rsi
call fcn.18005eff0
movaps xmm6, xmm0
jmp 0x18006af02
movaps xmm6, xmm7
movzx eax, word [rdi + 0x14]
test al, 8
je 0x18006af10
movsd xmm0, qword [rdi]
jmp 0x18006af2f
test al, 0x24
je 0x18006af1e
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rdi]
jmp 0x18006af2f
test al, 0x12
je 0x18006af2c
mov rcx, rdi
call fcn.18005eff0
jmp 0x18006af2f
movaps xmm0, xmm7
movzx ecx, byte [r12]
sub ecx, 0x6a
je 0x18006af96
sub ecx, 1
je 0x18006af90
sub ecx, 1
je 0x18006af8a
cmp ecx, 1
je 0x18006af7c
mov rcx, rsi
call fcn.18005ef90
mov rcx, rdi
mov rbx, rax
call fcn.18005ef90
test rbx, rbx
je 0x18006afca
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm0, xmm0
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x18006af9a
ucomisd xmm6, xmm7
jp 0x18006af84
je 0x18006afca
divsd xmm0, xmm6
jmp 0x18006af9a
mulsd xmm0, xmm6
jmp 0x18006af9a
subsd xmm0, xmm6
jmp 0x18006af9a
addsd xmm0, xmm6
movabs rcx, 0xfffffffffffff
movsd qword [rbp - 0x40], xmm0
mov rax, qword [rbp - 0x40]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
je 0x18006b039
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x18006b000
mov rcx, r14
call fcn.18005ee50
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x78]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov rdi, qword [rsp + 0x58]
mov edx, 1
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
add r12, 0x18
mov r8d, dword [rsp + 0x50]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
mov word [r14 + 0x14], dx
mov r14, qword [rsp + 0x78]
jmp 0x18006a19e
mov rdi, qword [rsp + 0x58]
mov eax, 0xf248
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
movsd qword [r14], xmm0
and word [r14 + 0x14], ax
or word [r14 + 0x14], 8
mov r14, qword [rsp + 0x78]
xor r11d, r11d
jmp 0x18006a3a5
movsxd rax, dword [r12 + 4]
test eax, eax
je case.0x18006a1d7.89
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x18006b0ae
xor edx, edx
call fcn.18005f450
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov r15, qword [rbp - 0x80]
mov eax, 4
mov rsi, qword [rsp + 0x70]
add r12, 0x18
mov qword [rcx], r11
mov word [rcx + 0x14], ax
jmp 0x18006a19e
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rdi, r10
imul rsi, rax, 0x38
add rcx, r10
add rsi, r10
movzx eax, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
test al, 1
je 0x18006b14e
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x18006b133
mov rcx, rsi
call fcn.18005ee50
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
jmp 0x18006a3a5
mov word [rsi + 0x14], dx
mov rdi, qword [rsp + 0x58]
add r12, 0x18
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
call fcn.18005ef90
mov rcx, rdi
mov rbx, rax
call fcn.18005ef90
movzx edx, byte [r12]
mov rcx, rax
cmp dl, 0x66
jne 0x18006b170
and rbx, rax
jmp 0x18006b1df
cmp dl, 0x67
jne 0x18006b17a
or rbx, rcx
jmp 0x18006b1df
test rcx, rcx
je 0x18006b1df
jns 0x18006b194
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x18006b19a
neg rcx
cmp rcx, 0x40
jl 0x18006b1b0
test rbx, rbx
jns 0x18006b1aa
cmp dl, 0x68
je 0x18006b1aa
or rbx, 0xffffffffffffffff
jmp 0x18006b1df
xor ecx, ecx
mov ebx, ecx
jmp 0x18006b1df
cmp dl, 0x68
jne 0x18006b1bd
shl rbx, cl
mov r8, rbx
jmp 0x18006b1dc
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x18006b1dc
or rdx, 0xffffffffffffffff
mov eax, 0x40
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov rdi, qword [rsp + 0x58]
mov eax, 0xf244
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov qword [rsi], rbx
and word [rsi + 0x14], ax
or word [rsi + 0x14], 4
xor r11d, r11d
jmp 0x18006a3a5
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.18005f0b0
movsxd rax, dword [r12 + 8]
add qword [rbx], rax
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r10
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x18006b29b
test al, 0x28
jne 0x18006b26f
test al, 2
je 0x18006b27c
mov rcx, rbx
call fcn.180069a50
mov r10, qword [rsp + 0x60]
xor r11d, r11d
jmp 0x18006b277
mov rcx, rbx
call fcn.18005f020
mov edx, 1
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x18006b29b
cmp dword [r12 + 8], 0
jne 0x18006dddb
mov r13d, reloc.OLEAUT32.dll_SafeArrayLock
jmp 0x18006ccff
movzx r9d, byte [rsp + 0x40]
mov ecx, 0xf244
mov r8d, dword [rsp + 0x50]
and ax, cx
mov r15, qword [rbp - 0x80]
or ax, 4
mov rsi, qword [rsp + 0x70]
add r12, 0x18
mov word [rbx + 0x14], ax
jmp 0x18006a19e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x14], 0x24
je case.0x18006a1d7.89
call fcn.18005f140
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r10
test word [rbx + 0x14], ax
je 0x18006b325
mov rcx, rbx
call fcn.18005ec10
mov r13d, eax
test eax, eax
jne 0x18006ccff
movzx r8d, byte [rsp + 0x40]
mov rcx, rbx
movzx edx, byte [r12 + 8]
call fcn.18005f2a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov rcx, qword [rsp + 0x48]
mov r12, rcx
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r14, rax, 0x38
add r15, r10
add r14, r10
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx edx, di
and dx, si
test dl, 4
je 0x18006b434
mov rax, qword [r14]
mov edx, 1
mov rcx, qword [r15]
mov rdi, qword [rsp + 0x58]
cmp rax, rcx
mov r14, qword [rsp + 0x78]
lea rcx, [0x180000000]
jle 0x18006b3df
cmp byte [rbx + rcx + 0x1a4c98], 0
jne 0x18006dddb
mov r15, qword [rbp - 0x80]
mov r8d, edx
mov rsi, qword [rsp + 0x70]
add r12, 0x18
mov dword [rsp + 0x50], edx
jmp 0x18006a19e
jge 0x18006b40c
cmp byte [rbx + rcx + 0x1a4c8c], 0
jne 0x18006dddb
mov r15, qword [rbp - 0x80]
or rax, 0xffffffffffffffff
mov rsi, qword [rsp + 0x70]
mov r8d, eax
mov dword [rsp + 0x50], eax
add r12, 0x18
jmp 0x18006a19e
cmp byte [rbx + rcx + 0x1a4c92], 0
jne 0x18006dddb
mov r15, qword [rbp - 0x80]
mov r8d, r11d
mov rsi, qword [rsp + 0x70]
add r12, 0x18
mov dword [rsp + 0x50], r11d
jmp 0x18006a19e
movzx ecx, di
or cx, si
test cl, 1
je 0x18006b4b4
movzx eax, word [r12 + 2]
test al, al
jns 0x18006b484
test dl, 1
je 0x18006b465
mov eax, 0x100
test ax, di
jne 0x18006b465
mov r8d, r11d
mov dword [rsp + 0x50], r11d
jmp 0x18006b5a6
test dil, 1
mov rax, 0xffffffffffffffff
mov r8d, 1
cmovne r8d, eax
mov dword [rsp + 0x50], r8d
jmp 0x18006b589
mov rdi, qword [rsp + 0x58]
mov edx, 1
mov r14, qword [rsp + 0x78]
test al, 0x10
jne 0x18006dddb
mov r15, qword [rbp - 0x80]
mov r8d, edx
mov rsi, qword [rsp + 0x70]
add r12, 0x18
mov dword [rsp + 0x50], edx
jmp 0x18006a19e
movzx eax, byte [r12 + 2]
and al, 0x47
cmp al, 0x43
jb 0x18006b4f8
test cl, 2
je 0x18006b56a
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x18006b4e2
xor edx, edx
mov rcx, r15
call fcn.180069a50
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x18006b56a
xor edx, edx
mov rcx, r14
call fcn.180069a50
jmp 0x18006b56a
cmp al, 0x42
jne 0x18006b56a
test cl, 2
je 0x18006b56a
test sil, 2
jne 0x18006b53c
test sil, 0x2c
je 0x18006b53c
mov r8b, 1
movzx edx, r9b
mov rcx, r15
call fcn.18005ec70
xor si, word [r15 + 0x14]
mov ebx, 0xdbf
and si, bx
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x18006b541
movzx edi, si
or di, 2
jmp 0x18006b541
mov ebx, 0xdbf
test dil, 2
jne 0x18006b56a
test dil, 0x2c
je 0x18006b56a
movzx edx, byte [rsp + 0x40]
mov r8b, 1
mov rcx, r14
call fcn.18005ec70
xor di, word [r14 + 0x14]
and di, bx
xor di, word [r14 + 0x14]
mov r8, qword [r12 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.180065150
mov r10, qword [rsp + 0x60]
mov r8d, eax
mov dword [rsp + 0x50], eax
xor r11d, r11d
test r8d, r8d
jns 0x18006b5a4
movzx eax, byte [r12]
lea rcx, [0x180000000]
movzx ecx, byte [rax + rcx + 0x1a4c8c]
jmp 0x18006b5d0
jne 0x18006b5bc
movzx eax, byte [r12]
lea rcx, [0x180000000]
movzx ecx, byte [rax + rcx + 0x1a4c92]
jmp 0x18006b5d0
movzx eax, byte [r12]
lea rcx, [0x180000000]
movzx ecx, byte [rax + rcx + 0x1a4c98]
mov word [r14 + 0x14], di
mov edx, 1
mov r14, qword [rsp + 0x78]
mov word [r15 + 0x14], si
test cl, cl
jne 0x18006dc94
mov rdi, qword [rsp + 0x58]
add r12, 0x18
movzx r9d, byte [rsp + 0x40]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
test r8d, r8d
je 0x18006dddb
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov r13, qword [rsp + 0x48]
test byte [r13 + 2], 1
jne 0x18006b635
mov r12, r11
jmp 0x18006b63d
mov r12, qword [r13 - 8]
add r12, 4
mov rax, qword [r13 + 0x10]
mov r14d, r11d
mov r8d, dword [r13 + 4]
mov rbx, r11
mov ecx, dword [r13 + 8]
movsxd r13, dword [r13 + 0xc]
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x78], r8d
mov dword [rbp - 0x60], ecx
test r13, r13
jle 0x180071537
lea r15, [rax + 0x20]
nop dword [rax + rax]
test r12, r12
je 0x18006b67b
mov edi, dword [r12 + rbx*4]
jmp 0x18006b67e
mov edi, r14d
mov rax, qword [rax + 0x18]
add ecx, edi
imul rdx, rcx, 0x38
movzx esi, byte [rbx + rax]
lea ecx, [rdi + r8]
mov r8, qword [r15]
add rdx, r10
imul rcx, rcx, 0x38
and esi, 1
add rcx, r10
call fcn.180065150
mov r10, qword [rsp + 0x60]
mov r8d, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov rax, qword [rbp - 0x48]
jne 0x18006b6f6
mov r8d, dword [rbp - 0x78]
inc r14d
mov ecx, dword [rbp - 0x60]
inc rbx
add r15, 8
cmp rbx, r13
jl 0x18006b670
mov r13d, dword [rsp + 0x54]
xor r11d, r11d
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x18006b72a
mov ecx, dword [rbp - 0x78]
add ecx, edi
imul rax, rcx, 0x38
test byte [rax + r10 + 0x14], 1
jne 0x18006b722
mov ecx, dword [rbp - 0x60]
add ecx, edi
imul rax, rcx, 0x38
test byte [rax + r10 + 0x14], 1
je 0x18006b72a
neg r8d
mov dword [rsp + 0x50], r8d
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
test esi, esi
je 0x180071252
mov r14, qword [rsp + 0x78]
neg r8d
mov dword [rsp + 0x50], r8d
xor r11d, r11d
jmp 0x18006a3a5
test r8d, r8d
jns 0x18006b784
mov eax, dword [r12 + 4]
mov r15, qword [rbp - 0x80]
dec eax
mov rsi, qword [rsp + 0x70]
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x18006a19e
jne 0x18006b7a9
mov eax, dword [r12 + 8]
mov r15, qword [rbp - 0x80]
dec eax
mov rsi, qword [rsp + 0x70]
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x18006a19e
mov eax, dword [r12 + 0xc]
mov r15, qword [rbp - 0x80]
dec eax
mov rsi, qword [rsp + 0x70]
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x18006a19e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x18006b7ec
cmp qword [rcx], 0
mov ebx, r11d
setne bl
jmp 0x18006b825
test al, 1
je 0x18006b7f7
mov ebx, 2
jmp 0x18006b825
test al, 8
je 0x18006b801
movsd xmm0, qword [rcx]
jmp 0x18006b816
test al, 0x12
je 0x18006b822
call fcn.18005eff0
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm7
jp 0x18006b81e
je 0x18006b822
mov ebx, edx
jmp 0x18006b825
mov ebx, r11d
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x18006b845
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x18006b87b
test al, 1
je 0x18006b850
mov eax, 2
jmp 0x18006b87b
test al, 8
je 0x18006b85a
movsd xmm0, qword [rcx]
jmp 0x18006b868
test al, 0x12
je 0x18006b877
call fcn.18005eff0
mov r10, qword [rsp + 0x60]
ucomisd xmm0, xmm7
jp 0x18006b870
je 0x18006b877
mov eax, 1
jmp 0x18006b87b
xor ecx, ecx
mov eax, ecx
lea eax, [rax + rbx*2]
add ebx, eax
lea rcx, [0x180000000]
cmp byte [r12], 0x2c
jne 0x18006b898
movzx ecx, byte [rbx + rcx + 0x1a7d10]
jmp 0x18006b8a0
movzx ecx, byte [rbx + rcx + 0x1a9060]
movsxd rax, dword [r12 + 0xc]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
movzx edx, cl
imul rcx, rax, 0x38
add rcx, r10
cmp edx, 2
jne 0x18006b8d5
mov eax, 0xf241
and word [rcx + 0x14], ax
or word [rcx + 0x14], 1
xor r11d, r11d
jmp 0x18006a3a5
mov qword [rcx], rdx
mov eax, 0xf244
and word [rcx + 0x14], ax
or word [rcx + 0x14], 4
xor r11d, r11d
jmp 0x18006a3a5
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x18006b90e
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x18006b947
test al, 1
je 0x18006b919
mov eax, dword [r12 + 0xc]
jmp 0x18006b947
test al, 8
je 0x18006b923
movsd xmm0, qword [rcx]
jmp 0x18006b938
test al, 0x12
je 0x18006b944
call fcn.18005eff0
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm7
jp 0x18006b940
je 0x18006b944
mov eax, edx
jmp 0x18006b947
mov eax, r11d
movsxd rdx, dword [r12 + 0x10]
cdqe
xor rdx, rax
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x18006b985
call fcn.18005f450
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
movzx r9d, byte [rsp + 0x40]
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 0x14], ax
jmp 0x18006a3a0
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r10
add rbx, r10
movzx eax, word [rcx + 0x14]
test al, 1
jne 0x18006ba35
test al, 0x24
je 0x18006b9cf
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x18006b9fd
test al, 8
je 0x18006b9d9
movsd xmm0, qword [rcx]
jmp 0x18006b9ee
test al, 0x12
je 0x18006b9fa
call fcn.18005eff0
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm7
jp 0x18006b9f6
je 0x18006b9fa
mov eax, edx
jmp 0x18006b9fd
mov eax, r11d
movsxd rcx, eax
mov eax, 0x9000
xor rcx, 1
test word [rbx + 0x14], ax
je 0x18006ba1f
mov rdx, rcx
mov rcx, rbx
call fcn.18005f450
jmp 0x18006a9e3
mov r12, qword [rsp + 0x48]
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 0x14], ax
jmp 0x18006a3fb
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x18006ba4d
mov rcx, rbx
call fcn.18005ee50
jmp 0x18006a9e3
mov r12, qword [rsp + 0x48]
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
mov word [rbx + 0x14], dx
jmp 0x18006a19e
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r10
mov eax, 0x9000
add rbx, r10
test word [rbx + 0x14], ax
je 0x18006baa0
mov rcx, rbx
call fcn.18005ee50
mov r10, qword [rsp + 0x60]
xor r11d, r11d
jmp 0x18006baa4
mov word [rbx + 0x14], dx
test byte [rdi + 0x14], 1
jne 0x1800712a6
mov eax, 4
mov rcx, rdi
mov word [rbx + 0x14], ax
call fcn.18005ef90
mov rdi, qword [rsp + 0x58]
not rax
mov qword [rbx], rax
jmp 0x18006a9e3
mov r8, qword [r15 + 0x108]
test r8, r8
je 0x18006bb29
mov r9, qword [r8 + 0x28]
mov rcx, r12
sub rcx, qword [r15 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
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 0x18006ddd6
bts eax, edx
mov edx, 1
mov byte [rcx + r9], al
jmp 0x18006bb3e
mov rcx, qword [r15 + 0x88]
mov eax, dword [r12 + 4]
cmp dword [rcx + 4], eax
je 0x18006dddb
mov rax, qword [r15 + 0x88]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r15, qword [rbp - 0x80]
mov ecx, dword [rax + 4]
mov rsi, qword [rsp + 0x70]
mov dword [r12 + 4], ecx
add r12, 0x18
jmp 0x18006a19e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x18006bb8a
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x18006bb93
test al, 1
je 0x18006bbad
mov eax, dword [r12 + 0xc]
test eax, eax
jne 0x18006dddb
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
test al, 8
je 0x18006bbb7
movsd xmm0, qword [rcx]
jmp 0x18006bbd0
test al, 0x12
je case.0x18006a1d7.89
call fcn.18005eff0
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm7
jp 0x18006dddb
jne 0x18006dddb
jmp 0x18006a3fb
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x18006bc05
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x18006bc15
test al, 1
je 0x18006bc2f
cmp dword [r12 + 0xc], 0
mov eax, r11d
sete al
test eax, eax
je 0x18006dddb
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
test al, 8
je 0x18006bc39
movsd xmm0, qword [rcx]
jmp 0x18006bc52
test al, 0x12
je 0x18006dddb
call fcn.18005eff0
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm7
jp 0x18006a3fb
jne 0x18006a3fb
jmp 0x18006dddb
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
jne 0x18006dddb
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov rcx, qword [rsp + 0x48]
mov r12, rcx
movsxd rax, dword [rcx + 4]
test eax, eax
js 0x18006bcf2
mov rcx, rax
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
movsxd rcx, dword [r12 + 0xc]
movzx eax, word [rdx + 0x4a]
cmp ecx, eax
jge 0x18006bce6
mov ecx, dword [rdx + rcx*4 + 0x78]
cmp ecx, 0xc
jb 0x18006bcd2
test cl, 1
mov edx, 4
mov eax, 8
cmove dx, ax
jmp 0x18006bd17
mov rax, rcx
lea rcx, [0x180000000]
movzx edx, byte [rax + rcx + 0x1a3c58]
jmp 0x18006bd17
mov ecx, dword [r12 + 0x10]
mov edx, 1
jmp 0x18006bd12
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rcx + r10 + 0x14]
lea rcx, [0x180000000]
and eax, 0x3f
movzx ecx, byte [rax + rcx + 0x1a7d20]
dec ecx
shl dx, cl
test word [r12 + 2], dx
mov edx, 1
jne 0x18006dddb
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
jne 0x18006bd66
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
jne 0x18006bd66
movsxd rax, dword [r12 + 8]
jmp 0x18006b07d
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x18006bd9a
call fcn.18005ee50
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
mov word [rcx + 0x14], dx
jmp 0x18006a19e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
je 0x18006dddb
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
movsxd rcx, dword [r12 + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x18006a3a5
cmp byte [rdx + 2], 0
je 0x18006a3a5
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x18006be1b
call fcn.18005ee50
xor r11d, r11d
jmp 0x18006ddd6
mov edx, 1
mov word [rcx + 0x14], dx
jmp 0x18006dddb
mov rdi, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14d, dword [rdi + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x78], r14d
nop dword [rax]
nop word [rax + rax]
mov r13, qword [rbx + 0x58]
mov eax, dword [r15 + 0x2c]
mov qword [rbp - 0x68], r13
cmp dword [rbx + 0x20], eax
je 0x18006be9a
cmp byte [rbx + 2], 0
jne 0x18006bf19
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x18006be93
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x18006bebf
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x18006bebf
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x18006be3e
cmp byte [rdi], 0
je 0x18006bed3
jmp 0x18006bea7
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x18006c045
mov rcx, rbx
call fcn.180064950
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18006be50
jmp 0x18006ccfa
mov rcx, rbx
call fcn.1800648e0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180071cb8
mov rcx, rdi
call fcn.180054b00
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x18006bf0d
test edx, edx
mov ecx, edx
mov r11d, 0
cmovs ecx, r11d
mov dword [rbx + 0x6c], ecx
mov rax, qword [rdi + 0x38]
jmp 0x18006bf47
mov dword [rbx + 0x6c], ecx
xor r11d, r11d
mov rax, qword [rdi + 0x38]
jmp 0x18006bf47
cmp byte [rbx], 3
jne 0x18006bfc0
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x18006bfc0
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
xor r11d, r11d
mov eax, dword [rcx + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rax, qword [rcx + 8]
mov qword [rbx + 0x60], rax
mov eax, dword [r15 + 0x2c]
mov dword [rbx + 0x20], eax
mov rax, qword [rbx + 0x60]
movzx ecx, byte [rax]
mov dword [r13], ecx
cmp ecx, 0x80
jae 0x18006bf6f
mov ecx, 1
mov dword [rbx + 0x40], ecx
jmp 0x18006bf84
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.18003ef10
movzx eax, al
xor r11d, r11d
mov dword [rbx + 0x40], eax
mov word [rbx + 0x4a], r11w
mov eax, dword [r13]
cmp dword [rbx + 0x6c], eax
jae 0x18006bfb7
mov qword [rbx + 0x60], r11
mov dword [rbx + 0x6c], r11d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x18006c1f3
cmp eax, dword [rbx + 0x68]
jbe 0x18006c048
jmp 0x18006c1f3
mov rax, qword [rbx + 0x60]
jmp 0x18006c0f9
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x18006c00d
call fcn.18005ee50
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x78]
jmp 0x18006a3a5
mov r13d, dword [rsp + 0x54]
mov edx, 1
mov rdi, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
add r12, 0x18
mov r8d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
mov word [rcx + 0x14], dx
jmp 0x18006a19e
xor r11d, r11d
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x18006c31c
mov eax, dword [r13]
cmp dword [rbx + 0x40], eax
jae 0x18006c2be
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x18006c0fd
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rax
mov r10, qword [rbx + 0x30]
mov r8d, dword [r13]
mov dword [rsp + 0x54], 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 0x18006c0bb
test edx, edx
mov ecx, edx
cmovs ecx, r11d
mov rax, qword [r10 + 0x38]
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x18], rax
cmp r8d, ecx
ja 0x18006c0db
mov ecx, 0x4010
mov dword [rbp + 0x20], r8d
mov word [rbp + 0x24], cx
jmp 0x18006c0fd
lea r9, [rbp + 0x10]
xor edx, edx
mov rcx, r10
call fcn.18005f950
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180071cb8
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x58], rax
movzx r12d, word [rbx + 0x4a]
mov r14d, dword [rbx + 0x40]
mov esi, r12d
mov rcx, qword [rbp - 0x68]
add r14, rax
mov r15d, dword [r13 + r12*4]
mov r13d, dword [r13]
add r13, rax
nop dword [rax]
movzx edi, byte [r14]
mov dword [rbp - 0x60], edi
mov dword [rbx + rsi*4 + 0x78], edi
cmp edi, 0x80
jae 0x18006c147
lea rdx, [0x180000000]
inc r14
movzx eax, byte [rdi + rdx + 0x1a4210]
jmp 0x18006c182
lea rdx, [rbp - 0x60]
mov rcx, r14
call fcn.18003ef10
mov edi, dword [rbp - 0x60]
movzx eax, al
add r14, rax
mov dword [rbx + rsi*4 + 0x78], edi
cmp edi, 0x80
jb 0x18006c16f
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x18006c17e
lea rcx, [0x180000000]
movzx eax, byte [rdi + rcx + 0x1a4210]
mov rcx, qword [rbp - 0x68]
inc r12d
add r15, rax
movsxd rsi, r12d
mov dword [rcx + rsi*4], r15d
cmp r12d, dword [rbp - 0x78]
ja 0x18006c19c
cmp r14, r13
jb 0x18006c120
jmp 0x18006c1a1
cmp r14, r13
jb 0x18006c1ae
cmp r14, r13
ja 0x18006c1b6
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x18006c1b6
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x18006c235
cmp dword [rcx], 0
jne 0x18006c1c6
xor r11d, r11d
mov r14, r13
mov r12d, r11d
jmp 0x18006c238
cmp qword [rbx + 0x60], 0
jne 0x18006c1e7
mov eax, 0x9000
test word [rbp + 0x24], ax
jne 0x18006c1de
cmp dword [rbp + 0x30], 0
je 0x18006c1e7
lea rcx, [rbp + 0x10]
call fcn.18005ee90
mov r15, qword [rbp - 0x80]
xor r11d, r11d
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov eax, dword [r14 + 0xc]
test eax, eax
jle 0x1800716d1
mov r13d, dword [rsp + 0x54]
dec eax
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r14 + rax*8]
mov qword [rsp + 0x48], rdi
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x18006a3a0
xor r11d, r11d
sub r14d, dword [rbp - 0x58]
mov edx, 0x9000
mov word [rbx + 0x4a], r12w
mov dword [rbx + 0x40], r14d
cmp qword [rbx + 0x60], 0
jne 0x18006c26e
test word [rbp + 0x24], dx
jne 0x18006c25d
cmp dword [rbp + 0x30], 0
je 0x18006c26e
lea rcx, [rbp + 0x10]
call fcn.18005ee90
xor r11d, r11d
mov edx, 0x9000
mov r13, qword [rbp - 0x68]
mov r14d, dword [rbp - 0x78]
mov r15, qword [rbp - 0x80]
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x18006c323
mov rdi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
cmp byte [rdi + 1], 0xf6
jne 0x18006c2c8
mov rdx, qword [rdi + 0x10]
mov r8d, 0x2000
call fcn.18005f5d0
mov r13d, dword [rsp + 0x54]
mov r12, rdi
jmp 0x18006afde
mov edi, r11d
mov edx, 0x9000
jmp 0x18006c27a
test word [rcx + 0x14], dx
je 0x18006c2e2
call fcn.18005ee50
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
jmp 0x18006afde
mov r13d, dword [rsp + 0x54]
mov edx, 1
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov word [rcx + 0x14], dx
mov r14, qword [rsp + 0x78]
add r12, 0x18
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov eax, r14d
mov edi, dword [rbx + rax*4 + 0x78]
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rdx + 0xc]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [rsp + 0x60]
test word [rsi + 0x14], ax
je 0x18006c34d
mov rcx, rsi
call fcn.18005ee50
mov rdx, qword [rsp + 0x48]
lea eax, [r14 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x18006c46b
mov eax, r14d
mov r15d, dword [r13 + rax*4]
add r15, qword [rbx + 0x60]
cmp edi, 0xc
jae 0x18006c391
mov rcx, r15
mov edx, edi
mov r8, rsi
call fcn.180064a50
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
jmp 0x18006afe3
movzx eax, byte [rsp + 0x40]
lea r14d, [rdi - 0xc]
shr r14d, 1
mov dword [rsi + 0x10], r14d
mov byte [rsi + 0x16], al
lea edx, [r14 + 2]
cmp dword [rsi + 0x20], edx
jge 0x18006c415
mov rax, qword [rsp + 0x58]
cmp r14d, dword [rax + 0x88]
jg 0x180071923
mov eax, 1
xor r8d, r8d
mov rcx, rsi
mov word [rsi + 0x14], ax
call fcn.18005e890
test eax, eax
je 0x18006c41d
mov rdi, qword [rsp + 0x58]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x68]
mov rcx, rdi
call fcn.180039510
lea rdx, str.out_of_memory
mov rcx, r15
call fcn.180060320
mov r14, qword [rsp + 0x48]
mov r13d, 7
lea eax, [r13 + 4]
jmp 0x18006cd0e
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
mov rcx, qword [rsi + 8]
mov rdx, r15
mov r8d, r14d
call fcn.180150e10
mov rax, qword [rsi + 8]
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
mov byte [r14 + rax], 0
lea eax, [r14 + 1]
movsxd rcx, eax
mov rax, qword [rsi + 8]
mov byte [rcx + rax], 0
mov eax, edi
and eax, 1
lea rcx, [0x180000000]
movzx eax, word [rcx + rax*2 + 0x1a1848]
mov word [rsi + 0x14], ax
jmp 0x18006afde
movzx eax, byte [rsp + 0x40]
mov byte [rsi + 0x16], al
movzx eax, byte [rdx + 2]
and al, 0xc0
je 0x18006c48e
cmp al, 0x80
je 0x18006c4b2
cmp edi, 0xc
jb 0x18006c48e
test dil, 1
je 0x18006c4b2
cmp al, 0xc0
je 0x18006c4b2
cmp edi, 0x80
jb 0x18006c49d
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x18006c4ae
mov eax, edi
lea rcx, [0x180000000]
movzx eax, byte [rax + rcx + 0x1a4210]
test eax, eax
jne 0x18006c4be
lea rcx, [0x1801a39b0]
jmp 0x18006c373
mov eax, r14d
mov r8d, edi
mov qword [rsp + 0x30], rsi
mov edx, r14d
mov rcx, rbx
mov r9d, dword [r13 + rax*4]
mov eax, dword [rbp - 0x5c]
mov dword [rsp + 0x28], eax
mov eax, dword [r15 + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.180069dd0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18006c382
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
cmp eax, 7
je 0x18006c3e5
cmp eax, 0x12
je 0x180071909
jmp 0x18006ccff
mov rax, qword [rsp + 0x48]
mov esi, r11d
mov r12, qword [rsp + 0x48]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov r15, qword [r14 + 8]
add rbx, r10
cmp r11w, word [r14 + 0x36]
jge 0x18006c305
lea rdi, [r15 + 0x12]
movzx eax, word [rdi]
test al, 0x60
je 0x18006c562
test al, 0x20
jne 0x18006c612
cmp dword [r12 + 0xc], 0
jne 0x18006c60e
movzx edx, byte [rdi - 6]
movzx r8d, r9b
mov rcx, rbx
call fcn.180069ad0
movzx ecx, word [rbx + 0x14]
test cl, 1
jne 0x18006c60e
mov eax, dword [rdi - 0xa]
shr eax, 4
and eax, 0xf
cmp eax, 2
je 0x18006c605
jbe 0x18006c60e
cmp eax, 4
jbe 0x18006c600
cmp eax, 5
je 0x18006c5a3
cmp eax, 6
jne 0x18006c60e
test cl, 2
jmp 0x18006c608
test cl, 4
je 0x18006c5fb
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x18006c5d9
mov eax, 0xfffb
and cx, ax
or cx, 0x20
mov word [rbx + 0x14], cx
jmp 0x18006c60e
xorps xmm0, xmm0
mov ecx, 0xfffb
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
movzx eax, word [rbx + 0x14]
and ax, cx
or ax, 8
mov word [rbx + 0x14], ax
jmp 0x18006c60e
test cl, 0x28
jmp 0x18006c608
test cl, 4
jmp 0x18006c608
test cl, 0x10
je 0x1800716e3
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
movzx r9d, byte [rsp + 0x40]
add rdi, 0x18
cmp esi, eax
jl 0x18006c547
jmp 0x18006afde
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r10
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [rdi]
movzx r8d, r9b
mov rcx, rbx
call fcn.180069ad0
cmp byte [rdi], 0x45
jne 0x18006c6be
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x18006c6be
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x18006c69e
mov eax, 0xfffb
and cx, ax
or cx, 0x20
mov word [rbx + 0x14], cx
jmp 0x18006c6be
xorps xmm0, xmm0
mov ecx, 0xfff9
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
movzx eax, word [rbx + 0x14]
and ax, cx
or ax, 8
mov word [rbx + 0x14], ax
movzx r9d, byte [rsp + 0x40]
inc rdi
cmp byte [rdi], 0
je 0x180071285
add rbx, 0x38
jmp 0x18006c650
mov rcx, qword [rsp + 0x48]
mov r15, r11
mov r12d, r11d
mov r13, r11
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r11, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r11, r10
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rsi, r11
mov qword [rbp - 0x68], r11
add rcx, r10
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], rcx
test rdi, rdi
je 0x18006c770
lea rbx, [r11 + 0x14]
mov esi, 0xfffb
nop dword [rax]
movzx edx, byte [rdi]
lea rcx, [rbx - 0x14]
movzx r8d, r9b
call fcn.180069ad0
cmp byte [rdi], 0x45
jne 0x18006c756
movzx eax, word [rbx]
test al, 4
je 0x18006c756
and ax, si
or ax, 0x20
mov word [rbx], ax
movzx r9d, byte [rsp + 0x40]
inc rdi
add rbx, 0x38
cmp byte [rdi], 0
jne 0x18006c730
mov r11, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x48]
lea rbx, [rsi + 0x24]
movzx edx, word [rbx - 0x10]
test dl, 1
je 0x18006c799
mov r14d, 0x400
and dx, r14w
neg dx
sbb eax, eax
and eax, 0xa
mov dword [rbx], eax
inc r12d
jmp 0x18006c92b
test dl, 0x24
je 0x18006c89d
mov r8, qword [rbx - 0x24]
mov rcx, r8
test r8, r8
jns 0x18006c7b1
not rcx
inc r12d
cmp rcx, 0x7f
ja 0x18006c7f1
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x18006c7dc
mov rax, qword [rbp - 0x80]
cmp byte [rax + 0xc5], 4
jb 0x18006c7dc
lea eax, [rcx + 8]
mov dword [rbx], eax
jmp 0x18006c925
mov ecx, 1
inc r15
mov dword [rbx], ecx
mov r14d, 0x400
jmp 0x18006c930
cmp rcx, 0x7fff
ja 0x18006c809
add r15, 2
mov dword [rbx], 2
jmp 0x18006c925
cmp rcx, 0x7fffff
ja 0x18006c821
add r15, 3
mov dword [rbx], 3
jmp 0x18006c925
cmp rcx, 0x7fffffff
ja 0x18006c83a
mov eax, 4
add r15, 4
mov dword [rbx], eax
jmp 0x18006c925
movabs rax, 0x7fffffffffff
cmp rcx, rax
ja 0x18006c858
add r15, 6
mov dword [rbx], 5
jmp 0x18006c925
add r15, 8
mov ecx, 1
mov r14d, 0x400
test dl, 0x20
je 0x18006c892
xorps xmm0, xmm0
mov eax, 0xffdf
cvtsi2sd xmm0, r8
movsd qword [rbx - 0x24], xmm0
and word [rbx - 0x10], ax
or word [rbx - 0x10], 8
mov dword [rbx], 7
jmp 0x18006c930
mov dword [rbx], 6
jmp 0x18006c930
test dl, 8
je 0x18006c8b1
inc r12d
mov dword [rbx], 7
add r15, 8
jmp 0x18006c925
mov esi, dword [rbx - 0x14]
mov r14d, edx
shr r14d, 1
mov eax, 0x400
and r14d, 1
add r14d, 0xc
lea r14d, [r14 + rsi*2]
test ax, dx
je 0x18006c8f6
movsxd rax, dword [rbx - 0x24]
lea r14d, [r14 + rax*2]
test r15, r15
je 0x18006c8f3
lea rcx, [rbx - 0x24]
call fcn.18005ec10
test eax, eax
jne 0x18006c3d7
add esi, dword [rbx - 0x24]
jmp 0x18006c8f6
add r13, rax
mov eax, esi
mov ecx, 1
add r15, rax
mov eax, r14d
shr rax, 7
test rax, rax
je 0x18006c91b
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x18006c910
mov r11, qword [rbp - 0x68]
add r12d, ecx
mov dword [rbx], r14d
mov r14d, 0x400
mov ecx, 1
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x18006c942
sub rbx, 0x38
jmp 0x18006c774
cmp r12d, 0x7e
jle 0x18006c98f
movsxd rax, r12d
mov edx, ecx
shr rax, 7
test rax, rax
je 0x18006c96b
nop word [rax + rax]
inc edx
shr rax, 7
test rax, rax
jne 0x18006c960
add r12d, edx
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x18006c98b
nop word [rax + rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x18006c980
cmp edx, ecx
jge 0x18006c992
inc r12d
mov rsi, qword [rbp - 0x40]
movsxd rdi, r12d
movsxd rdx, dword [rsi + 0x20]
lea rbx, [r15 + rdi]
lea rcx, [rbx + r13]
cmp rcx, rdx
jg 0x18006c9b4
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
jmp 0x18006c9f5
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x88]
cmp rcx, rax
jg 0x1800718fb
cmp edx, ebx
jge 0x18006c9e8
xor r8d, r8d
mov edx, ebx
mov rcx, rsi
call fcn.18005e890
test eax, eax
jne 0x18006c3d7
mov r11, qword [rbp - 0x68]
jmp 0x18006c9f5
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
and word [rsi + 0x14], 0x2d
mov dword [rsi + 0x10], ebx
mov eax, reloc.WS2_32.dll_recv
mov word [rsi + 0x14], ax
test r13, r13
je 0x18006ca0e
mov dword [rsi], r13d
or word [rsi + 0x14], r14w
mov rsi, qword [rsi + 8]
lea r14, [rdi + rsi]
cmp r12d, 0x80
jge 0x18006ca29
mov byte [rsi], r12b
mov eax, 1
jmp 0x18006ca36
mov rdx, rdi
mov rcx, rsi
call fcn.18003ed10
cdqe
mov rdi, qword [rbp - 0x48]
lea rbx, [r11 + 0x10]
add rsi, rax
mov eax, dword [rbx + 0x14]
cmp eax, 7
ja 0x18006ca95
mov byte [rsi], al
inc rsi
test eax, eax
je 0x18006cadc
mov rdx, qword [rbx - 0x10]
lea rcx, [0x180000000]
movzx ecx, byte [rax + rcx + 0x1a4210]
or r10d, 0xffffffff
mov r9d, ecx
add ecx, r10d
lea r8, [rcx + r14]
mov byte [r8], dl
je 0x18006ca90
nop dword [rax]
shr rdx, 8
lea r8, [r8 - 1]
mov byte [r8], dl
add ecx, r10d
jne 0x18006ca80
add r14, r9
jmp 0x18006cadc
cmp eax, 0x80
jae 0x18006caaf
mov byte [rsi], al
inc rsi
cmp eax, 0xe
jb 0x18006cadc
movsxd rax, dword [rbx]
test eax, eax
jle 0x18006cadc
jmp 0x18006cac7
mov rdx, rax
mov rcx, rsi
call fcn.18003ed10
movsxd rcx, eax
movsxd rax, dword [rbx]
add rsi, rcx
test eax, eax
je 0x18006cadc
mov rdx, qword [rbx - 8]
mov r8, rax
mov rcx, r14
call fcn.180150e10
movsxd rax, dword [rbx]
add r14, rax
lea rax, [rbx - 0x10]
cmp rax, rdi
je 0x180071233
add rbx, 0x38
jmp 0x18006ca41
mov rbx, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov r9, qword [rcx + 0x30]
je 0x18006cb5f
cmp byte [r9], 0
je 0x18006cb19
or rbx, 0xffffffffffffffff
jmp 0x18006cb85
mov rax, qword [r9 + 0x88]
cmp byte [rax + 8], 0
jne 0x18006cb2c
or rbx, 0xffffffffffffffff
jmp 0x18006cb85
movsx r8d, byte [r9 + 0x54]
xor dl, dl
movzx ebx, word [rax + 0x18]
test r8d, r8d
jle 0x18006cb85
nop dword [rax]
movzx eax, dl
inc dl
mov rcx, qword [r9 + rax*8 + 0x90]
movzx eax, word [rcx + 0x18]
imul rbx, rax
movzx eax, dl
cmp eax, r8d
jl 0x18006cb40
jmp 0x18006cb85
lea r8, [rbp - 0x40]
mov qword [rbp - 0x40], r11
mov rdx, r9
mov rcx, rdi
call fcn.18005c0d0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180071ce8
mov rbx, qword [rbp - 0x40]
mov r12, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [r12 + 8]
imul rax, rax, 0x38
add rax, qword [r15 + 0x68]
test word [rax + 0x14], cx
je 0x18006cbb2
mov rcx, rax
call fcn.180069c80
mov qword [rax], rbx
jmp 0x18006f7ea
mov ecx, 4
mov word [rax + 0x14], cx
mov qword [rax], rbx
jmp 0x18006f7ea
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rbp - 0x58], r14d
test r14d, r14d
jne 0x18006ccae
mov rsi, qword [rsp + 0x58]
cmp dword [rsi + 0xe0], r14d
jg 0x180071761
test rdi, rdi
jne 0x18006cbf9
mov ebx, r11d
jmp 0x18006cc0f
or rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x18006cc00
and ebx, 0x3fffffff
mov r8d, dword [rsi + 0x2f4]
xor edx, edx
add r8d, dword [rsi + 0x2f0]
mov rcx, rsi
call fcn.1800c7440
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180071776
mov edx, ebx
mov rcx, rsi
add rdx, 0x21
call fcn.180038fb0
mov rsi, rax
test rax, rax
je 0x18006cf59
lea r9, [rax + 0x20]
mov rdx, rdi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.180150e10
mov rdi, qword [rsp + 0x58]
cmp byte [rdi + 0x65], r13b
je 0x18006cc7b
mov byte [rdi + 0x65], r13b
mov byte [rdi + 0x6d], 1
jmp 0x18006cc81
inc dword [rdi + 0x2f0]
mov rax, qword [rdi + 0x2e0]
mov qword [rsi + 0x18], rax
mov qword [rdi + 0x2e0], rsi
mov rax, qword [rdi + 0x2f8]
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x300]
mov qword [rsi + 0x10], rax
jmp 0x18006cf5e
mov rax, qword [rsp + 0x58]
mov r12d, r11d
mov rsi, qword [rax + 0x2e0]
test rsi, rsi
je 0x18006ccdd
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.18003cb70
test eax, eax
je 0x18006cd25
mov rsi, qword [rsi + 0x18]
inc r12d
test rsi, rsi
jne 0x18006ccc2
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r15
call fcn.180060320
mov r13d, 1
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x48]
mov eax, reloc.WS2_32.dll_inet_addr
mov r12, qword [rsp + 0x68]
xor ebx, ebx
cmp byte [rdi + 0x67], 0
je 0x180071cf0
mov r13d, 7
jmp 0x180071d26
mov rdi, qword [rsp + 0x58]
cmp dword [rdi + 0xe0], 0
jle 0x18006cd3d
cmp r14d, 1
je 0x180071783
cmp qword [rsi + 0x18], 0
jne 0x18006cda3
cmp byte [rdi + 0x6d], 0
je 0x18006cda3
mov ebx, 1
mov r13d, ebx
cmp r14d, ebx
jne 0x18006cda6
mov rax, qword [r15]
mov rcx, qword [rax + 0x300]
add rcx, qword [rax + 0x2f8]
test rcx, rcx
mov rcx, r15
jg 0x1800717e6
mov byte [rdi + 0x65], bl
call fcn.180063ee0
cmp eax, 5
je 0x1800717a2
mov eax, dword [r15 + 0x34]
mov dword [rsp + 0x54], eax
test eax, eax
je 0x18006cd9a
mov byte [rdi + 0x65], 0
jmp 0x18006ceab
mov byte [rdi + 0x6d], 0
jmp 0x18006ceb3
mov r13d, r11d
mov eax, dword [rdi + 0x2f0]
sub eax, r12d
lea r12d, [rax - 1]
cmp r14d, 2
jne 0x18006ce1b
mov r15d, dword [rdi + 0x2c]
mov edi, r11d
mov rcx, qword [rsp + 0x58]
and r15d, 1
cmp dword [rcx + 0x28], 0
jle 0x18006ce21
mov r14d, r15d
mov rbx, r11
xor r14d, 1
nop dword [rax]
mov rcx, qword [rcx + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.180054590
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180071caa
mov rcx, qword [rsp + 0x58]
inc edi
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x18006cde0
mov r14d, dword [rbp - 0x58]
xor r11d, r11d
jmp 0x18006ce25
mov r15d, r11d
mov rcx, rdi
mov eax, dword [rsp + 0x54]
cmp dword [rcx + 0x28], 0
mov edi, r11d
jle 0x18006ce61
mov rbx, r11
mov rcx, qword [rcx + 0x20]
mov r8d, r12d
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.180054810
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x180071caa
mov rcx, qword [rsp + 0x58]
inc edi
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x18006ce31
mov rdi, qword [rsp + 0x58]
test r15d, r15d
je 0x18006cea7
mov rax, qword [rdi + 8]
test rax, rax
je 0x18006ce97
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 0x18006ce80
mov rcx, rdi
call fcn.18008e490
or dword [rdi + 0x2c], 1
mov eax, dword [rsp + 0x54]
mov r15, qword [rbp - 0x80]
test eax, eax
jne 0x180071c9b
cmp qword [rdi + 0x2e0], rsi
je 0x18006cee9
nop dword [rax]
mov rdx, qword [rdi + 0x2e0]
mov rcx, rdi
mov rax, qword [rdx + 0x18]
mov qword [rdi + 0x2e0], rax
call fcn.180038c60
dec dword [rdi + 0x2f0]
cmp qword [rdi + 0x2e0], rsi
jne 0x18006cec0
cmp r14d, 1
jne 0x18006cf12
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, rdi
mov qword [rdi + 0x2e0], rax
call fcn.180038c60
test r13d, r13d
jne 0x18006cf52
dec dword [rdi + 0x2f0]
jmp 0x18006cf33
mov rax, qword [rsi + 8]
mov qword [rdi + 0x2f8], rax
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x300], rax
test r13d, r13d
je 0x18006cf33
cmp r14d, 2
jne 0x18006cf52
mov r8d, r12d
mov edx, r14d
mov rcx, rdi
call fcn.1800c7440
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180071779
jmp 0x18006cf5e
mov r13d, dword [rsp + 0x54]
jmp 0x18006cf5e
mov rdi, qword [rsp + 0x58]
cmp byte [r15 + 0xc7], 3
jne 0x18006c387
mov r14, qword [rsp + 0x48]
mov r13d, 0x65
mov r12, qword [rsp + 0x68]
jmp 0x180071ed2
mov rax, qword [rsp + 0x48]
mov dword [rbp - 0x50], r11d
mov edx, dword [rax + 8]
test edx, edx
je 0x18006cfa5
movabs rcx, 0x200100000
test qword [rdi + 0x30], rcx
jne 0x18007181f
movsxd r14, dword [rax + 4]
shl r14, 5
add r14, qword [rdi + 0x20]
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x18006d12b
cmp byte [rbx + 0x11], 0
jne 0x18006d021
movzx eax, byte [rbx + 0x10]
test al, al
je 0x18006d021
cmp al, 1
jne 0x18006cfd4
test edx, edx
jne 0x18006d021
mov r8, qword [rbx + 8]
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x28]
bswap eax
mov dword [rbp - 0x50], eax
test edx, edx
je 0x18006d017
mov rax, qword [rbx]
mov rcx, qword [r8]
mov edx, dword [rax + 0x2f0]
cmp edx, dword [rcx + 0x80]
jle 0x18006d00d
cmp byte [rcx + 0xa], 0
je 0x18006d00d
call fcn.18004bfe0
jmp 0x18006d02d
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x18006d034
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x18006d040
lea r8, [rbp - 0x50]
mov rcx, rbx
call fcn.180053390
mov dword [rsp + 0x54], eax
mov r13d, eax
test r13d, r13d
jne 0x180071840
xor r11d, r11d
test byte [r15 + 0xc8], 0x20
mov r12, qword [rsp + 0x48]
je 0x18006d137
cmp dword [r12 + 8], 0
je 0x18006d137
cmp byte [rdi + 0x65], 0
je 0x18006d072
cmp dword [rdi + 0xdc], 1
jle 0x18006d137
cmp dword [r15 + 0x40], 0
jne 0x18006d08f
inc dword [rdi + 0x2f4]
mov ecx, dword [rdi + 0x2f4]
add ecx, dword [rdi + 0x2f0]
mov dword [r15 + 0x40], ecx
mov r8d, dword [r15 + 0x40]
xor edx, edx
dec r8d
mov rcx, rdi
call fcn.1800c7440
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006d110
mov edi, dword [r15 + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x18006d0c8
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x18006d0c8
mov rcx, rbx
call fcn.18004fec0
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x18006d0e9
cmp byte [rcx + 0xa], 0
je 0x18006d0e9
mov edx, edi
call fcn.18004bfe0
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x18006d0f2
xor ecx, ecx
mov r13d, ecx
mov dword [rsp + 0x54], ecx
cmp byte [rbx + 0x11], 0
je 0x18006d106
sub dword [rbx + 0x14], 1
jne 0x18006d106
mov rcx, rbx
call fcn.18004fe90
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
mov rax, qword [rdi + 0x2f8]
xor r11d, r11d
mov qword [r15 + 0x58], rax
mov rax, qword [rdi + 0x300]
mov qword [r15 + 0x60], rax
jmp 0x18006d12e
mov r12, rax
test r13d, r13d
jne 0x18006ccff
cmp word [r12 + 2], 0
je 0x18006d160
mov eax, dword [r12 + 0xc]
cmp dword [rbp - 0x50], eax
jne 0x180071884
mov rcx, qword [r14 + 0x18]
mov eax, dword [r12 + 0x10]
cmp dword [rcx + 4], eax
jne 0x180071884
movzx r9d, byte [rsp + 0x40]
mov r10, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
jmp 0x18006a3a5
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov edi, dword [rax + 0xc]
mov rax, qword [rsp + 0x58]
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
mov rsi, qword [rbx + 8]
je 0x18006d1b3
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18006d1b3
mov rcx, rbx
call fcn.18004fec0
cmp edi, 0xf
jne 0x18006d1c6
mov rax, qword [rsi]
mov edi, dword [rbx + 0x1c]
add edi, dword [rax + 0x84]
jmp 0x18006d1dd
lea eax, [rdi*4 + 0x24]
movsxd rdx, eax
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x50]
mov edi, dword [rdx + rcx]
bswap edi
cmp byte [rbx + 0x11], 0
je 0x18006d1f1
sub dword [rbx + 0x14], 1
jne 0x18006d1f1
mov rcx, rbx
call fcn.18004fe90
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], ax
je 0x18006d239
call fcn.180069c80
mov r10, qword [rsp + 0x60]
mov rcx, rax
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
movsxd rax, edi
mov rdi, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x18006a3a5
mov r10, qword [rsp + 0x60]
mov eax, 4
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
mov word [rcx + 0x14], ax
movsxd rax, edi
mov rdi, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x18006a3a5
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [rdi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.18005c030
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, dword [r12 + 8]
cmp eax, 1
jne 0x18006d2c2
movzx eax, word [r12 + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, rdi
or dword [rdi + 0x2c], 1
mov edx, dword [r12 + 4]
call fcn.18009fb80
jmp 0x18006d2d4
cmp eax, 2
jne 0x18006d2d4
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x18006d30f
mov rax, qword [rdi + 8]
test rax, rax
je 0x18006d307
nop word [rax + rax]
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18006d2f0
and dword [r15 + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x180071967
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
movsxd rcx, dword [r12 + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x18006a1d7.112
mov eax, dword [r12 + 8]
cmp dword [rdx + 0x44], eax
jne case.0x18006a1d7.112
mov rbx, qword [rdx + 0x30]
lea r14, [rdx + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.180038ac0
xor ecx, ecx
mov qword [rbx + 0x18], rcx
mov byte [rbx], 1
jmp 0x18006d4cc
mov eax, dword [r15 + 0xc8]
and al, 3
cmp al, 1
je 0x1800718f0
mov rax, qword [rsp + 0x48]
mov esi, r11d
mov r13, r11
movsxd r14, dword [rax + 0xc]
mov r12d, dword [rax + 8]
mov rax, r14
shl rax, 5
add rax, qword [rdi + 0x20]
cmp bl, 0x71
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rax + 8]
jne 0x18006d3d1
mov rax, qword [rax + 0x18]
movzx r15d, word [rbx + 2]
and r15d, 8
or r15d, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rbp - 0x80]
cmp cl, byte [rax + 0xc5]
jae 0x18006d3d4
mov byte [rax + 0xc5], cl
jmp 0x18006d3d4
mov r15d, r11d
test byte [rbx + 2], 0x10
je 0x18006d3f4
imul rbx, r12, 0x38
mov rax, r12
add rbx, r10
mov rcx, rbx
call fcn.18005f0b0
mov r12d, dword [rbx]
mov rbx, qword [rsp + 0x48]
movzx eax, byte [rbx + 1]
cmp al, 0xf8
jne 0x18006d407
mov r13, qword [rbx + 0x10]
movzx esi, word [r13 + 8]
jmp 0x18006d40e
cmp al, 0xfd
jne 0x18006d40e
mov esi, dword [rbx + 0x10]
mov edx, dword [rbx + 4]
xor r9d, r9d
mov rcx, qword [rbp - 0x80]
mov r8d, esi
call fcn.180069800
mov rbx, rax
test rax, rax
je 0x18006c3d7
mov byte [rax + 1], r14b
lea r14, [rax + 0x30]
mov byte [rax + 2], 1
or dword [rax + 8], 4
mov dword [rax + 0x44], r12d
cmp byte [rdi + 0x11], 0
mov rsi, qword [r14]
je 0x18006d48a
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x18006d45a
mov rcx, rdi
call fcn.18004fec0
mov r9, r13
mov qword [rsp + 0x20], rsi
mov r8d, r15d
mov edx, r12d
mov rcx, rdi
call fcn.180054910
cmp byte [rdi + 0x11], 0
mov dword [rsp + 0x54], eax
je 0x18006d4a4
sub dword [rdi + 0x14], 1
jne 0x18006d4a4
mov rcx, rdi
call fcn.18004fe90
jmp 0x18006d4a4
mov r9, r13
mov qword [rsp + 0x20], rsi
mov r8d, r15d
mov edx, r12d
mov rcx, rdi
call fcn.180054910
mov dword [rsp + 0x54], eax
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
mov qword [rbx + 0x38], r13
cmp byte [r12 + 1], 0xf8
mov r13d, dword [rsp + 0x54]
setne al
mov byte [rbx + 4], al
movzx ecx, byte [r12 + 2]
mov rax, qword [r14]
and cl, 3
mov byte [rax + 3], cl
test r13d, r13d
jne 0x18006ccff
jmp 0x18006afe3
mov rbx, qword [rsp + 0x48]
xor r9d, r9d
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rbx + 8]
mov edx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
mov rcx, r15
movsx r8d, word [rdi + 0x48]
call fcn.180069800
mov rbx, rax
test rax, rax
je 0x180071a3e
mov byte [rax + 2], 1
or dword [rax + 8], 1
mov rcx, qword [rdi + 0x38]
mov qword [rax + 0x38], rcx
movzx ecx, byte [rdi + 4]
mov byte [rax + 4], cl
mov ecx, dword [rdi + 0x44]
mov dword [rax + 0x44], ecx
mov eax, dword [rax + 8]
xor eax, dword [rdi + 8]
and eax, 4
xor dword [rbx + 8], eax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
or dword [rbx + 8], 8
or dword [rdi + 8], 8
mov rdi, qword [rbx + 0x30]
mov rsi, qword [rbx + 0x38]
mov r14d, dword [rbx + 0x44]
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x11], 0
je 0x18006d5c4
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18006d579
mov rcx, rbx
call fcn.18004fec0
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.180054910
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x18006c382
sub dword [rbx + 0x14], 1
jne 0x18006c382
mov rcx, rbx
call fcn.18004fe90
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
jmp 0x18006afe3
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.180054910
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
jmp 0x18006afe3
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x18006d61d
imul rcx, rax, 0x38
mov dword [rcx + r10 + 0x10], r11d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x1801a91a0]
mov qword [rcx + r10 + 8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rdx*8]
test rdi, rdi
je 0x18006d661
test byte [rdi + 8], 8
jne 0x18006d661
movsx eax, word [rdi + 0x48]
cmp dword [r13 + 8], eax
jg 0x18006d661
mov qword [rdi + 0x18], r11
xor r8d, r8d
mov dword [rdi + 0x20], r11d
mov edx, dword [rdi + 0x44]
mov rcx, qword [rdi + 0x10]
call fcn.18005bc70
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x18006d8c2
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r15
call fcn.180069800
mov rdi, rax
test rax, rax
je 0x180071a3e
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r13 + 2]
xor edx, edx
mov rax, qword [rsp + 0x58]
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov r8, rax
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax]
call fcn.180052180
mov r13d, eax
test eax, eax
jne 0x18006ccfa
mov rcx, qword [rdi + 0x10]
cmp byte [rcx + 0x11], al
jne 0x18006d6f4
cmp byte [rcx + 0x10], 2
jb 0x18006d6f4
mov rax, qword [rcx]
mov edx, dword [rax + 0x2f0]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
cmp edx, dword [rcx + 0x80]
jle 0x18006d6e9
cmp byte [rcx + 0xa], r13b
je 0x18006d6e9
call fcn.18004bfe0
jmp 0x18006d700
xor ecx, ecx
mov r13d, ecx
mov dword [rsp + 0x54], ecx
jmp 0x18006d707
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.180053390
mov dword [rsp + 0x54], eax
mov r13d, eax
test r13d, r13d
jne 0x18006d893
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + 0x10]
mov qword [rdi + 0x38], r15
test r15, r15
je 0x18006d80b
mov rbx, qword [rdi + 0x10]
movzx esi, word [rax + 2]
or esi, 2
cmp byte [rbx + 0x11], r13b
je 0x18006d748
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], r13b
jne 0x18006d748
mov rcx, rbx
call fcn.18004fec0
mov r8d, esi
lea rdx, [rdi + 0x44]
mov rcx, rbx
call fcn.18005b640
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x18006d772
sub dword [rbx + 0x14], 1
jne 0x18006d772
mov rcx, rbx
call fcn.18004fe90
test r13d, r13d
jne 0x18006d800
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x30]
mov r14d, dword [rdi + 0x44]
cmp byte [rbx + 0x11], r13b
je 0x18006d7e0
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], r13b
jne 0x18006d79e
mov rcx, rbx
call fcn.18004fec0
mov r9, r15
mov qword [rsp + 0x20], rsi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.180054910
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x18006d800
sub dword [rbx + 0x14], 1
jne 0x18006d800
mov rcx, rbx
call fcn.18004fe90
mov r14, qword [rsp + 0x78]
mov byte [rdi + 4], 0
jmp 0x18006d88a
mov r9, r15
mov qword [rsp + 0x20], rsi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.180054910
mov r13d, eax
mov dword [rsp + 0x54], eax
mov r14, qword [rsp + 0x78]
mov byte [rdi + 4], 0
jmp 0x18006d88a
mov r15d, 1
mov dword [rdi + 0x44], r15d
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x30]
cmp byte [rbx + 0x11], 0
je 0x18006d868
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18006d834
mov rcx, rbx
call fcn.18004fec0
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov edx, r15d
mov rcx, rbx
lea r8d, [r9 + 4]
call fcn.180054910
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x18006d886
sub dword [rbx + 0x14], r15d
jne 0x18006d886
mov rcx, rbx
call fcn.18004fe90
jmp 0x18006d886
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov edx, r15d
mov rcx, rbx
lea r8d, [r9 + 4]
call fcn.180054910
mov r13d, eax
mov dword [rsp + 0x54], eax
mov byte [rdi + 4], r15b
mov rsi, qword [rsp + 0x70]
mov r15, qword [rbp - 0x80]
xor eax, eax
mov ecx, eax
mov rax, qword [rsp + 0x48]
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rdi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rdi + 8], ecx
test r13d, r13d
je 0x18006d8cb
mov rcx, qword [rdi + 0x10]
call fcn.180052a20
test r13d, r13d
jne 0x18006ccfa
mov byte [rdi + 2], 1
mov rdi, qword [rsp + 0x58]
jmp 0x18006a9e3
mov r13, qword [rsp + 0x48]
mov r9b, 1
mov rcx, r15
mov r8d, dword [r13 + 8]
mov edx, dword [r13 + 4]
call fcn.180069800
test rax, rax
je 0x18006c3e5
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, rdi
mov edx, dword [r13 + 0xc]
call fcn.180073880
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
mov edx, 1
test rcx, rcx
je 0x18006dc94
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov rax, qword [rsp + 0x48]
mov r9b, 3
mov rcx, r15
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.180069800
test rax, rax
je 0x18006c3e5
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov byte [rax + 2], 1
mov ecx, dword [r12 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x1801ff7c8]
mov byte [rax + 4], 1
mov qword [rax + 0x30], rcx
jmp 0x18006a3a5
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x18006da1e
test byte [rdx + 8], 0x10
je 0x18006d9e5
mov rcx, r15
call fcn.180062f00
jmp 0x18006da1b
movzx ecx, byte [rdx]
test ecx, ecx
je 0x18006da12
sub ecx, 1
je 0x18006da08
cmp ecx, 1
jne 0x18006da1e
mov rcx, qword [rdx + 0x30]
mov rax, qword [rcx]
mov rdx, qword [rax]
dec dword [rax + 8]
call qword [rdx + 0x38]
jmp 0x18006da1b
mov rcx, qword [r15]
call fcn.180074140
jmp 0x18006da1b
mov rcx, qword [rdx + 0x30]
call fcn.1800549f0
xor r11d, r11d
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov qword [rax + rcx*8], r11
jmp 0x18006a3a0
mov rax, qword [r15 + 0x78]
mov r12d, r11d
mov rdi, qword [rsp + 0x48]
movsxd rcx, dword [rdi + 4]
mov r15, qword [rax + rcx*8]
mov word [r15 + 2], 0
mov dword [r15 + 0x20], r11d
cmp byte [r15 + 4], 0
je 0x18006db6f
movsxd rax, dword [rdi + 0xc]
imul rdi, rax, 0x38
add rdi, r10
movzx esi, word [rdi + 0x14]
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x18006da91
xor edx, edx
mov rcx, rdi
call fcn.180069a50
mov rcx, rdi
call fcn.18005ef90
movzx ecx, word [rdi + 0x14]
mov r14, rax
mov word [rdi + 0x14], si
test cl, 0x24
jne 0x18006db3a
test cl, 8
jne 0x18006db14
test cl, 1
jne 0x18006dc82
cmp ebx, 0x17
jae 0x18006dc82
mov rcx, qword [r15 + 0x30]
cmp byte [rcx], 0
jne 0x18006daf7
test byte [rcx + 1], 8
je 0x18006daf7
xor eax, eax
mov dword [rbp - 0x74], eax
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rdi, qword [rsp + 0x48]
test r12d, r12d
lea rax, [rdi + 0x18]
cmove rax, rdi
mov r12, rax
jmp 0x18006afde
lea rdx, [rbp - 0x74]
call fcn.1800555d0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180071caf
jmp 0x18006dc78
movsd xmm1, qword [rdi]
mov rcx, r14
call fcn.180065100
test eax, eax
jle 0x18006db31
test bl, 1
lea eax, [rbx - 1]
cmovne eax, ebx
mov ebx, eax
jmp 0x18006db3a
jns 0x18006db3a
test bl, 1
je 0x18006db3a
inc ebx
mov rcx, qword [r15 + 0x30]
lea r9, [rbp - 0x74]
xor r8d, r8d
mov rdx, r14
call fcn.180055630
mov rsi, qword [rsp + 0x70]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov qword [r15 + 0x50], r14
test eax, eax
jne 0x180071cda
mov r14, qword [rsp + 0x78]
jmp 0x18006dbfa
mov rax, qword [r15 + 0x30]
lea r8, [rbp - 0x74]
mov rdx, qword [rsp + 0x48]
movzx edi, byte [rax + 3]
mov ecx, dword [rdx + 0x10]
and dil, 2
mov rax, qword [r15 + 0x38]
mov qword [rbp + 0x178], rax
setne r12b
mov word [rbp + 0x194], cx
lea eax, [rbx - 1]
test al, 1
mov ecx, 0xffffffff
mov eax, 1
cmovne eax, ecx
mov byte [rbp + 0x196], al
movsxd rax, dword [rdx + 0xc]
lea rdx, [rbp + 0x178]
imul rcx, rax, 0x38
mov byte [rbp + 0x19a], 0
add rcx, r10
mov qword [rbp + 0x180], rcx
mov rcx, qword [r15 + 0x30]
call fcn.180055930
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180071cda
test dil, dil
je 0x18006dbfa
cmp byte [rbp + 0x19a], al
je 0x18006dc78
mov eax, dword [rbp - 0x74]
cmp ebx, 0x17
jl 0x18006dc5f
test eax, eax
js 0x18006dc17
jne 0x18006dc0d
cmp ebx, 0x18
je 0x18006dc17
xor eax, eax
mov dword [rbp - 0x74], eax
jmp 0x18006dadf
mov rcx, qword [r15 + 0x30]
xor ebx, ebx
mov dword [rbp - 0x74], ebx
call fcn.1800560a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18006dadf
mov rdi, qword [rsp + 0x58]
cmp eax, 0x65
jne 0x180071cc2
xor r11d, r11d
mov edx, 1
mov r13d, r11d
mov dword [rsp + 0x54], r11d
mov dword [rbp - 0x74], edx
mov r12, qword [rsp + 0x48]
jmp 0x18006dddb
test eax, eax
jg 0x18006dc9e
jne 0x18006dc6a
cmp ebx, 0x15
je 0x18006dc9e
mov rax, qword [r15 + 0x30]
xor ecx, ecx
cmp byte [rax], cl
setne cl
mov dword [rbp - 0x74], ecx
cmp dword [rbp - 0x74], 0
je 0x18006dadf
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
xor r11d, r11d
mov edx, 1
mov rdi, qword [rsp + 0x58]
jmp 0x18006dddb
mov rcx, qword [r15 + 0x30]
xor ebx, ebx
mov dword [rbp - 0x74], ebx
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], bx
cmp byte [rcx], bl
jne 0x18006dcdb
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x18006dcdb
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], bl
je 0x18006dcdb
dec dx
mov dword [rsp + 0x54], ebx
mov word [rcx + 0x56], dx
mov r13d, ebx
jmp 0x18006dadf
call fcn.1800560e0
jmp 0x18006dc25
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], 0
jne 0x18006b137
mov rax, qword [rdi + 0x38]
mov rcx, r12
mov qword [rbp + 0x208], rax
mov byte [rbp + 0x226], 0
mov dword [rbp - 0x34], r11d
movzx eax, word [rcx + 0x28]
mov ebx, dword [rcx + 4]
mov word [rbp + 0x224], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x210], rcx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsp + 0x58]
lea r9, [rbp - 0x34]
lea r8, [rbp + 0x208]
mov rdx, rdi
call fcn.180066110
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180071962
mov eax, dword [rbp - 0x34]
test eax, eax
jle 0x18006dd88
cmp word [r12 + 2], r13w
je 0x18006ddc3
test eax, eax
jns 0x18006dc8c
test ebx, ebx
jle 0x180071278
xor eax, eax
dec ebx
mov dword [rdi + 0x20], eax
mov rcx, qword [rdi + 0x30]
call fcn.1800560a0
mov r13d, eax
test eax, eax
je 0x18006dd50
cmp eax, 0x65
jne 0x180071962
xor r11d, r11d
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x18006ddc6
xor r11d, r11d
add qword [rsp + 0x48], 0x18
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov edx, 1
mov eax, dword [r12 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
jmp 0x18006a3f6
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [r12 + 8]
jge 0x18006de21
movzx eax, word [r12 + 8]
mov word [rdx + 0xc], ax
jmp 0x18006a3a5
cmp eax, dword [r12 + 0xc]
jle 0x18006a3a5
movzx eax, word [r12 + 0xc]
mov word [rdx + 0xc], ax
jmp 0x18006a3a5
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x18006a1d7.9
cmp byte [rdx + 2], 0
jne case.0x18006a1d7.9
mov r12, qword [rsp + 0x48]
jmp 0x18006a3a5
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jge case.0x18006a1d7.89
mov rax, qword [r15 + 0x78]
mov r13, qword [rsp + 0x48]
movsxd rcx, dword [r13 + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x120], rcx
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x134], ax
test ax, ax
je 0x18006def4
mov rax, qword [rsi + 0x38]
lea rdi, [rsi + 0x24]
mov qword [rbp + 0x118], rax
lea rdx, [rbp + 0x118]
mov byte [rbp + 0x136], 0
mov r8, rdi
mov rcx, qword [rsi + 0x30]
call fcn.180055930
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x18006df66
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x18006df0c
call fcn.18005ec10
test eax, eax
jne 0x18006c3e0
mov rcx, qword [rsi + 0x38]
call fcn.180064bf0
mov rbx, rax
test rax, rax
je 0x18006c3e0
mov rcx, qword [rbp + 0x120]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rsi + 0x38]
call fcn.180064c50
mov byte [rbx + 0x1e], 0
lea rdi, [rsi + 0x24]
mov rcx, qword [rsi + 0x30]
mov r8, rdi
mov rdx, rbx
call fcn.180055930
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.180038ba0
test r13d, r13d
jne 0x18006ccf5
xor r11d, r11d
mov edx, 1
cmp dword [rdi], r11d
mov ecx, r11d
mov rdi, qword [rsp + 0x48]
mov eax, edx
sete cl
sub al, cl
mov byte [rsi + 2], al
mov byte [rsi + 3], r11b
mov dword [rsi + 0x20], r11d
movzx r8d, byte [rdi]
cmp r8b, 0x1d
jne 0x18006dfb5
test ecx, ecx
jne 0x180070c0e
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
jmp 0x18006a3f6
test ecx, ecx
je 0x180070c0e
cmp r8b, 0x1b
jne 0x18006dffa
movzx edx, word [rbp + 0x134]
mov rcx, r11
test rdx, rdx
je 0x18006dff5
mov rax, qword [rbp + 0x120]
add rax, 0x14
nop dword [rax]
test byte [rax], 1
jne 0x180070c2a
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x18006dfe0
mov edx, 1
mov r12, qword [rsp + 0x48]
cmp r8b, 0x1a
mov r8d, dword [rsp + 0x50]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jne 0x18007125f
movzx eax, word [rdi + 0x10]
add r12, 0x18
mov rdi, qword [rsp + 0x58]
mov r15, qword [rbp - 0x80]
mov word [rsi + 0xc], ax
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x14], 0x24
jne case.0x18006a1d7.31
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x1d0], xmm0
movups xmm2, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x1e0], xmm2
movups xmm0, xmmword [rcx + 0x20]
movq rax, xmm2
movups xmmword [rbp + 0x1f0], xmm0
shr rax, 0x20
movsd xmm1, qword [rcx + 0x30]
movsd qword [rbp + 0x200], xmm1
test al, 4
jne 0x18006e0b2
test al, 0x28
jne 0x18006e0a1
test al, 2
je 0x18006e0b2
lea rcx, [rbp + 0x1d0]
call fcn.180069a50
xor r11d, r11d
jmp 0x18006e0ad
lea rcx, [rbp + 0x1d0]
call fcn.18005f020
mov edx, 1
test byte [rbp + 0x1e4], 4
je 0x18006dc55
mov rdi, qword [rbp + 0x1d0]
jmp 0x18006e0d9
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r10]
mov rax, qword [rsp + 0x48]
lea r9, [rbp - 0x30]
xor r8d, r8d
mov dword [rbp - 0x30], r11d
mov rdx, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.180055630
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov qword [rbx + 0x50], rdi
mov r13d, eax
mov word [rbx + 2], 0
mov dword [rsp + 0x54], eax
mov eax, dword [rbp - 0x30]
mov dword [rbx + 0x20], r11d
mov dword [rbx + 0x24], eax
test eax, eax
je 0x18006e147
cmp dword [r12 + 8], r11d
jne 0x18006dc8f
mov ecx, 0x17bb3
call fcn.1800e9860
mov r13d, eax
mov dword [rsp + 0x54], eax
xor r11d, r11d
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x18006ccff
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18006a3a0
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x18006e191
mov rcx, rdx
call fcn.180069c80
mov rdx, rax
xor r11d, r11d
jmp 0x18006e19a
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [r15 + 0x78]
mov r12, rbx
movsxd rcx, dword [rbx + 4]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x18006a3a0
mov rax, qword [rsp + 0x48]
mov rbx, r11
mov qword [rbp - 0x68], rbx
mov dword [rbp - 0x78], r11d
movsxd rax, dword [rax + 8]
imul r14, rax, 0x38
mov eax, 0x9000
add r14, qword [r15 + 0x68]
test word [r14 + 0x14], ax
je 0x18006e208
mov rcx, r14
call fcn.180069c80
mov r14, rax
xor r11d, r11d
jmp 0x18006e212
mov eax, 4
mov word [r14 + 0x14], ax
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x18006e299
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], 0
jne 0x18006e271
test byte [rcx + 1], 8
je 0x18006e271
mov dword [rbp - 0x78], r11d
mov r13d, r11d
mov dword [rsp + 0x54], r11d
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.180054b00
mov rbx, qword [rbx + 0x30]
movabs r12, 0x7fffffffffffffff
mov qword [rbp - 0x68], rbx
cmp rbx, r12
jl 0x18006e2e8
or dword [rsi + 8], 2
jmp 0x18006e2a3
lea rdx, [rbp - 0x78]
call fcn.1800555d0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x180071779
cmp dword [rbp - 0x78], eax
je 0x18006e244
mov eax, 1
mov ebx, eax
mov qword [rbp - 0x68], rax
movabs r12, 0x7fffffffffffffff
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x18006e321
mov rcx, qword [r15 + 0x108]
test rcx, rcx
je 0x18006e2f1
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
je 0x18006e2de
nop word [rax + rax]
mov rcx, qword [rax]
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
jne 0x18006e2d0
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x18006e2fa
inc rbx
mov qword [rbp - 0x68], rbx
jmp 0x18006e2a3
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.18005f0b0
mov rax, qword [rdi]
cmp rax, r12
je 0x18006e384
test byte [rsi + 8], 2
jne 0x18006e384
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x68], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x18006e38f
xor eax, eax
mov edi, eax
nop dword [rax + rax]
lea rdx, [rbp - 0x68]
mov ecx, 8
call fcn.18003bc60
mov rbx, qword [rbp - 0x68]
lea r9, [rbp - 0x78]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
and rbx, rax
xor r8d, r8d
inc rbx
mov rdx, rbx
mov qword [rbp - 0x68], rbx
call fcn.180055630
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccf5
cmp dword [rbp - 0x78], eax
jne 0x18006e38f
inc edi
cmp edi, 0x64
jl 0x18006e330
mov r13d, recv
jmp 0x18006ccf5
mov byte [rsi + 3], 0
xor r11d, r11d
mov dword [rsi + 0x20], r11d
mov qword [r14], rbx
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
jmp 0x18006d160
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r10
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfb
mov r8, qword [rcx + r10]
mov qword [rbp + 0x1a8], r8
jne 0x18006e403
cmp qword [rdi + 0x140], 0
je 0x18006e403
mov rax, qword [rdi + 0x20]
movsx rcx, byte [rbx + 1]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x18006e409
mov rdi, r11
mov rsi, r11
test byte [r13 + 2], 1
je 0x18006e424
inc qword [r15 + 0x38]
test byte [r13 + 2], 0x20
je 0x18006e424
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0x1b0], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x1c4], eax
test r8b, 0x10
je 0x18006e449
mov r9d, dword [rbx + 0x24]
jmp 0x18006e44c
mov r9d, r11d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x18006e461
mov eax, dword [rdx]
mov dword [rbp + 0x1c8], eax
jmp 0x18006e468
mov dword [rbp + 0x1c8], r11d
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0x1a0]
and r8d, 0x8a
mov qword [rbp + 0x1a0], r11
call fcn.18005a6c0
inc dword [rbp - 0x5c]
xor r11d, r11d
mov byte [rbx + 3], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov dword [rbx + 0x20], r11d
test eax, eax
jne 0x18006ccf5
test rdi, rdi
je 0x18006e39d
mov rax, qword [rsp + 0x48]
mov edx, reloc.WS2_32.dll_select
mov r9, qword [rdi]
mov r8, rsi
mov rdi, qword [rsp + 0x58]
test byte [rax + 2], 4
mov eax, reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov rcx, qword [rdi + 0x138]
cmovne edx, eax
mov rax, qword [rbp + 0x1a8]
mov qword [rsp + 0x20], rax
call qword [rdi + 0x140]
jmp 0x18006a9e3
mov r13, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x78]
movsxd rax, dword [r13 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r13 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r13 + 0xc]
test eax, eax
je 0x18006e516
imul rcx, rax, 0x38
mov r8, qword [rcx + r10]
jmp 0x18006e519
mov r8, r11
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.18005ac70
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
jmp 0x18006a9e3
mov r13, qword [rsp + 0x48]
mov rbx, qword [rbp - 0x80]
mov r12, qword [rsp + 0x58]
cmp byte [r13 + 1], 0xfb
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbx + 0x78]
mov r15d, dword [r13 + 8]
mov rdi, qword [rax + rcx*8]
jne 0x18006e5a7
cmp qword [r12 + 0x140], 0
je 0x18006e5a7
movsx rcx, byte [rdi + 1]
mov rax, qword [r12 + 0x20]
mov rsi, qword [r13 + 0x10]
shl rcx, 5
test byte [r13 + 2], 2
mov r14, qword [rcx + rax]
je 0x18006e5ad
cmp byte [rdi + 4], 0
je 0x18006e5ad
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.180054b00
mov rax, qword [rbx + 0x30]
mov rbx, qword [rbp - 0x80]
mov qword [rdi + 0x50], rax
jmp 0x18006e5ad
mov r14, r11
mov rsi, r11
movzx edx, byte [r13 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.18005b130
inc dword [rbp - 0x5c]
xor r11d, r11d
mov dword [rsp + 0x54], eax
mov r13d, eax
mov qword [rdi + 0x20], r11
test eax, eax
jne 0x180071caf
test r15b, 1
je 0x18006e39d
inc qword [rbx + 0x38]
mov r10, qword [r12 + 0x140]
test r10, r10
je 0x18006e39d
test rsi, rsi
je 0x18006e39d
test byte [rsi + 0x30], 0x80
jne 0x18006e39d
mov rax, qword [rdi + 0x50]
lea edx, [r13 + 9]
mov rdi, qword [rsp + 0x58]
mov r8, r14
mov r9, qword [rsi]
mov qword [rsp + 0x20], rax
mov rcx, qword [rdi + 0x138]
call r10
mov r12, qword [rsp + 0x48]
jmp 0x18006afe3
mov rax, qword [r15 + 0x38]
mov rsi, qword [rsp + 0x70]
mov qword [rdi + 0x78], rax
add qword [rdi + 0x80], rax
mov qword [r15 + 0x38], r11
add r12, 0x18
mov r15, qword [rbp - 0x80]
jmp 0x18006a19e
mov r13, qword [rsp + 0x48]
lea r9, [rbp - 0x2c]
mov rax, qword [r15 + 0x78]
mov dword [rbp - 0x2c], r11d
movsxd rcx, dword [r13 + 4]
mov r8d, dword [r13 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
add rdx, r10
call fcn.1800760d0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
mov r12, qword [rsp + 0x48]
xor r11d, r11d
cmp dword [rbp - 0x2c], r11d
mov edx, 1
jne 0x18006dc94
mov r10, qword [rsp + 0x60]
add r12, 0x18
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r10
mov rcx, qword [rax + rcx*8]
call fcn.180076000
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
mov rax, qword [rsp + 0x48]
xor r11d, r11d
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r11d
jmp 0x18006a3a0
mov rdi, qword [rsp + 0x48]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x18006e752
mov rcx, rbx
call fcn.180069c80
mov rbx, rax
jmp 0x18006e75b
mov eax, 4
mov word [rbx + 0x14], ax
movsxd rcx, dword [rdi + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.180054b00
mov rax, qword [rsp + 0x58]
mov edx, dword [rdi + 0x40]
cmp edx, dword [rax + 0x88]
ja 0x18007192f
mov r8, rbx
mov rcx, rdi
call fcn.18005fa70
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccfa
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 0xc], eax
jne 0x180071278
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x180071278
mov rcx, rbx
call fcn.18005ebb0
mov rdi, qword [rsp + 0x58]
test eax, eax
jne 0x18006c3e5
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r15 + 0x68]
test word [rdi + 0x14], ax
je 0x18006e81d
mov rcx, rdi
call fcn.180069c80
xor r11d, r11d
mov rdi, rax
lea edx, [r11 + 1]
jmp 0x18006e826
mov eax, 4
mov word [rdi + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x18006e868
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
add r12, 0x18
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
mov word [rdi + 0x14], dx
mov rdi, qword [rsp + 0x58]
jmp 0x18006a19e
cmp byte [rbx + 3], 0
je 0x18006e883
mov rax, qword [rbx + 0x50]
mov qword [rbp - 0x10], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x18006a9e3
cmp byte [rbx], 2
jne 0x18006e8c5
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp - 0x10]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r15
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.180066350
test r13d, r13d
jne 0x18006ccfa
mov rax, qword [rbp - 0x10]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x18006a9e3
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x18006e8ea
mov rcx, rbx
call fcn.180064950
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccfa
xor r11d, r11d
jmp 0x18006e8f2
mov r13d, r11d
mov dword [rsp + 0x54], r11d
cmp byte [rbx + 2], 0
je 0x18006e92d
mov r12, qword [rsp + 0x48]
mov edx, 1
mov r10, qword [rsp + 0x60]
add r12, 0x18
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
mov word [rdi + 0x14], dx
mov rdi, qword [rsp + 0x58]
jmp 0x18006a19e
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.180054b00
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x10], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x18006e996
mov r9b, 3
lea r8d, [rax + 1]
mov rcx, r15
call fcn.180069800
test rax, rax
je 0x18006c3e5
xor r11d, r11d
lea rcx, [0x1801ff7c8]
mov dword [rax + 0x24], r11d
mov byte [rax + 4], 1
or dword [rax + 8], 8
mov qword [rax + 0x30], rcx
mov byte [rax + 2], 1
mov dword [rax + 0x20], r11d
cmp byte [rax], 0
jne 0x18006e3a2
mov rbx, qword [rax + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.180038ac0
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rbx + 0x18], r11
mov byte [rbx], 1
jmp 0x18006a3a0
mov rax, qword [rsp + 0x48]
mov dword [rbp - 0x28], r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x18006ea01
or rax, 0xffffffffffffffff
mov dword [rdi + 0x24], eax
cmp byte [rcx], 0
je 0x1800712c5
cmp byte [rcx], 0
jne 0x18006ea19
test byte [rcx + 1], 8
je 0x18006ea19
mov eax, r11d
mov dword [rsp + 0x54], r11d
mov r13d, r11d
jmp 0x18006ea33
lea rdx, [rbp - 0x28]
call fcn.1800555d0
xor r11d, r11d
mov dword [rsp + 0x54], eax
mov r13d, eax
mov eax, dword [rbp - 0x28]
lea edx, [r11 + 1]
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], r11d
test r13d, r13d
jne 0x18006ccfa
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 8], r13d
jle 0x18007126e
test eax, eax
jne 0x18006dc94
mov rdi, qword [rsp + 0x58]
add r12, 0x18
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.180055310
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006eac7
xor eax, eax
mov rcx, rbx
mov r12d, eax
mov dword [rbp - 0x38], eax
call fcn.180055500
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x18006eae8
cmp eax, 0x10
jne 0x18006eae4
mov edx, 1
xor r11d, r11d
mov r12d, edx
mov dword [rbp - 0x38], edx
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x18006eaf0
mov r12d, dword [rbp - 0x38]
mov edx, 1
xor r11d, r11d
test r13d, r13d
jne 0x18006ccff
test r12d, r12d
jne 0x180070c1b
cmp byte [rbx], r12b
jne 0x18006e3a2
mov rax, qword [rbx + 0x88]
cmp byte [rax + 8], r12b
je 0x18006e3a2
movsx r9d, byte [rbx + 0x54]
xor dl, dl
movzx r8d, word [rax + 0x18]
test r9d, r9d
jle 0x18006eb4d
nop dword [rax]
movzx eax, dl
inc dl
mov rcx, qword [rbx + rax*8 + 0x90]
movzx eax, word [rcx + 0x18]
imul r8, rax
movzx eax, dl
cmp eax, r9d
jl 0x18006eb30
test r8, r8
js 0x18006e3a2
mov rcx, r8
call fcn.18003f0d0
mov r12, qword [rsp + 0x48]
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x18006d160
mov edx, 1
mov dword [rbp - 0x38], edx
jmp 0x18006dddb
inc dword [r15 + 0xdc]
mov rax, qword [rsp + 0x48]
mov r14d, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov r15, qword [rax + rcx*8]
cmp byte [r15], 1
jne 0x18006ec5a
mov rsi, qword [r15 + 0x30]
mov dword [rsp + 0x54], r11d
cmp byte [rsi + 0x58], 0
jne 0x18006ebea
cmp qword [rsi + 0x38], 0
lea rdx, [rsi + 0x38]
je 0x18006ebda
lea rcx, [rsi + 0x60]
mov r14d, r11d
call fcn.180074430
mov rsi, qword [rsp + 0x70]
xor r11d, r11d
mov dword [rsp + 0x54], eax
jmp 0x18006ec8b
mov rsi, qword [rsp + 0x70]
mov r14d, 1
jmp 0x18006ec8b
mov rcx, rsi
call fcn.180074b20
movzx ebx, byte [rsi + 0x5b]
mov r12d, eax
sub ebx, 1
mov dword [rsp + 0x54], eax
js 0x18006ec32
movsxd rax, ebx
lea rdi, [rsi + 0x60]
imul rcx, rax, 0x68
add rdi, rcx
mov rcx, rdi
call fcn.180073c20
test r12d, r12d
cmove r12d, eax
sub rdi, 0x68
sub ebx, 1
jns 0x18006ec10
mov rdi, qword [rsp + 0x58]
mov dword [rsp + 0x54], r12d
test r12d, r12d
jne 0x18006ec50
mov rcx, rsi
call fcn.180075c80
mov rsi, qword [rsp + 0x70]
xor r11d, r11d
mov r14d, r11d
mov dword [rsp + 0x54], eax
jmp 0x18006ec8b
mov rsi, qword [rsp + 0x70]
xor r11d, r11d
jmp 0x18006ec8b
mov rbx, qword [r15 + 0x30]
mov rcx, rbx
call fcn.180055310
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x18006ecba
xor eax, eax
mov rcx, rbx
mov r14d, eax
call fcn.180055500
mov dword [rsp + 0x54], eax
xor r11d, r11d
mov byte [r15 + 3], 0
mov dword [r15 + 0x20], r11d
mov r13d, dword [rsp + 0x54]
test r13d, r13d
jne 0x180071cdf
mov r12, qword [rsp + 0x48]
mov byte [r15 + 2], r14b
cmp dword [r12 + 8], r13d
jle 0x18006d160
test r14d, r14d
mov r14, qword [rsp + 0x78]
jmp 0x18006e69f
cmp eax, 0x10
jne 0x18006ec7f
xor r11d, r11d
lea r14d, [rax - 0xf]
mov dword [rsp + 0x54], r11d
jmp 0x18006ec82
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rdi
mov rdx, rbx
call fcn.180075f50
jmp 0x18006ed21
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.180056210
jmp 0x18006ed21
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.1800560a0
mov r13d, eax
mov dword [rsp + 0x54], eax
xor r11d, r11d
mov dword [rbx + 0x20], r11d
test eax, eax
jne 0x18006ed4d
mov rax, qword [rsp + 0x48]
mov byte [rbx + 2], r11b
movzx eax, word [rax + 2]
inc dword [r15 + rax*4 + 0xd4]
jmp case.0x18006a1d7.9
cmp r13d, 0x65
jne 0x18006ccff
mov r13d, r11d
mov dword [rsp + 0x54], r11d
mov byte [rbx + 2], 1
jmp 0x18006f7e5
mov r13, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r10
test byte [r13 + 2], 1
je 0x18006ed8f
inc qword [r15 + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x18006edba
mov rcx, rbx
call fcn.18005ec10
mov r13d, eax
test eax, eax
jne 0x18006ccfa
mov r13, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0x288], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x280], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r10
mov word [rbp + 0x2a0], ax
mov qword [rbp + 0x298], rcx
test r8b, 0x10
je 0x18006edff
mov r9d, dword [rdi + 0x24]
jmp 0x18006ee02
mov r9d, r11d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x280]
and r8d, 0x8a
call fcn.18005a6c0
xor r11d, r11d
mov dword [rsp + 0x54], eax
mov dword [rdi + 0x20], r11d
mov r13d, eax
mov rdi, qword [rsp + 0x58]
test eax, eax
jne 0x18006ccff
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18006a3a0
mov rbx, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r10
test word [rbx + 0x14], ax
je 0x18006ee83
mov rcx, rbx
call fcn.18005ec10
mov r13d, eax
test eax, eax
jne 0x18006ccfa
mov rdx, rbx
mov rcx, rdi
call fcn.180074c60
mov rdi, qword [rsp + 0x58]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x18006ccff
jmp 0x18006a9e3
mov rax, qword [r15 + 0x78]
lea r8, [rbp - 0x18]
mov r13, qword [rsp + 0x48]
lea rdx, [rbp + 0x230]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov qword [rbp + 0x230], rax
movzx eax, word [r13 + 0xc]
mov word [rbp + 0x24c], ax
mov byte [rbp + 0x24e], 0
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x238], rcx
mov rcx, rbx
call fcn.180055930
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccfa
cmp dword [rbp - 0x18], eax
jne 0x18006ef4d
mov dl, 4
mov rcx, rbx
call fcn.18005b130
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccfa
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rdi + 0x20], r11
mov rdi, qword [rsp + 0x58]
jmp 0x18006a3a0
mov r12, qword [rsp + 0x48]
cmp word [r12 + 2], 0
je 0x18006ef72
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x180071934
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov qword [rdi + 0x20], r11
mov rdi, qword [rsp + 0x58]
jmp 0x18006a3a0
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x18006efc7
mov rcx, rbx
call fcn.180064950
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
xor r11d, r11d
lea edx, [rax + 1]
jmp 0x18006efcf
mov r13d, r11d
mov dword [rsp + 0x54], r11d
cmp byte [rbx + 2], 0
jne 0x18006f08d
mov rdx, qword [rbx + 0x30]
lea r8, [rbp - 0x48]
mov rcx, rdi
mov qword [rbp - 0x48], r11
call fcn.180065f00
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x8d
jne 0x18006f04d
movsxd rcx, dword [rax + 0xc]
xor r11d, r11d
mov rax, qword [r15 + 0x78]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x48]
mov word [rdx + 2], 0x100
mov qword [rdx + 0x50], rax
mov rax, qword [rsp + 0x48]
mov dword [rdx + 0x20], r11d
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x18006a3a0
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], ax
je 0x18006f078
call fcn.180069c80
mov rcx, rax
mov rax, qword [rbp - 0x48]
mov qword [rcx], rax
jmp 0x18006a9e3
mov eax, 4
mov word [rcx + 0x14], ax
mov rax, qword [rbp - 0x48]
mov qword [rcx], rax
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x18006f0b7
call fcn.18005ee50
jmp 0x18006a9e3
mov r12, qword [rsp + 0x48]
mov word [rcx + 0x14], dx
jmp 0x18006a3fb
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x18006aae9
call fcn.1800648e0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
jmp 0x18006a9e3
mov r13, qword [rsp + 0x48]
cmp bl, 0x2a
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x258], rax
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x274], ax
sbb al, al
mov byte [rbp + 0x276], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x260], rcx
mov rcx, rbx
call fcn.180054b00
mov ecx, dword [rbx + 0x40]
test rcx, rcx
jle 0x18007196f
cmp rcx, 0x7fffffff
jg 0x18007196f
xor r9d, r9d
mov qword [rbp + 0x158], rdi
mov word [rbp + 0x154], r9w
mov r13d, r9d
mov dword [rbp + 0x160], r9d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov dword [rsp + 0x54], r9d
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x18006f1a6
test r8d, r8d
mov edx, r8d
cmovs edx, r9d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0x148], rax
cmp ecx, edx
ja 0x18006f1c9
mov edx, 0x4010
mov dword [rbp + 0x150], ecx
mov word [rbp + 0x154], dx
jmp 0x18006f1f9
mov r8d, ecx
lea r9, [rbp + 0x140]
mov rcx, rbx
xor edx, edx
call fcn.18005f950
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
mov ecx, dword [rbp + 0x150]
mov rax, qword [rbp + 0x148]
xor r9d, r9d
lea r8, [rbp + 0x258]
mov rdx, rax
call fcn.180065390
cmp dword [rbp + 0x160], 0
mov ebx, eax
je 0x18006f222
lea rcx, [rbp + 0x140]
call fcn.18005ee90
mov r12, qword [rsp + 0x48]
test byte [r12], 1
jne 0x18006f232
neg ebx
jmp 0x18006f234
inc ebx
xor r11d, r11d
lea edx, [r11 + 1]
test ebx, ebx
jg 0x18006dc94
jmp 0x18006a3f6
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r15 + 0x68]
test word [rdi + 0x14], ax
je 0x18006f27c
mov rcx, rdi
call fcn.180069c80
xor r11d, r11d
mov rdi, rax
lea edx, [r11 + 1]
lea r12d, [r11 + 4]
jmp 0x18006f287
mov r12d, 4
mov word [rdi + 0x14], r12w
mov rcx, qword [rsp + 0x58]
mov word [rdi + 0x14], dx
mov eax, dword [rcx + 0xe8]
inc eax
cmp dword [rcx + 0xdc], eax
jg 0x180071981
movsxd r15, dword [r13 + 0xc]
mov rax, qword [rcx + 0x20]
mov r14, r15
mov esi, dword [r13 + 4]
shl r14, 5
mov dword [rbp - 0x24], r11d
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x18006f2d7
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18006f2d7
mov rcx, rbx
call fcn.18004fec0
lea r8, [rbp - 0x24]
mov edx, esi
mov rcx, rbx
call fcn.18005bd50
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x18006f300
sub dword [rbx + 0x14], 1
jne 0x18006f300
mov rcx, rbx
call fcn.18004fe90
movsxd rdx, dword [rbp - 0x24]
mov word [rdi + 0x14], r12w
mov qword [rdi], rdx
test r13d, r13d
jne 0x180071caf
mov rdi, qword [rsp + 0x58]
test edx, edx
je 0x18007123d
mov rax, qword [rsp + 0x48]
mov r9, qword [rdi + 0x20]
mov r8d, dword [rax + 4]
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x18006f355
nop dword [rax]
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], edx
jne 0x18006f34d
mov dword [rax + 0x28], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18006f340
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x18006f378
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x18006f370
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18006f363
mov r12, qword [rsp + 0x48]
lea eax, [r15 + 1]
mov byte [rbp - 0x70], al
jmp 0x18006afe3
mov r13, qword [rsp + 0x48]
lea r8, [rbp - 8]
mov qword [rbp - 8], r11
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [r13 + 8]
mov edx, dword [r13 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18005bc70
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov r10, qword [rsp + 0x60]
mov dword [rsp + 0x54], eax
cmp dword [r12 + 0xc], 0
je 0x18006f3e6
mov rax, qword [rbp - 8]
add qword [r15 + 0x38], rax
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x18006f3e6
imul rcx, rax, 0x38
mov rax, qword [rbp - 8]
add qword [rcx + r10], rax
test r13d, r13d
jne 0x18006ccff
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x18006f429
mov rdx, qword [rcx + 0x30]
mov rcx, rdi
call fcn.180073f10
jmp 0x18006a9e3
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.18005bc70
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
jmp 0x18006a9e3
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r15 + 0x68]
test word [rdi + 0x14], ax
je 0x18006f47c
mov rcx, rdi
call fcn.180069c80
mov rdi, rax
xor r11d, r11d
jmp 0x18006f485
mov eax, 4
mov word [rdi + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov rax, qword [rsp + 0x58]
mov esi, dword [rbx + 0xc]
shl rcx, 5
mov dword [rbp - 0x58], r11d
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x18006f4b9
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x18006f4b9
mov rcx, rbx
call fcn.18004fec0
mov r8d, esi
lea rdx, [rbp - 0x58]
mov rcx, rbx
call fcn.18005b640
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x18006f4e3
sub dword [rbx + 0x14], 1
jne 0x18006f4e3
mov rcx, rbx
call fcn.18004fe90
test r13d, r13d
jne 0x18006ccf5
mov eax, dword [rbp - 0x58]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
xor r9d, r9d
inc byte [rdi + 0x70]
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x20], r11
mov rdx, qword [rax + 0x10]
call fcn.1800a7410
dec byte [rdi + 0x70]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x18006ccff
jmp 0x18006a9e3
mov r13, qword [rsp + 0x48]
cmp qword [r13 + 0x10], 0
movsxd rbx, dword [r13 + 4]
jne 0x18006f589
mov rcx, qword [rdi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.180097ee0
and dword [rdi + 0x2c], 0xffffffef
lea r8, [r15 + 0xa8]
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, rdi
call fcn.1800ae060
or dword [rdi + 0x2c], 1
mov r13d, eax
and dword [r15 + 0xc8], 0xfffffffc
mov dword [rsp + 0x54], eax
jmp 0x18006f676
mov qword [rbp + 0x80], rdi
lea rax, [r15 + 0xa8]
mov qword [rbp + 0x88], rax
lea r9, str.sqlite_master
mov dword [rbp + 0x90], ebx
mov rdx, rbx
mov dword [rbp + 0x98], r11d
mov rax, qword [rdi + 0x20]
shl rdx, 5
mov rcx, qword [rax + rdx + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov dword [rbp + 0xa0], ecx
mov rcx, rdi
mov r8, qword [rdi + 0x20]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [r8 + rdx]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.18003b610
mov rbx, rax
test rax, rax
je 0x180071997
xor eax, eax
mov byte [rdi + 0xc5], 1
lea r9, [rbp + 0x80]
mov dword [rbp + 0x94], eax
lea r8, [fcn.1800ade00]
mov dword [rbp + 0x9c], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.1800a7410
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006f664
mov r13d, dword [rbp + 0x94]
mov dword [rsp + 0x54], r13d
test r13d, r13d
jne 0x18006f664
cmp dword [rbp + 0x9c], r13d
jne 0x18006f664
mov ecx, 0x181b1
call fcn.1800e9860
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rdx, rbx
mov rcx, rdi
call fcn.180038ba0
mov byte [rdi + 0xc5], 0
test r13d, r13d
jne 0x18007199d
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov edx, dword [rax + 4]
call fcn.18008ba50
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.18008ec50
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.18008e0f0
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800bf430
jmp 0x18006a9e3
mov r13, qword [rsp + 0x48]
lea r9, [rbp + 8]
mov qword [rsp + 0x30], r9
lea r9, [rbp - 0x14]
mov qword [rsp + 0x28], r9
movsxd rax, dword [r13 + 0xc]
mov r8, qword [r13 + 0x10]
mov r9d, dword [r13 + 8]
add r8, 4
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movzx eax, word [r13 + 2]
add rdi, r10
add rbx, r10
shl rax, 5
mov r10, qword [rsp + 0x58]
mov ecx, dword [rdi]
inc ecx
mov rdx, qword [r10 + 0x20]
mov dword [rsp + 0x20], ecx
mov rcx, r10
mov rdx, qword [rax + rdx + 8]
call fcn.18005cf00
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x18006f76f
mov rcx, rbx
call fcn.18005ee50
jmp 0x18006f778
mov eax, 1
mov word [rbx + 0x14], ax
mov eax, dword [rbp - 0x14]
test eax, eax
je 0x18006f7af
test r13d, r13d
jne 0x1800719c3
mov rdx, qword [rbp + 8]
dec eax
movsxd rcx, eax
mov r9b, 1
sub qword [rdi], rcx
lea rax, [fcn.180038ac0]
mov rcx, rbx
mov qword [rsp + 0x20], rax
or r8, 0xffffffffffffffff
call fcn.18005f6b0
test byte [rbx + 0x14], 2
movzx r9d, byte [rsp + 0x40]
mov ecx, r9d
jne 0x18006f7cd
mov byte [rbx + 0x16], cl
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
jmp 0x18006f7f0
movzx eax, byte [rbx + 0x16]
cmp eax, ecx
je 0x18006f7c1
movzx edx, cl
mov rcx, rbx
call fcn.18003c030
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov r10, qword [rsp + 0x60]
mov eax, dword [rdi + 0x198]
mov rsi, qword [rsp + 0x70]
test eax, eax
jne 0x180071c60
mov rbx, qword [rsp + 0x68]
cmp rsi, rbx
jb 0x18007124d
nop word [rax + rax]
mov rdx, qword [rdi + 0x210]
test rdx, rdx
je 0x180071242
mov eax, dword [rdi + 0x220]
mov rcx, qword [rdi + 0x218]
add rbx, rax
mov qword [rsp + 0x68], rbx
call rdx
test eax, eax
jne 0x180071a58
cmp rsi, rbx
jae 0x18006f820
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rsi, rax, 0x38
add rbx, r10
add rsi, r10
movzx eax, word [rbx + 0x14]
test al, 0x10
jne 0x18006f8d4
mov rdi, qword [rbx + 0x18]
mov ecx, 0x9000
test cx, ax
jne 0x18006f8a3
cmp dword [rbx + 0x20], 0
je 0x18006f8ab
mov rcx, rbx
call fcn.18005ee90
mov rcx, rdi
call fcn.180046a30
test rax, rax
je 0x180071c79
mov qword [rbx + 8], rax
mov eax, 0x1010
mov word [rbx + 0x14], ax
lea rax, [0x180046bb0]
mov qword [rbx + 0x30], rax
mov rbx, qword [rbx + 8]
mov rdi, qword [rsi]
mov rcx, rbx
call fcn.180046c40
xor r11d, r11d
test rax, rax
je 0x18006e39d
mov qword [rax], rdi
mov qword [rax + 8], r11
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x18006f92f
cmp rdi, qword [rcx]
jg 0x18006f90d
mov edx, 0xfffe
and word [rbx + 0x32], dx
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rcx + 8], rax
mov qword [rbx + 0x18], rax
jmp 0x18006a3a0
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
jmp 0x18006a3a0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r10
test byte [rdi + 0x14], 0x10
je 0x18006fa06
mov rbx, qword [rdi + 8]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x18006f997
test al, 1
jne 0x18006f992
mov rcx, qword [rbx + 0x10]
call fcn.180046d10
mov r10, qword [rsp + 0x60]
mov edx, 1
mov qword [rbx + 0x10], rax
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x18006fa06
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x18006f9bd
mov rcx, rbx
call fcn.180046af0
mov r10, qword [rsp + 0x60]
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x18006f9e5
mov rdx, rdi
call fcn.18005f450
jmp 0x18006f7e0
mov r12, qword [rsp + 0x48]
mov eax, 4
movzx r9d, byte [rsp + 0x40]
mov qword [rcx], rdi
mov rdi, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp 0x18006f7f5
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x18006fa1e
mov rcx, rdi
call fcn.18005ee50
jmp 0x180070e19
mov word [rdi + 0x14], dx
jmp 0x180070e19
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r14, rax, 0x38
add rbx, r10
add r14, r10
movzx eax, word [rbx + 0x14]
test al, 0x10
jne 0x18006fa92
mov rsi, qword [rbx + 0x18]
mov ecx, 0x9000
test cx, ax
jne 0x18006fa61
cmp dword [rbx + 0x20], 0
je 0x18006fa69
mov rcx, rbx
call fcn.18005ee90
mov rcx, rsi
call fcn.180046a30
test rax, rax
je 0x180071c79
mov qword [rbx + 8], rax
mov eax, 0x1010
mov word [rbx + 0x14], ax
lea rax, [0x180046bb0]
mov qword [rbx + 0x30], rax
test edi, edi
je 0x18006faae
mov r8, qword [r14]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.180047050
test eax, eax
jne 0x18006dc82
test edi, edi
js 0x18007155d
mov rbx, qword [rbx + 8]
mov rdi, qword [r14]
mov rcx, rbx
call fcn.180046c40
xor r11d, r11d
test rax, rax
je 0x18006e39d
mov qword [rax], rdi
mov qword [rax + 8], r11
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x18006fb04
cmp rdi, qword [rcx]
jg 0x18006faed
mov edx, 0xfffe
and word [rbx + 0x32], dx
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov qword [rcx + 8], rax
mov qword [rbx + 0x18], rax
jmp 0x18006d160
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
jmp 0x18006d160
mov rcx, qword [rsp + 0x48]
mov r12, qword [rbp - 0x80]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, r10
cmp word [rcx + 2], 0
je 0x18006fb63
mov rax, qword [r12 + 0x108]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x18006fb63
nop dword [rax + rax]
cmp qword [rax + 0x30], rcx
je 0x180071568
mov rax, qword [rax + 8]
test rax, rax
jne 0x18006fb50
mov eax, dword [rdi + 0xb0]
cmp dword [r12 + 0x118], eax
jge 0x1800719d1
test byte [r14 + 0x14], 0x10
jne 0x18006fcb4
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 0x18006fba8
add eax, 7
sar eax, 3
lea ebx, [rax + rcx*8]
mov rcx, qword [rsp + 0x58]
movsxd rdx, ebx
call fcn.180038f20
mov rsi, rax
test rax, rax
je 0x18006c3d7
mov eax, 0x9000
test word [r14 + 0x14], ax
jne 0x18006fbda
cmp dword [r14 + 0x20], 0
je 0x18006fbe2
mov rcx, r14
call fcn.18005ee90
mov rcx, qword [rsp + 0x48]
mov eax, 0x1010
sub rcx, qword [rsp + 0x78]
xor r11d, r11d
mov word [r14 + 0x14], ax
lea rax, [0x180062430]
mov qword [r14 + 8], rsi
mov dword [r14 + 0x10], ebx
mov qword [r14 + 0x30], rax
mov qword [rsi], r12
mov dword [rsi + 0x58], edi
mov eax, dword [r15 + 0x10]
mov rdi, qword [rsp + 0x58]
mov dword [rsi + 0x5c], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x4c], edx
mov rax, qword [r12 + 0x68]
mov qword [rsi + 0x18], rax
mov eax, dword [r12 + 0x24]
mov dword [rsi + 0x54], eax
mov rax, qword [r12 + 0x78]
mov qword [rsi + 0x20], rax
mov eax, dword [r12 + 0x28]
mov dword [rsi + 0x48], eax
mov rax, qword [r12 + 0x88]
mov qword [rsi + 0x10], rax
mov eax, dword [r12 + 0x90]
mov dword [rsi + 0x50], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x30], rax
movsxd rax, dword [rsi + 0x58]
add rax, 2
imul rcx, rax, 0x38
lea rax, [rsi + 0x70]
add rcx, rsi
cmp rax, rcx
je 0x18006fcb8
nop word [rax + rax]
mov word [rax + 0x14], r11w
mov qword [rax + 0x18], rdi
add rax, 0x38
cmp rax, rcx
jne 0x18006fca0
jmp 0x18006fcb8
mov rsi, qword [r14 + 8]
inc dword [r12 + 0x118]
lea rdx, [rsi + 0x70]
mov rax, qword [r12 + 0x108]
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x38]
mov qword [rsi + 0x38], rax
mov rax, qword [r12 + 0x38]
mov qword [rsi + 0x60], rax
mov rax, qword [r12]
mov qword [rsp + 0x60], rdx
mov rcx, qword [rax + 0x78]
mov qword [rsi + 0x68], rcx
mov rax, qword [r12 + 0x128]
mov qword [rsi + 0x40], rax
mov qword [r12 + 0x128], r11
mov qword [r12 + 0x38], r11
mov qword [r12 + 0x108], rsi
mov qword [r12 + 0x68], rdx
mov eax, dword [rsi + 0x58]
mov dword [r12 + 0x24], eax
movzx eax, word [rsi + 0x5c]
mov dword [r12 + 0x28], eax
movsxd rax, dword [r12 + 0x24]
imul rcx, rax, 0x38
add rdx, rcx
mov qword [r12 + 0x78], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rsi + 0x28], 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.1801530a0
mov r14, qword [r15]
mov qword [r12 + 0x88], r14
mov eax, dword [r15 + 8]
mov r15, qword [rbp - 0x80]
mov qword [rsp + 0x78], r14
mov dword [r15 + 0x90], eax
lea rax, [r14 - 0x18]
mov qword [rsp + 0x48], rax
mov r12, rax
jmp 0x18006f7ea
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
mov eax, 0x9000
add r9, qword [r15 + 0x68]
test word [r9 + 0x14], ax
je 0x18006fdba
mov rcx, r9
call fcn.180069c80
mov r9, rax
jmp 0x18006fdc4
mov eax, 4
mov word [r9 + 0x14], ax
mov r8, qword [r15 + 0x108]
movsxd rax, dword [r8 + 0x4c]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rcx, r9
mov rax, qword [rsp + 0x48]
add edx, dword [rax + 4]
movsxd rax, edx
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x18]
jmp 0x18006a9d8
mov eax, dword [rdi + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x48]
mov r12, rax
jae 0x18006fe25
movsxd rax, dword [rax + 8]
add qword [rdi + 0x300], rax
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x18006fe48
add qword [rdi + 0x2f8], rax
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
add qword [r15 + 0x50], rax
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
cmp dword [r12 + 4], 0
je 0x18006fe94
cmp qword [rdi + 0x2f8], 0
jne case.0x18006a1d7.89
cmp qword [rdi + 0x300], 0
je 0x18006dddb
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
cmp qword [r15 + 0x50], 0
jne case.0x18006a1d7.89
cmp qword [rdi + 0x300], 0
je 0x18006dddb
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov rcx, qword [r15 + 0x108]
test rcx, rcx
je 0x18006ff01
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
je 0x18006feee
nop word [rax + rax]
mov rcx, qword [rax]
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
jne 0x18006fee0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x18006ff11
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r10
mov rcx, rdi
call fcn.18005f0b0
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.18005f0b0
mov rax, qword [rbx]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
cmp qword [rdi], rax
jge 0x18007125f
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x18006a3a5
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r10]
test rdx, rdx
jle 0x18006a3a5
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r10], rdx
jmp 0x18006ddd6
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r10
imul rcx, rax, 0x38
add rdi, r10
mov eax, 0x9000
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], ax
je 0x18006ffd6
call fcn.180069c80
mov r10, qword [rsp + 0x60]
mov rcx, rax
xor r11d, r11d
jmp 0x18006ffdf
mov eax, 4
mov word [rcx + 0x14], ax
mov r8, qword [rbx]
test r8, r8
jle 0x180070022
mov rax, qword [rdi]
mov rdx, r11
test rax, rax
cmovg rdx, rax
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rdx
jl 0x180070022
mov rdi, qword [rsp + 0x58]
lea rax, [rdx + r8]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov qword [rcx], rax
jmp 0x18006a3a0
mov rdi, qword [rsp + 0x58]
or rax, 0xffffffffffffffff
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov qword [rcx], rax
jmp 0x18006a3a0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
test rax, rax
je 0x18006aae9
mov r12, qword [rsp + 0x48]
jle 0x18006dddb
dec rax
mov qword [rcx + r10], rax
jmp 0x18006dddb
mov rax, qword [rsp + 0x48]
movabs rbx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
cmp rax, rbx
jle 0x180070096
dec rax
mov qword [rcx + r10], rax
cmp qword [rcx + r10], 0
mov r12, qword [rsp + 0x48]
je 0x18006dddb
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.180038fb0
mov r8, rax
test rax, rax
je 0x180071a3e
xor r9d, r9d
add rdi, 6
mov qword [rax + 0x10], r9
lea rcx, [rax + rdi*8]
mov rdi, qword [rsp + 0x58]
mov r12d, 1
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
mov word [rcx + 0x14], r12w
mov qword [rcx + 0x18], rdi
mov dword [rcx + 0x20], r9d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx eax, byte [rsp + 0x40]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], r15
mov byte [r8 + 0x29], r9b
mov dword [r8 + 0x24], r9d
mov byte [r8 + 0x28], al
mov rax, qword [rsp + 0x48]
mov byte [r8 + 0x2a], bl
mov word [rax], 0xf1a3
mov qword [rax + 0x10], r8
jmp 0x180070171
mov rax, qword [rsp + 0x48]
mov r12d, 1
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
mov rsi, qword [rsp + 0x60]
imul r10, rax, 0x38
add r10, rsi
cmp qword [rbx + 0x10], r10
je 0x1800701d2
mov qword [rbx + 0x10], r10
movzx edx, byte [rbx + 0x2a]
sub edx, 1
movsxd r8, edx
js 0x1800701d2
mov rdi, qword [rsp + 0x48]
lea r9, [r8 + 6]
lea r9, [rbx + r9*8]
nop dword [rax + rax]
mov eax, dword [rdi + 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r9], rcx
sub r9, 8
sub r8, 1
jns 0x1800701b0
mov rdi, qword [rsp + 0x58]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
mov rax, qword [rsp + 0x48]
mov rcx, rbx
movzx edx, byte [rbx + 0x2a]
cmp dword [rax + 4], 0
mov rax, qword [rbx + 8]
je 0x1800701f5
call qword [rax + 0x30]
jmp 0x1800701f8
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1800712f0
jle 0x180070228
mov rcx, qword [rbx]
call fcn.180066980
mov r8, rax
lea rdx, [0x1801afdec]
mov rcx, r15
call fcn.180060320
mov r13d, dword [rbx + 0x24]
mov dword [rsp + 0x54], r13d
cmp byte [rbx + 0x29], 0
je 0x180070267
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x180070263
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x180070257
mov rdx, r12
call fcn.18005f450
jmp 0x180070263
mov eax, 4
mov qword [rcx], r12
mov word [rcx + 0x14], ax
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x18007027b
cmp dword [rcx + 0x20], 0
je 0x180070280
call fcn.18005ee90
mov rax, qword [rbx]
xor r11d, r11d
mov edx, 1
mov word [rax + 0x14], dx
mov dword [rbx + 0x24], r11d
test r13d, r13d
jne 0x180071779
mov r12, qword [rsp + 0x48]
mov r10, rsi
jmp 0x18006a3fb
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r10
test eax, eax
je 0x180070376
mov rsi, qword [rcx + 0x10]
imul rdi, rax, 0x38
xor eax, eax
mov qword [rbp + 0xa8], rax
add rdi, r10
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rax
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x180070318
mov rcx, rdi
call fcn.18005ee50
jmp 0x18007031c
mov word [rdi + 0x14], dx
mov qword [rbp + 0xa8], rdi
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xb0], rsi
mov rax, qword [rbx + 0x18]
movzx ecx, byte [rax + 0x64]
mov byte [rbp + 0xd0], cl
lea rcx, [rbp + 0xa8]
call qword [rsi + 0x28]
mov rax, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
mov r13d, dword [rbp + 0xcc]
mov rdi, qword [rsp + 0x58]
movsxd rax, dword [rax + 0xc]
mov rsi, qword [rsp + 0x70]
imul rbx, rax, 0x38
mov dword [rsp + 0x54], r13d
add rbx, r10
jmp 0x18007038e
mov rdx, qword [rcx + 0x10]
mov rcx, rbx
call fcn.18005ed40
mov r10, qword [rsp + 0x60]
mov r13d, eax
mov dword [rsp + 0x54], eax
test r13d, r13d
jne 0x1800719ec
test byte [rbx + 0x14], 2
movzx r9d, byte [rsp + 0x40]
mov ecx, r9d
jne 0x1800703bb
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
mov byte [rbx + 0x16], cl
jmp 0x18006a3a5
movzx eax, byte [rbx + 0x16]
cmp eax, ecx
je 0x1800712d9
movzx edx, cl
mov rcx, rbx
call fcn.18003c030
jmp 0x18006a9e3
or rax, 0xffffffffffffffff
mov dword [rbp + 0x2b0], r11d
mov dword [rbp + 0x2b8], eax
lea r9, [rbp + 0x2b4]
mov dword [rbp + 0x2b4], eax
mov rcx, rdi
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1800e8030
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18007043d
cmp eax, 5
jne 0x18006ccff
xor eax, eax
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 1
mov dword [rbp + 0x2b0], eax
mov rax, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
xor eax, eax
mov edi, eax
lea r14d, [rax + 4]
nop dword [rax]
movsxd rax, dword [rbp + rdi*4 + 0x2b0]
test word [rbx + 0x14], cx
je 0x180070480
mov rdx, rax
mov rcx, rbx
call fcn.18005f450
mov ecx, 0x9000
jmp 0x180070488
mov qword [rbx], rax
mov word [rbx + 0x14], r14w
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x180070460
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
jmp 0x18006afe3
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul r15, rax, 0x38
mov rax, qword [rbp - 0x80]
add r15, qword [rax + 0x68]
mov eax, 0x9000
test word [r15 + 0x14], ax
je 0x1800704d5
mov rcx, r15
call fcn.180069c80
mov r15, rax
xor r11d, r11d
jmp 0x1800704df
mov eax, 4
mov word [r15 + 0x14], ax
mov rax, qword [rdi + 0x20]
mov edx, dword [rbx + 0xc]
movsxd rcx, dword [rbx + 4]
shl rcx, 5
cmp edx, 0xffffffff
mov r14, qword [rcx + rax + 8]
mov rax, qword [r14 + 8]
mov rdi, qword [rax]
movzx esi, byte [rdi + 9]
cmove edx, esi
cmp byte [rdi + 0x15], 3
jb 0x180070515
mov eax, r11d
mov r8d, 1
jmp 0x18007053a
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x180070531
cmp qword [rdi + 0x60], 0
jle 0x180070531
mov eax, r11d
mov r8d, 1
jmp 0x18007053a
mov r8d, 1
mov eax, r8d
test eax, eax
mov ebx, esi
cmovne ebx, edx
cmp byte [rdi + 0x13], 0
jne 0x18007055c
lea rax, reloc.OLEAUT32.dll_SysReAllocString
cmp qword [rdi], rax
je 0x18007055c
mov rcx, qword [rdi + 0xd8]
jmp 0x180070563
lea rcx, [0x1801a2804]
or r12, 0xffffffffffffffff
cmp ebx, 5
jne 0x1800705b4
test rcx, rcx
je 0x180070609
mov rax, r12
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180070580
and eax, 0x3fffffff
je 0x180070609
cmp byte [rdi + 0x11], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x180070609
cmp byte [rdi + 8], 0
jne 0x1800705af
cmp dword [rcx], 2
jl 0x180070609
cmp qword [rcx + 0x68], 0
je 0x180070609
mov ebx, 5
cmp ebx, esi
je 0x18007063d
cmp esi, 5
je 0x1800705c6
cmp ebx, 5
jne 0x18007063d
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x65], 0
je 0x180071a0b
cmp dword [rax + 0xdc], 1
jg 0x180071a0b
cmp esi, 5
jne 0x18007060d
mov rdx, rax
mov rcx, rdi
call fcn.18004c850
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18007063d
mov edx, ebx
mov rcx, rdi
call fcn.18004c460
jmp 0x180070622
mov ebx, esi
jmp 0x18007063d
cmp esi, 4
jne 0x18007061d
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.18004c460
test r13d, r13d
jne 0x180070640
xor eax, eax
mov rcx, r14
mov edx, eax
cmp ebx, 5
sete dl
inc edx
call fcn.18005d760
mov r13d, eax
mov dword [rsp + 0x54], eax
test r13d, r13d
cmove esi, ebx
mov rcx, rdi
mov edx, esi
call fcn.18004c460
xor ebx, ebx
mov ecx, 0x2202
mov word [r15 + 0x14], cx
cmp eax, 6
jne 0x180070662
mov ecx, ebx
jmp 0x180070673
cdqe
lea rcx, [0x180000000]
mov rcx, qword [rcx + rax*8 + 0x1a31b0]
mov qword [r15 + 8], rcx
test rcx, rcx
jne 0x180070680
mov eax, ebx
jmp 0x180070691
mov rax, r12
inc rax
cmp byte [rcx + rax], 0
jne 0x180070683
and eax, 0x3fffffff
movzx r9d, byte [rsp + 0x40]
mov dword [r15 + 0x10], eax
mov eax, r9d
mov byte [r15 + 0x16], 1
test byte [r15 + 0x14], 2
jne 0x1800706b0
mov byte [r15 + 0x16], al
jmp 0x1800706c6
cmp eax, 1
je 0x1800706c6
movzx edx, al
mov rcx, r15
call fcn.18003c030
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
test r13d, r13d
je 0x18006ac46
mov r14, qword [rsp + 0x48]
mov eax, reloc.WS2_32.dll_inet_addr
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
jmp 0x18006cd10
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
test eax, eax
je 0x180070707
imul r9, rax, 0x38
add r9, r10
jmp 0x18007070a
mov r9, r11
mov r8d, dword [r13 + 4]
lea rcx, [r15 + 0xa8]
mov rdx, rdi
call fcn.1800c52e0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x18006ccff
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.180053f50
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18007123d
cmp eax, 0x65
jne 0x18006ccff
xor r11d, r11d
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x18006ddd1
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x1800707cd
mov ecx, dword [rax + 8]
mov rax, qword [rdi + 8]
test rax, rax
je 0x18006aae9
inc ecx
and ecx, 3
nop dword [rax]
nop dword [rax + rax]
and dword [rax + 0xc8], 0xfffffffc
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1800707a0
mov r12, qword [rsp + 0x48]
mov r15, qword [rbp - 0x80]
add r12, 0x18
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov eax, dword [rax + 8]
mov r12, qword [rsp + 0x48]
inc eax
xor eax, dword [r15 + 0xc8]
mov rsi, qword [rsp + 0x70]
and eax, 3
xor dword [r15 + 0xc8], eax
mov r15, qword [rbp - 0x80]
add r12, 0x18
jmp 0x18006a19e
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov r15, qword [rbp - 0x80]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
add r12, 0x18
jmp 0x18006a19e
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov r15, qword [rbp - 0x80]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
add r12, 0x18
jmp 0x18006a19e
movzx r8d, byte [r12 + 0xc]
test r8b, r8b
jne 0x180070879
movabs rax, 0x400000000
test qword [rdi + 0x30], rax
jne 0x18006a401
mov r13, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18005d5c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x18006a9e3
mov r14, qword [rsp + 0x48]
cmp al, 6
jne 0x18006cd04
mov r8, qword [r14 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r15
call fcn.180060320
jmp 0x18006cd04
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.1800c7330
mov dword [rsp + 0x54], eax
mov r13d, eax
test rbx, rbx
je 0x1800708f8
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.180066350
test r13d, r13d
jne 0x18006ccff
jmp 0x18006a9e3
xor eax, eax
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x48]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r10
call fcn.18005f610
mov rcx, qword [rbp + 0x5c]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x180070964
cmp byte [rbp + 0x5e], 1
jne 0x180070964
mov rax, qword [rbp + 0x50]
jmp 0x180070978
test cl, 1
jne 0x1800709a2
mov dl, 1
lea rcx, [rbp + 0x48]
call fcn.18005fad0
mov rcx, qword [rbp + 0x5c]
test rax, rax
je 0x1800709a2
mov r8, rax
lea r9, [r15 + 0xa8]
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov edx, dword [rax + 4]
call fcn.1800c6bf0
mov rcx, qword [rbp + 0x5c]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 0x9000
test ax, cx
jne 0x1800709b2
cmp dword [rbp + 0x68], 0
je 0x1800709bb
lea rcx, [rbp + 0x48]
call fcn.18005ee90
test r13d, r13d
jne 0x18006ccff
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
mov rcx, rdi
inc dword [rdi + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800c7030
dec dword [rdi + 0xe8]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x18006ccff
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x20], r11
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180071a4d
mov rdi, qword [rbx]
test rdi, rdi
je 0x180071a48
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r15
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.180066350
test r13d, r13d
jne 0x18006ccfa
mov rax, qword [rbp - 0x20]
mov r9b, 2
xor r8d, r8d
mov rcx, r15
mov qword [rax], rbx
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
call fcn.180069800
mov rcx, qword [rbp - 0x20]
test rax, rax
je 0x180071a3b
mov rdi, qword [rsp + 0x58]
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.1800e5630
test eax, eax
jne 0x18006c3e5
lea ecx, [rax + 0x10]
call fcn.180038990
mov rdi, rax
test rax, rax
je 0x180071a3e
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
add rdx, qword [rsp + 0x60]
mov qword [rdi + 8], rdx
movsxd rcx, dword [rax + 8]
mov eax, 0x9000
imul rbx, rcx, 0x38
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x180070af6
mov rcx, rbx
call fcn.180069c80
mov rbx, rax
jmp 0x180070aff
mov eax, 4
mov word [rbx + 0x14], ax
mov eax, 1
mov rcx, rbx
mov word [rbx + 0x14], ax
call fcn.18005ee90
lea rax, str.ValueList
mov qword [rbx], rax
mov eax, 0x1a01
mov qword [rbx + 8], rdi
mov rdi, qword [rsp + 0x58]
mov word [rbx + 0x14], ax
lea rax, [0x1800676d0]
mov byte [rbx + 0x17], reloc.WS2_32.dll_WSASetLastError
mov qword [rbx + 0x30], rax
jmp 0x18006a9e3
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov rax, qword [rbp - 0x80]
add r11, r10
mov edx, dword [rdx + r10]
mov rsi, qword [r13 + 0x30]
mov rdi, qword [rax + 0x70]
xor eax, eax
movsxd r9, dword [r11]
mov r8d, eax
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x180070ba9
mov r10d, 1
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 0x180070b90
mov rax, qword [rsp + 0x48]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov r15, qword [rbp - 0x80]
mov rcx, r15
mov dword [rsp + 0x54], eax
mov r12d, eax
call fcn.180066350
test r12d, r12d
jne 0x180071c91
mov rcx, rsi
call qword [r14 + 0x50]
mov r14, qword [rsp + 0x78]
xor r11d, r11d
mov byte [r13 + 2], r12b
mov r13d, r12d
mov r12, qword [rsp + 0x48]
lea edx, [r13 + 1]
test eax, eax
jne 0x18006dc94
mov rdi, qword [rsp + 0x58]
jmp 0x18006a3f6
mov r12, rdi
mov rdi, qword [rsp + 0x58]
jmp 0x18006dddb
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x18006dddb
mov r12, rdi
mov edx, 1
mov rdi, qword [rsp + 0x58]
jmp 0x18006dddb
mov rbx, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, r10
cmp byte [rdi + 2], 0
je 0x180070c9b
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x180070c7b
mov rcx, rbx
call fcn.18005ee50
mov rdi, qword [rsp + 0x58]
jmp 0x18006a9e3
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
add r12, 0x18
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
mov word [rbx + 0x14], dx
jmp 0x18006a19e
mov rax, qword [rdi + 0x30]
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
mov qword [rbp + 0x108], rax
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x110], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0xe0], rbx
mov byte [rbp + 0x108], r9b
test byte [rax + 2], 1
je 0x180070d25
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x180070d13
mov rcx, rbx
call fcn.18005ee50
mov rax, qword [rsp + 0x48]
mov ecx, 0x401
xor r11d, r11d
mov word [rbx + 0x14], cx
mov dword [rbx], r11d
jmp 0x180070d33
mov word [rbx + 0x14], dx
mov ecx, 0x401
mov word [rbx + 0x14], cx
mov dword [rbx], r11d
jmp 0x180070d33
mov ecx, 0xf241
and word [rbx + 0x14], cx
or word [rbx + 0x14], 1
mov r8d, dword [rax + 8]
lea rdx, [rbp + 0xe0]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r15
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.180066350
cmp dword [rbp + 0x104], 0
jle 0x180070d87
mov rcx, rbx
call fcn.180066980
mov r8, rax
lea rdx, [0x1801afdec]
mov rcx, r15
call fcn.180060320
mov r13d, dword [rbp + 0x104]
mov dword [rsp + 0x54], r13d
test byte [rbx + 0x14], 2
movzx r9d, byte [rsp + 0x40]
mov ecx, r9d
jne 0x180070d9b
mov byte [rbx + 0x16], cl
jmp 0x180070db4
movzx eax, byte [rbx + 0x16]
cmp eax, ecx
je 0x180070db4
movzx edx, cl
mov rcx, rbx
call fcn.18003c030
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x180071779
jmp 0x18006ac46
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x18006aae4
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r15
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.180066350
test r13d, r13d
jne 0x18006ccf5
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x18006f7e0
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r14 + rcx*8]
mov qword [rsp + 0x48], rax
mov r12, rax
jmp 0x18006f7ea
mov esi, dword [rdi + 0x30]
or qword [rdi + 0x30], 0x4000000
and esi, 0x4000000
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r10
test byte [rbx + 0x14], 2
jne 0x180070e74
mov byte [rbx + 0x16], 1
jmp 0x180070e8f
cmp byte [rbx + 0x16], 1
je 0x180070e8f
mov dl, 1
mov rcx, rbx
call fcn.18003c030
mov r13d, eax
test eax, eax
jne 0x18006ccf5
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x54], eax
mov r13d, eax
test esi, esi
jne 0x180070eb7
mov rax, qword [rsp + 0x58]
and qword [rax + 0x30], 0xfffffffffbffffff
mov rdx, rdi
mov rcx, r15
call fcn.180066350
and dword [r15 + 0xc8], 0xfffffffc
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x180071779
jmp 0x18006a9e3
mov qword [rbp], r11
cmp byte [rdi + 0x67], 0
jne 0x18006c3e5
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180071a4d
mov r10, qword [rbx]
test r10, r10
je 0x180071a4d
cmp qword [r10 + 0x68], 0
mov r12, qword [rsp + 0x48]
movsxd rdx, dword [r12 + 8]
je 0x180071584
movsxd rax, dword [r12 + 0xc]
movzx edi, byte [rdi + 0x6c]
mov r8, qword [r15 + 0x70]
imul rcx, rax, 0x38
mov rax, r11
add rcx, qword [rsp + 0x60]
test edx, edx
jle 0x180070f50
nop
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x180070f40
movzx eax, byte [r12 + 2]
lea r9, [rbp]
mov rsi, qword [rsp + 0x58]
mov rcx, rbx
mov byte [rsi + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [rsi + 0x6c], dil
mov rcx, r15
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.180066350
mov rax, r12
mov rdi, rsi
test r13d, r13d
jne 0x180070f9c
cmp dword [r12 + 4], r13d
je 0x180070f9c
mov rax, qword [rbp]
mov qword [rsi + 0x38], rax
mov rax, r12
cmp r13b, 0x13
jne 0x180070ff6
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x180070ff6
mov rax, r12
movzx eax, word [r12 + 2]
cmp ax, 4
jne 0x180070fd6
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x18006a3a0
cmp ax, 5
jne 0x180070fea
mov eax, 2
mov byte [r15 + 0xc4], al
jmp 0x180070ffa
movzx eax, ax
mov byte [r15 + 0xc4], al
jmp 0x180070ffa
inc qword [r15 + 0x38]
test r13d, r13d
jne 0x180071754
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x18006a3a5
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x180071047
mov rcx, rdx
call fcn.180069c80
mov rdx, rax
xor r11d, r11d
jmp 0x180071050
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov qword [rdx], rcx
jmp 0x18006a3a0
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [r15 + 0x68]
test word [rsi + 0x14], ax
je 0x1800710b1
mov rcx, rsi
call fcn.180069c80
mov rsi, rax
xor r11d, r11d
jmp 0x1800710ba
mov eax, 4
mov word [rsi + 0x14], ax
mov rax, qword [rdi + 0x20]
mov edi, r11d
movsxd rcx, dword [rbx + 4]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x1800710e6
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x1800710fd
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1800710fd
mov rcx, rbx
call fcn.18004fec0
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x18007110e
mov dword [rcx + 0xbc], edi
cmp byte [rbx + 0x11], 0
mov edi, dword [rcx + 0xbc]
je 0x180071128
sub dword [rbx + 0x14], 1
jne 0x180071128
mov rcx, rbx
call fcn.18004fe90
mov qword [rsi], rdi
mov rdi, qword [rsp + 0x58]
jmp 0x18006a9e3
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r10
mov qword [rbp - 0x40], rdi
cmp qword [rbx], rdi
je 0x1800711a1
mov qword [rbx + 0x18], r15
mov qword [rbx], rdi
mov byte [rbx + 0x28], r9b
movzx edx, byte [rbx + 0x2a]
sub edx, 1
movsxd r8, edx
js 0x1800711a1
mov rdi, qword [rsp + 0x48]
lea r9, [rbx + 0x30]
lea r9, [r9 + r8*8]
nop word [rax + rax]
mov eax, dword [rdi + 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, r10
mov qword [r9], rcx
sub r9, 8
sub r8, 1
jns 0x180071180
mov rdi, qword [rbp - 0x40]
mov eax, 0xf241
lea r8, [rbx + 0x30]
and word [rdi + 0x14], ax
mov rcx, rbx
or word [rdi + 0x14], 1
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x180071238
jle 0x1800711ed
mov rcx, rdi
call fcn.180066980
mov r8, rax
lea rdx, [0x1801afdec]
mov rcx, r15
call fcn.180060320
mov r13d, dword [rbx + 0x24]
mov dword [rsp + 0x54], r13d
mov rax, qword [rsp + 0x48]
lea rdx, [r15 + 0x128]
mov rdi, qword [rsp + 0x58]
mov r8d, dword [rbx + 0x20]
mov rcx, rdi
mov r9d, dword [rax + 4]
call fcn.180064440
xor r11d, r11d
mov dword [rbx + 0x24], r11d
test r13d, r13d
jne 0x18006ccff
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x18006a3a0
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
xor r11d, r11d
jmp 0x18006a3a5
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x78]
jmp 0x18006a3a5
mov rdi, qword [rsp + 0x58]
jmp 0x18006d160
mov rdi, qword [rsp + 0x58]
xor r11d, r11d
jmp 0x18006d160
mov rdi, qword [rsp + 0x58]
xor r11d, r11d
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
jmp 0x18006a3a5
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
jmp 0x18006a3a5
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
jmp 0x18006a3a5
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
jmp 0x18006a3a5
mov r12, qword [rsp + 0x48]
mov r10, rsi
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
jmp 0x18006a3a5
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r10 + 0x14], ax
add r12, 0x18
jmp 0x18006a19e
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r10
imul rbx, rax, 0x38
add rbx, r10
call fcn.180069cd0
mov ecx, dword [rbx + 0x10]
xor edx, edx
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + 8]
div r8
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x18006a9e3
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r10
imul rbx, rax, 0x38
add rbx, r10
call fcn.180069cd0
mov ecx, dword [rbx + 0x10]
xor edx, edx
mov r12, qword [rsp + 0x48]
shl ecx, 3
movsxd r8, ecx
div r8
mov rax, qword [rbx + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
mov edx, 1
movzx eax, al
bt r8d, eax
jb 0x1800713e7
inc dword [r15 + 0xf4]
xor r11d, r11d
jmp 0x18006dddb
inc dword [r15 + 0xf0]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
add r12, 0x18
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
movzx eax, byte [rdi + 0x6e]
test al, 0x41
je 0x1800714d2
cmp byte [r15 + 0xc5], 0xfe
je 0x1800714d2
mov r9, qword [r12 + 0x10]
test r9, r9
jne 0x180071447
mov r9, qword [r15 + 0xf8]
test r9, r9
je 0x1800714d2
test al, 0x40
je 0x180071473
mov rdx, r9
mov rcx, r15
call fcn.1800692d0
mov rcx, qword [rdi + 0x100]
mov rdx, rax
mov rbx, rax
call qword [rdi + 0xf8]
mov rcx, rbx
call fcn.180038ac0
jmp 0x1800714cb
cmp dword [rdi + 0xe4], 1
jle 0x1800714b6
mov r8, r9
lea rdx, str.____s
mov rcx, rdi
call fcn.18003b610
mov rdx, qword [rdi + 0x100]
mov r9, rax
mov r8, r15
mov ecx, 1
mov rbx, rax
call qword [rdi + 0xf8]
mov rdx, rbx
mov rcx, rdi
call fcn.180038c60
jmp 0x1800714cb
mov rdx, qword [rdi + 0x100]
mov r8, r15
mov ecx, 1
call qword [rdi + 0xf8]
xor r11d, r11d
lea edx, [r11 + 1]
mov eax, dword [0x1801f99d8]
cmp dword [r12 + 4], eax
jl 0x180071526
cmp byte [r12], 0xb5
je 0x18006a3f6
cmp dword [r15 + 0x90], 1
jle 0x180071521
mov eax, reloc.OLEAUT32.dll_SafeArrayGetElement
nop dword [rax]
mov rcx, qword [r15 + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x180071512
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [r15 + 0x90]
jl 0x180071500
mov dword [r12 + 4], r11d
inc dword [r12 + 4]
inc dword [r15 + 0xec]
jmp 0x18006ddd6
mov r12, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x54]
add r12, 0x18
mov r8d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
movzx r9d, byte [rsp + 0x40]
jmp 0x18006ac41
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
add r12, 0x18
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
jmp 0x18006a19e
mov r10, qword [rsp + 0x60]
jmp 0x18006a3a5
mov r13, qword [rsp + 0x48]
mov eax, dword [r13 + 4]
mov dword [r15 + 0x34], eax
movzx eax, byte [r13 + 8]
mov byte [r15 + 0xc4], al
cmp dword [r15 + 0x34], 0
je 0x18007165e
movzx eax, word [r13 + 2]
mov rcx, r15
test ax, ax
je 0x18007160a
movzx eax, ax
lea rdx, str._s_constraint_failed
dec eax
movsxd r8, eax
lea rax, [0x180000000]
mov r8, qword [rax + r8*8 + 0x1a1e50]
call fcn.180060320
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x18007161a
mov r8, qword [r15 + 0xa8]
lea rdx, str._z:__s
mov rcx, rdi
call fcn.18003b610
mov qword [r15 + 0xa8], rax
jmp 0x18007161a
mov r8, qword [r13 + 0x10]
lea rdx, [0x1801afdec]
call fcn.180060320
mov r9, qword [r15 + 0xf8]
mov rcx, r13
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r15 + 0xa8]
mov ecx, dword [r13 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.18003b8b0
mov rcx, r15
call fcn.180063ee0
mov r14, qword [rsp + 0x48]
mov r13d, eax
mov r12, qword [rsp + 0x68]
cmp eax, 5
jne 0x180071681
mov dword [r15 + 0x34], eax
jmp 0x180071ed7
cmp dword [r15 + 0x34], 0
mov r13d, 0x65
mov eax, 1
cmovne r13d, eax
jmp 0x180071ed7
mov r13d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r15 + 0x34], r13d
mov rcx, r15
mov byte [r15 + 0xc4], 2
call fcn.180060320
cmp byte [r15 + 0xc6], 0
mov eax, 1
cmovge r13d, eax
jmp 0x18006ccff
mov ecx, 0x172ef
call fcn.1800e9860
mov r13d, eax
jmp 0x18006ccfa
lea rdx, [0x180000000]
movsxd rax, esi
lea rcx, [rax + rax*2]
movzx eax, word [rbx + 0x14]
mov r9d, dword [r15 + rcx*8 + 8]
and eax, 0x3f
shr r9d, 4
and r9d, 0xf
dec r9d
movzx eax, byte [rax + rdx + 0x1a7d20]
dec eax
movsxd r8, eax
mov rax, qword [r15 + rcx*8]
mov r9, qword [rdx + r9*8 + 0x1f97f8]
mov r15, qword [rbp - 0x80]
mov r8, qword [rdx + r8*8 + 0x1a69c0]
mov rcx, r15
mov qword [rsp + 0x28], rax
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
call fcn.180060320
mov rdi, qword [rsp + 0x58]
mov r13d, 0xc13
mov rsi, qword [rsp + 0x70]
mov r14, r12
jmp 0x18006cd04
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.180060320
mov r13d, 5
mov rdi, rsi
mov rsi, qword [rsp + 0x70]
jmp 0x18006ccff
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.180060320
mov rsi, qword [rsp + 0x70]
mov r13d, 5
jmp 0x18006ccff
mov r14, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r12, qword [rsp + 0x68]
mov rcx, r14
sub rcx, qword [rsp + 0x78]
mov r13d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x30], edx
mov byte [rdi + 0x65], 0
mov dword [r15 + 0x34], r13d
jmp 0x180071ed2
mov r13d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r15 + 0x34], r13d
mov byte [r15 + 0xc4], 2
call fcn.180060320
cmp byte [r15 + 0xc6], 0
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
cmovge r13d, ebx
jmp 0x180071ed2
mov eax, dword [rdi + 0x30]
mov r13d, 8
mov r14, qword [rsp + 0x48]
bt rax, 0x14
mov eax, reloc.WS2_32.dll_inet_addr
cmovae r13d, eax
jmp 0x18006cd09
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
cmp r13b, 5
jne 0x1800719b9
mov rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x78]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x30], edx
mov dword [r15 + 0x34], r13d
jmp 0x180071ed7
mov rdx, qword [r15 + 0xa8]
mov rcx, rdi
call fcn.180038c60
lea rdx, str.database_schema_has_changed
mov rcx, rdi
call fcn.1800392b0
mov qword [r15 + 0xa8], rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [rdi + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x50]
cmp dword [rcx], eax
je 0x1800718d1
mov rcx, rdi
call fcn.18008e410
mov eax, dword [r15 + 0xc8]
mov r13d, SafeArrayLock
and eax, 0xffffffed
or eax, 1
mov dword [r15 + 0xc8], eax
jmp 0x18006ccff
mov r13d, 0x204
jmp 0x18006ccff
mov rdi, qword [rsp + 0x58]
mov r15, qword [rbp - 0x80]
mov rsi, qword [rsp + 0x70]
lea rdx, str.string_or_blob_too_big
mov rcx, r15
call fcn.180060320
mov r13d, reloc.WS2_32.dll_select
jmp 0x18006ccff
mov rdi, rax
jmp 0x180071900
mov rdi, qword [rsp + 0x58]
jmp 0x180071909
mov rdi, rax
jmp 0x180071909
lea rax, [0x1801b7384]
mov r13d, 0x30b
mov ecx, r13d
mov qword [rsp + 0x20], rax
mov r9d, 0x17fe8
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.18003b8b0
mov rdi, qword [rsp + 0x58]
mov r14, r12
jmp 0x18006cd04
mov ecx, 0x180b5
call fcn.1800e9860
mov r13d, eax
jmp 0x18006ccff
mov r13d, 6
mov byte [r15 + 0xc4], 2
mov rdi, rcx
jmp 0x18006ccff
mov r13d, 7
mov rcx, rdi
call fcn.18008e490
mov r12, qword [rsp + 0x68]
cmp r13d, 7
je 0x18006c3ea
mov r14, qword [rsp + 0x48]
mov eax, reloc.WS2_32.dll_inet_addr
jmp 0x18006cd0e
mov rcx, qword [rbp + 8]
call fcn.180038ac0
jmp 0x18006ccfa
mov r15, qword [rbp - 0x80]
mov r13d, edx
mov rcx, r15
lea rdx, str.too_many_levels_of_trigger_recursion
call fcn.180060320
jmp 0x18006ccff
mov rcx, rbx
call fcn.180066980
mov r8, rax
lea rdx, [0x1801afdec]
mov rcx, r15
call fcn.180060320
jmp 0x18006ccff
mov r15, qword [rbp - 0x80]
lea rax, str.into
mov r13d, r8d
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmp ebx, 5
lea r8, str.out_of
mov rcx, r15
cmove r8, rax
call fcn.180060320
jmp 0x18006ccf5
call qword [rdi + 0x38]
mov rdi, qword [rsp + 0x58]
jmp 0x18006c3e5
mov rdi, qword [rsp + 0x58]
mov r13d, 6
jmp 0x18006ccff
mov r14, qword [rsp + 0x48]
or r12, 0xffffffffffffffff
lea r13d, [r12 + 0xa]
lea eax, [r12 + 0xc]
jmp 0x18006cd0e
mov eax, dword [r15 + 0x2c]
mov r13, qword [rsp + 0x48]
add eax, 2
or eax, 1
mov dword [r15 + 0x2c], eax
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r10
mov qword [r15 + 0xa0], rcx
cmp byte [rdi + 0x67], 0
jne 0x18006c3e5
test byte [rdi + 0x6e], 4
je 0x180071abc
mov rdx, qword [rdi + 0x100]
xor r9d, r9d
mov r8, r15
lea ecx, [r9 + 4]
call qword [rdi + 0xf8]
mov r12, qword [rsp + 0x68]
mov rcx, r13
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
mov r14, qword [rsp + 0x48]
mov r13d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r15 + 0x30], edx
jmp 0x180071ed7
mov r13, qword [rsp + 0x48]
movzx eax, byte [rdi + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x180071c2c
test ecx, ecx
je 0x180071b2b
mov edx, 0x204
mov rcx, rdi
call fcn.1800e6d70
mov byte [rdi + 0x65], 1
jmp 0x180071bac
test ebx, ebx
je 0x180071b52
cmp dword [rdi + 0xe0], 0
jle 0x180071b52
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r15
call fcn.180060320
mov r13d, 5
jmp 0x18006ccff
mov rax, qword [r15]
mov rcx, qword [rax + 0x300]
add rcx, qword [rax + 0x2f8]
test rcx, rcx
jle 0x180071ba9
mov r13d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r15 + 0x34], r13d
mov rcx, r15
mov byte [r15 + 0xc4], 2
call fcn.180060320
cmp byte [r15 + 0xc6], 0
mov eax, 1
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
cmovge r13d, eax
jmp 0x180071ed7
mov byte [rdi + 0x65], bl
mov rcx, r15
call fcn.180063ee0
cmp eax, 5
jne 0x180071c01
mov r12, qword [rsp + 0x68]
mov rcx, r13
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
mov r14, qword [rsp + 0x48]
mov r13d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
mov dword [r15 + 0x30], edx
sub al, bl
mov byte [rdi + 0x65], al
mov dword [r15 + 0x34], r13d
jmp 0x180071ed7
mov rcx, rdi
call fcn.1800e6460
cmp dword [r15 + 0x34], 0
mov r13d, 0x65
mov r14, qword [rsp + 0x48]
mov eax, 1
mov r12, qword [rsp + 0x68]
cmovne r13d, eax
jmp 0x180071ed7
test ebx, ebx
jne 0x180071c39
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x180071c4d
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, r15
call fcn.180060320
mov r13d, 1
jmp 0x18006ccff
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
mov r13d, 9
lea eax, [r13 + 2]
jmp 0x18006cd0e
mov rdi, qword [rsp + 0x58]
jmp 0x18006c3e0
mov rdi, qword [rsp + 0x58]
mov r15, qword [rbp - 0x80]
jmp 0x18006c3e5
mov r13d, dword [rsp + 0x54]
jmp 0x18006ccf5
mov r13d, dword [rsp + 0x54]
mov rsi, qword [rsp + 0x70]
jmp 0x18006ccff
mov r13d, dword [rsp + 0x54]
mov r15, qword [rbp - 0x80]
jmp 0x18006ccf5
mov r13d, dword [rsp + 0x54]
jmp 0x18006ccfa
mov r14, qword [rsp + 0x48]
mov eax, reloc.WS2_32.dll_inet_addr
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x68]
jmp 0x18006cd10
mov rdi, qword [rsp + 0x58]
mov r15, qword [rbp - 0x80]
jmp 0x18006ccff
mov r14, rbx
jmp 0x18006cd04
cmp r13d, 0x210a
jne 0x180071d26
lea rcx, [0x1801b7384]
mov r9d, 0x18947
mov qword [rsp + 0x20], rcx
lea r8, str.database_corruption
mov ecx, eax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.18003b8b0
mov r13d, reloc.WS2_32.dll_inet_addr
cmp qword [r15 + 0xa8], 0
jne 0x180071d9f
cmp r13d, 0xc0a
je 0x180071d9f
mov ecx, r13d
lea r8, str.unknown_error
sub ecx, 0x64
je 0x180071d89
sub ecx, 1
je 0x180071d80
cmp ecx, 0x19f
je 0x180071d77
movzx eax, r13b
cmp eax, 0x1d
jae 0x180071d90
lea rcx, [0x180000000]
mov rcx, qword [rcx + rax*8 + 0x1a1900]
test rcx, rcx
je 0x180071d90
mov r8, rcx
jmp 0x180071d90
lea r8, str.abort_due_to_ROLLBACK
jmp 0x180071d90
lea r8, str.no_more_rows_available
jmp 0x180071d90
lea r8, str.another_row_available
lea rdx, [0x1801afdec]
mov rcx, r15
call fcn.180060320
mov dword [r15 + 0x34], r13d
cmp r13d, 0xc0a
je 0x180071dd7
movzx eax, r13b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x180071dd7
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x180071dd2
xor r8d, r8d
xor edx, edx
call rax
jmp 0x180071dd4
mov eax, ebx
mov dword [rdi + 0x5c], eax
mov r9, qword [r15 + 0xf8]
mov rcx, r14
sub rcx, qword [rsp + 0x78]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r15 + 0xa8]
mov ecx, r13d
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.18003b8b0
cmp byte [r15 + 0xc7], 2
jne 0x180071e2e
mov rcx, r15
call fcn.180063ee0
cmp r13d, 0xc0a
jne 0x180071e41
mov rcx, rdi
call fcn.180039510
jmp 0x180071e5b
cmp r13d, 0xb
jne 0x180071e5b
cmp byte [rdi + 0x65], 0
jne 0x180071e5b
movabs rax, 0x200000000
or qword [rdi + 0x30], rax
mov eax, 1
mov r13d, eax
movzx eax, byte [rbp - 0x70]
test al, al
je 0x180071ed7
movzx eax, al
sub eax, r13d
js 0x180071e99
movsxd rcx, eax
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
or word [rcx + 0x72], 8
mov rax, qword [rdi + 0x20]
mov rcx, qword [rax + 0x38]
or word [rcx + 0x72], 8
and dword [rdi + 0x2c], 0xffffffef
cmp dword [rdi + 0x48], 0
jne 0x180071ed7
mov rsi, qword [rsp + 0x58]
mov edi, ebx
cmp dword [rsi + 0x28], 0
jle 0x180071ecf
nop dword [rax]
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbx + rax + 0x18]
test byte [rcx + 0x72], 8
je 0x180071ec4
call fcn.180097ee0
inc edi
add rbx, 0x20
cmp edi, dword [rsi + 0x28]
jl 0x180071eb0
mov rdi, rsi
mov rsi, qword [rsp + 0x70]
cmp rsi, r12
jb 0x180071f11
mov rdx, qword [rdi + 0x210]
test rdx, rdx
je 0x180071f11
mov eax, dword [rdi + 0x220]
mov rcx, qword [rdi + 0x218]
add r12, rax
call rdx
test eax, eax
je 0x180071ed7
or r12, 0xffffffffffffffff
lea eax, [r12 + 0xc]
lea r13d, [r12 + 0xa]
jmp 0x18006cd0e
add dword [r15 + 0xe4], esi
cmp dword [r15 + 0xd0], 0
movaps xmm7, xmmword [rsp + 0x3d0]
movaps xmm6, xmmword [rsp + 0x3e0]
mov r14, qword [rsp + 0x3f0]
mov r12, qword [rsp + 0x3f8]
mov rdi, qword [rsp + 0x438]
mov rsi, qword [rsp + 0x430]
mov rbx, qword [rsp + 0x428]
je 0x180071f62
mov rcx, r15
call fcn.180062200
mov eax, r13d
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.180131f30
add rsp, 0x400
pop r15
pop r13
pop rbp
ret