Function at 0x140028488
Capabilities:
Encrypt data using speck
Parse credit card information
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x228
mov r14, qword [rcx]
xor edi, edi
mov rsi, qword [rcx + 0x88]
mov edx, edi
mov r12, qword [rcx + 0x68]
mov r11, rcx
movaps xmmword [rax - 0x58], xmm6
mov r8d, edi
mov r9b, byte [r14 + 0x5e]
lea r15d, [rdi + 1]
movaps xmmword [rax - 0x68], xmm7
lea eax, [rdi + 7]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x58], rsi
mov dword [rbp + 0x180], edi
mov qword [rsp + 0x30], r14
mov byte [rbp + 0x178], r9b
mov dword [rbp + 0x188], edi
mov dword [rbp - 0x64], edx
mov qword [rsp + 0x40], r12
cmp dword [rcx + 0x38], eax
je 0x14002cc7b
mov qword [rcx + 0x48], rdi
mov qword [rcx + 0xa0], rdi
mov eax, dword [r14 + 0x140]
mov dword [r14 + 0x1c0], edi
test eax, eax
jne 0x14002cc4e
movsxd rax, dword [rcx + 0x34]
lea r10d, [rdi + 4]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea r13, [rsi + rcx*8]
movzx ebx, byte [r13]
add edx, r15d
mov qword [rsp + 0x58], r13
mov ecx, 2
mov dword [rbp - 0x64], edx
cmp ebx, 0x67
ja 0x14002ad44
cmp ebx, 0x63
jae 0x14002aaa6
cmp ebx, 0x37
ja 0x14002992c
je 0x14002991e
cmp ebx, 0x19
ja 0x140029053
cmp ebx, 0x16
jae 0x140028e48
cmp ebx, 0xe
ja 0x140028bb5
je 0x140028b72
test ebx, ebx
je 0x140028838
cmp ebx, r15d
je 0x14002c841
cmp ebx, ecx
je 0x1400286b2
cmp ebx, 3
je 0x140028654
jbe 0x14002c7ee
cmp ebx, 5
jbe 0x14002863a
cmp ebx, 0xb
je 0x1400297bb
cmp ebx, 0xc
je 0x140028600
cmp ebx, 0xd
jne 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, dword [r13 + 0xc]
sub eax, r15d
cdqe
mov qword [rcx + r12], rax
mov word [rcx + r12 + 8], r10w
cmp dword [r13 + 8], edi
jne 0x14002c005
jmp 0x14002c7ee
movsxd rax, dword [r13 + 4]
mov rcx, r13
imul r8, rax, 0x38
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + r12 + 8], r10w
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r12], rax
jmp 0x140028c35
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [r13 + 0x10]
jmp 0x14002866b
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r14
mov rdx, rbx
call fcn.14002e810
mov dword [rbp + 0x180], eax
mov dword [rbx + 0x28], edi
test eax, eax
jne 0x14002869a
mov r14, qword [rbp + 0x170]
mov byte [rbx + 2], dil
movzx eax, word [r13 + 2]
add dword [r14 + rax*4 + 0xcc], r15d
mov r14, qword [rsp + 0x30]
jmp 0x1400297bb
cmp eax, 0x65
jne 0x14002af38
mov dword [rbp + 0x180], edi
mov byte [rbx + 2], r15b
jmp 0x1400297d1
mov edx, dword [r13 + 8]
mov dword [rbp - 0x70], edi
test edx, edx
je 0x1400286cc
mov eax, dword [r14 + 0x30]
bt rax, 0x14
jb 0x14002c7fa
movsxd rcx, dword [r13 + 4]
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x140028779
lea r8, [rbp - 0x70]
mov rcx, rbx
call fcn.14001e4d4
mov dword [rbp + 0x180], eax
mov r12d, eax
test eax, eax
jne 0x14002c805
mov r11, qword [rbp + 0x170]
cmp dword [r13 + 8], edi
je 0x140028780
mov eax, 0x80
test byte [r11 + 0xc0], al
je 0x140028780
cmp byte [r14 + 0x5f], dil
je 0x14002872d
cmp dword [r14 + 0xc0], r15d
jle 0x140028780
mov edx, dword [r11 + 0x40]
test edx, edx
jne 0x14002874e
add dword [r14 + 0x218], r15d
mov edx, dword [r14 + 0x218]
add edx, dword [r14 + 0x214]
mov dword [r11 + 0x40], edx
mov rcx, rbx
call fcn.14001ea18
mov r11, qword [rbp + 0x170]
mov dword [rbp + 0x180], eax
mov rax, qword [r14 + 0x220]
mov qword [r11 + 0x58], rax
mov rax, qword [r14 + 0x228]
mov qword [r11 + 0x60], rax
mov r12d, dword [rbp + 0x180]
cmp word [r13 + 2], di
je 0x140028825
mov eax, dword [r13 + 0xc]
cmp dword [rbp - 0x70], eax
jne 0x1400287ae
mov rax, qword [r14 + 0x20]
movsxd rcx, dword [r13 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
je 0x140028825
mov rdx, qword [r11 + 0xa8]
test rdx, rdx
je 0x1400287c2
mov rcx, r14
call fcn.1400120a4
lea rdx, str.database_schema_has_changed
mov rcx, r14
call fcn.1400123c0
mov r11, qword [rbp + 0x170]
mov qword [r11 + 0xa8], rax
mov rax, qword [r14 + 0x20]
movsxd rdx, dword [r13 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x70]
cmp dword [rcx], eax
je 0x140028809
mov rcx, r14
call fcn.14003832c
mov r11, qword [rbp + 0x170]
and dword [r11 + 0xc0], 0xfffffffd
mov r12d, 0x11
or dword [r11 + 0xc0], r15d
mov dword [rbp + 0x180], r12d
test r12d, r12d
jne 0x14002af38
mov r12, qword [rsp + 0x40]
jmp 0x140029dac
mov edi, dword [r13 + 4]
mov rsi, qword [r13 + 0x10]
xor r13d, r13d
mov dword [rsp + 0x68], edi
test edi, edi
jne 0x14002892b
xor edi, edi
cmp dword [r14 + 0xc4], edi
jg 0x14002c93a
test rsi, rsi
jne 0x140028867
mov ebx, edi
jmp 0x14002887a
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], dil
jne 0x14002886b
and ebx, 0x3fffffff
cmp byte [r14 + 0x61], dil
jne 0x14002890c
mov edx, ebx
mov rcx, r14
add rdx, 0x21
call fcn.1400122d8
xor r12d, r12d
mov rdi, rax
test rax, rax
je 0x1400288ef
lea rcx, [rax + 0x20]
mov rdx, rsi
lea r8d, [rbx + 1]
mov qword [rax], rcx
call fcn.14008ccb0
cmp byte [r14 + 0x5f], r12b
je 0x1400288c0
mov byte [r14 + 0x5f], r12b
mov byte [r14 + 0x67], r15b
jmp 0x1400288c7
add dword [r14 + 0x214], r15d
mov rax, qword [r14 + 0x208]
mov qword [rdi + 0x18], rax
mov rax, qword [r14 + 0x220]
mov qword [r14 + 0x208], rdi
mov qword [rdi + 8], rax
mov rax, qword [r14 + 0x228]
mov qword [rdi + 0x10], rax
xor edi, edi
mov r8d, dword [rbp + 0x188]
mov r10d, 4
mov r9b, byte [rbp + 0x178]
mov r11, qword [rbp + 0x170]
mov r13d, dword [rbp + 0x180]
test r13d, r13d
jne 0x14002af3f
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x40]
jmp 0x140029690
mov r12, qword [r14 + 0x208]
mov ebx, r13d
test r12, r12
je 0x14002c9b2
mov rcx, qword [r12]
mov rdx, rsi
call fcn.1400140b8
test eax, eax
je 0x14002895b
mov r12, qword [r12 + 0x18]
add ebx, r15d
test r12, r12
jne 0x14002893e
test r12, r12
je 0x14002c9ab
cmp dword [r14 + 0xc4], r13d
jle 0x140028976
cmp edi, r15d
je 0x14002c946
cmp qword [r12 + 0x18], r13
jne 0x1400289c0
cmp byte [r14 + 0x67], r13b
je 0x1400289c0
mov r13d, r15d
cmp edi, r15d
jne 0x1400289c0
mov byte [r14 + 0x5f], r15b
mov r14, qword [rbp + 0x170]
mov rcx, r14
call fcn.140025e20
cmp eax, 5
je 0x14002c96a
mov rcx, qword [rsp + 0x30]
xor ebx, ebx
mov byte [rcx + 0x67], bl
mov ecx, dword [r14 + 0x38]
mov dword [rbp + 0x180], ecx
jmp 0x140028ab6
mov r15d, dword [r14 + 0x214]
mov ecx, 1
mov eax, dword [r14 + 0x28]
sub r15d, ebx
sub r15d, ecx
xor ebx, ebx
lea edx, [rcx + 1]
cmp edi, edx
jne 0x140028a30
mov r14d, dword [r14 + 0x2c]
mov esi, ebx
and r14d, ecx
test eax, eax
jle 0x140028a33
mov edi, r14d
xor edi, ecx
mov rcx, qword [rsp + 0x30]
mov r8d, edi
mov edx, 0x204
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rbx + rcx + 8]
call fcn.14001e860
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
mov rax, qword [rsp + 0x30]
inc esi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp esi, eax
jl 0x1400289f1
xor ebx, ebx
jmp 0x140028a33
mov r14d, ebx
mov edi, ebx
test eax, eax
jle 0x140028a73
mov esi, dword [rsp + 0x68]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x20]
mov r8d, r15d
mov edx, esi
mov rcx, qword [rbx + rcx + 8]
call fcn.14001ea3c
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
mov rax, qword [rsp + 0x30]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x140028a42
mov r15d, 1
test r14d, r14d
je 0x140028ab2
mov r14, qword [rsp + 0x30]
mov rax, qword [r14 + 8]
test rax, rax
je 0x140028aa0
and dword [rax + 0xc0], 0xfffffffd
or dword [rax + 0xc0], r15d
mov rax, qword [rax + 0x10]
jmp 0x140028a87
mov rcx, r14
call fcn.1400383a8
or dword [r14 + 0x2c], r15d
mov edi, dword [rsp + 0x68]
jmp 0x140028abb
mov edi, dword [rsp + 0x68]
mov r14, qword [rsp + 0x30]
mov rcx, qword [r14 + 0x208]
jmp 0x140028ae8
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r14
mov qword [r14 + 0x208], rax
call fcn.1400120a4
mov rcx, qword [r14 + 0x208]
dec dword [r14 + 0x214]
cmp rcx, r12
jne 0x140028ac4
cmp edi, r15d
jne 0x140028b1d
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, r14
mov qword [r14 + 0x208], rax
call fcn.1400120a4
xor edi, edi
test r13d, r13d
jne 0x1400288f1
dec dword [r14 + 0x214]
jmp 0x140028b49
mov rax, qword [r12 + 8]
mov qword [r14 + 0x220], rax
mov rax, qword [r12 + 0x10]
mov qword [r14 + 0x228], rax
test r13d, r13d
je 0x140028b47
mov eax, 2
cmp edi, eax
jne 0x1400288ef
xor edi, edi
mov r11, qword [rbp + 0x170]
mov r13d, edi
mov r9b, byte [rbp + 0x178]
mov r10d, 4
mov r8d, dword [rbp + 0x188]
mov dword [rbp + 0x180], edi
jmp 0x140028913
movsxd rax, dword [r13 + 4]
sub r13, rsi
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
movsxd rcx, dword [r8 + r12]
sar rdx, 2
mov rax, rdx
mov word [r8 + r12 + 8], r10w
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea r13, [rsi + rcx*8]
mov qword [r8 + r12], rax
jmp 0x1400297f4
sub ebx, 0xf
je 0x140028dd8
sub ebx, 1
je 0x140028d5d
sub ebx, 1
je 0x140028d34
sub ebx, 1
je 0x140028cb1
sub ebx, 1
je 0x140028c8a
sub ebx, 1
je 0x140028c5e
cmp ebx, 1
jne 0x14002c7ee
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], dil
je 0x14002c7ee
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
je 0x140028c57
call fcn.140023970
mov r11, qword [rbp + 0x170]
mov r10d, 4
mov r9b, byte [rbp + 0x178]
mov r8d, dword [rbp + 0x188]
mov eax, dword [r13 + 8]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rsi + rcx*8]
mov r14, qword [rsp + 0x30]
jmp 0x14002c7ee
mov word [rcx + 8], r15w
jmp 0x140028c3c
cmp dword [r13 + 0xc], edi
mov edx, edi
movsxd rax, dword [r13 + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r12
call fcn.140023afc
mov r10d, 4
test eax, eax
je 0x14002c005
jmp 0x140029912
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140023afc
test eax, eax
mov r10d, 4
jne 0x14002c005
jmp 0x140029912
mov r8, qword [r11 + 0xf8]
test r8, r8
je 0x140028d14
mov r9, qword [r8 + 0x30]
mov rcx, r13
sub rcx, qword [r11 + 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 0x140028c2e
bts eax, edx
mov byte [rcx + r9], al
mov rcx, qword [r11 + 0x88]
mov r9b, byte [rbp + 0x178]
jmp 0x140028d28
mov rcx, qword [r11 + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x140028c35
mov eax, dword [rcx + 4]
mov dword [r13 + 4], eax
jmp 0x1400297f4
test r8d, r8d
jns 0x140028d3f
mov eax, dword [r13 + 4]
jmp 0x140028d4b
jne 0x140028d47
mov eax, dword [r13 + 8]
jmp 0x140028d4b
mov eax, dword [r13 + 0xc]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [rsi + rax*8]
jmp 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rcx, r12
add rbx, r12
test byte [rcx + 8], r15b
jne 0x140028db6
xor edx, edx
call fcn.140023afc
test eax, eax
mov rcx, rdi
mov eax, 0x2400
sete cl
test word [rbx + 8], ax
je 0x140028da3
mov rdx, rcx
mov rcx, rbx
call fcn.140023dbc
jmp 0x140029da5
mov r10d, 4
mov qword [rbx], rcx
mov word [rbx + 8], r10w
jmp 0x140029912
mov eax, 0x2400
test word [rbx + 8], ax
je 0x140028dce
mov rcx, rbx
call fcn.140023970
jmp 0x140029da5
mov word [rbx + 8], r15w
jmp 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r12
movzx eax, word [rbx + 8]
test r10b, al
jne 0x140028e33
mov r8b, r9b
mov dl, 0x43
mov rcx, rbx
call fcn.14002834c
movzx eax, word [rbx + 8]
mov r10d, 4
test r10b, al
jne 0x140028e1e
cmp dword [r13 + 8], edi
je 0x14002c9c9
mov r11, qword [rbp + 0x170]
jmp 0x140028c2e
mov r11, qword [rbp + 0x170]
mov r9b, byte [rbp + 0x178]
mov r8d, dword [rbp + 0x188]
mov ecx, 0x3e00
and ax, cx
or ax, r10w
mov word [rbx + 8], ax
jmp 0x14002c7ee
movsxd rcx, dword [r13 + 4]
mov r15d, edi
mov rax, qword [r11 + 0x78]
mov r14, qword [rax + rcx*8]
mov byte [r14 + 2], dil
cmp byte [r14 + 4], dil
je 0x140028f1a
movsxd rax, dword [r13 + 0xc]
mov ecx, 2
imul rdi, rax, 0x38
add rdi, r12
mov al, byte [rdi + 8]
and al, 0xe
cmp al, cl
jne 0x140028e88
xor edx, edx
mov rcx, rdi
call fcn.1400282b0
mov rcx, rdi
call fcn.140023a78
mov r10d, 4
mov rsi, rax
test byte [rdi + 8], r10b
jne 0x140028edb
lea eax, [r10 + 4]
test byte [rdi + 8], al
je 0x14002bff5
movsd xmm1, qword [rdi]
lea r12d, [r10 - 3]
xorps xmm0, xmm0
cvtsi2sd xmm0, rsi
comisd xmm1, xmm0
jae 0x140028ecf
test r12b, bl
lea eax, [rbx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x140028ee1
jbe 0x140028ee1
test r12b, bl
jne 0x140028ee1
add ebx, r12d
jmp 0x140028ee1
mov r12d, 1
mov rcx, qword [r14 + 0x38]
lea rax, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, rsi
xor edx, edx
call fcn.14001f414
xor edi, edi
mov dword [rbp + 0x180], eax
mov qword [r14 + 0x58], rsi
test eax, eax
jne 0x14002af38
mov rsi, qword [rsp + 0x38]
jmp 0x140028fd6
mov rax, qword [r14 + 0x38]
mov edx, 0
mov r15d, edx
mov dil, byte [rax + 3]
lea r12d, [rdx + 1]
mov rax, qword [r14 + 0x40]
and dil, 2
mov qword [rbp - 0x18], rax
movzx eax, word [r13 + 0x10]
setne r15b
mov word [rbp - 8], ax
mov eax, ebx
and al, r12b
mov byte [rbp - 2], dl
neg al
lea rdx, [rbp - 0x18]
movsxd rax, dword [r13 + 0xc]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
xor r8d, r8d
add cl, r12b
mov byte [rbp - 6], cl
imul rcx, rax, 0x38
lea rax, [rsp + 0x50]
add rcx, qword [rsp + 0x40]
mov qword [rbp - 0x10], rcx
mov rcx, qword [r14 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14001f414
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
test dil, dil
je 0x140028fd4
xor edi, edi
cmp byte [rbp - 2], dil
jne 0x140028fd6
mov ecx, dword [rsp + 0x50]
test ecx, ecx
jne 0x14002bfe8
mov r14, qword [rsp + 0x30]
lea rax, [r13 + 0x18]
mov r12, qword [rsp + 0x40]
test r15d, r15d
mov r15d, 1
cmove rax, r13
mov r13, rax
jmp 0x140029da5
xor edi, edi
mov byte [r14 + 3], dil
mov dword [r14 + 0x28], edi
mov eax, dword [rsp + 0x50]
cmp ebx, 0x18
jl 0x140029029
test eax, eax
js 0x140028ff8
jne 0x140028ff2
cmp ebx, 0x19
je 0x140028ff8
mov dword [rsp + 0x50], edi
jmp 0x140028fb1
mov dword [rsp + 0x50], edi
xor edx, edx
mov rcx, qword [r14 + 0x38]
call fcn.14001fa08
mov dword [rbp + 0x180], eax
test eax, eax
je 0x140028fa5
cmp eax, 0x65
jne 0x14002af38
mov dword [rbp + 0x180], edi
mov ecx, r12d
mov dword [rsp + 0x50], ecx
jmp 0x140028fa9
test eax, eax
jg 0x140029042
jne 0x140029034
cmp ebx, 0x16
je 0x140029042
mov rax, qword [r14 + 0x38]
mov ecx, edi
cmp byte [rax], dil
setne cl
jmp 0x140029023
mov dword [rsp + 0x50], edi
xor edx, edx
mov rcx, qword [r14 + 0x38]
call fcn.14001fb60
jmp 0x140029007
cmp ebx, 0x27
ja 0x1400293e9
cmp ebx, 0x25
jae 0x140029800
cmp ebx, 0x20
ja 0x1400292d5
je 0x14002bf82
cmp ebx, 0x1a
je 0x140029179
jbe 0x14002c7ee
cmp ebx, 0x1d
jbe 0x140029193
cmp ebx, 0x1e
je 0x14002909b
cmp ebx, 0x1f
je 0x1400290d9
jmp 0x14002c7ee
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r12
movzx edi, word [rbx + 8]
test r10b, dil
jne 0x1400290d9
mov r8b, r9b
mov dl, 0x43
mov rcx, rbx
call fcn.14002834c
movzx eax, word [rbx + 8]
shr eax, 2
not eax
mov word [rbx + 8], di
test r15b, al
jne 0x14002bffd
mov r11, qword [rbp + 0x170]
movsxd rcx, dword [r13 + 4]
xor r9d, r9d
mov rax, qword [r11 + 0x78]
mov rdi, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rdi + 0x38]
mov dword [rbp - 0x6c], eax
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x20], rax
mov rbx, qword [rdx + r12]
xor edx, edx
mov r8, rbx
call fcn.14001f414
mov qword [rdi + 0x58], rbx
mov dword [rbp + 0x180], eax
xor eax, eax
mov word [rdi + 2], ax
mov dword [rdi + 0x28], eax
mov eax, dword [rbp - 0x6c]
mov dword [rdi + 0x2c], eax
xor edi, edi
cmp dword [rbp - 0x6c], edi
je 0x14002916e
cmp dword [r13 + 8], edi
jne 0x140028c21
mov r9d, 0x156b9
lea rax, [0x1400d1aa4]
mov ebx, reloc.Cabinet.dll_FCIAddFile
mov ecx, ebx
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140013b74
mov r13d, ebx
jmp 0x14002af3f
cmp dword [rbp + 0x180], edi
jmp 0x14002b2da
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne 0x14002c7ee
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdi, rax, 0x38
mov rcx, qword [rsi + 0x40]
add rdi, r12
xor r12d, r12d
cmp dword [r13 + 0x10], r12d
jle 0x1400291d1
movzx eax, word [r13 + 0x10]
lea rbx, [rbp + 0x50]
mov word [rbp + 0x60], ax
mov r14d, r12d
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x58], rdi
jmp 0x1400291f8
call fcn.140026850
mov rbx, rax
mov r14, rax
test rax, rax
je 0x14002cc6f
mov r8, qword [rdi + 0x10]
mov r9, rax
mov edx, dword [rdi + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.1400268b8
mov byte [rbx + 0x12], r12b
mov edi, r12d
cmp byte [r13], 0x1b
jne 0x14002922e
movzx edx, word [rbx + 0x10]
mov ecx, r12d
test edx, edx
je 0x14002922e
mov rax, qword [rbx + 8]
add rax, 8
test byte [rax], r15b
jne 0x14002922b
add ecx, r15d
add rax, 0x38
cmp ecx, edx
jl 0x140029219
jmp 0x14002922e
mov edi, r15d
mov rcx, qword [rsi + 0x38]
lea rax, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rbx
call fcn.14001f414
mov dword [rbp + 0x180], eax
mov r12d, eax
test r14, r14
je 0x140029269
mov rdx, r14
mov r14, qword [rsp + 0x30]
mov rcx, r14
call fcn.1400120a4
jmp 0x14002926e
mov r14, qword [rsp + 0x30]
test r12d, r12d
jne 0x14002af38
mov eax, dword [rbp - 0x50]
xor r12d, r12d
mov dword [rsi + 0x2c], eax
mov ecx, r12d
mov eax, dword [rbp - 0x50]
test eax, eax
mov byte [rsi + 3], r12b
sete cl
mov dword [rsi + 0x28], r12d
mov r12, qword [rsp + 0x40]
test eax, eax
setne al
mov byte [rsi + 2], al
cmp byte [r13], 0x1d
jne 0x1400292ba
xor edi, edi
lea r10d, [rdi + 4]
test ecx, ecx
jne 0x14002c005
jmp 0x14002a0fa
test edi, edi
jne 0x14002bffd
xor edi, edi
lea r10d, [rdi + 4]
test ecx, ecx
je 0x14002c005
jmp 0x14002a0fa
cmp ebx, 0x21
je 0x14002937c
jbe 0x14002c7ee
cmp ebx, 0x23
jbe 0x1400292f3
cmp ebx, 0x24
je 0x1400292fa
jmp 0x14002c7ee
add dword [r11 + 0xd4], r15d
movsxd rcx, dword [r13 + 4]
lea rdx, [rsp + 0x70]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rsp + 0x70], r15d
cmp byte [rbx], r15b
jne 0x140029328
mov rcx, rbx
call fcn.14002e7a8
mov r12d, eax
mov dword [rbp + 0x180], eax
jmp 0x14002935e
mov rdi, qword [rbx + 0x38]
mov rcx, rdi
call fcn.14001f370
mov r12d, eax
mov dword [rbp + 0x180], eax
xor eax, eax
cmp word [r13 + 2], ax
je 0x140029355
cmp byte [rdi], al
jne 0x140029355
mov eax, 2
mov dword [rdi + 4], r15d
mov byte [rdi], al
xor edi, edi
mov byte [rbx + 3], dil
mov dword [rbx + 0x28], edi
test r12d, r12d
jne 0x14002af38
mov al, byte [rsp + 0x70]
mov r12, qword [rsp + 0x40]
mov byte [rbx + 2], al
cmp dword [rsp + 0x70], edi
jmp 0x140028ca0
movsxd rcx, dword [r13 + 4]
lea rdx, [rsp + 0x74]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.14001f370
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
cmp dword [rsp + 0x74], edi
jne 0x14002bfee
mov rcx, rbx
call fcn.14001f8ac
test rax, rax
js 0x1400293db
mov rcx, rax
call fcn.140014e78
movsx ecx, ax
mov eax, dword [rsp + 0x74]
cmp ecx, dword [r13 + 0xc]
cmovl eax, r15d
mov dword [rsp + 0x74], eax
jmp 0x1400293df
mov eax, dword [rsp + 0x74]
mov r12, qword [rsp + 0x40]
jmp 0x140028c9e
cmp ebx, 0x29
jbe 0x140029882
cmp ebx, 0x2a
je 0x140029800
cmp ebx, 0x2b
je 0x140029746
cmp ebx, 0x2c
je 0x1400296c4
cmp ebx, 0x2f
je 0x1400296b2
cmp ebx, 0x30
je 0x14002969a
lea eax, [rbx - 0x31]
cmp eax, 5
ja 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rsi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rsi, r12
movzx edi, word [rsi + 8]
lea r14, [rcx + r12]
movzx ebx, word [r14 + 8]
movzx edx, bx
or dx, di
test r15b, dl
je 0x1400294ce
mov eax, 0x80
test byte [r13 + 2], al
je 0x140029484
mov al, bl
and al, dil
test r15b, al
je 0x140029559
mov eax, 0x100
test ax, bx
jne 0x140029559
xor eax, eax
jmp 0x140029605
test byte [r13 + 2], 0x20
je 0x1400294b3
movsxd rax, dword [r13 + 8]
mov r8d, r15d
imul rcx, rax, 0x38
mov eax, 0x3e00
mov dword [rbp + 0x188], r15d
add rcx, r12
and word [rcx + 8], ax
or word [rcx + 8], r15w
jmp 0x14002c7e2
mov rsi, qword [rsp + 0x38]
mov eax, 0x10
xor edi, edi
test byte [r13 + 2], al
jne 0x140028c3c
jmp 0x140028c4d
mov al, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x140029571
mov r8d, 2
movzx ecx, bx
test r8b, dl
je 0x14002952e
mov al, dil
and al, 0xe
cmp al, r8b
jne 0x14002950d
xor edx, edx
mov rcx, rsi
call fcn.1400282b0
movzx ebx, word [r14 + 8]
mov r10d, 4
lea r8d, [r10 - 2]
mov al, bl
movzx ecx, bx
and al, 0xe
cmp al, r8b
jne 0x14002952e
xor edx, edx
mov rcx, r14
call fcn.1400282b0
movzx ecx, word [r14 + 8]
mov r10d, 4
mov al, byte [rsi + 8]
and al, cl
test r10b, al
je 0x1400295db
mov rcx, qword [rsi]
mov r11, qword [rbp + 0x170]
mov r9b, byte [rbp + 0x178]
mov r8d, dword [rbp + 0x188]
cmp qword [r14], rcx
jle 0x140029561
mov eax, r15d
jmp 0x140029605
xor eax, eax
cmp qword [r14], rcx
setge al
sub eax, r15d
jmp 0x140029605
cmp al, 0x42
jne 0x1400295db
mov eax, 2
test al, dil
jne 0x1400295b1
test dil, 0xc
je 0x1400295b1
mov r8b, r15b
mov dl, r9b
mov rcx, rsi
call fcn.140023758
mov r9b, byte [rbp + 0x178]
movzx eax, di
xor ax, word [rsi + 8]
mov ecx, 0x3e00
and ax, cx
xor di, ax
mov eax, 2
test al, bl
jne 0x1400295db
test bl, 0xc
je 0x1400295db
mov r8b, r15b
mov dl, r9b
mov rcx, r14
call fcn.140023758
movzx eax, bx
mov ecx, 0x3e00
xor ax, word [r14 + 8]
and ax, cx
xor bx, ax
mov r8, qword [r13 + 0x10]
mov rdx, rsi
mov rcx, r14
call fcn.140026bd8
mov r11, qword [rbp + 0x170]
mov r10d, 4
mov r9b, byte [rbp + 0x178]
mov r8d, dword [rbp + 0x188]
movzx ecx, byte [r13]
lea rdx, [0x140000000]
test eax, eax
jns 0x14002961e
mov cl, byte [rcx + rdx + 0xba227]
jmp 0x140029630
jne 0x140029629
mov cl, byte [rcx + rdx + 0xbc833]
jmp 0x140029630
mov cl, byte [rcx + rdx + 0xbb6b7]
mov word [rsi + 8], di
xor edi, edi
mov word [r14 + 8], bx
test byte [r13 + 2], 0x20
movzx edx, cl
je 0x140029683
mov r8d, eax
mov dword [rbp + 0x188], eax
lea eax, [rdi + 8]
test byte [r13 + 2], al
je 0x140029665
cmp byte [r13], 0x32
mov eax, edi
sete al
cmp eax, edx
je 0x14002968b
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x3e00
add rcx, r12
and word [rcx + 8], ax
or word [rcx + 8], r10w
mov qword [rcx], rdx
jmp 0x14002968b
test cl, cl
jne 0x14002c005
mov r14, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
jmp 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r15b
je 0x140028c3c
jmp 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r15b
jmp 0x140029921
movsxd rax, dword [r13 + 4]
mov edi, dword [r13 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rsi, rax, 0x38
add rbx, r12
mov eax, 0x10
test byte [rbx + 8], al
jne 0x1400296f5
mov rcx, rbx
call fcn.140023e44
test eax, eax
jne 0x14002cc6f
test edi, edi
je 0x140029712
mov r8, qword [rsi + r12]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.14001912c
test eax, eax
jne 0x14002bffd
test edi, edi
js 0x140029721
mov rdx, qword [rsi + r12]
mov rcx, qword [rbx + 0x10]
call fcn.140018e4c
mov r11, qword [rbp + 0x170]
mov rsi, qword [rsp + 0x38]
mov r8d, dword [rbp + 0x188]
mov r9b, byte [rbp + 0x178]
mov r10d, 4
jmp 0x14002c7ec
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r12
test byte [rbx + 8], al
je 0x1400297a1
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp - 0x20]
call fcn.1400190bc
test eax, eax
je 0x1400297a1
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
je 0x14002978d
mov rdx, qword [rbp - 0x20]
call fcn.140023dbc
jmp 0x1400297d1
mov rax, qword [rbp - 0x20]
mov r10d, 4
mov qword [rcx], rax
mov word [rcx + 8], r10w
jmp 0x1400297d7
mov eax, 0x2400
test word [rbx + 8], ax
je 0x1400297b6
mov rcx, rbx
call fcn.140023970
jmp 0x1400297bb
mov word [rbx + 8], r15w
mov eax, dword [r13 + 8]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rsi + rcx*8]
mov qword [rsp + 0x58], r13
mov r10d, 4
mov eax, dword [r14 + 0x140]
mov r11, qword [rbp + 0x170]
test eax, eax
jne 0x14002cc4e
mov r9b, byte [rbp + 0x178]
mov r8d, dword [rbp + 0x188]
jmp 0x14002c7ee
movsxd rcx, dword [r13 + 4]
lea r9, [rsp + 0x78]
mov rax, qword [r11 + 0x78]
lea r8, [rbp + 0x20]
cmp bl, 0x27
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0x20], rax
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x30], ax
sbb al, al
mov byte [rbp + 0x32], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov dword [rsp + 0x78], edi
add rcx, r12
mov qword [rbp + 0x28], rcx
mov rcx, r14
call fcn.1400275d8
mov dword [rbp + 0x180], eax
mov eax, dword [rsp + 0x78]
test byte [r13], r15b
je 0x14002985d
neg eax
jmp 0x14002985f
inc eax
mov dword [rsp + 0x78], eax
cmp dword [rbp + 0x180], edi
jne 0x14002af38
mov r10d, 4
test eax, eax
jg 0x14002c005
jmp 0x140029912
movsxd rax, dword [r13 + 4]
mov edx, 2
imul rcx, rax, 0x38
add rcx, r12
call fcn.140023afc
movsxd rcx, dword [r13 + 8]
mov edx, 2
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r12
call fcn.140023afc
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r13], 0x29
movsxd rcx, eax
lea rax, [0x140000000]
jne 0x1400298cd
mov dl, byte [rcx + rax + 0xbb1a0]
jmp 0x1400298d4
mov dl, byte [rcx + rax + 0xbc900]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x3e00
movzx r8d, word [rcx + r12 + 8]
and r8w, ax
mov eax, 2
lea r10d, [rax + 2]
cmp dl, al
jne 0x1400298fe
movzx eax, r15w
jmp 0x140029908
movzx eax, dl
mov qword [rcx + r12], rax
mov eax, r10d
or ax, r8w
mov word [rcx + r12 + 8], ax
mov r11, qword [rbp + 0x170]
jmp 0x1400297ed
test r8d, r8d
jne 0x140028c3c
jmp 0x14002c7ee
cmp ebx, 0x4c
ja 0x140029e04
je 0x140029dc5
cmp ebx, 0x44
ja 0x140029c7c
je 0x140029bc2
cmp ebx, 0x3f
ja 0x140029a76
cmp ebx, 0x3e
jae 0x1400299f1
mov ecx, ebx
sub ecx, 0x38
je 0x1400299cc
sub ecx, 1
je 0x1400299a5
sub ecx, 1
je 0x14002997b
cmp ecx, 3
je 0x14002c548
jmp 0x14002c7ee
movsxd rax, dword [r13 + 4]
movabs rdx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
cmp rax, rdx
jle 0x14002999d
dec rax
mov qword [rcx + r12], rax
test rax, rax
jmp 0x1400296a7
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
test rax, rax
je 0x14002c7ee
jle 0x140028c3c
dec rax
mov qword [rcx + r12], rax
jmp 0x140028c3c
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r12]
test rdx, rdx
jle 0x14002c7ee
movsxd rax, dword [r13 + 0xc]
sub rdx, rax
mov qword [rcx + r12], rdx
jmp 0x140028c3c
movzx ebx, word [r13 + 2]
cmp byte [r14 + 0x61], dil
jne 0x14002cc6f
movzx edx, bx
mov rcx, r14
lea rdx, [rdx*8 + 0x30]
call fcn.1400122d8
mov r14, qword [rbp + 0x170]
mov r8, rax
test rax, rax
je 0x14002bb61
mov qword [rax], rdi
mov rcx, qword [r13 + 0x10]
mov qword [rax + 8], rcx
mov rcx, r13
mov qword [r8 + 0x18], r14
sub rcx, rsi
mov dword [r8 + 0x24], edi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov byte [r8 + 0x29], bl
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 2
mov dword [r8 + 0x20], edx
add byte [r13], al
mov byte [r13 + 1], 0xf0
mov qword [r13 + 0x10], r8
jmp 0x140029acf
cmp ebx, 0x41
jbe 0x140029ac8
cmp ebx, 0x42
je 0x140029aa4
cmp ebx, 0x43
jne 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
lea rcx, [rax + rax*2]
mov eax, dword [rsi + rcx*8 + 8]
sub eax, r15d
cdqe
jmp 0x140029ab0
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r12 + 8], ax
lea r13, [rsi + rcx*8]
jmp 0x14002c7ee
mov r14, qword [rbp + 0x170]
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [r13 + 0x10]
imul rdi, rax, 0x38
add rdi, r12
cmp qword [rbx], rdi
je 0x140029b26
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
js 0x140029b26
lea r8, [rdx + 6]
mov esi, 8
lea r8, [rbx + r8*8]
mov eax, dword [r13 + 8]
add eax, r9d
sub r9d, r15d
cdqe
imul rcx, rax, 0x38
add rcx, r12
mov qword [r8], rcx
sub r8, rsi
sub rdx, r15
jns 0x140029b03
mov rsi, qword [rsp + 0x38]
mov eax, 0x3e00
lea r8, [rbx + 0x30]
and word [rdi + 8], ax
mov rcx, rbx
or word [rdi + 8], r15w
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + Ordinal_26]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140029b9c
jle 0x140029b72
mov rcx, rdi
call fcn.14002780c
mov r8, rax
lea rdx, [0x1400cee40]
mov rcx, r14
call fcn.1400248fc
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x180], eax
mov r9d, dword [r13 + 4]
lea rdx, [r14 + 0x118]
mov r8d, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x30]
call fcn.140026250
xor eax, eax
mov dword [rbx + 0x24], eax
cmp dword [rbp + 0x180], eax
jne 0x14002cc45
test byte [rdi + 8], 0x12
je 0x14002c7bd
mov rcx, rdi
call fcn.140023f14
xor edi, edi
test eax, eax
jne 0x14002c664
mov r14, qword [rsp + 0x30]
jmp 0x140029da5
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r15b
je 0x14002c7ee
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rsi
imul rcx
mov rbx, rdx
mov edx, dword [r13 + 4]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test edx, edx
jne 0x14002c9d4
mov rcx, qword [r11 + 0xf8]
test rcx, rcx
je 0x14002c9d4
mov rax, qword [rcx + 8]
dec dword [r11 + 0x108]
mov qword [r11 + 0xf8], rax
mov eax, dword [r11 + 0x3c]
add dword [r14 + 0x78], eax
mov dword [r14 + 0x74], eax
call fcn.140025614
mov r11, qword [rbp + 0x170]
mov r10d, 4
mov rsi, qword [r11 + 0x88]
mov qword [rsp + 0x38], rsi
cmp dword [r13 + 8], r10d
jne 0x140029c64
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rsi + rcx*8 + 8]
sub eax, r15d
mov r12, qword [r11 + 0x68]
cdqe
mov qword [rsp + 0x40], r12
lea rcx, [rax + rax*2]
lea r13, [rsi + rcx*8]
jmp 0x1400297ed
sub ebx, 0x45
je 0x140029bd5
sub ebx, 1
je 0x140029d93
sub ebx, 1
je 0x140029d7c
sub ebx, 1
je 0x14002b1d4
sub ebx, 1
je 0x140029d0e
sub ebx, 1
je 0x140029cf0
cmp ebx, 1
jne 0x14002c7ee
mov rdx, r13
mov rcx, r11
call fcn.14002845c
mov r8d, dword [r13 + 4]
xor r9d, r9d
mov rdx, qword [r13 + 0x10]
mov rcx, rax
mov rbx, rax
mov qword [rsp + 0x20], rdi
call fcn.14002408c
mov r9b, byte [rbp + 0x178]
mov byte [rbx + 0xa], r9b
mov r11, qword [rbp + 0x170]
jmp 0x140029db3
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0xff61
add rcx, r12
and word [rcx + 8], ax
or word [rcx + 8], r15w
jmp 0x14002c7ee
mov rdx, r13
mov rcx, r11
call fcn.14002845c
mov ecx, dword [r13 + 4]
mov edi, dword [r13 + 0xc]
neg ecx
mov edx, dword [r13 + 8]
mov ecx, 0x100
sbb si, si
lea rbx, [rax + 8]
and si, cx
sub edi, edx
add si, r15w
xor ecx, ecx
mov word [rbx], si
mov dword [rax + 0xc], ecx
test edi, edi
jle 0x140029721
mov eax, 0x2400
lea rbx, [rbx + 0x38]
test word [rbx], ax
je 0x140029d6a
lea rcx, [rbx - 8]
call fcn.140023970
xor ecx, ecx
mov eax, 0x2400
sub edi, r15d
mov word [rbx], si
mov dword [rbx + 4], ecx
test edi, edi
jg 0x140029d51
jmp 0x140029721
mov rdx, r13
mov rcx, r11
call fcn.14002845c
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x140029da5
mov rdx, r13
mov rcx, r11
call fcn.14002845c
movsxd rcx, dword [r13 + 4]
mov qword [rax], rcx
mov r11, qword [rbp + 0x170]
mov r9b, byte [rbp + 0x178]
mov r8d, dword [rbp + 0x188]
mov r10d, 4
jmp 0x14002c7ee
mov eax, dword [r13 + 4]
sub eax, r15d
cdqe
imul rbx, rax, 0x38
add rbx, qword [r11 + 0x80]
mov rcx, rbx
call fcn.140023f14
test eax, eax
jne 0x14002c65d
mov r8d, 0x800
mov rdx, rbx
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140023f68
jmp 0x140029da5
cmp ebx, 0x54
ja 0x140029fb0
je 0x140029f91
sub ebx, 0x4d
je 0x140029f3f
sub ebx, 1
je 0x140029ee2
sub ebx, 1
je 0x140029ecc
sub ebx, 1
je 0x140029e95
sub ebx, 1
je 0x14002caaf
sub ebx, 1
je 0x140029e69
cmp ebx, 1
jne 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.140023b84
movsxd rax, dword [r13 + 8]
add qword [rbx], rax
jmp 0x140029da5
cmp dword [r13 + 4], edi
je 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
je 0x140029e90
xor edx, edx
jmp 0x140028d99
mov qword [rcx], rdi
jmp 0x140029ec2
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
add rcx, r12
mov rax, qword [rdx + r12]
mov edx, 0x2400
test word [rcx + 8], dx
je 0x140029ebf
mov rdx, rax
jmp 0x140028d99
mov qword [rcx], rax
mov word [rcx + 8], r10w
jmp 0x14002c7ee
movsxd rax, dword [r13 + 4]
mov r8d, 0x1000
imul rdx, rax, 0x38
add rdx, r12
jmp 0x140029df2
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r12
add rbx, r12
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.140023f68
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140029f28
mov rcx, rbx
call fcn.14002371c
test eax, eax
jne 0x14002cc6f
mov eax, esi
sub esi, r15d
test eax, eax
je 0x140029721
add rbx, 0x38
add rdi, 0x38
jmp 0x140029efc
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r12
add rbx, r12
mov rdx, rdi
mov rcx, rbx
call fcn.14002402c
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140029f7f
mov rcx, rbx
call fcn.14002371c
test eax, eax
jne 0x14002cc6f
add rdi, 0x38
add rbx, 0x38
sub esi, r15d
jne 0x140029f59
jmp 0x140029721
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r12
test byte [rcx + 8], r10b
je 0x14002c7ee
call fcn.140023bac
jmp 0x140029da5
cmp ebx, 0x57
je 0x14002a99b
cmp ebx, 0x58
je 0x14002a950
cmp ebx, 0x5a
je 0x14002a403
cmp ebx, 0x5b
je 0x14002a3c0
cmp ebx, 0x5c
je 0x14002a144
cmp ebx, 0x5e
je 0x14002a10b
lea eax, [rbx - 0x5f]
cmp eax, 3
ja 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rdi, r12
imul rsi, rax, 0x38
add rcx, r12
add rsi, r12
mov al, byte [rcx + 8]
or al, byte [rdi + 8]
test r15b, al
je 0x14002a040
mov eax, 0x2400
test word [rsi + 8], ax
je 0x14002a036
mov rcx, rsi
call fcn.140023970
jmp 0x140029721
mov word [rsi + 8], r15w
jmp 0x14002c7e7
call fcn.140023a78
mov rcx, rdi
mov rbx, rax
call fcn.140023a78
mov r8b, byte [r13]
mov rdx, rax
cmp r8b, 0x5f
jne 0x14002a062
and rbx, rax
jmp 0x14002a06b
cmp r8b, 0x60
jne 0x14002a06f
or rbx, rdx
xor edi, edi
jmp 0x14002a0e3
xor edi, edi
test rdx, rdx
je 0x14002a0e3
jns 0x14002a097
mov rcx, rdx
mov eax, 0xc3
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
cmp rax, 0xffffffffffffffc0
lea edx, [rdi + 0x40]
cmovg rdx, rcx
cmp rdx, 0x40
jl 0x14002a0b3
test rbx, rbx
jns 0x14002a0ae
cmp r8b, 0x61
je 0x14002a0ae
or rbx, 0xffffffffffffffff
jmp 0x14002a0e3
mov rbx, rdi
jmp 0x14002a0e3
mov rcx, rdx
cmp r8b, 0x61
jne 0x14002a0c4
shl rbx, cl
mov r8, rbx
jmp 0x14002a0e0
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14002a0e0
mov ecx, Ordinal_65
sub cl, dl
or rdx, 0xffffffffffffffff
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e00
mov qword [rsi], rbx
and word [rsi + 8], ax
mov r10d, 4
or word [rsi + 8], r10w
mov r11, qword [rbp + 0x170]
mov rsi, qword [rsp + 0x38]
jmp 0x1400297ed
movsxd rax, dword [r13 + 4]
lea r8, [rbp - 0x38]
mov rcx, qword [r14 + 0x20]
mov edx, dword [r13 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140023288
mov rcx, qword [rbp + 0x170]
mov rdx, r13
call fcn.14002845c
movsxd rcx, dword [rbp - 0x38]
mov qword [rax], rcx
jmp 0x140029bb8
movsxd rax, dword [r13 + 4]
mov r8d, 1
mov rbx, qword [r13 + 0x10]
mov r14, rdi
movzx esi, byte [r11 + 0xbb]
mov r15d, edi
imul r12, rax, 0x38
mov eax, dword [r13 + 8]
add r12, qword [rsp + 0x40]
sub eax, r8d
cdqe
imul rax, rax, 0x38
mov dword [rsp + 0x68], esi
add rax, r12
mov qword [rbp - 0x80], rax
movsxd rax, dword [r13 + 0xc]
imul r13, rax, 0x38
add r13, qword [rsp + 0x40]
mov qword [rbp - 0x78], r13
test rbx, rbx
je 0x14002a1cd
mov al, byte [rbx]
mov rdi, r12
mov r13b, byte [rbp + 0x178]
mov r8b, r13b
mov dl, al
mov rcx, rdi
call fcn.14002834c
mov r8d, 1
add rdi, 0x38
add rbx, r8
mov al, byte [rbx]
test al, al
jne 0x14002a1a3
mov esi, dword [rsp + 0x68]
xor edi, edi
mov r13, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x80]
movzx r9d, word [rbx + 8]
test r8b, r9b
je 0x14002a1e4
mov eax, edi
mov edx, edi
mov dword [rbp - 0x4c], eax
jmp 0x14002a1fd
lea r8, [rbp - 0x4c]
mov edx, esi
mov rcx, rbx
call fcn.140026528
mov edx, eax
mov r8d, 1
mov eax, dword [rbp - 0x4c]
mov ecx, eax
add r14, rcx
mov ecx, r8d
cmp edx, 0x7f
jbe 0x14002a21a
mov eax, edx
jmp 0x14002a211
add ecx, r8d
shr rax, 7
test rax, rax
jne 0x14002a20e
add r15d, ecx
mov dword [rbx + 0x24], edx
cmp rbx, r12
je 0x14002a22b
sub rbx, 0x38
jmp 0x14002a1d1
cmp r15d, 0x7e
jle 0x14002a260
mov edx, r8d
movsxd rax, r15d
jmp 0x14002a23c
add edx, r8d
shr rax, 7
test rax, rax
jne 0x14002a239
add r15d, edx
mov ecx, r8d
movsxd rax, r15d
jmp 0x14002a253
add ecx, r8d
shr rax, 7
test rax, rax
jne 0x14002a250
cmp edx, ecx
jge 0x14002a263
add r15d, r8d
movsxd rax, dword [r13 + 0x20]
movsxd rbx, r15d
add r14, rbx
mov qword [rsp + 0x68], r14
cmp r14, rax
jg 0x14002a281
mov rax, qword [r13 + 0x18]
mov qword [r13 + 0x10], rax
jmp 0x14002a2aa
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0x7c]
cmp r14, rax
jg 0x14002c65d
mov edx, r14d
mov rcx, r13
call fcn.1400236ac
test eax, eax
jne 0x14002cc6f
lea r8d, [rax + 1]
mov rdi, qword [r13 + 0x10]
mov r9d, Ordinal_133
cmp r15d, r9d
jae 0x14002a2c1
mov byte [rdi], r15b
mov eax, r8d
jmp 0x14002a305
cmp rbx, 0x7f
ja 0x14002a2ce
and bl, 0x7f
mov byte [rdi], bl
jmp 0x14002a2bc
cmp rbx, 0x3fff
ja 0x14002a2f4
mov rax, rbx
mov r8d, 2
shr rax, 7
or al, r9b
and bl, 0x7f
mov byte [rdi], al
mov byte [rdi + 1], bl
mov eax, r8d
jmp 0x14002a30b
mov rdx, rbx
mov rcx, rdi
call fcn.1400149a4
mov r9d, Ordinal_133
mov r8d, 2
mov r14, qword [rbp - 0x80]
mov r13d, 1
movzx esi, al
mov ebx, dword [r12 + 0x24]
movsxd rcx, esi
add rcx, rdi
cmp ebx, r9d
jae 0x14002a32c
mov byte [rcx], bl
jmp 0x14002a33a
mov rdx, rbx
cmp rbx, 0x7f
ja 0x14002a33f
and dl, 0x7f
mov byte [rcx], dl
mov eax, r13d
jmp 0x14002a364
cmp rdx, 0x3fff
ja 0x14002a35f
mov rax, rdx
shr rax, 7
or al, r9b
and dl, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], dl
mov eax, r8d
jmp 0x14002a364
call fcn.1400149a4
movzx eax, al
mov r8d, ebx
movsxd rcx, r15d
mov rdx, r12
add rcx, rdi
add esi, eax
call fcn.1400265e8
mov r8d, 2
add r15d, eax
add r12, 0x38
lea r9d, [r8 + 0x7e]
cmp r12, r14
jbe 0x14002a318
mov r13, qword [rbp - 0x78]
lea eax, [r8 + 0xe]
mov r14, qword [rsp + 0x68]
mov dword [r13 + 0xc], r14d
mov word [r13 + 8], ax
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x30]
mov r12, qword [rsp + 0x40]
mov r15d, 1
jmp 0x140029721
movsxd rax, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
mov r14b, byte [rbp + 0x178]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, r12
mov r8b, r14b
mov dl, al
mov rcx, rbx
call fcn.14002834c
add rdi, r15
add rbx, 0x38
mov al, byte [rdi]
test al, al
jne 0x14002a3d8
mov r11, qword [rbp + 0x170]
mov r14, qword [rsp + 0x30]
jmp 0x140029728
movsxd rcx, dword [r13 + 4]
lea rdx, [rsp + 0x60]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x48]
mov eax, dword [r13 + 8]
mov dword [rsp + 0x60], eax
call fcn.1400264e0
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [rsp + 0x48]
mov r11, qword [rbp + 0x170]
mov r12, qword [rsp + 0x40]
imul rsi, rax, 0x38
mov rdi, qword [rbx + 0x60]
mov eax, dword [r11 + 0x30]
add rsi, r12
mov qword [rbp - 0x78], rsi
mov qword [rsp + 0x68], rdi
cmp dword [rbx + 0x28], eax
je 0x14002a5a1
xor eax, eax
cmp byte [rbx + 2], al
je 0x14002a4c1
cmp byte [rbx], 3
jne 0x14002a4a8
movsxd rax, dword [rbx + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r12 + 0xc]
mov dword [rbx + 0x74], ecx
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r12 + 0x10]
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x48]
jmp 0x14002a50b
mov eax, 0x2400
test word [rsi + 8], ax
jne 0x14002a029
mov word [rsi + 8], r15w
jmp 0x140029728
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.14001ec64
mov edx, dword [rbx + 0x40]
mov rcx, rbx
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x70], edx
mov rdx, qword [rsp + 0x48]
add rdx, 0x74
call fcn.14001f00c
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x68], rax
mov rcx, qword [rsp + 0x48]
mov eax, dword [r14 + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x14002c65d
mov r11, qword [rbp + 0x170]
mov eax, dword [r11 + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x68]
mov eax, 0x80
cmp byte [rcx], al
jae 0x14002a52e
movzx eax, byte [rcx]
mov dword [rdi], eax
mov al, r15b
jmp 0x14002a536
mov rdx, rdi
call fcn.140014be0
movzx ecx, al
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x48], ecx
xor ecx, ecx
mov rax, qword [rsp + 0x48]
mov word [rax + 0x52], cx
mov rbx, qword [rsp + 0x48]
mov eax, dword [rdi]
cmp dword [rbx + 0x74], eax
jae 0x14002a59b
mov qword [rbx + 0x68], rcx
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x74], ecx
mov eax, dword [rdi]
cmp eax, 0x18003
ja 0x14002a577
mov rbx, qword [rsp + 0x48]
cmp eax, dword [rbx + 0x70]
jbe 0x14002a5a3
xor edi, edi
mov rsi, qword [rsp + 0x38]
mov eax, dword [rsi + 0xc]
test eax, eax
jle 0x14002cbbb
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [rsi + rax*8]
jmp 0x140029da5
mov r13, qword [rbx + 0x68]
jmp 0x14002a60a
xor ecx, ecx
movzx eax, word [rbx + 0x52]
movsxd r8, dword [rsp + 0x60]
cmp eax, r8d
jg 0x14002a7c9
mov eax, dword [rdi]
cmp dword [rbx + 0x48], eax
jae 0x14002a783
mov r13, qword [rbx + 0x68]
mov qword [rbp - 0x80], r13
test r13, r13
jne 0x14002a60e
xor edx, edx
lea r8d, [r13 + 0x38]
lea rcx, [rbp + 0x68]
call fcn.14008c540
mov r8d, dword [rdi]
lea r9, [rbp + 0x68]
mov rcx, qword [rbx + 0x38]
xor edx, edx
call fcn.140024360
mov dword [rbp + 0x180], eax
mov r13d, eax
test eax, eax
jne 0x14002af3f
mov r13, qword [rbp + 0x78]
mov eax, dword [rdi]
mov rbx, qword [rsp + 0x48]
mov qword [rbp - 0x80], r13
movzx r14d, word [rbx + 0x52]
mov esi, eax
mov r12d, r14d
mov r15d, dword [rdi + r14*4]
mov edi, dword [rbx + 0x48]
add rdi, r13
add rsi, r13
mov r13d, 1
movzx ecx, byte [rdi]
mov eax, 0x80
mov dword [rsp + 0x54], ecx
cmp ecx, eax
jae 0x14002a64f
lea rdx, [0x140000000]
add rdi, r13
movzx edx, byte [rcx + rdx + 0xbba80]
jmp 0x14002a68c
lea rdx, [rsp + 0x54]
mov rcx, rdi
call fcn.140014be0
mov ecx, dword [rsp + 0x54]
movzx eax, al
add rdi, rax
mov eax, 0x80
cmp ecx, eax
jb 0x14002a676
lea eax, [rcx - 0xc]
shr eax, 1
jmp 0x14002a685
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xbba80]
mov rbx, qword [rsp + 0x48]
mov edx, eax
add r15, rdx
mov dword [rbx + r12*4 + 0x78], ecx
mov rdx, qword [rsp + 0x68]
add r14d, r13d
movsxd r12, r14d
mov dword [rdx + r12*4], r15d
cmp r14d, dword [rsp + 0x60]
jg 0x14002a6b9
cmp rdi, rsi
jae 0x14002a6b9
mov rbx, qword [rsp + 0x48]
jmp 0x14002a62b
mov rcx, qword [rsp + 0x48]
mov r13, qword [rbp - 0x80]
cmp rdi, rsi
jb 0x14002a6d1
ja 0x14002a6d9
mov eax, dword [rcx + 0x70]
cmp r15, rax
jne 0x14002a6d9
mov eax, dword [rcx + 0x70]
cmp r15, rax
jbe 0x14002a6e5
xor edi, edi
cmp dword [rdx], edi
jne 0x14002a74c
mov r14d, edi
mov rdi, rsi
mov word [rcx + 0x52], r14w
sub edi, r13d
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x48], edi
xor eax, eax
mov rbx, qword [rsp + 0x48]
cmp qword [rbx + 0x68], rax
jne 0x14002a723
mov ecx, 0x2400
test word [rbp + 0x70], cx
jne 0x14002a715
cmp dword [rbp + 0x88], eax
je 0x14002a723
lea rcx, [rbp + 0x68]
call fcn.1400239b8
mov rbx, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x60]
mov r15d, 1
mov edx, dword [rsp + 0x54]
mov rsi, qword [rbp - 0x78]
mov rdi, qword [rsp + 0x68]
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x30]
mov r12, qword [rsp + 0x40]
jmp 0x14002a789
cmp qword [rcx + 0x68], rdi
jne 0x14002a76e
mov eax, 0x2400
test word [rbp + 0x70], ax
jne 0x14002a765
cmp dword [rbp + 0x88], edi
je 0x14002a76e
lea rcx, [rbp + 0x68]
call fcn.1400239b8
mov r14, qword [rsp + 0x30]
mov r15d, 1
mov r12, qword [rsp + 0x40]
jmp 0x14002a579
mov edx, ecx
mov dword [rsp + 0x54], ecx
movzx eax, word [rbx + 0x52]
cmp eax, r8d
jg 0x14002a7d2
cmp byte [r13 + 1], 0xf5
jne 0x14002a7b0
mov rdx, qword [r13 + 0x10]
mov r8d, 0x800
mov rcx, rsi
call fcn.140023f68
jmp 0x140029721
mov eax, 0x2400
test word [rsi + 8], ax
jne 0x14002a029
mov word [rsi + 8], r15w
jmp 0x140029721
mov edx, dword [rbx + r8*4 + 0x78]
mov dword [rsp + 0x54], edx
mov eax, 0x2400
test word [rsi + 8], ax
je 0x14002a7f3
mov rcx, rsi
call fcn.140023970
mov r8d, dword [rsp + 0x60]
mov edx, dword [rsp + 0x54]
mov rbx, qword [rsp + 0x48]
lea eax, [r8 + 1]
movsxd rcx, eax
mov eax, dword [rdi + rcx*4]
cmp dword [rbx + 0x74], eax
jb 0x14002a8a1
movsxd rax, r8d
mov edi, dword [rdi + rax*4]
add rdi, qword [rbx + 0x68]
cmp edx, 0xc
jae 0x14002a825
mov rcx, rdi
mov r8, rsi
call fcn.1400266dc
jmp 0x140029721
mov al, byte [rbp + 0x178]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [rsi + 0xc], ebx
mov byte [rsi + 0xa], al
lea edx, [rbx + 2]
cmp dword [rsi + 0x20], edx
jge 0x14002a85c
xor r8d, r8d
mov word [rsi + 8], r15w
mov rcx, rsi
call fcn.140023578
test eax, eax
jne 0x14002cc6f
mov rcx, qword [rsi + 0x10]
jmp 0x14002a864
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x10], rcx
mov r8d, ebx
mov rdx, rdi
call fcn.14008ccb0
mov rax, qword [rsi + 0x10]
lea rcx, [0x140000000]
xor edi, edi
mov byte [rbx + rax], dil
mov rax, qword [rsi + 0x10]
mov byte [rbx + rax + 1], dil
mov eax, dword [rsp + 0x54]
and rax, r15
movzx eax, word [rcx + rax*2 + 0xbcf24]
mov word [rsi + 8], ax
jmp 0x14002a946
mov al, byte [rbp + 0x178]
mov byte [rsi + 0xa], al
test byte [r13 + 2], 0xc0
mov edx, dword [rsp + 0x54]
je 0x14002a8cc
cmp edx, 0xc
jb 0x14002a8bf
test r15b, dl
je 0x14002a8f3
mov eax, 0x80
test byte [r13 + 2], al
jne 0x14002a8f3
jmp 0x14002a8d1
mov eax, 0x80
cmp edx, eax
jb 0x14002a8de
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x14002a8ee
lea rcx, [0x140000000]
movzx r8d, byte [rdx + rcx + 0xbba80]
test r8d, r8d
jne 0x14002a8ff
lea rcx, [0x14010b808]
jmp 0x14002a818
movsxd rax, dword [rsp + 0x60]
mov r9, rsi
mov rcx, qword [rsp + 0x48]
mov edx, dword [rdi + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.140024360
xor edi, edi
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
mov edx, dword [rsp + 0x54]
mov r8, rsi
mov rcx, qword [rsi + 0x10]
call fcn.1400266dc
mov r12, qword [rsp + 0x40]
mov eax, 0xefff
and word [rsi + 8], ax
mov rsi, qword [rsp + 0x38]
jmp 0x140029da5
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140023afc
movsxd rdx, dword [r13 + 0x10]
movsxd rcx, eax
movsxd rax, dword [r13 + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
jne 0x140028d99
mov r10d, 4
mov qword [rcx], rdx
mov word [rcx + 8], r10w
jmp 0x140029912
test byte [r13 + 2], r15b
jne 0x14002a9a6
mov rbx, rdi
jmp 0x14002a9ad
mov rbx, qword [r13 - 8]
add rbx, r10
mov rdx, qword [rsp + 0x58]
mov r14d, edi
mov r13, qword [r13 + 0x10]
movsxd r12, dword [rdx + 0xc]
mov r9d, dword [rdx + 4]
mov ecx, dword [rdx + 8]
mov dword [rsp + 0x68], r9d
mov dword [rbp - 0x80], ecx
test r12, r12
jle 0x14002c7a7
lea r15, [r13 + 0x20]
test rbx, rbx
je 0x14002a9e4
mov r8d, dword [rbx + rdi*4]
jmp 0x14002a9e7
mov r8d, r14d
mov rax, qword [r13 + 0x18]
mov sil, byte [rdi + rax]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [r15]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x40]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x40]
call fcn.140026bd8
mov dword [rbp + 0x188], eax
mov r8d, eax
test eax, eax
jne 0x14002aa62
mov r9d, dword [rsp + 0x68]
lea eax, [r8 + 1]
mov ecx, dword [rbp - 0x80]
add r14d, eax
add rdi, rax
add r15, 8
cmp rdi, r12
jl 0x14002a9d9
mov r13, qword [rsp + 0x58]
mov r15d, eax
mov r11, qword [rbp + 0x170]
mov r14, qword [rsp + 0x30]
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
jmp 0x140029734
mov r13, qword [rsp + 0x58]
xor edi, edi
mov r11, qword [rbp + 0x170]
test sil, sil
mov r14, qword [rsp + 0x30]
mov r12, qword [rsp + 0x40]
mov r9b, byte [rbp + 0x178]
lea r15d, [rdi + 1]
mov rsi, qword [rsp + 0x38]
lea r10d, [rdi + 4]
je 0x14002c7ee
neg r8d
mov dword [rbp + 0x188], r8d
jmp 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.140028418
movsxd rcx, dword [r13 + 8]
movzx r12d, ax
imul rsi, rcx, 0x38
add rsi, qword [rsp + 0x40]
mov rcx, rsi
call fcn.140028418
movsxd rcx, dword [r13 + 0xc]
mov r10d, 4
movzx edx, word [rsi + 8]
movzx r15d, ax
or dx, word [rbx + 8]
imul rdi, rcx, 0x38
mov cl, al
add rdi, qword [rsp + 0x40]
and cl, r12b
test r10b, cl
je 0x14002ac23
movzx ecx, byte [r13]
lea r9d, [r10 - 3]
mov rdx, qword [rsi]
mov r14b, r9b
mov r8, qword [rbx]
mov qword [rbp - 0x60], rdx
sub ecx, 0x63
je 0x14002aba3
sub ecx, r9d
je 0x14002ab89
sub ecx, r9d
je 0x14002ab7b
cmp ecx, r9d
je 0x14002ab4f
test r8, r8
je 0x14002ad17
cmp r8, 0xffffffffffffffff
mov rax, rdx
cqo
cmove r8, r9
idiv r8
mov qword [rbp - 0x60], rdx
jmp 0x14002abe4
test r8, r8
je 0x14002ad17
cmp r8, 0xffffffffffffffff
jne 0x14002ab71
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14002ac31
mov rax, rdx
cqo
idiv r8
jmp 0x14002abe0
mov rdx, r8
lea rcx, [rbp - 0x60]
call fcn.140014d6c
jmp 0x14002ab95
mov rdx, r8
lea rcx, [rbp - 0x60]
call fcn.140014d3c
test eax, eax
jne 0x14002ac31
lea r10d, [rax + 4]
jmp 0x14002abe4
test r8, r8
js 0x14002abc1
test rdx, rdx
jle 0x14002abdc
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x14002abdc
jmp 0x14002ac31
test rdx, rdx
jns 0x14002abdc
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x14002ac31
lea rax, [r8 + rdx]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
mov r15d, 1
mov r14, qword [rsp + 0x30]
mov qword [rdi], rax
mov eax, 0x3e00
and word [rdi + 8], ax
or word [rdi + 8], r10w
mov r11, qword [rbp + 0x170]
mov r12, qword [rsp + 0x40]
mov r9b, byte [rbp + 0x178]
mov r8d, dword [rbp + 0x188]
jmp 0x14002c7e7
test dl, 1
jne 0x14002ad1c
xor eax, eax
mov r14b, al
mov rcx, rbx
call fcn.140023ad0
mov rcx, rsi
movaps xmm6, xmm0
call fcn.140023ad0
movzx edx, byte [r13]
movaps xmm3, xmm0
sub edx, 0x63
je 0x14002acb4
sub edx, 1
je 0x14002acae
sub edx, 1
je 0x14002aca8
cmp edx, 1
je 0x14002ac9c
mov rcx, rbx
call fcn.140023a78
mov rcx, rsi
mov rbx, rax
call fcn.140023a78
mov qword [rbp - 0x60], rax
test rbx, rbx
je 0x14002ad11
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm3, xmm3
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm3, rdx
jmp 0x14002acb8
ucomisd xmm6, xmm7
je 0x14002ad11
divsd xmm3, xmm6
jmp 0x14002acb8
mulsd xmm3, xmm6
jmp 0x14002acb8
subsd xmm3, xmm6
jmp 0x14002acb8
addsd xmm3, xmm6
movsd qword [rbp - 0x78], xmm3
movsd xmm0, qword [rbp - 0x78]
movsd qword [rsp + 0x58], xmm0
movsd xmm2, qword [rbp - 0x78]
movsd xmm1, qword [rsp + 0x58]
ucomisd xmm2, xmm1
jne 0x14002ad11
mov eax, 0x3e00
movsd qword [rdi], xmm3
and word [rdi + 8], ax
or r15b, r12b
mov eax, 8
or word [rdi + 8], ax
test al, r15b
jne 0x14002a3ab
test r14b, r14b
jne 0x14002a3ab
mov rcx, rdi
call fcn.140023b3c
jmp 0x14002a3ab
mov r10d, 4
mov r14, qword [rsp + 0x30]
mov eax, 0x2400
test word [rdi + 8], ax
je 0x14002ad34
mov rcx, rdi
call fcn.140023970
jmp 0x14002a3b0
mov r15d, 1
mov word [rdi + 8], r15w
jmp 0x14002ac04
mov eax, 0x80
cmp ebx, eax
ja 0x14002bccb
je 0x14002bc1e
cmp ebx, 0x74
ja 0x14002b6d1
je 0x14002b690
cmp ebx, 0x6d
ja 0x14002b244
je 0x14002b190
mov ecx, ebx
sub ecx, 0x68
je 0x14002b043
sub ecx, 1
je 0x14002aea2
sub ecx, 1
je 0x14002ae2e
sub ecx, 1
je 0x14002ada1
cmp ecx, 1
je 0x14002adc1
jmp 0x14002c7ee
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x14002adbf
mov eax, dword [r13 + 8]
cmp dword [rdi + 0x4c], eax
je 0x14002b66f
xor edi, edi
mov eax, dword [r11 + 0xc0]
and al, 3
cmp al, r15b
je 0x14002cbc6
movsxd r12, dword [r13 + 0xc]
xor edx, edx
mov rcx, qword [rsp + 0x30]
mov rax, r12
movsxd r14, dword [r13 + 8]
mov r15d, edx
shl rax, 5
add rax, qword [rcx + 0x20]
cmp bl, 0x6e
mov rbx, qword [rsp + 0x58]
mov r13, qword [rax + 8]
jne 0x14002b557
mov rax, qword [rax + 0x18]
lea ecx, [rdx + 8]
movzx esi, word [rbx + 2]
and esi, ecx
or esi, r10d
mov cl, byte [rax + 0x70]
cmp cl, byte [r11 + 0xbb]
jae 0x14002b559
mov byte [r11 + 0xbb], cl
jmp 0x14002b559
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r12
mov eax, 0x2400
add rbx, r12
test word [rbx + 8], ax
je 0x14002ae74
mov rcx, rbx
call fcn.140023970
mov r11, qword [rbp + 0x170]
mov r10d, 4
mov r9b, byte [rbp + 0x178]
mov r8d, dword [rbp + 0x188]
jmp 0x14002ae79
mov word [rbx + 8], r15w
test byte [rdi + 8], r15b
jne 0x14002c7ec
mov rcx, rdi
mov word [rbx + 8], r10w
call fcn.140023a78
not rax
mov qword [rbx], rax
mov r11, qword [rbp + 0x170]
jmp 0x14002972d
movsxd rbx, dword [r13 + 4]
mov r8d, dword [r13 + 0xc]
mov edx, dword [r13 + 8]
shl rbx, 5
add rbx, qword [r14 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.1400232ec
mov dword [rbp + 0x180], eax
cmp dword [r13 + 8], r15d
jne 0x14002aedb
mov rcx, qword [rbx + 0x18]
mov eax, dword [r13 + 0xc]
mov dword [rcx], eax
or dword [r14 + 0x2c], r15d
jmp 0x14002aef1
mov eax, 2
cmp dword [r13 + 8], eax
jne 0x14002aef1
mov rcx, qword [rbx + 0x18]
mov al, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r13 + 4], r15d
jne 0x14002af25
mov rax, qword [r14 + 8]
jmp 0x14002af0f
and dword [rax + 0xc0], 0xfffffffd
or dword [rax + 0xc0], r15d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14002aefd
mov r11, qword [rbp + 0x170]
and dword [r11 + 0xc0], 0xfffffffc
jmp 0x14002af2c
mov r11, qword [rbp + 0x170]
cmp dword [rbp + 0x180], edi
je 0x140029dac
mov r13d, dword [rbp + 0x180]
mov ebx, 7
mov r14, qword [rbp + 0x170]
mov rdi, qword [rsp + 0x30]
xor esi, esi
cmp byte [rdi + 0x61], sil
cmovne r13d, ebx
mov ebx, 0xc0a
mov dword [rbp + 0x180], r13d
cmp qword [r14 + 0xa8], rsi
jne 0x14002af8e
cmp r13d, ebx
je 0x14002af8e
mov ecx, r13d
call fcn.140057ce0
mov r8, rax
lea rdx, [0x1400cee40]
mov rcx, r14
call fcn.1400248fc
mov dword [r14 + 0x38], r13d
cmp r13d, ebx
je 0x14002afb0
movzx eax, r13b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x14002afb0
mov rcx, qword [rdi]
call fcn.14001195c
mov dword [rdi + 0x58], eax
mov rdx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rdx, qword [rsp + 0x38]
mov r9, qword [r14 + 0xe8]
mov ecx, dword [rbp + 0x180]
imul rdx
mov rax, qword [r14 + 0xa8]
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.140013b74
mov rcx, r14
call fcn.140025e20
cmp dword [rbp + 0x180], ebx
jne 0x14002b012
mov rcx, rdi
call fcn.1400124dc
mov eax, 1
mov ecx, dword [rbp - 0x64]
lea r11, [rsp + 0x228]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
add dword [r14 + 0xdc], ecx
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movsxd rax, dword [r13 + 4]
imul rsi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rsi, r12
imul rbx, rax, 0x38
mov al, byte [rsi + 8]
add rdi, r12
add rbx, r12
or al, byte [rdi + 8]
test r15b, al
je 0x14002b08c
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14002b082
mov rcx, rbx
jmp 0x14002a02c
mov word [rbx + 8], r15w
jmp 0x14002c7e7
test byte [rsi + 8], 0x12
jne 0x14002b0b3
xor r8d, r8d
mov dl, r9b
mov rcx, rsi
call fcn.140023758
xor edx, edx
test eax, eax
jne 0x14002cc6f
mov r9b, byte [rbp + 0x178]
jmp 0x14002b0b5
xor edx, edx
test byte [rdi + 8], 0x12
jne 0x14002b0d3
xor r8d, r8d
mov dl, r9b
mov rcx, rdi
call fcn.140023758
xor edx, edx
test eax, eax
jne 0x14002cc6f
mov rax, qword [rsp + 0x30]
mov r14d, dword [rdi + 0xc]
add r14d, dword [rsi + 0xc]
movsxd r15, r14d
movsxd rax, dword [rax + 0x7c]
cmp r15, rax
jg 0x14002c65d
mov r8d, edx
cmp rbx, rdi
lea edx, [r14 + 2]
mov rcx, rbx
sete r8b
call fcn.140023578
test eax, eax
jne 0x14002cc6f
mov eax, 0x3e00
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, rdi
je 0x14002b136
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.14008ccb0
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
call fcn.14008ccb0
mov rax, qword [rbx + 0x10]
xor edi, edi
mov r9b, byte [rbp + 0x178]
mov r11, qword [rbp + 0x170]
mov rsi, qword [rsp + 0x38]
mov byte [r15 + rax], dil
mov rax, qword [rbx + 0x10]
mov byte [rax + r15 + 1], dil
mov eax, 0x200
or word [rbx + 8], ax
lea r15d, [rdi + 1]
mov dword [rbx + 0xc], r14d
mov r14, qword [rsp + 0x30]
mov byte [rbx + 0xa], r9b
jmp 0x140029db3
mov rdx, r13
mov rcx, r11
call fcn.14002845c
mov rcx, qword [r13 + 0x10]
mov byte [r13], Ordinal_73
test rcx, rcx
jne 0x14002b1ad
mov eax, edi
jmp 0x14002b1bf
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], dil
jne 0x14002b1b1
and eax, 0x3fffffff
mov dword [r13 + 4], eax
cmp eax, dword [r14 + 0x7c]
jg 0x14002c65d
mov r11, qword [rbp + 0x170]
mov rdx, r13
mov rcx, r11
call fcn.14002845c
mov r9b, byte [rbp + 0x178]
mov r8, rax
mov eax, 0xa02
mov word [r8 + 8], ax
mov rcx, qword [r13 + 0x10]
mov qword [r8 + 0x10], rcx
mov ecx, dword [r13 + 4]
mov dword [r8 + 0xc], ecx
mov byte [r8 + 0xa], r9b
cmp dword [r13 + 0xc], edi
jle 0x140029ce4
movsxd rcx, dword [r13 + 0xc]
mov r10d, 4
movzx eax, word [r13 + 2]
mov r11, qword [rbp + 0x170]
imul rdx, rcx, 0x38
cmp qword [rdx + r12], rax
jne 0x1400297f4
mov eax, 0xa10
mov word [r8 + 8], ax
jmp 0x1400297f4
cmp ebx, 0x6e
je 0x14002adc1
cmp ebx, 0x6f
je 0x14002b4ab
jbe 0x14002c7ee
cmp ebx, 0x71
jbe 0x14002b2e5
cmp ebx, 0x72
je 0x14002b299
cmp ebx, 0x73
jne 0x14002c7ee
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x14002c005
jmp 0x14002c7ee
mov r8d, dword [r13 + 8]
or r9d, 0xffffffff
mov edx, dword [r13 + 4]
mov rcx, r11
mov byte [rsp + 0x20], r15b
call fcn.14002818c
test rax, rax
je 0x14002cc6f
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, r14
mov edx, dword [r13 + 0xc]
call fcn.14002d3d4
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
jmp 0x140029da5
movsxd rdx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rdx*8]
test rcx, rcx
je 0x14002b319
mov edx, dword [rcx + 0x4c]
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call fcn.140023194
mov r12d, eax
mov dword [rbp + 0x180], eax
mov r10d, 4
jmp 0x14002b491
mov r8d, dword [r13 + 8]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], dil
call fcn.14002818c
mov rbx, rax
test rax, rax
je 0x14002cc6f
or dword [rax + 8], r15d
lea rdi, [rax + 0x10]
mov byte [rax + 2], r15b
mov r9, rdi
movzx ecx, word [r13 + 2]
mov r8, r14
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r14]
call fcn.14001ded8
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002b466
mov rcx, qword [rdi]
xor r8d, r8d
mov edx, r15d
call fcn.14001e4d4
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002b466
mov r14, qword [r13 + 0x10]
lea rsi, [rbx + 0x4c]
mov rcx, qword [rdi]
mov qword [rbx + 0x40], r14
test r14, r14
je 0x14002b437
movzx r8d, word [r13 + 2]
mov rdx, rsi
or r8d, 2
call fcn.140022f24
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002b425
mov rax, qword [rbx + 0x38]
cmp dword [rsi], r15d
jge 0x14002b407
lea rax, [0x1400d1aa4]
mov r14d, reloc.Cabinet.dll_FCIAddFile
mov ecx, r14d
mov qword [rsp + 0x20], rax
mov r9d, 0x1075e
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140013b74
mov dword [rbp + 0x180], r14d
jmp 0x14002b425
mov edx, dword [rsi]
mov r9, r14
mov rcx, qword [rdi]
mov r8d, 4
mov qword [rsp + 0x20], rax
call fcn.14001eaf0
mov dword [rbp + 0x180], eax
mov r14, qword [rsp + 0x30]
xor edi, edi
mov rsi, qword [rsp + 0x38]
mov byte [rbx + 4], dil
jmp 0x14002b468
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov edx, r15d
mov dword [rsi], r15d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.14001eaf0
mov r14, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov dword [rbp + 0x180], eax
mov byte [rbx + 4], r15b
xor edi, edi
movzx eax, word [r13 + 2]
mov r10d, 4
mov r12d, dword [rbp + 0x180]
sub ax, 8
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, r10d
or ecx, eax
mov dword [rbx + 8], ecx
test r12d, r12d
jne 0x14002af38
mov r11, qword [rbp + 0x170]
mov r12, qword [rsp + 0x40]
jmp 0x1400297ed
movsxd rcx, dword [r13 + 8]
or r9d, 0xffffffff
mov rax, qword [r11 + 0x78]
mov edx, dword [r13 + 4]
mov byte [rsp + 0x20], dil
mov rbx, qword [rax + rcx*8]
mov rcx, r11
movsx r8d, word [rbx + 0x50]
call fcn.14002818c
test rax, rax
je 0x14002cc6f
or dword [rax + 8], r15d
mov byte [rax + 2], r15b
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rax + 0x38]
mov dword [rax + 0x4c], edx
cmp edx, r15d
jge 0x14002b538
lea rax, [0x1400d1aa4]
mov r9d, 0x1075e
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, reloc.Cabinet.dll_FCIAddFile
call fcn.140013b74
mov dword [rbp + 0x180], reloc.Cabinet.dll_FCIAddFile
jmp 0x140029da5
mov qword [rsp + 0x20], rcx
mov r8d, 4
mov rcx, qword [rbx + 0x10]
call fcn.14001eaf0
mov dword [rbp + 0x180], eax
jmp 0x140029da5
mov esi, edx
mov eax, 0x10
test byte [rbx + 2], al
je 0x14002b588
imul rbx, r14, 0x38
mov rax, r14
add rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.140023b84
mov r14d, dword [rbx]
xor edx, edx
mov rbx, qword [rsp + 0x58]
mov r11, qword [rbp + 0x170]
mov al, byte [rbx + 1]
cmp al, 0xf7
jne 0x14002b59a
mov r15, qword [rbx + 0x10]
movzx edi, word [r15 + 8]
jmp 0x14002b5a1
cmp al, 0xfd
jne 0x14002b5a1
mov edi, dword [rbx + 0x10]
mov byte [rsp + 0x20], dl
mov r9d, r12d
mov edx, dword [rbx + 4]
mov r8d, edi
mov rcx, r11
call fcn.14002818c
mov rdi, rax
test rax, rax
je 0x14002cc6f
mov ecx, 1
mov dword [rax + 0x4c], r14d
mov byte [rax + 2], cl
lea r10d, [rcx + 3]
or dword [rax + 8], r10d
mov rax, qword [rax + 0x38]
cmp r14d, ecx
jge 0x14002b611
lea ebx, [rcx + 0xa]
mov r9d, 0x1075e
lea rax, [0x1400d1aa4]
mov ecx, ebx
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140013b74
mov dword [rbp + 0x180], ebx
jmp 0x14002b62d
mov r9, r15
mov qword [rsp + 0x20], rax
mov r8d, esi
mov edx, r14d
mov rcx, r13
call fcn.14001eaf0
mov dword [rbp + 0x180], eax
mov r13, qword [rsp + 0x58]
mov r11, qword [rbp + 0x170]
mov r14, qword [rsp + 0x30]
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
mov r9b, byte [rbp + 0x178]
mov r8d, dword [rbp + 0x188]
mov qword [rdi + 0x40], r15
mov r15d, 1
cmp byte [r13 + 1], 0xf7
setne al
mov byte [rdi + 4], al
lea r10d, [r15 + 3]
mov cl, byte [r13 + 2]
mov rax, qword [rdi + 0x38]
and cl, 3
xor edi, edi
mov byte [rax + 3], cl
cmp dword [rbp + 0x180], edi
jne 0x14002af38
jmp 0x14002c7ee
mov r8d, dword [r13 + 0xc]
or r9d, 0xffffffff
mov edx, dword [r13 + 4]
mov rcx, r11
mov byte [rsp + 0x20], 3
call fcn.14002818c
test rax, rax
je 0x14002cc6f
mov byte [rax + 2], r15b
mov ecx, dword [r13 + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x14010b7d0]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r15b
jmp 0x140029da5
cmp ebx, 0x7b
ja 0x14002bab1
je 0x14002b9cc
sub ebx, 0x75
je 0x14002b9a0
sub ebx, ecx
je 0x14002b97f
sub ebx, 1
je 0x14002b945
sub ebx, 1
je 0x14002b82b
cmp ebx, 1
jne 0x14002c7ee
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfa
mov r8, qword [rcx + r12]
mov qword [rbp + 0xa8], r8
jne 0x14002b75d
cmp qword [r14 + 0x118], rdi
je 0x14002b75d
movsx rcx, byte [rbx + 1]
mov rax, qword [r14 + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
xor r10d, r10d
mov rsi, qword [rcx + rax]
jmp 0x14002b763
xor r10d, r10d
mov esi, r10d
movzx ecx, word [r13 + 2]
test r15b, cl
je 0x14002b776
add dword [r11 + 0x3c], r15d
movzx ecx, word [r13 + 2]
test cl, 0x20
je 0x14002b784
mov qword [r14 + 0x38], r8
movzx ecx, word [r13 + 2]
mov rax, qword [rdx + r12 + 0x10]
mov qword [rbp + 0xb0], rax
mov eax, dword [rdx + r12 + 0xc]
mov dword [rbp + 0xc4], eax
mov eax, 0x10
test al, cl
je 0x14002b7aa
mov r9d, dword [rbx + 0x2c]
jmp 0x14002b7ad
mov r9d, r10d
movzx r8d, cx
lea rdx, [rbp + 0xa0]
mov dword [rbp + 0xc8], r10d
and r8d, 0xa
mov qword [rbp + 0xa0], r10
mov rcx, qword [rbx + 0x38]
call fcn.14002282c
mov r8d, eax
mov dword [rbp + 0x180], eax
xor eax, eax
mov byte [rbx + 3], al
mov dword [rbx + 0x28], eax
test r8d, r8d
jne 0x14002af38
test rdi, rdi
je 0x140029721
mov al, byte [r13 + 2]
mov r8, rsi
mov r9, qword [rdi]
and al, 4
mov rcx, qword [r14 + 0x110]
neg al
mov rax, qword [rbp + 0xa8]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r14 + 0x118]
jmp 0x140029721
mov rdx, r13
mov qword [rbp - 0x58], rdi
mov rcx, r11
mov dword [rsp + 0x7c], edi
call fcn.14002845c
mov r14, qword [rbp + 0x170]
mov rsi, rax
movsxd rdx, dword [r13 + 4]
mov rcx, qword [r14 + 0x78]
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], 2
jne 0x14002b8b9
mov rcx, qword [rdi + 0x38]
lea rdx, [rsp + 0x7c]
call fcn.14001f3b0
mov dword [rbp + 0x180], eax
mov r8d, eax
test eax, eax
jne 0x14002cc45
xor r8d, r8d
cmp dword [rsp + 0x7c], r8d
je 0x14002b889
mov qword [rbp - 0x58], r15
jmp 0x14002b8bc
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.14001ec64
mov rax, qword [rbx + 0x30]
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x58], rax
cmp rax, rcx
jl 0x14002b8b2
or dword [rdi + 8], 2
jmp 0x14002b8b9
inc rax
mov qword [rbp - 0x58], rax
xor r8d, r8d
test byte [rdi + 8], 2
je 0x14002b931
mov ebx, r8d
lea rdx, [rbp - 0x58]
mov ecx, 8
call fcn.140013c40
mov r8, qword [rbp - 0x58]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
add r8, r15
lea rax, [rsp + 0x7c]
mov qword [rbp - 0x58], r8
xor edx, edx
mov rcx, qword [rdi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14001f414
mov r8d, eax
mov dword [rbp + 0x180], eax
xor eax, eax
test r8d, r8d
jne 0x14002cc45
cmp dword [rsp + 0x7c], eax
jne 0x14002b931
add ebx, r15d
cmp ebx, 0x64
jl 0x14002b8c5
lea ebx, [rax + 7]
lea r13d, [r8 + 0xd]
jmp 0x14002af4b
xor ebx, ebx
mov byte [rdi + 3], bl
mov dword [rdi + 0x28], ebx
mov rax, qword [rbp - 0x58]
mov qword [rsi], rax
jmp 0x14002a3f2
mov rdx, r13
mov rcx, r11
call fcn.14002845c
movsxd rdx, dword [r13 + 4]
mov r11, qword [rbp + 0x170]
mov rcx, qword [r11 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r15
jmp 0x140029dac
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [r13 + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp 0x14002c7ee
movsxd rax, dword [r13 + 4]
mov rcx, r11
mov rdx, qword [r11 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.140025534
mov r11, qword [rbp + 0x170]
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov qword [rax + rcx*8], rdi
jmp 0x140029dac
movsxd rcx, dword [r13 + 4]
xor edx, edx
cmp byte [r13 + 1], 0xfa
mov rax, qword [r11 + 0x78]
mov r15d, dword [r13 + 8]
mov rdi, qword [rax + rcx*8]
jne 0x14002ba27
cmp qword [r14 + 0x118], rdx
je 0x14002ba27
mov rax, qword [r14 + 0x20]
movsx rcx, byte [rdi + 1]
mov rsi, qword [r13 + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax]
lea eax, [rdx + 2]
test byte [r13 + 2], al
je 0x14002ba2d
cmp byte [rdi + 4], dl
je 0x14002ba2d
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.14001ec64
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x58], rax
jmp 0x14002ba2d
mov r14, rdx
mov rsi, rdx
mov dl, byte [r13 + 2]
mov rcx, qword [rdi + 0x38]
call fcn.140022bc4
mov r8d, eax
mov dword [rbp + 0x180], eax
xor eax, eax
mov qword [rdi + 0x28], rax
test r8d, r8d
jne 0x14002af38
mov r11, qword [rbp + 0x170]
test r15b, 1
lea r15d, [r8 + 1]
je 0x14002a3f9
add dword [r11 + 0x3c], r15d
mov rax, qword [rsp + 0x30]
mov r10, qword [rax + 0x118]
test r10, r10
je 0x14002a3f9
test byte [rsi + 0x40], 0x20
jne 0x14002c7ce
mov rax, qword [rdi + 0x58]
lea edx, [r15 + 8]
mov r9, qword [rsi]
mov r8, r14
mov r14, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov rcx, qword [r14 + 0x110]
call r10
jmp 0x140029721
sub ebx, 0x7c
je 0x14002bc09
sub ebx, 1
je 0x14002bbcc
sub ebx, 1
je 0x14002bb87
cmp ebx, 1
jne 0x14002c7ee
mov rdx, r13
mov rcx, r11
call fcn.14002845c
movsxd rdx, dword [r13 + 4]
mov rdi, rax
mov r14, qword [rbp + 0x170]
mov rcx, qword [r14 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x38]
mov rcx, rbx
call fcn.14001ec64
mov rax, qword [rsp + 0x30]
mov r8d, dword [rbx + 0x40]
cmp r8d, dword [rax + 0x7c]
ja 0x14002c664
mov r9, rdi
xor edx, edx
mov rcx, rbx
call fcn.140024360
mov dword [rbp + 0x180], eax
mov r8d, eax
test eax, eax
jne 0x14002cc45
xor r8d, r8d
cmp dword [r13 + 0xc], r8d
jne 0x14002c7bd
mov eax, 0x1000
test word [rdi + 8], ax
je 0x14002c7bd
mov rcx, rdi
call fcn.14002371c
xor edi, edi
test eax, eax
je 0x140029bb8
mov ebx, 7
mov rcx, qword [rsp + 0x30]
call fcn.1400124dc
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.1400248fc
mov r13d, ebx
jmp 0x14002af4b
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rdx, r12
mov rcx, qword [rax + rcx*8]
call fcn.14002e8a0
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
movsxd rcx, dword [r13 + 0xc]
mov r11, qword [rbp + 0x170]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], edi
jmp 0x140029dac
mov rax, qword [r11 + 0x78]
lea r9, [rbp - 0x3c]
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
mov dword [rbp - 0x3c], edi
add rdx, r12
call fcn.14002e94c
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
cmp dword [rbp - 0x3c], edi
jmp 0x140028ca0
mov eax, dword [r11 + 0x3c]
add dword [r14 + 0x78], eax
mov dword [r14 + 0x74], eax
mov dword [r11 + 0x3c], edi
jmp 0x14002c7ee
mov rdx, r13
mov rcx, r11
call fcn.14002845c
mov r11, qword [rbp + 0x170]
mov rdi, rax
movsxd rdx, dword [r13 + 4]
xor eax, eax
mov rcx, qword [r11 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], al
je 0x14002bc50
mov word [rdi + 8], r15w
jmp 0x14002972d
cmp byte [rbx + 3], al
je 0x14002bc5b
mov rax, qword [rbx + 0x58]
jmp 0x14002bcc3
mov rax, qword [rbx + 0x38]
xor r12d, r12d
cmp byte [rax], r12b
je 0x14002bc81
mov rcx, rbx
call fcn.140026490
mov r11, qword [rbp + 0x170]
mov r12d, eax
mov dword [rbp + 0x180], eax
jmp 0x14002bc88
mov dword [rbp + 0x180], r12d
xor eax, eax
test r12d, r12d
jne 0x14002af38
cmp byte [rbx + 2], al
je 0x14002bca7
mov r12, qword [rsp + 0x40]
mov word [rdi + 8], r15w
jmp 0x14002972d
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.14001ec64
mov rax, qword [rbx + 0x30]
mov r11, qword [rbp + 0x170]
mov r12, qword [rsp + 0x40]
mov qword [rdi], rax
jmp 0x14002972d
cmp ebx, 0x8d
ja 0x14002c210
je 0x14002c1f7
cmp ebx, 0x88
ja 0x14002c0bf
je 0x14002c04b
cmp ebx, 0x81
je 0x14002c016
cmp ebx, 0x82
je 0x14002bf82
jbe 0x14002c7ee
cmp ebx, 0x84
jbe 0x14002bed0
cmp ebx, 0x85
je 0x14002be40
lea eax, [rbx - 0x86]
cmp eax, r15d
ja 0x14002c7ee
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], dil
je 0x14002bd77
mov rcx, rbx
call fcn.140026490
mov r11, qword [rbp + 0x170]
mov r12d, eax
mov r9b, byte [rbp + 0x178]
mov r10d, 4
mov r8d, dword [rbp + 0x188]
mov dword [rbp + 0x180], eax
jmp 0x14002bd80
mov r12d, edi
mov dword [rbp + 0x180], edi
test r12d, r12d
jne 0x14002af38
cmp byte [rbx + 2], dil
jne 0x14002be17
mov qword [rbp - 0x30], rdi
lea r8, [rbp - 0x30]
mov rdx, qword [rbx + 0x38]
mov rcx, r14
call fcn.1400274a0
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
cmp byte [r13], 0x86
jne 0x14002bdf0
movsxd rcx, dword [r13 + 0xc]
mov r11, qword [rbp + 0x170]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], dil
mov rax, qword [rbp - 0x30]
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r15b
mov rax, qword [r13 + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x14002882e
mov rcx, qword [rbp + 0x170]
mov rdx, r13
call fcn.14002845c
mov rcx, qword [rbp - 0x30]
mov r11, qword [rbp + 0x170]
mov r14, qword [rsp + 0x30]
mov qword [rax], rcx
jmp 0x14002882e
movsxd rax, dword [r13 + 8]
mov r12, qword [rsp + 0x40]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
jne 0x140028dc4
mov word [rcx + 8], r15w
jmp 0x14002c7ee
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0x38]
mov rax, qword [r11 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0x38], rax
movzx eax, word [r13 + 0xc]
mov word [rbp + 0x48], ax
xor eax, eax
mov byte [rbp + 0x4a], al
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 0x28]
add rcx, r12
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x40], rcx
mov rcx, rdi
call fcn.14001f414
mov dword [rbp + 0x180], eax
mov ecx, eax
test eax, eax
jne 0x14002af38
xor ecx, ecx
cmp dword [rbp - 0x28], ecx
jne 0x14002bec4
lea edx, [rax + 4]
mov rcx, rdi
call fcn.140022bc4
xor edi, edi
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
jmp 0x14002bec6
xor edi, edi
and qword [rbx + 0x28], 0
jmp 0x140029da5
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
add rdx, r12
test byte [r13 + 2], r15b
je 0x14002bef1
add dword [r11 + 0x3c], r15d
cmp byte [r13], 0x83
jne 0x14002bf02
mov rcx, rbx
call fcn.14002def8
jmp 0x14002bf65
movsxd rax, dword [rdx + 0xc]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0xd8], rax
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0xd0], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r12
mov word [rbp + 0xf0], ax
mov eax, 0x10
mov qword [rbp + 0xe8], rcx
test al, r8b
je 0x14002bf4b
mov r9d, dword [rbx + 0x2c]
jmp 0x14002bf4e
mov r9d, edi
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0xd0]
and r8d, 0xa
call fcn.14002282c
mov dword [rbx + 0x28], edi
mov dword [rbp + 0x180], eax
mov r12d, eax
test eax, eax
jne 0x14002af38
mov r11, qword [rbp + 0x170]
jmp 0x14002882e
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov rdi, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rdi + 0x38]
mov dword [rbp - 0x68], eax
cmp bl, 0x82
jne 0x14002bfa8
or dword [rdi + 0x2c], 0xffffffff
cmp byte [rcx], al
je 0x14002c7ec
lea rdx, [rbp - 0x68]
call fcn.14001f3b0
mov dword [rbp + 0x180], eax
mov al, byte [rbp - 0x68]
mov byte [rdi + 2], al
xor eax, eax
mov byte [rdi + 3], al
mov dword [rdi + 0x28], eax
xor edi, edi
cmp dword [rbp + 0x180], edi
jne 0x14002af38
cmp dword [r13 + 8], edi
jle 0x140029da5
cmp dword [rbp - 0x68], edi
je 0x140029da5
jmp 0x14002bfff
mov r15d, 1
mov r12, qword [rsp + 0x40]
jmp 0x14002bfff
xor edi, edi
lea r15d, [rdi + 1]
jmp 0x14002c005
xor edi, edi
mov r10d, 4
mov r11, qword [rbp + 0x170]
mov rsi, qword [rsp + 0x38]
jmp 0x140028c2e
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r15b
mov dword [rbx + 0x28], edi
cmp byte [rbx], dil
jne 0x14002c7ee
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.140012014
mov qword [rbx + 0x18], rdi
mov byte [rbx], r15b
jmp 0x140029da5
mov rdx, r13
mov rcx, r11
call fcn.14002845c
mov rbx, rax
mov word [rax + 8], r15w
mov ecx, dword [r14 + 0xcc]
add ecx, r15d
cmp dword [r14 + 0xc0], ecx
jg 0x14002cbd1
movsxd rdx, dword [r13 + 0xc]
lea r8, [rbp - 0x40]
mov rcx, qword [r14 + 0x20]
shl rdx, 5
mov dword [rbp - 0x40], edi
mov rcx, qword [rdx + rcx + 8]
mov edx, dword [r13 + 4]
call fcn.1400231fc
mov dword [rbp + 0x180], eax
mov r10d, 4
mov word [rbx + 8], r10w
movsxd rax, dword [rbp - 0x40]
mov qword [rbx], rax
cmp dword [rbp + 0x180], edi
jne 0x14002af38
jmp 0x140029912
sub ebx, 0x89
je 0x14002c185
sub ebx, 1
je 0x14002c14b
sub ebx, 1
je 0x14002c102
cmp ebx, 1
jne 0x14002c7ee
add byte [r14 + 0x6a], r15b
xor r9d, r9d
mov rdx, qword [r13 + 0x10]
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.140042704
dec byte [r14 + 0x6a]
jmp 0x14002b2d2
mov rdx, r13
mov rcx, r11
call fcn.14002845c
movsxd rdx, dword [r13 + 4]
mov rbx, rax
mov rcx, qword [r14 + 0x20]
mov r8d, dword [r13 + 0xc]
shl rdx, 5
mov dword [rbp - 0x44], edi
mov rcx, qword [rdx + rcx + 8]
lea rdx, [rbp - 0x44]
call fcn.140022f24
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002af38
movsxd rax, dword [rbp - 0x44]
mov qword [rbx], rax
jmp 0x140029da5
movsxd rcx, dword [r13 + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r15b
jne 0x14002c16d
mov rdx, qword [rcx + 0x38]
mov rcx, r14
call fcn.14002d57c
jmp 0x140029da5
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.140023194
jmp 0x14002b2d2
mov eax, dword [r13 + 0xc]
mov rcx, qword [r14 + 0x20]
neg eax
mov edx, dword [r13 + 4]
lea rax, [rbp - 0x48]
sbb r8, r8
mov dword [rbp - 0x48], edi
and r8, rax
movsxd rax, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140023194
mov r12d, eax
mov r11, qword [rbp + 0x170]
mov dword [rbp + 0x180], eax
cmp dword [r13 + 0xc], edi
je 0x140028825
movsxd rdx, dword [rbp - 0x48]
add dword [r11 + 0x3c], edx
cmp dword [r13 + 0xc], edi
jle 0x140028825
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov rax, rdx
mov rdx, qword [rsp + 0x40]
add qword [rcx + rdx], rax
jmp 0x140028825
mov rdx, r13
mov rcx, r11
call fcn.14002845c
mov ecx, 8
mov word [rax + 8], cx
jmp 0x140029d87
cmp ebx, 0x9a
ja 0x14002c516
cmp ebx, 0x99
jae 0x14002c475
sub ebx, 0x8e
je 0x14002c31b
sub ebx, ecx
je 0x14002c306
sub ebx, 1
je 0x14002c2f1
sub ebx, 3
je 0x14002c2b2
cmp ebx, r10d
jne 0x14002c7ee
movsxd rax, dword [r13 + 4]
mov rdx, r13
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
mov rcx, r11
imul rdi, rax, 0x38
call fcn.14002845c
mov r8, qword [rbx + r12]
mov r9, rax
test r8, r8
jle 0x14002c2a4
mov rdx, qword [rdi + r12]
xor edi, edi
test rdx, rdx
cmovle rdx, rdi
test rdx, rdx
js 0x14002c29e
movabs rcx, 0x7fffffffffffffff
sub rcx, r8
cmp rcx, rdx
jl 0x14002c2a6
lea rax, [r8 + rdx]
jmp 0x14002c2aa
xor edi, edi
or rax, 0xffffffffffffffff
mov qword [r9], rax
jmp 0x140029da5
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
add rbx, r12
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14002c2df
mov rcx, rbx
call fcn.140023e44
test eax, eax
jne 0x14002cc6f
mov rdx, qword [rdi + r12]
mov rcx, qword [rbx + 0x10]
call fcn.140018e4c
jmp 0x14002ae96
mov r8, qword [r13 + 0x10]
mov rcx, r14
mov edx, dword [r13 + 4]
call fcn.1400381b4
jmp 0x140029da5
mov r8, qword [r13 + 0x10]
mov rcx, r14
mov edx, dword [r13 + 4]
call fcn.140038570
jmp 0x140029da5
mov rcx, qword [r13 + 0x10]
movsxd rbx, dword [r13 + 4]
test rcx, rcx
jne 0x14002c383
mov rcx, qword [r14 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14003d268
and dword [r14 + 0x2c], 0xfffffff7
mov r9d, r15d
mov r8, qword [rbp + 0x170]
mov edx, ebx
mov r14, qword [rsp + 0x30]
add r8, 0xa8
mov rcx, r14
call fcn.140042ef0
mov r11, qword [rbp + 0x170]
mov r12d, eax
or dword [r14 + 0x2c], r15d
mov dword [rbp + 0x180], eax
and dword [r11 + 0xc0], 0xfffffffc
jmp 0x14002c467
mov r8, qword [r14 + 0x20]
lea rax, [r11 + 0xa8]
mov qword [rbp + 8], rax
lea r9, str.sqlite_master
mov qword [rbp], r14
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp + 0x10], ebx
mov rax, rbx
shl rax, 5
mov dword [rbp + 0x18], edi
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov r8, qword [rax + r8]
call fcn.140013a70
mov rbx, rax
test rax, rax
je 0x14002cbf3
lea r9, [rbp]
mov byte [r14 + 0xb5], r15b
lea r8, [fcn.140042cfc]
mov dword [rbp + 0x14], edi
mov rdx, rax
mov dword [rbp + 0x1c], edi
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.140042704
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002c447
mov eax, dword [rbp + 0x14]
mov dword [rbp + 0x180], eax
test eax, eax
jne 0x14002c447
cmp dword [rbp + 0x1c], edi
jne 0x14002c447
lea rax, [0x1400d1aa4]
mov r12d, reloc.Cabinet.dll_FCIAddFile
mov ecx, r12d
mov qword [rsp + 0x20], rax
mov r9d, 0x15c40
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140013b74
mov dword [rbp + 0x180], r12d
mov rdx, rbx
mov rcx, r14
call fcn.1400120a4
mov r11, qword [rbp + 0x170]
mov r12d, dword [rbp + 0x180]
mov byte [r14 + 0xb5], dil
test r12d, r12d
jne 0x14002cbfe
jmp 0x14002882e
movzx ebx, word [r13 + 2]
cmp byte [r14 + 0x61], dil
jne 0x14002cc6f
movzx edi, bx
mov rcx, r14
lea rdx, [rdi*8 + 0x68]
call fcn.1400122d8
mov r8, rax
xor eax, eax
test r8, r8
je 0x14002cc6f
mov qword [r8 + 0x10], rax
add rdi, 6
movabs rax, 0x2aaaaaaaaaaaaaab
lea rcx, [r8 + rdi*8]
xor edi, edi
mov qword [r8], rcx
mov qword [rcx + 0x28], r14
mov r14, qword [rbp + 0x170]
mov word [rcx + 8], r15w
mov dword [rcx + 0x20], edi
mov rcx, qword [r13 + 0x10]
mov qword [r8 + 8], rcx
mov rcx, r13
sub rcx, rsi
mov qword [r8 + 0x18], r14
imul rcx
mov byte [r8 + 0x28], dil
sar rdx, 2
mov rax, rdx
mov dword [r8 + 0x24], edi
mov byte [r8 + 0x29], bl
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [r13], 0xf09b
mov qword [r13 + 0x10], r8
jmp 0x14002c688
cmp ebx, 0x9b
je 0x14002c681
jbe 0x14002c7ee
cmp ebx, 0x9d
jbe 0x14002c5f7
cmp ebx, 0x9e
je 0x14002c5a3
cmp ebx, 0xa8
jne 0x14002c7ee
mov eax, dword [r13 + 4]
cmp eax, dword [0x140109268]
jl 0x14002c591
cmp bl, 0xa8
je 0x14002c7ee
mov edx, r15d
cmp dword [r11 + 0x90], r15d
jle 0x14002c58f
mov eax, Ordinal_27
mov rcx, qword [r11 + 0x88]
cmp byte [rax + rcx], 0x12
jne 0x14002c57f
mov dword [rax + rcx + 4], edi
add edx, r15d
add rax, 0x18
cmp edx, dword [r11 + 0x90]
jl 0x14002c56e
mov eax, edi
inc eax
mov dword [r13 + 4], eax
add dword [r11 + 0xe4], r15d
jmp 0x140028c3c
cmp dword [r13 + 4], edi
jne 0x14002c5da
mov rax, qword [r14 + 8]
mov ecx, dword [r13 + 8]
test rax, rax
je 0x14002c7ee
inc ecx
and ecx, 3
and dword [rax + 0xc0], 0xfffffffc
or dword [rax + 0xc0], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14002c5bf
jmp 0x14002c7ee
mov eax, dword [r13 + 8]
add eax, r15d
xor eax, dword [r11 + 0xc0]
and eax, 3
xor dword [r11 + 0xc0], eax
jmp 0x14002c7ee
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
cmp dword [r13 + 0xc], edi
je 0x14002c634
movsxd rax, dword [r13 + 0xc]
mov r8, qword [r13 + 0x10]
imul rdx, rax, 0x38
add rdx, r12
call fcn.1400238fc
mov ecx, eax
mov dword [rbp + 0x180], eax
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r12
jmp 0x14002c645
mov rdx, qword [r13 + 0x10]
call fcn.140023830
mov ecx, eax
mov dword [rbp + 0x180], eax
test ecx, ecx
mov rcx, rbx
jne 0x14002cc27
call fcn.140023f14
test eax, eax
je 0x140029da5
mov r14, qword [rbp + 0x170]
lea rdx, str.string_or_blob_too_big
mov rcx, r14
call fcn.1400248fc
mov ebx, 7
lea r13d, [rbx + 0xb]
jmp 0x14002af4b
mov r14, qword [rbp + 0x170]
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [r13 + 0x10]
imul r8, rax, 0x38
add r8, r12
cmp qword [rbx + 0x10], r8
je 0x14002c6e1
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x14002c6e1
lea r9, [rdx + 6]
mov esi, 8
lea r9, [rbx + r9*8]
mov eax, dword [r13 + 8]
add eax, r10d
sub r10d, r15d
cdqe
imul rcx, rax, 0x38
add rcx, r12
mov qword [r9], rcx
sub r9, rsi
sub rdx, r15
jns 0x14002c6be
mov rsi, qword [rsp + 0x38]
add dword [r8 + 0xc], r15d
mov rcx, rbx
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [r13 + 4], edi
je 0x14002c6ff
call qword [rax + 0x30]
jmp 0x14002c702
call qword [rax + Ordinal_26]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140029bb8
jle 0x14002c732
mov rcx, qword [rbx]
call fcn.14002780c
mov r8, rax
lea rdx, [0x1400cee40]
mov rcx, r14
call fcn.1400248fc
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x180], eax
cmp byte [rbx + 0x28], dil
je 0x14002c770
cmp dword [r13 - 0x14], edi
je 0x14002c76c
movsxd rax, dword [r13 - 0x14]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
je 0x14002c75e
mov rdx, r15
call fcn.140023dbc
jmp 0x14002c76c
mov r10d, 4
mov qword [rcx], r15
mov word [rcx + 8], r10w
mov byte [rbx + 0x28], dil
mov rax, qword [rbx]
mov ecx, 0x2400
test word [rax + 8], cx
jne 0x14002c783
cmp dword [rax + 0x20], edi
je 0x14002c78e
mov rcx, rax
call fcn.1400239b8
mov rax, qword [rbx]
mov word [rax + 8], r15w
mov dword [rbx + 0x24], edi
cmp dword [rbp + 0x180], edi
jne 0x14002cc45
jmp 0x140029bb8
mov r14, qword [rsp + 0x30]
mov r13, rdx
mov r12, qword [rsp + 0x40]
mov r9b, byte [rbp + 0x178]
jmp 0x14002c7ec
mov r11, qword [rbp + 0x170]
mov r14, qword [rsp + 0x30]
jmp 0x14002972d
mov r9b, byte [rbp + 0x178]
mov r10d, 4
mov r8d, dword [rbp + 0x188]
mov r14, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
xor edi, edi
mov edx, dword [rbp - 0x64]
add r13, 0x18
jmp 0x14002853b
mov r13d, 8
jmp 0x14002af3f
mov r14, qword [rbp + 0x170]
cmp al, 5
jne 0x14002cc45
sub r13, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, dword [rbp + 0x180]
mov dword [r14 + 0x34], edx
jmp 0x14002c9a2
movzx eax, byte [r14 + 0x5f]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x14002c909
test ecx, ecx
je 0x14002c873
mov edx, 0x204
mov rcx, r14
call fcn.140057bc8
mov r11, qword [rbp + 0x170]
mov al, r15b
jmp 0x14002c89c
test ebx, ebx
je 0x14002c89a
cmp dword [r14 + 0xc4], edi
jle 0x14002c89a
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r11
call fcn.1400248fc
mov r13d, 5
jmp 0x14002af3f
mov al, bl
mov rcx, r11
mov byte [r14 + 0x5f], al
call fcn.140025e20
cmp eax, 5
jne 0x14002c8e7
mov r14, qword [rbp + 0x170]
sub r13, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x30]
sub r15b, bl
mov dword [r14 + 0x34], edx
mov byte [rax + 0x5f], r15b
jmp 0x14002c99d
mov rcx, r14
call fcn.140057888
mov r14, qword [rbp + 0x170]
mov eax, dword [r14 + 0x38]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
jmp 0x14002b017
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r11
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.1400248fc
mov r13d, r15d
jmp 0x14002af3f
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x14002c887
mov r14, qword [rbp + 0x170]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r14
call fcn.1400248fc
mov ebx, 7
lea r13d, [rbx - 2]
jmp 0x14002af4b
mov rdx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rdx, qword [rsp + 0x38]
imul rdx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x30]
xor ecx, ecx
mov dword [r14 + 0x34], edx
mov byte [rax + 0x5f], cl
mov eax, 5
mov dword [r14 + 0x38], eax
jmp 0x14002b017
mov r11, qword [rbp + 0x170]
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rcx, r11
call fcn.1400248fc
jmp 0x14002c932
mov r13d, 0x14
jmp 0x14002af3f
mov dword [r11 + 0x38], edx
mov al, byte [r13 + 8]
mov byte [r11 + 0xba], al
mov dword [r11 + 0x34], ebx
test edx, edx
je 0x14002ca8e
mov rcx, r11
cmp word [r13 + 2], di
je 0x14002ca4a
movzx r8d, word [r13 + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xbb4a0]
call fcn.1400248fc
mov r9, qword [r13 + 0x10]
mov r14, qword [rbp + 0x170]
test r9, r9
je 0x14002ca61
mov r8, qword [r14 + 0xa8]
lea rdx, str._z:__s
mov rcx, qword [rsp + 0x30]
call fcn.140013a70
mov qword [r14 + 0xa8], rax
jmp 0x14002ca61
mov r8, qword [r13 + 0x10]
lea rdx, [0x1400cee40]
call fcn.1400248fc
mov r14, qword [rbp + 0x170]
mov rax, qword [r14 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r14 + 0xe8]
mov r8d, ebx
mov ecx, dword [r13 + 4]
mov qword [rsp + 0x20], rax
call fcn.140013b74
mov r11, qword [rbp + 0x170]
mov rcx, r11
call fcn.140025e20
mov r14, qword [rbp + 0x170]
cmp eax, 5
jne 0x14002c8f6
mov dword [r14 + 0x38], eax
jmp 0x14002b017
mov rax, qword [r11]
cmp dword [rax + 0x218], edi
je 0x14002cad7
cmp dword [r11 + 0x40], edi
je 0x14002cad7
mov edx, r15d
mov rcx, r11
call fcn.140025d40
mov r11, qword [rbp + 0x170]
mov ecx, 2
mov eax, dword [r11 + 0x30]
add eax, ecx
or eax, r15d
mov dword [r11 + 0x30], eax
movsxd rax, dword [r13 + 4]
imul rsi, rax, 0x38
add rsi, r12
xor r12d, r12d
mov qword [r11 + 0xa0], rsi
cmp dword [r13 + 8], r12d
jle 0x14002cb56
lea rbx, [rsi + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x14002cb24
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.14002371c
test eax, eax
jne 0x14002cc6f
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x14002cb42
lea rcx, [rbx - 8]
call fcn.1400236cc
add edi, r15d
add rbx, 0x38
cmp edi, dword [r13 + 8]
jl 0x14002cb03
mov r11, qword [rbp + 0x170]
cmp byte [r14 + 0x61], r12b
jne 0x14002cc6f
mov r10d, 4
test byte [r14 + 0x68], r10b
je 0x14002cb83
mov rdx, qword [r14 + 0xe8]
xor r9d, r9d
mov r8, r11
mov ecx, r10d
call qword [r14 + reloc.WLDAP32.dll_Ordinal_224]
sub r13, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r14, qword [rbp + 0x170]
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 0x64
add edx, r15d
mov dword [r14 + 0x34], edx
jmp 0x14002b017
mov r9d, 0x15047
jmp 0x140029140
mov r13d, 0x204
jmp 0x14002af3f
mov r14, qword [rbp + 0x170]
mov r13d, 6
lea eax, [r13 - 4]
mov byte [r14 + 0xba], al
mov ebx, 7
jmp 0x14002af4b
mov eax, 7
mov dword [rbp + 0x180], eax
mov rcx, r14
call fcn.1400383a8
mov r13d, dword [rbp + 0x180]
mov ebx, 7
cmp r13d, ebx
jne 0x14002af44
mov r14, qword [rbp + 0x170]
jmp 0x14002bb66
call fcn.14002780c
mov r14, qword [rbp + 0x170]
lea rdx, [0x1400cee40]
mov rcx, r14
mov r8, rax
call fcn.1400248fc
mov r13d, dword [rbp + 0x180]
jmp 0x14002cbe9
mov al, byte [r14 + 0x61]
neg al
sbb eax, eax
and eax, 0xfffffffe
add eax, 9
mov ecx, eax
mov dword [rbp + 0x180], eax
mov dword [r11 + 0x38], eax
call fcn.140057ce0
jmp 0x14002cc2c
mov r14, qword [rbp + 0x170]
jmp 0x14002bb61
mov r14, qword [rbp + 0x170]
mov ebx, eax
jmp 0x14002bb66