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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x100
mov r14, qword [rcx]
mov rbx, r8
mov r13, rdx
mov qword [rsp + 0xa8], r14
mov r12, rcx
call fcn.18004a4ec
xor esi, esi
mov rdi, rax
cmp rax, rsi
je 0x18004706f
or dword [rax + 0x8c], 0x40
mov rax, qword [r12]
lea r15d, [rsi + 2]
mov dword [r12 + 0x54], r15d
cmp rbx, rsi
je 0x180043922
lea r9, [rsp + 0x70]
mov r8, rbx
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.1800353b4
mov r13, qword [rsp + 0x70]
mov ebx, eax
jmp 0x180043929
movzx ebx, byte [rax + 0x98]
cmp ebx, esi
mov dword [rsp + 0x8c], ebx
jl 0x18004706f
movsxd rax, ebx
mov ebp, 1
mov qword [rsp + 0xb0], rax
shl rax, 5
mov qword [rsp + 0x78], rax
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x40], rax
cmp ebx, ebp
jne 0x18004396e
mov rcx, r12
call fcn.180039620
cmp eax, esi
jne 0x18004706f
mov rdx, r13
mov rcx, r14
call fcn.18003526c
mov qword [rsp + 0xb8], rax
cmp rax, rsi
je 0x18004706f
mov rcx, r14
cmp dword [rsp + 0x160], esi
je 0x1800439ac
mov r8, qword [rsp + 0x158]
lea rdx, [0x180069884]
call fcn.180007168
jmp 0x1800439b9
mov rdx, qword [rsp + 0x158]
call fcn.18003526c
mov qword [rsp + 0xa0], rax
mov r13, rax
mov rax, qword [rsp + 0x150]
cmp dword [rax + 8], esi
jbe 0x1800439e1
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rax + rcx]
jmp 0x1800439e4
mov rax, rsi
mov r8, qword [rsp + 0xb8]
mov r9, r13
mov edx, 0x13
mov rcx, r12
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x20], rax
call fcn.180034634
cmp eax, esi
jne 0x180047054
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], rsi
lea r9, [rsp + 0xe0]
mov r8d, 0xe
mov rcx, r14
mov dword [r14 + 0x2a8], esi
call fcn.180062560
mov dword [rsp + 0xc0], eax
cmp eax, esi
jne 0x180043afa
mov r15, qword [rsp + 0xe0]
cmp r15, rsi
je 0x180047054
add dword [r12 + 0x54], ebp
mov ebx, dword [r12 + 0x54]
xor r8d, r8d
lea edx, [r8 + 0x61]
mov rcx, rdi
mov r9d, ebx
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, r15
mov rcx, rdi
mov edx, eax
call fcn.18001f128
mov edx, ebp
mov rcx, rdi
call fcn.1800200d0
lea r9, str.result
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov r9d, ebp
mov r8d, ebx
mov edx, 0x23
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rcx, qword [rsp + 0xe0]
call fcn.1800059e4
jmp 0x180047054
cmp eax, 0xc
je 0x180043b27
mov rcx, qword [rsp + 0xe0]
cmp rcx, rsi
je 0x180043b18
call fcn.1800059e4
mov eax, dword [rsp + 0xc0]
add dword [r12 + 0x4c], ebp
mov dword [r12 + 0x18], eax
jmp 0x180047054
mov r14, qword [rsp + 0xb8]
mov r10d, esi
mov r11d, 0x36
lea r13, [0x180000000]
lea eax, [r11 + r10]
mov rcx, r14
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov dword [rsp + 0x60], eax
add rdx, rdx
mov rdx, qword [r13 + rdx*8 + 0x65da0]
call fcn.180007bec
cmp eax, esi
mov eax, dword [rsp + 0x60]
je 0x180043b7b
jge 0x180043b72
lea r11d, [rax - 1]
jmp 0x180043b76
lea r10d, [rax + 1]
cmp r10d, r11d
jle 0x180043b3f
cmp r10d, r11d
mov r13, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xa8]
jg 0x180047054
movsxd rdx, eax
lea r9, [0x180000000]
shl rdx, 4
mov qword [rsp + 0x70], rdx
test byte [rdx + r9 + 0x65da9], bpl
je 0x180043bcd
mov rcx, r12
call fcn.18004778c
cmp eax, esi
jne 0x180047054
mov rdx, qword [rsp + 0x70]
lea r9, [0x180000000]
movzx ecx, byte [rdx + r9 + 0x65da8]
cmp ecx, 0x11
jg 0x180046192
je 0x1800453cb
cmp ecx, 9
jg 0x180044302
je 0x1800441a5
cmp ecx, esi
je 0x18004407f
sub ecx, ebp
je 0x180043f32
sub ecx, ebp
je 0x180043eb0
sub ecx, r15d
je 0x180043e63
sub ecx, ebp
je 0x180043e37
sub ecx, ebp
je 0x180043d75
sub ecx, ebp
je 0x180043ce1
cmp ecx, ebp
jne 0x18004684d
cmp r13, rsi
jne 0x180043c76
cmp qword [0x18006f588], rsi
je 0x180047054
mov edx, ebp
mov rcx, rdi
call fcn.1800200d0
lea r9, str.data_store_directory
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov rbx, qword [0x18006f588]
jmp 0x1800465c0
cmp byte [r13], sil
je 0x180043ca8
mov rax, qword [r14]
lea r9, [rsp + 0x140]
mov r8d, ebp
mov rcx, rax
mov rdx, r13
call qword [rax + 0x38]
cmp eax, esi
jne 0x180047054
cmp dword [rsp + 0x140], esi
je 0x180047054
mov rcx, qword [0x18006f588]
call fcn.1800059e4
cmp byte [r13], sil
je 0x180043cd5
lea rcx, [0x180068b24]
mov rdx, r13
call fcn.180007268
mov qword [0x18006f588], rax
jmp 0x180047054
mov qword [0x18006f588], rsi
jmp 0x180047054
mov edx, ebp
mov rcx, rdi
call fcn.1800200d0
lea r9, str.compile_option
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov dword [r12 + 0x54], ebp
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov rbx, rsi
cmp rbx, rsi
jl 0x180043d27
cmp rbx, r15
jge 0x180043d27
lea rax, [0x180000000]
mov r12, qword [rax + rbx*8 + 0x64bf0]
jmp 0x180043d2a
mov r12, rsi
add rbx, rbp
cmp r12, rsi
je 0x180047054
xor r8d, r8d
mov r9d, ebp
mov rcx, rdi
lea edx, [r8 + 0x61]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, r12
mov edx, eax
mov rcx, rdi
call fcn.18001f128
mov r9d, ebp
mov r8d, ebp
mov edx, 0x23
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
jmp 0x180043d0c
mov edx, r15d
mov rcx, rdi
call fcn.1800200d0
lea r9, [0x1800698d8]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov dword [r12 + 0x54], r15d
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.name
xor r8d, r8d
mov edx, ebp
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov r12, qword [r14 + 0x288]
cmp r12, rsi
je 0x180047054
mov r13d, esi
mov rbx, qword [r12 + 0x10]
mov r9d, ebp
mov r8d, r13d
mov edx, 0x19
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rbx, qword [rbx]
xor r8d, r8d
lea edx, [r8 + 0x61]
mov r9d, r15d
mov rcx, rdi
add r13d, ebp
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov rcx, rdi
mov edx, eax
call fcn.18001f128
mov r9d, r15d
mov r8d, ebp
mov edx, 0x23
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r12, qword [r12]
cmp r12, rsi
jne 0x180043dca
jmp 0x18004704c
cmp r13, rsi
je 0x180047054
xor r8d, r8d
mov edx, ebp
mov rcx, r13
call fcn.180043658
mov rcx, r14
cmp al, sil
setne sil
mov edx, esi
call fcn.18003d934
jmp 0x180047054
cmp r13, rsi
jne 0x180043e87
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
lea rdx, str.cache_size
mov rax, qword [rax + rcx + 0x18]
movsxd r8, dword [rax + 0x74]
jmp 0x180046265
mov rcx, r13
call fcn.180008524
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x40]
mov rcx, qword [r8 + r9 + 0x18]
mov dword [rcx + 0x74], eax
mov rax, qword [r8 + r9 + 0x18]
mov rcx, qword [r8 + r9 + 8]
jmp 0x1800453be
cmp r13, rsi
jne 0x180043ed5
mov eax, dword [rdx + r9 + 0x65dac]
mov rdx, qword [rdx + r9 + 0x65da0]
test dword [r14 + 0x2c], eax
setne sil
mov r8, rsi
jmp 0x180046265
mov ebx, dword [rdx + r9 + 0x65dac]
cmp byte [r14 + 0x4e], sil
jne 0x180043ee7
btr ebx, 0x13
xor r8d, r8d
mov edx, ebp
mov rcx, r13
call fcn.180043658
cmp al, sil
je 0x180043eff
or dword [r14 + 0x2c], ebx
jmp 0x180043f16
mov eax, ebx
not eax
and dword [r14 + 0x2c], eax
cmp ebx, 0x1000000
jne 0x180043f16
mov qword [r14 + 0x310], rsi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8c
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
jmp 0x180046e1e
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rax + rcx + 8]
mov qword [rsp + 0x140], rax
cmp r13, rsi
jne 0x180043f62
mov rcx, rax
call fcn.180015f28
lea rdx, str.auto_vacuum
jmp 0x180046262
lea rdx, str.none
mov rcx, r13
call fcn.180007bec
cmp eax, esi
jne 0x180043f7a
mov r12d, esi
jmp 0x180043fbe
lea rdx, str.full
mov rcx, r13
call fcn.180007bec
cmp eax, esi
jne 0x180043f92
mov r12d, ebp
jmp 0x180043fbe
lea rdx, str.incremental
mov rcx, r13
call fcn.180007bec
cmp eax, esi
jne 0x180043faa
mov r12d, r15d
jmp 0x180043fbe
mov rcx, r13
call fcn.180008524
mov ecx, esi
cmp eax, r15d
cmovbe ecx, eax
movzx r12d, cl
mov rcx, qword [rsp + 0x140]
mov edx, r12d
mov byte [r14 + 0x52], r12b
call fcn.180015eb0
cmp eax, esi
jne 0x180047054
cmp r12d, ebp
je 0x180043fe8
cmp r12d, r15d
jne 0x180047054
xor r9d, r9d
lea r8, [0x180066180]
mov rcx, rdi
lea edx, [r9 + 6]
call fcn.18001eebc
mov r11d, eax
cmp dword [rdi + 0x3c], eax
jbe 0x180044012
mov rcx, qword [rdi + 8]
lea rdx, [r11 + r11*2]
mov dword [rcx + rdx*8 + 4], ebx
lea eax, [r11 + 1]
cmp dword [rdi + 0x3c], eax
jbe 0x180044027
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 4], ebx
lea eax, [r11 + 2]
cmp dword [rdi + 0x3c], eax
jbe 0x180044040
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea edx, [r11 + 4]
mov dword [rax + rcx*8 + 8], edx
lea eax, [r11 + 4]
cmp dword [rdi + 0x3c], eax
jbe 0x18004405a
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea edx, [r12 - 1]
mov dword [rax + rcx*8 + 4], edx
add r11d, 5
cmp dword [rdi + 0x3c], r11d
jbe 0x180044070
mov rax, qword [rdi + 8]
lea rcx, [r11 + r11*2]
mov dword [rax + rcx*8 + 4], ebx
mov edx, ebx
mov rcx, rdi
call fcn.18001f578
jmp 0x180047054
mov edx, ebx
mov rcx, rdi
call fcn.18001f578
mov rax, qword [rsp + 0xb8]
cmp byte [rax], 0x41
je 0x1800440c1
cmp byte [rax], 0x46
je 0x1800440bc
cmp byte [rax], 0x53
je 0x1800440b7
cmp byte [rax], 0x61
je 0x1800440c1
cmp byte [rax], 0x66
je 0x1800440bc
cmp byte [rax], 0x73
je 0x1800440b7
mov r12d, 6
jmp 0x1800440c7
mov r12d, ebp
jmp 0x1800440c7
mov r12d, esi
jmp 0x1800440c7
mov r12d, 8
cmp r13, rsi
je 0x180044149
cmp r12d, esi
je 0x180044149
xor r9d, r9d
lea r8, [0x180066240]
mov rcx, rdi
lea edx, [r9 + 3]
call fcn.18001eebc
mov esi, eax
cmp dword [rdi + 0x3c], eax
jbe 0x1800440fa
mov rcx, qword [rdi + 8]
lea rdx, [rsi + rsi*2]
mov dword [rcx + rdx*8 + 4], ebx
mov rcx, r13
call fcn.180008524
lea ecx, [rsi + 1]
cmp dword [rdi + 0x3c], ecx
jbe 0x180044116
lea rdx, [rcx + rcx*2]
mov rcx, qword [rdi + 8]
mov dword [rcx + rdx*8 + 4], eax
lea edx, [rsi + 2]
cmp dword [rdi + 0x3c], edx
jbe 0x180047054
mov rax, qword [rdi + 8]
lea rcx, [rdx + rdx*2]
mov dword [rax + rcx*8 + 4], ebx
cmp dword [rdi + 0x3c], edx
jbe 0x180047054
mov rax, qword [rdi + 8]
lea rcx, [rdx + rdx*2]
mov dword [rax + rcx*8 + 8], r12d
jmp 0x180047054
xor r9d, r9d
lea r8, [0x180066250]
mov rcx, rdi
lea edx, [r9 + 3]
call fcn.18001eebc
cmp dword [rdi + 0x3c], eax
jbe 0x180044172
mov ecx, eax
lea rdx, [rcx + rcx*2]
mov rcx, qword [rdi + 8]
mov dword [rcx + rdx*8 + 4], ebx
lea edx, [rax + 1]
cmp dword [rdi + 0x3c], edx
jbe 0x180046486
mov rax, qword [rdi + 8]
lea rcx, [rdx + rdx*2]
mov dword [rax + rcx*8 + 4], ebx
cmp dword [rdi + 0x3c], edx
jbe 0x180046486
mov rax, qword [rdi + 8]
lea rcx, [rdx + rdx*2]
mov dword [rax + rcx*8 + 0xc], r12d
jmp 0x180046486
mov ebx, 3
mov rcx, rdi
mov edx, ebx
call fcn.1800200d0
lea r9, [0x1800698d8]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov dword [r12 + 0x54], ebx
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.name
xor r8d, r8d
mov edx, ebp
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.file
xor r8d, r8d
mov edx, r15d
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
cmp dword [r14 + 0x28], esi
mov ecx, esi
mov dword [rsp + 0x140], ecx
jle 0x180047054
mov r13, rsi
lea r12d, [rbx + 0x5e]
mov rax, qword [r14 + 0x20]
cmp qword [r13 + rax + 8], rsi
je 0x1800442e6
mov r8d, ecx
mov r9d, ebp
mov edx, 0x19
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r11, qword [r14 + 0x20]
mov r9d, r15d
mov rbx, qword [r13 + r11]
xor r8d, r8d
mov edx, r12d
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.18001f128
mov r11, qword [r14 + 0x20]
mov rax, qword [r13 + r11 + 8]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
cmp byte [rax + 0x13], sil
je 0x180044292
lea rax, [0x180068af4]
jmp 0x180044299
mov rax, qword [rax + 0xd0]
mov ebx, 3
xor r8d, r8d
mov edx, r12d
mov rcx, rdi
mov r9d, ebx
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r8, qword [rsp + 0x48]
mov edx, eax
xor r9d, r9d
mov rcx, rdi
call fcn.18001f128
lea edx, [rbx + 0x20]
mov r9d, ebx
mov r8d, ebp
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov ecx, dword [rsp + 0x140]
add ecx, ebp
add r13, 0x20
cmp ecx, dword [r14 + 0x28]
mov dword [rsp + 0x140], ecx
jl 0x18004421f
jmp 0x18004704c
sub ecx, 0xa
je 0x1800452a6
sub ecx, ebp
je 0x1800451c1
sub ecx, ebp
je 0x180044af2
sub ecx, ebp
je 0x1800446e8
sub ecx, ebp
je 0x18004460e
sub ecx, ebp
je 0x1800444a1
cmp ecx, ebp
jne 0x18004684d
cmp r13, rsi
je 0x180047054
mov r8, qword [rsp + 0x98]
mov rdx, r13
mov rcx, r14
call fcn.180034b7c
mov qword [rsp + 0x140], rax
cmp rax, rsi
je 0x180047054
mov rcx, r12
call fcn.18004a4ec
mov edi, 3
mov rcx, rax
mov edx, edi
mov qword [rsp + 0x48], rax
call fcn.1800200d0
mov edx, ebx
mov rcx, r12
mov dword [r12 + 0x54], edi
call fcn.1800396a8
mov rbx, qword [rsp + 0x48]
lea r9, [0x1800698d8]
mov rcx, rbx
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.name
xor r8d, r8d
mov edx, ebp
mov rcx, rbx
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.unique
xor r8d, r8d
mov edx, r15d
mov rcx, rbx
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov r10, qword [rsp + 0x140]
mov eax, esi
mov r11, qword [r10 + 0x10]
mov dword [rsp + 0x140], eax
cmp r11, rsi
je 0x180047054
lea r12d, [rdi + 0x16]
mov r14, rbx
mov r13, r11
mov r9d, ebp
mov r8d, eax
mov edx, r12d
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rbx, qword [r13]
xor r8d, r8d
lea edx, [r8 + 0x61]
mov r9d, r15d
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov rcx, r14
mov edx, eax
call fcn.18001f128
cmp byte [r13 + 0x62], sil
mov r8d, esi
mov r9d, edi
mov edx, r12d
mov rcx, r14
setne r8b
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r9d, edi
mov r8d, ebp
mov edx, 0x23
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov eax, dword [rsp + 0x140]
mov r13, qword [r13 + 0x28]
add eax, ebp
mov dword [rsp + 0x140], eax
cmp r13, rsi
jne 0x18004440c
jmp 0x180047044
cmp r13, rsi
je 0x180047054
mov r8, qword [rsp + 0x98]
mov rdx, r13
mov rcx, r14
call fcn.180034ce0
mov qword [rsp + 0x48], rax
cmp rax, rsi
je 0x180047054
mov rax, qword [rax + 0x18]
mov ebx, 3
mov rcx, rdi
mov edx, ebx
mov qword [rsp + 0x70], rax
call fcn.1800200d0
mov edx, dword [rsp + 0x8c]
mov rcx, r12
mov dword [r12 + 0x54], ebx
call fcn.1800396a8
lea r9, str.seqno
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, [0x180069890]
xor r8d, r8d
mov edx, ebp
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.name
xor r8d, r8d
mov edx, r15d
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov rax, qword [rsp + 0x48]
cmp si, word [rax + 0x5e]
jae 0x180047054
mov rcx, rsi
mov r12d, ebx
mov r14, rax
mov qword [rsp + 0x58], rcx
mov r13d, ecx
mov rax, qword [r14 + 8]
mov r9d, ebp
mov r8d, r13d
movsx rbx, word [rcx + rax]
mov edx, 0x19
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r8d, ebx
mov r9d, r15d
mov edx, 0x19
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
lea rcx, [rbx + rbx*2]
xor r8d, r8d
add rcx, rcx
lea edx, [r8 + 0x61]
mov r9d, r12d
mov rbx, qword [rax + rcx*8]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.18001f128
mov r9d, r12d
mov r8d, ebp
mov edx, 0x23
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rcx, qword [rsp + 0x58]
movzx eax, word [r14 + 0x5e]
add rcx, r15
add r13d, ebp
cmp r13d, eax
mov qword [rsp + 0x58], rcx
jl 0x180044563
jmp 0x180047044
cmp r13, rsi
je 0x180044630
lea rdx, [rsp + 0x140]
mov rcx, r13
call fcn.1800083d8
cmp eax, esi
je 0x180044630
cmp dword [rsp + 0x140], esi
jg 0x18004463e
mov r15d, 0x7fffffff
mov dword [rsp + 0x140], r15d
mov r8d, ebx
xor edx, edx
mov rcx, r12
call fcn.18003978c
mov r8d, dword [rsp + 0x140]
mov r9d, ebp
mov edx, 0x19
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8d, ebx
mov edx, 0x8b
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8d, ebp
lea edx, [r9 + 0x23]
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov ebx, eax
call fcn.18001eb5c
or r9d, 0xffffffff
lea edx, [r9 + 0x26]
mov r8d, ebp
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r9d, ebx
mov r8d, ebp
mov edx, 0x87
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov edx, dword [rdi + 0x3c]
cmp edx, ebx
jbe 0x1800446d7
mov rax, qword [rdi + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
sub ecx, ebp
mov dword [rax + 0x64], ecx
jmp 0x180047054
cmp r13, rsi
je 0x180047054
mov r8, qword [rsp + 0x98]
mov rdx, r13
mov rcx, r14
call fcn.180034b7c
mov rdi, rax
mov qword [rsp + 0x70], rax
cmp rax, rsi
je 0x180047054
mov rcx, r12
call fcn.18004a4ec
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x48], rcx
cmp rcx, rsi
je 0x180047054
mov edx, 8
mov rcx, rax
mov dword [rsp + 0x140], esi
call fcn.1800200d0
mov edx, ebx
mov rcx, r12
mov dword [r12 + 0x54], 8
call fcn.1800396a8
mov r12, qword [rsp + 0x58]
lea r9, [0x1800698e4]
mov rcx, r12
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, [0x1800698d8]
xor r8d, r8d
mov edx, ebp
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.table
xor r8d, r8d
mov edx, r15d
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.180020164
xor r8d, r8d
lea r9, str.from
lea edi, [r8 + 3]
mov rcx, r12
mov qword [rsp + 0x20], rsi
mov edx, edi
call fcn.180020164
lea r9, [0x1800698f0]
lea edx, [rdi + 1]
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.on_update
lea edx, [rdi + 2]
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea ebx, [rdi + 3]
lea r9, str.on_delete
mov edx, ebx
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.match
lea edx, [rdi + 4]
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov r13, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x70]
lea r12d, [rdi + 0x5e]
lea r8, str.NO_ACTION
lea r9, str.CASCADE
lea r10, str.SET_DEFAULT
lea r11, str.SET_NULL
mov eax, esi
cmp dword [rdx + 0x28], esi
mov dword [rsp + 0x60], esi
jle 0x180044ad2
lea rax, [rdx + 0x40]
mov qword [rsp + 0x78], rax
movzx ecx, byte [rdx + 0x2d]
mov rax, qword [rax + 8]
sub ecx, ebx
mov qword [rsp + 0x70], rax
je 0x1800448b3
sub ecx, ebp
je 0x1800448ac
sub ecx, ebp
je 0x1800448a5
cmp ecx, ebp
je 0x18004489e
mov qword [rsp + 0x40], r8
jmp 0x1800448bf
mov qword [rsp + 0x40], r9
jmp 0x1800448bf
mov qword [rsp + 0x40], r10
jmp 0x1800448bf
mov qword [rsp + 0x40], r11
jmp 0x1800448bf
lea rax, str.RESTRICT
mov qword [rsp + 0x40], rax
movzx ecx, byte [rdx + 0x2e]
sub ecx, ebx
je 0x1800448ef
sub ecx, ebp
je 0x1800448e8
sub ecx, ebp
je 0x1800448e1
cmp ecx, ebp
je 0x1800448da
mov qword [rsp + 0x58], r8
jmp 0x1800448fb
mov qword [rsp + 0x58], r9
jmp 0x1800448fb
mov qword [rsp + 0x58], r10
jmp 0x1800448fb
mov qword [rsp + 0x58], r11
jmp 0x1800448fb
lea rax, str.RESTRICT
mov qword [rsp + 0x58], rax
mov r8d, dword [rsp + 0x140]
mov r9d, ebp
mov edx, 0x19
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r8d, dword [rsp + 0x60]
mov r9d, r15d
mov edx, 0x19
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rcx, qword [rsp + 0x48]
mov r9d, edi
mov rbx, qword [rcx + 0x10]
xor r8d, r8d
mov edx, r12d
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, r13
call fcn.18001f128
mov r10, qword [rsp + 0x78]
mov rax, qword [r14 + 8]
movsxd r11, dword [r10]
mov r9d, 4
xor r8d, r8d
lea rcx, [r11 + r11*2]
mov edx, r12d
mov dword [rsp + 0x20], esi
add rcx, rcx
mov rbx, qword [rax + rcx*8]
mov rcx, r13
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, r13
call fcn.18001f128
mov rbx, qword [rsp + 0x70]
mov r9d, 5
mov r11, rbx
mov rcx, r13
mov dword [rsp + 0x20], esi
neg r11
sbb edx, edx
xor r8d, r8d
and edx, 0x45
add edx, 0x1c
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, r13
call fcn.18001f128
mov ebx, 6
xor r8d, r8d
mov edx, r12d
mov rcx, r13
mov r9d, ebx
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r8, qword [rsp + 0x58]
mov edx, eax
xor r9d, r9d
mov rcx, r13
call fcn.18001f128
lea r9d, [rbx + 1]
xor r8d, r8d
mov edx, r12d
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r8, qword [rsp + 0x40]
xor r9d, r9d
mov edx, eax
mov rcx, r13
call fcn.18001f128
lea r9d, [rbx + 2]
xor r8d, r8d
mov edx, r12d
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
lea r8, str.NONE
xor r9d, r9d
mov edx, eax
mov rcx, r13
call fcn.18001f128
lea r9d, [rbx + 2]
lea edx, [rbx + 0x1d]
mov r8d, ebp
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r8d, dword [rsp + 0x60]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x48]
add r8d, ebp
add rax, 0x10
cmp r8d, dword [rdx + 0x28]
mov dword [rsp + 0x60], r8d
lea r9, str.CASCADE
lea r8, str.NO_ACTION
mov qword [rsp + 0x78], rax
lea r10, str.SET_DEFAULT
lea r11, str.SET_NULL
jl 0x18004487a
mov eax, dword [rsp + 0x140]
lea r8, str.NO_ACTION
lea r9, str.CASCADE
lea r10, str.SET_DEFAULT
lea r11, str.SET_NULL
mov rdx, qword [rdx + 8]
add eax, ebp
mov dword [rsp + 0x140], eax
mov qword [rsp + 0x48], rdx
cmp rdx, rsi
jne 0x180044864
jmp 0x180047044
mov eax, dword [r12 + 0x54]
lea ecx, [rax + 1]
add eax, 5
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x60], ecx
inc eax
mov rcx, r12
mov dword [r12 + 0x54], eax
call fcn.18004a4ec
mov edx, 4
mov rcx, rax
mov rdi, rax
call fcn.1800200d0
lea r9, str.table
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.rowid
xor r8d, r8d
mov edx, ebp
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov edx, r15d
lea r9, str.parent
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x20], rsi
mov r15, rdi
call fcn.180020164
xor r8d, r8d
lea r9, str.fkid
lea edx, [r8 + 3]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov edx, ebx
mov rcx, r12
call fcn.1800396a8
mov r11, qword [r14 + 0x20]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + r11 + 0x18]
mov rax, qword [rax + 0x10]
cmp rax, rsi
je 0x180047054
or rdi, 0xffffffffffffffff
cmp r13, rsi
je 0x180044bd9
mov r9, qword [rsp + 0x98]
mov r8, r13
xor edx, edx
mov rcx, r12
call fcn.180034c40
mov rcx, rax
mov rax, rsi
jmp 0x180044be0
mov rcx, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x58], rcx
cmp rcx, rsi
je 0x1800451b3
cmp qword [rcx + 0x20], rsi
je 0x1800451b3
mov rax, qword [rcx]
mov r8d, dword [rcx + 0x3c]
xor r9d, r9d
mov edx, ebx
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.1800346a8
mov rax, qword [rsp + 0x58]
mov edx, dword [rsp + 0x64]
movsx r11d, word [rax + 0x42]
lea edx, [r11 + rdx + 1]
cmp edx, dword [r12 + 0x54]
jle 0x180044c38
mov dword [r12 + 0x54], edx
mov r9, rax
mov r8d, ebx
xor edx, edx
mov rcx, r12
mov dword [rsp + 0x20], 0x35
call fcn.18003fa38
mov rbx, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x60]
mov rbx, qword [rbx]
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 0x61]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, r15
call fcn.18001f128
mov rbx, qword [rsp + 0x58]
mov eax, ebp
mov rcx, qword [rbx + 0x20]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x48], rcx
cmp rcx, rsi
je 0x180044d95
mov rdx, qword [rcx + 0x10]
mov r8, qword [rsp + 0x98]
mov rcx, r14
call fcn.180034b7c
mov qword [rsp + 0x78], rax
cmp rax, rsi
je 0x180044d6f
mov rcx, qword [rax]
mov ebx, dword [rsp + 0x8c]
mov r8d, dword [rax + 0x3c]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov edx, ebx
mov rcx, r12
mov qword [rsp + 0x40], rsi
call fcn.1800346a8
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x78]
lea r9, [rsp + 0x40]
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.18003da4c
cmp eax, esi
jne 0x180047054
mov rax, qword [rsp + 0x40]
cmp rax, rsi
jne 0x180044d30
mov r9, qword [rsp + 0x78]
mov edx, dword [rsp + 0x68]
mov r8d, ebx
mov rcx, r12
mov dword [rsp + 0x20], 0x35
call fcn.18003fa38
jmp 0x180044d6f
mov r9d, dword [rax + 0x58]
mov r8d, dword [rsp + 0x68]
mov edx, 0x35
mov rcx, r15
mov dword [rsp + 0x20], ebx
call fcn.18001eb5c
mov rdx, qword [rsp + 0x40]
mov rbx, qword [r12 + 0x10]
mov rcx, r12
call fcn.180039d38
mov r9d, 0xfffffffa
mov edx, edi
mov r8, rax
mov rcx, rbx
call fcn.18001f128
mov rcx, qword [rsp + 0x48]
mov eax, dword [rsp + 0x68]
mov rcx, qword [rcx + 8]
add eax, ebp
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x48], rcx
cmp rcx, rsi
jne 0x180044c9d
mov rbx, qword [rsp + 0x58]
cmp dword [r12 + 0x50], eax
jge 0x180044da1
mov dword [r12 + 0x50], eax
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x6a]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rcx, qword [rbx + 0x20]
mov dword [rsp + 0x68], ebp
mov dword [rsp + 0x90], eax
mov qword [rsp + 0x48], rcx
cmp rcx, rsi
je 0x180045165
mov eax, dword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x98]
lea ecx, [rax + 1]
mov dword [rsp + 0x84], ecx
lea ecx, [rax + 2]
add eax, 3
mov dword [rsp + 0x80], ecx
mov dword [rsp + 0x94], eax
mov rdx, qword [rdi + 0x10]
mov r8, r13
mov rcx, r14
call fcn.180034b7c
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0xc0], rax
cmp rax, rsi
je 0x180044e46
lea rcx, [rsp + 0x78]
lea r9, [rsp + 0x40]
mov r8, rdi
mov qword [rsp + 0x20], rcx
mov rcx, r12
mov rdx, rax
call fcn.18003da4c
mov rcx, r15
call fcn.18001ec9c
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0xc0]
cmp rax, rsi
je 0x180044f5b
cmp qword [rsp + 0x40], rsi
jne 0x180044f5b
mov edx, dword [rdi + 0x40]
movsx ecx, word [rbx + 0x40]
xor r8d, r8d
cmp edx, ecx
mov rcx, r15
mov dword [rsp + 0xc0], edx
je 0x180044eeb
mov eax, dword [rsp + 0x64]
mov r9d, edx
lea edx, [r8 + 0x2e]
inc eax
mov dword [rsp + 0x20], eax
call fcn.18001eb5c
mov r9d, dword [rsp + 0x64]
mov r8d, dword [rsp + 0xc0]
inc r9d
mov rdx, rbx
mov rcx, r15
call fcn.180050f98
mov ebx, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x50]
inc ebx
mov edx, 0x4c
mov rcx, r15
mov r8d, ebx
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r9d, dword [r15 + 0x3c]
mov r8d, ebx
mov edx, 0x26
mov rcx, r15
add r9d, 3
jmp 0x180044ef9
mov ebx, dword [rsp + 0x64]
mov edx, 0x65
inc ebx
mov r9d, ebx
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x44]
call fcn.18001eb5c
mov r9d, dword [rsp + 0x50]
xor r8d, r8d
lea edx, [r8 + 0x10]
mov rcx, r15
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov edx, dword [r15 + 0x3c]
lea eax, [rdx - 2]
cmp edx, eax
jbe 0x180044f49
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r15 + 0x3c]
mov rax, qword [r15 + 0x30]
sub ecx, ebp
mov dword [rax + 0x64], ecx
jmp 0x18004509d
cmp dword [rdi + 0x28], esi
mov dword [rsp + 0x88], esi
jle 0x18004502b
mov r12, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x64]
mov r13d, dword [rsp + 0x50]
lea rcx, [rdi + 0x40]
mov rax, r12
inc r14d
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xd0], rcx
cmp r12, rsi
je 0x180044f9e
mov r9d, dword [rax]
jmp 0x180044fa1
mov r9d, dword [rcx]
xor r8d, r8d
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x20], r14d
call fcn.18002f79c
mov r9d, r13d
mov r8d, r14d
mov edx, 0x4c
mov rcx, r15
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov edx, dword [rsp + 0x88]
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
add edx, ebp
add rcx, 0x10
add rax, 4
add r14d, ebp
cmp edx, dword [rdi + 0x28]
mov dword [rsp + 0x88], edx
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
jl 0x180044f94
mov r12, qword [rsp + 0x140]
mov r14, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x98]
mov rax, qword [rsp + 0xc0]
cmp rax, rsi
je 0x18004509d
mov rdx, qword [rsp + 0x40]
mov edi, dword [rdi + 0x28]
mov rcx, r15
call fcn.18003fb18
mov edx, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x48]
mov r9d, dword [rcx + 0x28]
lea r8d, [rdx + 1]
mov dword [rsp + 0x20], edx
mov edx, 0x30
mov rcx, r15
mov rbx, rax
call fcn.18001eb5c
mov r9d, edi
mov r8, rbx
mov edx, eax
mov rcx, r15
call fcn.18001f128
mov eax, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x68]
mov edx, 0x43
mov rcx, r15
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], eax
call fcn.18001ec5c
mov rdi, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x84]
xor r8d, r8d
mov rcx, r15
lea edx, [r8 + 0x65]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r9d, dword [rsp + 0x80]
mov rbx, qword [rdi + 0x10]
xor r8d, r8d
mov rcx, r15
mov dword [rsp + 0x20], esi
lea edx, [r8 + 0x61]
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, r15
call fcn.18001f128
mov ebx, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x94]
lea r8d, [rbx - 1]
mov edx, 0x19
mov rcx, r15
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r8d, dword [rsp + 0x60]
mov r9d, 4
mov rcx, r15
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x1f]
call fcn.18001eb5c
mov edx, dword [rsp + 0x50]
mov rcx, r15
call fcn.18001ecf8
mov rdx, qword [rsp + 0x78]
mov rcx, r14
call fcn.180005a84
mov rdi, qword [rdi + 8]
add ebx, ebp
mov dword [rsp + 0x68], ebx
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x48], rdi
cmp rdi, rsi
jne 0x180044e03
mov r13, qword [rsp + 0xa0]
or rdi, 0xffffffffffffffff
mov ebx, dword [rsp + 0x90]
xor r8d, r8d
mov rcx, r15
lea r9d, [rbx + 1]
lea edx, [r8 + 9]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov edx, dword [r15 + 0x3c]
cmp edx, ebx
jbe 0x180045197
mov rax, qword [r15 + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r15 + 0x3c]
mov rax, qword [r15 + 0x30]
mov ebx, dword [rsp + 0x8c]
sub ecx, ebp
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0xc8]
cmp rax, rsi
jne 0x180044bb7
jmp 0x180047054
cmp r13, rsi
jne 0x18004523c
mov rcx, r12
call fcn.18004778c
cmp eax, esi
jne 0x180047054
mov edx, ebp
mov rcx, rdi
call fcn.1800200d0
lea r9, str.encoding
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
xor r8d, r8d
mov r9d, ebp
lea edx, [r8 + 0x61]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r11, qword [r12]
lea r10, str.UTF8
mov rax, qword [r11 + 0x20]
mov r9d, 0xfffffffe
mov rcx, qword [rax + 0x18]
movzx r8d, byte [rcx + 0x71]
add r8, r8
or edx, 0xffffffff
mov r8, qword [r10 + r8*8]
jmp 0x1800465de
mov rax, qword [r14 + 0x20]
mov rcx, qword [rax + 0x18]
test byte [rcx + 0x72], bpl
je 0x180045254
test byte [rcx + 0x72], 4
je 0x180047054
mov rax, qword [str.UTF8]
lea r10, str.UTF8
jmp 0x18004527a
mov rdx, rax
mov rcx, r13
call fcn.180007bec
cmp eax, esi
je 0x180045284
add r10, 0x10
mov rax, qword [r10]
cmp rax, rsi
jne 0x180045264
jmp 0x180047054
mov al, byte [r10 + 8]
cmp al, sil
je 0x180045291
movzx r15d, al
mov rax, qword [r12]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 0x18]
mov byte [rax + 0x71], r15b
jmp 0x180047054
mov edx, ebx
mov rcx, rdi
call fcn.18001f578
cmp r13, rsi
jne 0x180045343
mov edx, ebp
mov rcx, rdi
call fcn.1800200d0
lea r9, str.cache_size
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
add dword [r12 + 0x54], r15d
xor r9d, r9d
lea r8, [0x180066158]
lea edx, [r9 + 9]
mov rcx, rdi
call fcn.18001eebc
mov r11d, eax
cmp dword [rdi + 0x3c], eax
jbe 0x18004530b
mov rcx, qword [rdi + 8]
lea rdx, [r11 + r11*2]
mov dword [rcx + rdx*8 + 4], ebx
lea eax, [r11 + 1]
cmp dword [rdi + 0x3c], eax
jbe 0x180045320
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 4], ebx
add r11d, 6
cmp dword [rdi + 0x3c], r11d
jbe 0x180047054
mov rax, qword [rdi + 8]
lea rcx, [r11 + r11*2]
mov dword [rax + rcx*8 + 4], 0x7d0
jmp 0x180047054
mov rcx, r13
call fcn.180008524
cmp eax, esi
mov r15d, eax
jge 0x180045364
cmp eax, 0x80000000
jne 0x180045361
mov r15d, 0x7fffffff
jmp 0x180045364
neg r15d
mov r8d, ebx
xor edx, edx
mov rcx, r12
call fcn.18003978c
mov r9d, ebp
mov r8d, r15d
mov edx, 0x19
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r9d, 3
mov r8d, ebx
lea edx, [r9 + 0x30]
mov rcx, rdi
mov dword [rsp + 0x20], ebp
call fcn.18001eb5c
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x40]
mov rax, qword [rcx + r8 + 0x18]
mov dword [rax + 0x74], r15d
mov rax, qword [rcx + r8 + 0x18]
mov rcx, qword [rcx + r8 + 8]
mov edx, dword [rax + 0x74]
call fcn.180015c58
jmp 0x180047054
mov rax, qword [rsp + 0xb8]
mov ecx, esi
mov edx, ebp
movzx eax, byte [rax]
cmp byte [rax + r9 + 0x64930], 0x71
sete cl
or rax, 0xffffffffffffffff
mov dword [rsp + 0xd8], ecx
mov rcx, qword [rsp + 0x150]
cmp qword [rcx], rsi
mov rcx, rdi
mov dword [r12 + 0x54], 6
cmove ebx, eax
mov dword [rsp + 0x8c], ebx
call fcn.1800200d0
lea r9, str.integrity_check
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov ebx, 0x64
mov dword [rsp + 0x60], ebx
cmp r13, rsi
je 0x18004545e
lea rdx, [rsp + 0x60]
mov rcx, r13
call fcn.1800083d8
mov r11d, dword [rsp + 0x60]
cmp r11d, esi
cmovle r11d, ebx
mov ebx, r11d
mov dword [rsp + 0x60], ebx
mov r9d, ebp
mov r8d, ebx
mov edx, 0x19
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
cmp dword [r14 + 0x28], esi
mov ecx, esi
mov dword [rsp + 0x68], ecx
mov ebx, 3
jle 0x180046123
mov eax, dword [rsp + 0x8c]
lea r13d, [rbx + 0x5e]
cmp eax, esi
mov dword [rsp + 0x50], esi
jl 0x1800454a5
cmp ecx, eax
jne 0x18004610b
mov edx, ecx
mov rcx, r12
call fcn.1800396a8
xor r9d, r9d
mov r8d, ebp
mov edx, 0x87
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x18]
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov ebx, eax
call fcn.18001eb5c
mov edx, dword [rdi + 0x3c]
cmp edx, ebx
jbe 0x1800454f1
mov rax, qword [rdi + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
movsxd rbx, dword [rsp + 0x68]
shl rbx, 5
sub ecx, ebp
mov dword [rax + 0x64], ecx
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x70], rbx
mov rax, qword [rax + rbx + 0x18]
add rax, 8
mov qword [rsp + 0xb0], rax
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
cmp rax, rsi
je 0x1800455ba
mov r12, qword [rax + 0x10]
mov ebx, dword [rsp + 0x50]
test byte [r12 + 0x48], 0x20
jne 0x180045567
mov r8d, dword [r12 + 0x3c]
lea r9d, [rbx + 2]
mov edx, 0x19
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rax, qword [rsp + 0x48]
add ebx, ebp
mov dword [rsp + 0x50], ebx
mov r12, qword [r12 + 0x10]
cmp r12, rsi
je 0x1800455a0
mov r8d, dword [r12 + 0x58]
lea r9d, [rbx + 2]
mov edx, 0x19
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r12, qword [r12 + 0x28]
add ebx, ebp
cmp r12, rsi
jne 0x180045571
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x50], ebx
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
cmp rax, rsi
jne 0x180045532
mov r12, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x50]
mov r8d, r15d
mov edx, 0x7d
lea eax, [rcx + 8]
mov r9d, ecx
mov rcx, rdi
cmp dword [r12 + 0x54], eax
mov dword [rsp + 0x20], ebp
cmovg eax, dword [r12 + 0x54]
mov dword [r12 + 0x54], eax
call fcn.18001eb5c
mov rdx, qword [rdi + 8]
cmp rdx, rsi
je 0x180045601
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov eax, dword [rsp + 0x68]
mov byte [rdx + rcx*8 - 0x15], al
xor r9d, r9d
mov r8d, r15d
mov rcx, rdi
lea edx, [r9 + 0x4c]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r8, qword [r14 + 0x20]
lea rdx, str._in_database__s__n
mov r8, qword [r8 + rbx]
mov rcx, r14
mov dword [rsp + 0x90], eax
call fcn.180007168
mov r9d, 3
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov rbx, rax
call fcn.18001eb5c
or r9d, 0xffffffff
mov r8, rbx
mov rcx, rdi
mov edx, eax
call fcn.18001f128
mov r9d, 4
mov r8d, r15d
lea edx, [r9 + 0x1c]
mov rcx, rdi
mov dword [rsp + 0x20], ebp
call fcn.18001eb5c
mov ebx, 3
mov rcx, rdi
lea edx, [rbx + 0x5b]
lea r8d, [rbx + 1]
mov r9d, ebx
mov dword [rsp + 0x20], r15d
call fcn.18001eb5c
lea edx, [rbx + 0x20]
mov r9d, ebp
mov r8d, r15d
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r11d, dword [rdi + 0x3c]
mov eax, dword [rsp + 0x90]
cmp r11d, eax
jbe 0x1800456c8
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], r11d
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
sub ecx, ebp
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
cmp rax, rsi
je 0x180046100
movsxd rcx, dword [rsp + 0xd8]
cmp rcx, rsi
jne 0x180046100
mov rax, qword [rax + 0x10]
or dword [rsp + 0x50], 0xffffffff
mov qword [rsp + 0xc8], rsi
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x58], rax
cmp rcx, rsi
je 0x1800460f3
test byte [rax + 0x48], 0x20
jne 0x18004572f
mov qword [rsp + 0x48], rsi
jmp 0x180045747
mov eax, dword [rcx + 0x64]
and al, bl
cmp al, r15b
je 0x180045742
mov rcx, qword [rcx + 0x28]
cmp rcx, rsi
jne 0x18004572f
mov qword [rsp + 0x48], rcx
xor r9d, r9d
mov r8d, ebp
mov edx, 0x87
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x18]
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x90], eax
call fcn.18001eb5c
mov r11d, dword [rdi + 0x3c]
mov eax, dword [rsp + 0x90]
cmp r11d, eax
jbe 0x180045798
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], r11d
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
sub ecx, ebp
mov dword [rax + 0x64], ecx
mov rcx, r12
call fcn.18002f960
mov rax, qword [rsp + 0x58]
test byte [rax + 0x48], 0x10
je 0x1800457c7
mov dword [rsp + 0x94], esi
mov dword [rsp + 0x88], ebp
jmp 0x1800457fa
lea rcx, [rsp + 0x88]
mov r9d, ebp
mov r8d, 0x35
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x94]
mov rdx, rax
mov qword [rsp + 0x28], rcx
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.18004231c
mov r9d, 7
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x12]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rax, qword [rsp + 0x58]
mov r11d, esi
mov rcx, qword [rax + 0x10]
cmp rcx, rsi
je 0x18004586e
mov r14, rcx
mov r12d, esi
xor r8d, r8d
lea r9d, [r12 + 8]
mov rcx, rdi
lea edx, [r8 + 0x19]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r14, qword [r14 + 0x28]
add r12d, ebp
cmp r14, rsi
jne 0x18004582a
mov r14, qword [rsp + 0xa8]
mov dword [rsp + 0x80], r12d
mov r12, qword [rsp + 0x140]
mov r11d, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x94]
lea eax, [r11 + 8]
mov rcx, rdi
cmp dword [r12 + 0x54], eax
mov dword [rsp + 0x20], esi
cmovg eax, dword [r12 + 0x54]
xor r9d, r9d
lea edx, [r9 + 0x6a]
mov dword [r12 + 0x54], eax
call fcn.18001eb5c
mov edx, 0x25
mov r9d, ebp
lea r8d, [rdx - 0x1e]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov edx, esi
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x80], edx
cmp si, word [rax + 0x42]
jge 0x180045a8d
mov r8, rsi
mov qword [rsp + 0x40], rsi
or r15, 0xffffffffffffffff
mov r12, rax
movsx ecx, word [r12 + 0x40]
cmp edx, ecx
je 0x180045a5a
mov rax, qword [r12 + 8]
cmp byte [rax + r8 + 0x28], sil
je 0x180045a5a
mov r8d, dword [rsp + 0x94]
mov r9d, edx
mov rcx, rdi
mov rdx, r12
mov dword [rsp + 0x20], ebx
call fcn.18002f79c
mov r11, qword [rdi + 8]
cmp r11, rsi
je 0x180045932
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [r11 + rcx*8 - 0x15], 0x80
xor r9d, r9d
mov r8d, ebx
mov rcx, rdi
lea edx, [r9 + 0x4d]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r9d, r15d
mov r8d, ebp
mov edx, 0x25
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x90], eax
call fcn.18001eb5c
mov r9, qword [r12 + 8]
mov rcx, qword [rsp + 0x40]
mov r8, qword [r12]
lea rdx, str.NULL_value_in__s._s
mov r9, qword [r9 + rcx]
mov rcx, r14
call fcn.180007168
mov r9d, 3
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov rbx, rax
call fcn.18001eb5c
mov r9d, r15d
mov r8, rbx
mov rcx, rdi
mov edx, eax
call fcn.18001f128
mov ebx, 3
mov r9d, ebp
lea edx, [rbx + 0x20]
mov rcx, rdi
mov r8d, ebx
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8d, ebp
mov edx, 0x87
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
lea edx, [rbx + 0x15]
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r11d, dword [rdi + 0x3c]
mov eax, dword [rsp + 0x90]
cmp r11d, eax
jbe 0x180045a1c
mov rcx, qword [rdi + 8]
lea rdx, [rax + rax*2]
mov dword [rcx + rdx*8 + 8], r11d
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
sub ecx, ebp
mov dword [rax + 0x64], ecx
mov edx, dword [rdi + 0x3c]
mov eax, dword [rsp + 0x84]
cmp edx, eax
jbe 0x180045a42
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
mov edx, dword [rsp + 0x80]
mov r8, qword [rsp + 0x40]
sub ecx, ebp
mov dword [rax + 0x64], ecx
movsx eax, word [r12 + 0x42]
add edx, ebp
add r8, 0x30
cmp edx, eax
mov dword [rsp + 0x80], edx
mov qword [rsp + 0x40], r8
jl 0x1800458e3
mov r12, qword [rsp + 0x140]
mov rax, qword [rsp + 0x58]
mov r15d, 2
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x40], rax
cmp rax, rsi
je 0x180045f10
mov eax, dword [rsp + 0x88]
mov ecx, 8
sub ecx, eax
mov dword [rsp + 0x64], eax
or r14, 0xffffffffffffffff
mov dword [rsp + 0x90], ecx
mov rcx, rdi
call fcn.18001ec9c
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0x48], rax
je 0x180045ef2
mov ecx, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x94]
xor r9d, r9d
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0xc8]
mov rdx, rax
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x28], rcx
mov rcx, r12
mov dword [rsp + 0x20], esi
call fcn.18003b7fc
mov ecx, dword [rsp + 0x64]
mov r8d, dword [rsp + 0x90]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x40]
add r8d, ecx
mov r9d, ebp
mov edx, 0x25
mov rcx, rdi
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rax, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x84]
mov r8d, dword [rsp + 0x64]
movzx r11d, word [rax + 0x60]
mov eax, dword [rsp + 0x50]
mov edx, 0x43
mov dword [rsp + 0x28], r11d
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.18001ec5c
mov r9d, r14d
mov r8d, ebp
mov edx, 0x25
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x84], eax
call fcn.18001eb5c
mov r9d, ebx
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
lea r8, str.row
mov r9d, 0xfffffffe
mov rcx, rdi
mov edx, eax
call fcn.18001f128
mov edx, 0x5e
mov r9d, ebx
lea r8d, [rdx - 0x57]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.18001eb5c
mov r9d, 4
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
lea r8, str._missing_from_index
mov r9d, 0xfffffffe
mov edx, eax
mov rcx, rdi
call fcn.18001f128
mov edx, 0x5e
mov r9d, ebx
lea r8d, [rdx - 0x5a]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.18001eb5c
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x20], esi
mov rbx, qword [rax]
mov r9d, 4
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, rdi
mov dword [rsp + 0xd0], eax
call fcn.18001f128
mov ebx, 3
mov rcx, rdi
lea edx, [rbx + 0x5b]
lea r8d, [rbx + 1]
mov r9d, ebx
mov dword [rsp + 0x20], ebx
call fcn.18001eb5c
lea edx, [rbx + 0x20]
mov r9d, ebp
mov r8d, ebx
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8d, ebp
mov edx, 0x87
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
lea edx, [rbx + 0x15]
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r11d, dword [rdi + 0x3c]
mov eax, dword [rsp + 0x84]
cmp r11d, eax
jbe 0x180045cd9
mov rcx, qword [rdi + 8]
lea rdx, [rax + rax*2]
mov dword [rcx + rdx*8 + 8], r11d
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
sub ecx, ebp
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x62], sil
je 0x180045ead
mov rcx, rdi
call fcn.18001ec9c
mov r8d, esi
mov dword [rsp + 0x84], esi
mov r9d, eax
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x40]
cmp si, word [rax + 0x5e]
jae 0x180045dae
mov r12, qword [rsp + 0x58]
mov rdx, rsi
mov qword [rsp + 0xb0], rdx
jmp 0x180045d36
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 8]
mov rax, qword [r12 + 8]
movsx rdx, word [rdx + rcx]
lea rcx, [rdx + rdx*2]
add rcx, rcx
cmp byte [rax + rcx*8 + 0x28], sil
jne 0x180045d7a
mov eax, dword [rsp + 0x50]
mov edx, 0x4c
mov rcx, rdi
add r8d, eax
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r8d, dword [rsp + 0x84]
mov r9d, dword [rsp + 0x80]
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x40]
add r8d, ebp
movzx eax, word [rax + 0x5e]
add rdx, r15
mov dword [rsp + 0x84], r8d
cmp r8d, eax
mov qword [rsp + 0xb0], rdx
jl 0x180045d31
mov r12, qword [rsp + 0x140]
mov r8d, dword [rsp + 0x64]
xor r9d, r9d
mov rcx, rdi
lea edx, [r9 + 9]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r9d, dword [rsp + 0x80]
xor r8d, r8d
lea edx, [r8 + 0x10]
mov rcx, rdi
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x84], eax
call fcn.18001eb5c
mov r11d, dword [rdi + 0x3c]
mov eax, dword [rsp + 0x84]
cmp r11d, eax
jbe 0x180045e05
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], r11d
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
mov r9d, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x64]
sub ecx, ebp
mov edx, 0x70
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x40]
mov rcx, rdi
movzx eax, word [rax + 0x5e]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
call fcn.18001ec5c
mov r9d, r14d
mov r8d, ebp
mov edx, 0x25
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r9d, ebx
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
lea r8, str.non_unique_entry_in_index
mov r9d, 0xfffffffe
mov rcx, rdi
mov edx, eax
call fcn.18001f128
mov r9d, dword [rsp + 0xd0]
xor r8d, r8d
lea edx, [r8 + 0x10]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov edx, dword [rsp + 0x80]
mov rcx, rdi
call fcn.18001ecf8
mov edx, dword [rdi + 0x3c]
mov eax, dword [rsp + 0x98]
cmp edx, eax
jbe 0x180045ec7
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
mov edx, dword [rsp + 0x78]
sub ecx, ebp
mov dword [rax + 0x64], ecx
cmp edx, esi
je 0x180045eed
mov rcx, qword [r12 + 0x10]
call fcn.18001ecf8
mov rcx, r12
call fcn.18002f74c
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x28]
add dword [rsp + 0x64], ebp
mov qword [rsp + 0x40], rax
cmp rax, rsi
jne 0x180045abc
mov r14, qword [rsp + 0xa8]
mov r9d, dword [rsp + 0xc0]
mov r8d, dword [rsp + 0x94]
mov edx, 9
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r11d, dword [rsp + 0xc0]
mov edx, dword [rdi + 0x3c]
dec r11d
cmp edx, r11d
jbe 0x180045f50
mov rax, qword [rdi + 8]
lea rcx, [r11 + r11*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
mov r9d, r15d
sub ecx, ebp
xor r8d, r8d
mov edx, r13d
mov dword [rax + 0x64], ecx
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
lea r8, str.wrong__of_entries_in_index
mov r9d, 0xfffffffe
mov edx, eax
mov rcx, rdi
call fcn.18001f128
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x58], rax
cmp rax, rsi
je 0x1800460f3
mov ecx, dword [rsp + 0x88]
mov r14d, 8
add ecx, 0xfffffff8
mov dword [rsp + 0x98], ecx
mov rcx, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x98]
cmp rcx, rax
je 0x1800460ce
mov ebx, dword [rdi + 0x3c]
mov r8d, ebp
mov edx, 0x87
lea r9d, [rbx + 2]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x18]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov edx, 0x31
lea r8d, [r12 + r14]
lea r9d, [rdx - 0x2e]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
lea r9d, [rbx + 8]
mov r8d, r14d
mov edx, 0x4f
mov rcx, rdi
mov dword [rsp + 0x20], 3
call fcn.18001eb5c
mov r11, qword [rdi + 8]
cmp r11, rsi
je 0x180046049
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [r11 + rcx*8 - 0x15], 0x88
or r9d, 0xffffffff
mov r8d, ebp
mov rcx, rdi
lea edx, [r9 + 0x26]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rbx, qword [rsp + 0x58]
mov r9d, 3
mov rbx, qword [rbx]
xor r8d, r8d
mov edx, r13d
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.18001f128
mov ebx, 3
mov r9d, r15d
lea edx, [rbx + 0x5b]
mov rcx, rdi
mov r8d, ebx
mov dword [rsp + 0x20], 7
call fcn.18001eb5c
lea edx, [rbx + 0x20]
lea r8d, [rbx + 4]
mov r9d, ebp
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rax + 0x28]
add r14d, ebp
mov qword [rsp + 0x58], rax
cmp rax, rsi
jne 0x180045fc3
mov r12, qword [rsp + 0x140]
mov r14, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
jmp 0x1800456e0
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x8c]
add ecx, ebp
cmp ecx, dword [r14 + 0x28]
mov dword [rsp + 0x68], ecx
jl 0x180045495
mov r13, qword [rsp + 0xa0]
lea r8, [0x1800661a0]
xor r9d, r9d
mov edx, ebx
mov rcx, rdi
call fcn.18001eebc
mov r11d, eax
cmp dword [rdi + 0x3c], eax
jbe 0x180046154
mov r8d, dword [rsp + 0x60]
mov rcx, qword [rdi + 8]
lea rdx, [r11 + r11*2]
neg r8d
mov dword [rcx + rdx*8 + 0xc], r8d
mov edx, dword [rdi + 0x3c]
cmp edx, r11d
jbe 0x180046168
mov rax, qword [rdi + 8]
lea rcx, [r11 + r11*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
lea edx, [r11 + 1]
sub ecx, ebp
lea r8, [0x1800699d0]
mov r9d, 0xfffffffe
mov dword [rax + 0x64], ecx
mov rcx, rdi
call fcn.18001f128
jmp 0x180047054
cmp ecx, 0x1b
jg 0x180046818
je 0x1800467da
sub ecx, 0x12
je 0x18004668e
sub ecx, ebp
je 0x180046602
sub ecx, r15d
je 0x1800464b0
sub ecx, ebp
je 0x1800463fb
sub ecx, ebp
je 0x1800462cd
sub ecx, ebp
je 0x180046272
sub ecx, ebp
je 0x1800461ec
cmp ecx, ebp
jne 0x18004684d
mov rcx, r14
call fcn.18005fe94
jmp 0x180047054
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
or rbx, 0xffffffffffffffff
mov r15, qword [rax + rcx + 8]
cmp r13, rsi
je 0x18004621b
xor r8d, r8d
mov edx, ebp
mov rcx, r13
call fcn.180043658
mov ecx, esi
cmp al, sil
setne cl
mov ebx, ecx
mov rax, qword [rsp + 0x150]
cmp dword [rax + 8], esi
jne 0x180046251
cmp ebx, esi
jl 0x180046251
cmp dword [r14 + 0x28], esi
jle 0x180046251
mov rdi, rsi
mov rcx, qword [r14 + 0x20]
mov edx, ebx
mov rcx, qword [rdi + rcx + 8]
call fcn.180015e50
add esi, ebp
add rdi, 0x20
cmp esi, dword [r14 + 0x28]
jl 0x180046235
mov edx, ebx
mov rcx, r15
call fcn.180015e50
lea rdx, str.secure_delete
movsxd r8, eax
mov rcx, r12
call fcn.180043770
jmp 0x180047054
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rax + rcx + 8]
cmp r13, rsi
jne 0x18004629e
cmp rbx, rsi
je 0x180046292
mov rax, qword [rbx + 8]
mov esi, dword [rax + 0x30]
movsxd r8, esi
lea rdx, str.page_size
jmp 0x180046265
mov rcx, r13
call fcn.180008524
xor r9d, r9d
or r8d, 0xffffffff
mov edx, eax
mov rcx, rbx
mov dword [r14 + 0x58], eax
call fcn.180015d98
cmp eax, 7
jne 0x180047054
mov byte [r14 + 0x50], bpl
jmp 0x180047054
cmp r13, rsi
je 0x1800463ae
lea rdx, [rsp + 0x140]
mov rcx, r13
call fcn.1800082c0
mov rdi, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x150]
cmp rdi, rsi
cmovl rdi, qword [0x18006d130]
mov qword [rsp + 0x140], rdi
cmp dword [rcx + 8], esi
jne 0x180046312
mov qword [r14 + 0x38], rdi
mov eax, dword [r14 + 0x28]
sub eax, ebp
movsxd r15, eax
cmp r15, rsi
jl 0x1800463ae
mov r13, qword [rsp + 0xb0]
mov rdx, r15
shl rdx, 5
mov qword [rsp + 0x70], rdx
mov rax, qword [r14 + 0x20]
mov rax, qword [rdx + rax + 8]
mov qword [rsp + 0xb0], rax
cmp rax, rsi
je 0x180046395
cmp r15, r13
je 0x180046358
cmp dword [rcx + 8], esi
jne 0x180046395
mov rbx, qword [rax + 8]
mov rcx, rax
call fcn.180014070
mov rcx, qword [rbx]
mov qword [rcx + 0xa0], rdi
call fcn.18000f688
mov rcx, qword [rsp + 0xb0]
call fcn.18001412c
mov rdi, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x70]
sub rdx, 0x20
sub r15, rbp
cmp r15, rsi
mov qword [rsp + 0x70], rdx
jge 0x180046338
mov r13, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x98]
or qword [rsp + 0x140], 0xffffffffffffffff
lea r9, [rsp + 0x140]
mov r8d, 0x12
mov rcx, r14
call fcn.180062560
cmp eax, esi
jne 0x1800463ed
mov r8, qword [rsp + 0x140]
lea rdx, str.mmap_size
jmp 0x180046265
cmp eax, 0xc
je 0x180047054
jmp 0x180043b18
mov edx, ebx
mov rcx, r12
call fcn.1800396a8
add dword [r12 + 0x54], ebp
mov rax, qword [rsp + 0xb8]
movzx eax, byte [rax]
mov r12d, dword [r12 + 0x54]
lea rcx, [0x180000000]
cmp byte [rax + rcx + 0x64930], 0x70
jne 0x180046436
mov dword [rsp + 0x20], esi
mov edx, 0x9a
jmp 0x180046461
mov rcx, r13
call fcn.180008524
cmp eax, esi
mov r15d, eax
jge 0x180046457
cmp eax, 0x80000000
jne 0x180046454
mov r15d, 0x7fffffff
jmp 0x180046457
neg r15d
mov dword [rsp + 0x20], r15d
mov edx, 0x9b
mov r9d, r12d
mov r8d, ebx
mov rcx, rdi
call fcn.18001eb5c
mov r9d, ebp
mov r8d, r12d
mov edx, 0x23
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov edx, ebp
mov rcx, rdi
call fcn.1800200d0
mov r9, qword [rsp + 0xb8]
or qword [rsp + 0x20], 0xffffffffffffffff
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.180020164
jmp 0x180047054
or r10, 0xffffffffffffffff
lea r11, str.normal
lea rbx, str.exclusive
cmp r13, rsi
je 0x1800464eb
mov rdx, rbx
mov rcx, r13
call fcn.180007bec
cmp eax, esi
jne 0x1800464da
mov edx, ebp
jmp 0x1800464ee
mov rdx, r11
mov rcx, r13
call fcn.180007bec
mov edx, esi
cmp eax, esi
je 0x1800464ee
mov edx, r10d
mov rax, qword [rsp + 0x150]
cmp dword [rax + 8], esi
jne 0x18004655e
cmp edx, r10d
jne 0x18004650a
movzx ecx, byte [r14 + 0x51]
jmp 0x180046597
cmp dword [rax + 8], esi
jne 0x18004655e
cmp dword [r14 + 0x28], r15d
mov r9d, r15d
jle 0x18004655a
mov r8d, 0x40
cmp edx, esi
mov rax, qword [r14 + 0x20]
mov rcx, qword [r8 + rax + 8]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
jl 0x18004654d
cmp byte [rcx + 0x10], sil
jne 0x18004654d
mov rax, qword [rcx + 0x118]
cmp rax, rsi
je 0x18004654a
cmp byte [rax + 0x3f], r15b
je 0x18004654d
mov byte [rcx + 8], dl
add r9d, ebp
add r8, 0x20
cmp r9d, dword [r14 + 0x28]
jl 0x18004651e
mov byte [r14 + 0x51], dl
cmp edx, esi
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + rcx + 8]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
jl 0x180046593
cmp byte [rax + 0x10], sil
jne 0x180046593
mov rcx, qword [rax + 0x118]
cmp rcx, rsi
je 0x180046590
cmp byte [rcx + 0x3f], r15b
je 0x180046593
mov byte [rax + 8], dl
movzx ecx, byte [rax + 8]
cmp ecx, ebp
mov edx, ebp
mov rcx, rdi
cmovne rbx, r11
call fcn.1800200d0
lea r9, str.locking_mode
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
xor r8d, r8d
mov r9d, ebp
mov rcx, rdi
lea edx, [r8 + 0x61]
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.18001f128
mov r9d, ebp
mov r8d, ebp
mov edx, 0x23
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
jmp 0x180047054
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x78]
or rbx, 0xffffffffffffffff
mov rax, qword [rax + rcx + 8]
mov rcx, qword [rax + 8]
mov rax, 0xfffffffffffffffe
mov rdi, qword [rcx]
mov qword [rsp + 0x140], rax
cmp r13, rsi
je 0x180046657
lea rdx, [rsp + 0x140]
mov rcx, r13
call fcn.1800082c0
mov rax, qword [rsp + 0x140]
cmp rax, rbx
cmovl rax, rbx
mov qword [rsp + 0x140], rax
cmp rax, rbx
jl 0x180046673
mov rcx, qword [rdi + 0x118]
mov qword [rdi + 0xc8], rax
cmp rcx, rsi
je 0x180046673
mov qword [rcx + 0x20], rax
mov r8, qword [rdi + 0xc8]
lea rdx, str.journal_size_limit
mov qword [rsp + 0x140], r8
jmp 0x180046265
mov edx, ebp
mov rcx, rdi
call fcn.1800200d0
lea r9, str.journal_mode
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
cmp r13, rsi
jne 0x1800466bc
or r15d, 0xffffffff
jmp 0x18004672a
mov r12, r13
cmp byte [r13], sil
je 0x1800466ce
add r12, rbp
cmp byte [r12], sil
jne 0x1800466c5
sub r12d, r13d
mov r15d, esi
lea rax, str.delete
and r12d, 0x3fffffff
lea rcx, [0x180066158]
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x140], rax
cmp rax, rcx
je 0x180046722
cmp qword [rax], rsi
je 0x180046722
mov rdx, qword [rax]
mov r8d, r12d
mov rcx, r13
call fcn.180007c2c
cmp eax, esi
je 0x180046725
mov rax, qword [rsp + 0x140]
add r15d, ebp
add rax, 8
jmp 0x1800466e2
mov r15d, ebx
cmp r15d, ebx
jne 0x18004673e
mov rcx, qword [rsp + 0x150]
cmp dword [rcx + 8], esi
jne 0x18004673e
mov eax, esi
mov dword [rcx + 8], ebp
jmp 0x180046745
mov eax, dword [rsp + 0x8c]
mov ebx, dword [r14 + 0x28]
movsxd rdx, eax
sub ebx, ebp
mov qword [rsp + 0x70], rdx
movsxd rcx, ebx
mov qword [rsp + 0x140], rcx
js 0x1800465e6
mov r13, qword [rsp + 0x150]
mov r12, rcx
shl r12, 5
mov rax, qword [r14 + 0x20]
cmp qword [r12 + rax + 8], rsi
je 0x1800467b8
cmp rcx, rdx
je 0x180046789
cmp dword [r13 + 8], esi
jne 0x1800467b8
mov edx, ebx
mov rcx, rdi
call fcn.18001f578
mov r9d, ebp
mov r8d, ebx
mov edx, 0xc
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.18001eb5c
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x70]
sub rcx, rbp
sub ebx, ebp
sub r12, 0x20
cmp ebx, esi
mov qword [rsp + 0x140], rcx
jge 0x180046773
mov r13, qword [rsp + 0xa0]
jmp 0x1800465e6
cmp r13, rsi
je 0x180046800
lea rdx, [rsp + 0x140]
mov rcx, r13
call fcn.1800082c0
cmp eax, esi
jne 0x180046800
mov rcx, qword [rsp + 0x140]
call fcn.1800053d0
or rcx, 0xffffffffffffffff
call fcn.1800053d0
lea rdx, str.soft_heap_limit
mov r8, rax
jmp 0x180046265
sub ecx, 0x1c
je 0x180046e2b
sub ecx, ebp
je 0x180046dd4
sub ecx, ebp
je 0x180046ae4
sub ecx, ebp
je 0x180046a60
sub ecx, ebp
je 0x1800469a6
sub ecx, ebp
je 0x18004695a
cmp ecx, ebp
je 0x180046877
cmp r13, rsi
je 0x180046864
mov rcx, r13
call fcn.180008524
mov rcx, r14
mov edx, eax
call fcn.1800607f4
movsxd r8, dword [r14 + 0x2f8]
lea rdx, str.timeout
jmp 0x180046265
mov rax, qword [rsp + 0x150]
mov ecx, 0xa
mov r10d, esi
cmp qword [rax], rsi
mov dword [rsp + 0x140], esi
cmovne ecx, ebx
mov dword [rsp + 0x78], ecx
cmp r13, rsi
je 0x1800468d6
lea rdx, str.full
mov rcx, r13
call fcn.180007bec
cmp eax, esi
jne 0x1800468b9
mov dword [rsp + 0x140], ebp
jmp 0x1800468d6
lea rdx, str.restart
mov rcx, r13
call fcn.180007bec
cmp eax, esi
cmove r10d, r15d
mov dword [rsp + 0x140], r10d
mov ebx, 3
mov rcx, rdi
mov edx, ebx
call fcn.1800200d0
lea r9, str.busy
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov dword [r12 + 0x54], ebx
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, [0x1800699f8]
xor r8d, r8d
mov edx, ebp
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.checkpointed
xor r8d, r8d
mov edx, r15d
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov r9d, dword [rsp + 0x140]
mov r8d, dword [rsp + 0x78]
lea edx, [rbx + 8]
mov rcx, rdi
mov dword [rsp + 0x20], ebp
call fcn.18001eb5c
mov r9d, ebx
jmp 0x1800465e9
lea rbx, [0x180060ff8]
cmp r13, rsi
je 0x180046987
mov rcx, r13
call fcn.180008524
mov rcx, r14
cmp eax, esi
jle 0x18004697d
movsxd r8, eax
mov rdx, rbx
jmp 0x180046982
xor r8d, r8d
xor edx, edx
call fcn.180061078
cmp qword [r14 + 0x108], rbx
jne 0x180046997
mov esi, dword [r14 + 0x110]
movsxd r8, esi
lea rdx, str.wal_autocheckpoint
jmp 0x180046265
cmp r13, rsi
jne 0x1800469e7
cmp qword [0x18006f580], rsi
je 0x180047054
mov edx, ebp
mov rcx, rdi
call fcn.1800200d0
lea r9, str.temp_store_directory
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov rbx, qword [0x18006f580]
jmp 0x1800465c0
cmp byte [r13], sil
je 0x180046a19
mov rax, qword [r14]
lea r9, [rsp + 0x140]
mov r8d, ebp
mov rcx, rax
mov rdx, r13
call qword [rax + 0x38]
cmp eax, esi
jne 0x180047054
cmp dword [rsp + 0x140], esi
je 0x180047054
cmp byte [r14 + 0x4f], bpl
ja 0x180046a27
mov rcx, r12
call fcn.180043728
mov rcx, qword [0x18006f580]
call fcn.1800059e4
cmp byte [r13], sil
je 0x180046a54
lea rcx, [0x180068b24]
mov rdx, r13
call fcn.180007268
mov qword [0x18006f580], rax
jmp 0x180047054
mov qword [0x18006f580], rsi
jmp 0x180047054
cmp r13, rsi
jne 0x180046a76
movzx r8d, byte [r14 + 0x4f]
lea rdx, str.temp_store
jmp 0x180046265
cmp byte [r13], 0x30
jl 0x180046a8e
cmp byte [r13], 0x32
jg 0x180046a8e
movsx ebp, byte [r13]
sub ebp, 0x30
jmp 0x180046abb
lea rdx, str.file
mov rcx, r13
call fcn.180007bec
cmp eax, esi
je 0x180046abb
lea rdx, str.memory
mov rcx, r13
call fcn.180007bec
neg eax
sbb ecx, ecx
not ecx
and ecx, r15d
mov ebp, ecx
mov rbx, qword [r12]
movzx eax, byte [rbx + 0x4f]
cmp eax, ebp
je 0x180047054
mov rcx, r12
call fcn.180043728
cmp eax, esi
jne 0x180047054
mov byte [rbx + 0x4f], bpl
jmp 0x180047054
cmp r13, rsi
je 0x180047054
mov r8, qword [rsp + 0x98]
mov rdx, r13
mov rcx, r14
call fcn.180034b7c
mov qword [rsp + 0x48], rax
cmp rax, rsi
je 0x180047054
mov rax, qword [rax + 0x10]
mov dword [rsp + 0x140], esi
mov qword [rsp + 0x70], rax
cmp rax, rsi
je 0x180046b3c
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, r15b
je 0x180046b37
mov rax, qword [rax + 0x28]
cmp rax, rsi
jne 0x180046b23
mov qword [rsp + 0x70], rax
mov edx, 6
mov rcx, rdi
call fcn.1800200d0
mov edx, ebx
mov rcx, r12
mov dword [r12 + 0x54], 6
call fcn.1800396a8
lea r9, [0x180069890]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.name
xor r8d, r8d
mov edx, ebp
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.type
xor r8d, r8d
mov edx, r15d
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
xor r8d, r8d
lea r9, str.notnull
lea edx, [r8 + 3]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
xor r8d, r8d
lea r9, str.dflt_value
lea edx, [r8 + 4]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
xor r8d, r8d
lea r9, [0x1800698bc]
lea edx, [r8 + 5]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.180037044
mov rax, qword [rsp + 0x48]
mov ecx, esi
cmp si, word [rax + 0x42]
mov rbx, qword [rax + 8]
mov dword [rsp + 0x88], ecx
mov qword [rsp + 0x58], rbx
jge 0x180047054
mov r13, qword [rsp + 0x70]
mov r12d, 0x61
lea r14d, [r12 - 0x5b]
test byte [rbx + 0x2b], r15b
je 0x180046c49
add dword [rsp + 0x140], ebp
jmp 0x180046dac
mov r8d, ecx
mov r9d, ebp
mov edx, 0x19
sub r8d, dword [rsp + 0x140]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rbx, qword [rbx]
mov r9d, r15d
xor r8d, r8d
mov edx, r12d
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov rcx, rdi
mov edx, eax
call fcn.18001f128
mov rax, qword [rsp + 0x58]
lea rbx, [0x180068af4]
cmp qword [rax + 0x18], rsi
mov r9d, 3
mov edx, r12d
cmovne rbx, qword [rax + 0x18]
mov rcx, rdi
xor r8d, r8d
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov rcx, rdi
mov edx, eax
call fcn.18001f128
mov rbx, qword [rsp + 0x58]
mov edx, 0x19
cmp byte [rbx + 0x28], sil
mov r8d, esi
lea r9d, [rdx - 0x15]
mov rcx, rdi
setne r8b
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rax, qword [rbx + 0x10]
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, 5
mov rcx, rdi
mov qword [rsp + 0x70], rax
cmp rax, rsi
je 0x180046d2c
mov edx, r12d
call fcn.18001eb5c
mov r8, qword [rsp + 0x70]
xor r9d, r9d
mov edx, eax
mov rcx, rdi
call fcn.18001f128
jmp 0x180046d36
mov edx, 0x1c
call fcn.18001eb5c
test byte [rbx + 0x2b], bpl
jne 0x180046d41
mov r8d, esi
jmp 0x180046d75
mov r8d, ebp
cmp r13, rsi
je 0x180046d75
mov r11, qword [rsp + 0x48]
movsx r9d, word [r11 + 0x42]
cmp r9d, ebp
jl 0x180046d75
mov rdx, qword [r13 + 8]
mov ecx, dword [rsp + 0x88]
movsx eax, word [rdx]
cmp eax, ecx
je 0x180046d75
add r8d, ebp
add rdx, r15
cmp r8d, r9d
jle 0x180046d63
mov r9d, r14d
mov edx, 0x19
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r9d, r14d
mov r8d, ebp
mov edx, 0x23
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov rax, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x88]
movsx eax, word [rax + 0x42]
add ecx, ebp
add rbx, 0x30
cmp ecx, eax
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x88], ecx
mov qword [rsp + 0x58], rbx
jl 0x180046c37
jmp 0x180047044
cmp r13, rsi
jne 0x180046df6
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
lea rdx, str.synchronous
movzx eax, byte [rax + rcx + 0x10]
sub eax, ebp
jmp 0x180046262
cmp byte [r14 + 0x4e], sil
je 0x180047054
mov r8b, bpl
xor edx, edx
mov rcx, r13
call fcn.180043658
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x40]
add al, bpl
mov byte [rcx + rdx + 0x10], al
mov rcx, r14
call fcn.180043840
jmp 0x180047054
mov rcx, r12
call fcn.18004a4ec
mov edx, 4
mov rcx, rax
mov rdi, rax
mov qword [rsp + 0x140], rax
call fcn.1800200d0
mov edx, ebx
mov rcx, r12
mov dword [r12 + 0x54], 4
call fcn.1800396a8
lea r9, str.table
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.index
xor r8d, r8d
mov edx, ebp
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
lea r9, str.width
xor r8d, r8d
mov edx, r15d
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.180020164
xor r8d, r8d
lea r12d, [r8 + 3]
lea r9, str.height
mov rcx, rdi
mov edx, r12d
mov qword [rsp + 0x20], rsi
call fcn.180020164
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
mov r11, qword [rax + rcx + 0x18]
mov rax, qword [r11 + 0x10]
mov qword [rsp + 0x70], rax
cmp rax, rsi
je 0x180047054
mov r13, rdi
mov rdi, qword [rax + 0x10]
xor r8d, r8d
mov r9d, ebp
mov rbx, qword [rdi]
lea edx, [r8 + 0x61]
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov rcx, r13
mov edx, eax
call fcn.18001f128
xor r8d, r8d
mov r9d, r15d
lea edx, [r8 + 0x1c]
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
movzx ecx, word [rdi + 0x46]
call fcn.180008a78
mov ebx, 0x19
mov r9d, r12d
mov rcx, r13
mov r8, rax
mov edx, ebx
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
movzx ecx, word [rdi + 0x38]
call fcn.180008a78
lea r9d, [rbx - 0x15]
mov edx, ebx
mov rcx, r13
mov r8, rax
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
lea r9d, [rbx - 0x15]
lea edx, [rbx + 0xa]
mov r8d, ebp
mov rcx, r13
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r14, qword [rdi + 0x10]
cmp r14, rsi
je 0x18004702e
mov rdi, qword [rsp + 0x140]
mov rbx, qword [r14]
xor r8d, r8d
mov r9d, r15d
lea edx, [r8 + 0x61]
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.18001f128
movzx ecx, word [r14 + 0x5c]
call fcn.180008a78
mov ebx, 0x19
mov r9d, r12d
mov rcx, rdi
mov r8, rax
mov edx, ebx
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r11, qword [r14 + 0x10]
movzx ecx, word [r11]
call fcn.180008a78
lea r9d, [rbx - 0x15]
mov edx, ebx
mov rcx, rdi
mov r8, rax
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
lea r9d, [rbx - 0x15]
lea edx, [rbx + 0xa]
mov r8d, ebp
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.18001eb5c
mov r14, qword [r14 + 0x28]
cmp r14, rsi
jne 0x180046f9a
mov r13, rdi
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
cmp rax, rsi
jne 0x180046eec
mov r14, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb8]
mov rcx, r14
call fcn.180005a84
mov rdx, r13
mov rcx, r14
call fcn.180005a84
mov rbx, qword [rsp + 0x148]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret