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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov rax, qword [0x140101078]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov r12, qword [rcx]
mov r15, r9
mov qword [rbp - 0x18], r12
mov rdi, r8
mov qword [rbp - 0x28], r8
mov rsi, rdx
mov r13, rcx
mov qword [rbp - 8], rcx
call fcn.14005cba8
mov qword [rbp - 0x40], rax
mov r14, rax
test rax, rax
je 0x140058bbc
or dword [rax + 0xc8], 0x20
lea r9, [rbp - 0x78]
mov ebx, 2
mov r8, rdi
mov rdx, rsi
mov qword [rbp - 0x48], rbx
mov rcx, r13
mov dword [r13 + 0x38], ebx
call fcn.140045254
movsxd rdi, eax
mov dword [rsp + 0x74], edi
test edi, edi
js 0x140058bbc
mov rax, rdi
lea esi, [rbx - 1]
mov qword [rbp - 0x38], rax
shl rax, 5
mov qword [rbp - 0x68], rax
mov rax, qword [r12 + 0x20]
mov qword [rbp - 0x60], rax
cmp edi, esi
jne 0x140055e97
mov rcx, r13
call fcn.14004a558
test eax, eax
jne 0x140058bbc
mov rdx, qword [rbp - 0x78]
mov rcx, r12
call fcn.1400451b0
xor ecx, ecx
mov qword [rbp], rax
test rax, rax
je 0x140058bbc
cmp dword [rbp + 0xd0], ecx
mov rcx, r12
je 0x140055ece
mov r8, r15
lea rdx, [0x1400e3d3c]
call fcn.14000b284
jmp 0x140055ed6
mov rdx, r15
call fcn.1400451b0
mov r15, rax
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x28]
xor ecx, ecx
cmp dword [rax + 8], ecx
jbe 0x140055ef6
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov rax, qword [rax + rcx]
jmp 0x140055ef9
mov rax, rcx
mov r8, qword [rbp]
mov r9, r15
mov edx, 0x13
mov qword [rbp - 0x58], rax
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.140044224
xor ecx, ecx
test eax, eax
jne 0x140058ba0
mov rax, qword [rbp]
lea r8d, [rcx + 0xe]
mov rdx, qword [rbp - 0x58]
lea r9, [rbp + 0x18]
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], r15
mov dword [r12 + 0x268], ecx
mov rcx, r12
call fcn.14007f770
mov dword [rsp + 0x64], eax
test eax, eax
jne 0x140055f96
mov edx, esi
mov rcx, r14
call fcn.140028304
mov r9, qword [rbp + 0x18]
or rdi, 0xffffffffffffffff
xor r8d, r8d
mov qword [rsp + 0x20], rdi
xor edx, edx
mov rcx, r14
call fcn.1400283bc
mov rdx, qword [rbp + 0x18]
mov rcx, r14
call fcn.140055b3c
mov rcx, qword [rbp + 0x18]
call fcn.1400092d0
jmp 0x140058ba0
cmp eax, 0xc
je 0x140055fcd
mov r8, qword [rbp + 0x18]
test r8, r8
je 0x140055fc0
lea rdx, [0x1400e0460]
mov rcx, r13
call fcn.14000bee8
mov rcx, qword [rbp + 0x18]
call fcn.1400092d0
mov eax, dword [rsp + 0x64]
add dword [r13 + 0x30], esi
mov dword [r13 + 0x18], eax
jmp 0x140058ba0
mov rcx, qword [rbp]
call fcn.140055bec
mov qword [rsp + 0x78], rax
mov r10, rax
test rax, rax
je 0x140058ba0
test byte [rax + 9], sil
je 0x140056002
mov rcx, r13
call fcn.140059918
test eax, eax
jne 0x140058ba0
mov r10, qword [rsp + 0x78]
test byte [r10 + 9], bl
jne 0x140056024
test byte [r10 + 9], 4
je 0x140056014
test r15, r15
jne 0x140056024
mov rdx, r10
mov rcx, r14
call fcn.140055a48
mov r10, qword [rsp + 0x78]
movzx ecx, byte [r10 + 8]
cmp ecx, 0x16
ja 0x140057df1
je 0x14005720e
cmp ecx, 0xc
ja 0x14005657e
je 0x140056501
cmp ecx, 7
ja 0x1400563a6
je 0x140056316
sub ecx, esi
je 0x1400562d4
sub ecx, esi
je 0x140056254
sub ecx, esi
je 0x140056166
sub ecx, esi
je 0x1400560cb
cmp ecx, ebx
jne 0x14005869b
xor eax, eax
test r15, r15
jne 0x140056097
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov rax, qword [rax + rcx + 0x18]
movsxd rdx, dword [rax + 0x74]
jmp 0x140056309
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.14000c8c4
mov r8, qword [rbp - 0x68]
mov r9, qword [rbp - 0x60]
mov eax, dword [rsp + 0x60]
mov rcx, qword [r8 + r9 + 0x18]
mov dword [rcx + 0x74], eax
mov rax, qword [r8 + r9 + 0x18]
mov rcx, qword [r8 + r9 + 8]
jmp 0x140057201
xor eax, eax
test r15, r15
jne 0x1400560f6
mov rdx, r10
mov rcx, r14
call fcn.140055a48
mov r8, qword [rsp + 0x78]
mov rdx, r15
mov rax, qword [r8 + 0x10]
test qword [r12 + 0x30], rax
setne dl
jmp 0x140056309
mov rbx, qword [r10 + 0x10]
mov edx, esi
btr rbx, 0xe
mov rcx, r15
cmp byte [r12 + 0x5f], al
cmovne rbx, qword [r10 + 0x10]
xor r8d, r8d
call fcn.14005591c
mov rcx, qword [r12 + 0x30]
xor edx, edx
test al, al
je 0x14005612b
or rcx, rbx
mov qword [r12 + 0x30], rcx
jmp 0x14005614a
mov rax, rbx
not rax
and rax, rcx
mov qword [r12 + 0x30], rax
cmp rbx, 0x80000
jne 0x14005614a
mov qword [r12 + 0x2d0], rdx
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, 0x9f
xor r8d, r8d
mov rcx, r14
call fcn.1400266e8
jmp 0x140056399
mov rax, qword [rbp - 0x68]
xor r11d, r11d
mov rcx, qword [rbp - 0x60]
mov r13, qword [rax + rcx + 8]
test r15, r15
jne 0x140056188
mov rcx, r13
call fcn.14001bdb0
jmp 0x14005864e
lea rdx, str.none
mov rcx, r15
call fcn.14000bfdc
test eax, eax
jne 0x1400561a0
mov ebx, r11d
jmp 0x1400561ec
lea rdx, str.full
mov rcx, r15
call fcn.14000bfdc
test eax, eax
jne 0x1400561b7
mov ebx, esi
jmp 0x1400561ec
lea rdx, str.incremental
mov rcx, r15
call fcn.14000bfdc
test eax, eax
je 0x1400561f0
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], r11d
mov rcx, r15
call fcn.14000c8c4
xor edx, edx
cmp dword [rsp + 0x60], ebx
mov eax, edx
cmovbe eax, dword [rsp + 0x60]
movzx ebx, al
mov qword [rbp - 0x48], rbx
mov edx, ebx
mov byte [r12 + 0x64], bl
mov rcx, r13
call fcn.14001bd20
test eax, eax
jne 0x140058ba0
lea eax, [rbx - 1]
cmp eax, esi
ja 0x140058ba0
mov ebx, dword [r14 + 0x90]
lea r8, [0x1400e7118]
mov edx, 5
mov rcx, r14
call fcn.140026d84
lea ecx, [rbx + 4]
mov edx, edi
mov dword [rax + 0x38], ecx
mov rcx, qword [rbp - 0x48]
dec ecx
mov dword [rax + 4], edi
mov dword [rax + 0x6c], ecx
mov rcx, r14
mov dword [rax + 0x1c], edi
mov dword [rax + 0x64], edi
call fcn.14002755c
jmp 0x140058ba0
mov r13d, dword [r10 + 0x10]
mov edx, edi
mov rcx, r14
call fcn.14002755c
test r15, r15
je 0x1400562ac
test byte [r10 + 9], 8
jne 0x1400562ac
lea r8, [0x1400e6810]
mov edx, ebx
call fcn.140026d84
mov rbx, rax
lea rdx, [rsp + 0x60]
mov rcx, r15
mov dword [rax + 4], edi
mov dword [rax + 0x1c], edi
mov dword [rax + 0x20], r13d
xor eax, eax
mov dword [rsp + 0x60], eax
call fcn.14000c8c4
mov ecx, dword [rsp + 0x60]
mov dword [rbx + 0x24], ecx
mov word [rbx + 0x1a], si
jmp 0x140058ba0
lea r8, [0x1400eab10]
mov edx, 3
call fcn.140026d84
mov dword [rax + 4], edi
mov dword [rax + 0x1c], edi
mov dword [rax + 0x24], r13d
and dword [r14 + 0xc8], 0xffffffdf
jmp 0x140058ba0
test r15, r15
je 0x140056301
lea rdx, [rbp - 0x78]
mov rcx, r15
call fcn.14000c7d0
test eax, eax
jne 0x140056301
mov rax, qword [rbp - 0x78]
test rax, rax
js 0x140056301
mov ebx, 0x7fffffff
and eax, ebx
mov dword [r12 + 0x2b8], eax
movsxd rdx, dword [r12 + 0x2b8]
mov rcx, r14
call fcn.140055af0
jmp 0x140058ba0
xor eax, eax
test r15, r15
jne 0x140056342
test byte [r12 + 0x30], 0x20
je 0x14005864e
mov rax, qword [rbp - 0x68]
xor edx, edx
mov rcx, qword [rbp - 0x60]
mov rcx, qword [rax + rcx + 8]
call fcn.14001b960
jmp 0x14005864e
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], esi
mov rcx, r15
call fcn.14000c8c4
xor ebx, ebx
test eax, eax
je 0x14005636f
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov edx, dword [rsp + 0x60]
mov rcx, qword [rax + rcx + 8]
call fcn.14001b960
cmp dword [rsp + 0x60], ebx
mov edx, esi
mov rcx, r15
setne r8b
call fcn.14005591c
mov rcx, qword [r12 + 0x30]
test al, al
je 0x140056390
or rcx, 0x20
jmp 0x140056394
and rcx, 0xffffffffffffffdf
mov qword [r12 + 0x30], rcx
mov rcx, r12
call fcn.140055b78
jmp 0x140058ba0
sub ecx, 8
je 0x1400564d5
sub ecx, esi
je 0x14005648d
sub ecx, esi
je 0x140056436
cmp ecx, esi
jne 0x14005869b
xor eax, eax
test r15, r15
jne 0x1400563d6
mov rdx, qword [0x140105c30]
jmp 0x140058417
cmp byte [r15], al
je 0x140056408
mov rcx, qword [r12]
lea r9, [rsp + 0x64]
mov r8d, esi
mov rdx, r15
mov rax, qword [rcx + 0x38]
call qword [str.__r_]
xor ecx, ecx
test eax, eax
jne 0x140058827
cmp dword [rsp + 0x64], ecx
je 0x140058827
mov rcx, qword [0x140105c30]
call fcn.1400092d0
xor eax, eax
cmp byte [r15], al
je 0x14005642a
mov rdx, r15
lea rcx, [0x1400e0460]
call fcn.14000b350
mov qword [0x140105c30], rax
jmp 0x140058ba0
xor r15d, r15d
mov dword [r13 + 0x38], esi
mov ebx, r15d
lea r12, [0x140000000]
cmp rbx, rsi
ja 0x140056480
mov r8, qword [r12 + rbx*8 + 0xe98e8]
add rbx, rsi
test r8, r8
je 0x140056480
mov edx, esi
mov rcx, r14
call fcn.140026764
mov r9d, esi
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov edx, 0x50
mov rcx, r14
call fcn.1400266e8
jmp 0x140056447
and dword [r14 + 0xc8], 0xffffffdf
jmp 0x140058afe
xor eax, eax
mov dword [r13 + 0x38], ebx
mov rbx, qword [r12 + 0x248]
mov edi, eax
test rbx, rbx
je 0x140058ba0
mov rax, qword [rbx + 0x10]
lea r8, [0x1400e3dd4]
mov r9d, edi
mov edx, esi
mov rcx, qword [rax]
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.1400267b4
mov rbx, qword [rbx]
add edi, esi
test rbx, rbx
jne 0x1400564a6
jmp 0x140058b02
test r15, r15
je 0x140058ba0
xor r8d, r8d
mov edx, esi
mov rcx, r15
call fcn.14005591c
xor ecx, ecx
mov edx, ecx
test al, al
mov rcx, r12
setne dl
call fcn.14004f1cc
jmp 0x140058ba0
xor r8d, r8d
mov dword [r13 + 0x38], 3
mov edi, r8d
cmp dword [r12 + 0x28], r8d
jle 0x140058ba0
mov ebx, r8d
mov rdx, qword [r12 + 0x20]
mov rax, qword [rbx + rdx + 8]
test rax, rax
je 0x14005656c
mov rax, qword [rax + 8]
mov rcx, qword [rax]
lea rax, [0x1400e60ac]
cmp byte [rcx + 0x13], r8b
jne 0x140056547
mov rax, qword [rcx + 0xd0]
mov qword [rsp + 0x28], rax
lea r8, [0x1400e3dd0]
mov rax, qword [rbx + rdx]
mov r9d, edi
mov edx, esi
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.1400267b4
xor r8d, r8d
add edi, esi
add rbx, 0x20
cmp edi, dword [r12 + 0x28]
jl 0x14005651d
jmp 0x140058ba0
sub ecx, 0xd
je 0x14005715e
sub ecx, esi
je 0x1400570b0
sub ecx, esi
je 0x140056b88
sub ecx, esi
je 0x1400569f7
sub ecx, esi
je 0x14005697a
sub ecx, esi
je 0x140056934
sub ecx, esi
je 0x140056870
sub ecx, esi
je 0x1400566b6
cmp ecx, esi
jne 0x14005869b
test r15, r15
je 0x140058ba0
mov r8, qword [rbp - 0x58]
mov rdx, r15
mov rcx, r12
call fcn.140044774
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x140058ba0
mov r8, qword [rbx + 0x70]
mov rdx, 0xffffffffffff8000
test r8, r8
je 0x140056615
mov rcx, qword [r12 + 0x20]
mov edx, eax
add rcx, 0x18
jmp 0x140056610
add edx, esi
lea rcx, [rcx + 0x20]
cmp qword [rcx], r8
jne 0x14005660a
mov rcx, r13
mov dword [r13 + 0x38], 5
call fcn.14004a5fc
mov rbx, qword [rbx + 0x10]
xor eax, eax
mov edi, eax
test rbx, rbx
je 0x140058ba0
xor r15d, r15d
cmp qword [rbx + 0x48], r15
lea rax, [0x1400e3dc0]
mov qword [rbp + 0x38], rax
lea r8, str.isisi
mov edx, r15d
lea rax, [0x1400e3dc4]
mov qword [rbp + 0x40], rax
setne dl
mov dword [rsp + 0x38], edx
lea rax, [0x1400e369c]
mov qword [rbp + 0x48], rax
mov ecx, r15d
mov eax, dword [rbx + 0x64]
mov r9d, edi
and eax, 3
mov edx, esi
cmp byte [rbx + 0x62], r15b
setne cl
mov rax, qword [rbp + rax*8 + 0x38]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx]
mov dword [rsp + 0x28], ecx
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1400267b4
mov rbx, qword [rbx + 0x28]
add edi, esi
test rbx, rbx
jne 0x140056639
mov r15, qword [rbp - 0x10]
jmp 0x140058ba0
test r15, r15
je 0x140058ba0
mov r8, qword [rbp - 0x58]
mov rdx, r15
mov rcx, r12
call fcn.140044b5c
xor r9d, r9d
mov qword [rsp + 0x68], rax
mov rcx, rax
mov edi, 3
test rax, rax
jne 0x14005673d
mov r9, qword [rbp - 0x58]
mov r8, r15
mov edx, ebx
mov rcx, r13
call fcn.1400449bc
xor r9d, r9d
test rax, rax
je 0x140058ba0
test byte [rax + 0x40], 0x80
je 0x140058ba0
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x140058ba0
mov eax, dword [rcx + 0x64]
and al, dil
cmp al, bl
je 0x14005672f
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14005671c
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x140058ba0
mov r8, qword [rcx + 0x30]
mov rdx, 0xffffffffffff8000
test r8, r8
je 0x140056766
mov rax, qword [r12 + 0x20]
mov edx, r9d
add rax, 0x18
jmp 0x140056761
add edx, esi
lea rax, [rax + 0x20]
cmp qword [rax], r8
jne 0x14005675b
mov r8, qword [rsp + 0x78]
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x14005677a
movzx ebx, word [rcx + 0x60]
jmp 0x14005677e
movzx ebx, word [rcx + 0x5e]
neg rax
sbb eax, eax
and eax, edi
add eax, edi
mov dword [r13 + 0x38], eax
mov rax, qword [rcx + 0x18]
mov rcx, r13
mov qword [rbp - 0x78], rax
call fcn.14004a5fc
movzx eax, bx
xor ecx, ecx
mov qword [rbp - 0x38], rax
test rax, rax
je 0x140058ba0
mov rbx, qword [rsp + 0x68]
mov edi, ecx
mov r12, qword [rsp + 0x78]
mov r15d, ecx
jmp 0x1400567c0
xor ecx, ecx
mov rax, qword [rbx + 8]
movsx rdx, word [rax + rdi*2]
test dx, dx
js 0x1400567e1
mov rax, qword [rbp - 0x78]
mov rcx, rdx
shl rcx, 5
mov rax, qword [rax + 8]
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x28], rcx
lea r8, str.iisX
mov dword [rsp + 0x20], edx
mov r9d, r15d
mov edx, esi
mov rcx, r14
call fcn.1400267b4
xor ecx, ecx
cmp qword [r12 + 0x10], rcx
je 0x140056843
movzx eax, word [rbx + 0x5e]
lea r8, str.isiX
mov edx, ecx
cmp r15d, eax
mov rax, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x40]
setb dl
mov dword [rsp + 0x28], edx
mov edx, 4
movzx r9d, byte [rax + rdi]
mov rax, qword [rcx + rdi*8]
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1400267b4
xor ecx, ecx
mov r9d, dword [r13 + 0x38]
mov r8d, esi
mov dword [rsp + 0x20], ecx
mov edx, 0x50
mov rcx, r14
call fcn.1400266e8
add r15d, esi
add rdi, rsi
cmp rdi, qword [rbp - 0x38]
jl 0x1400567be
jmp 0x140058afe
xor ebx, ebx
test r15, r15
je 0x14005688e
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.14000c8c4
test eax, eax
je 0x14005688e
cmp dword [rsp + 0x60], ebx
jg 0x140056899
mov ebx, 0x7fffffff
mov dword [rsp + 0x60], ebx
xor ebx, ebx
mov r8d, edi
xor edx, edx
mov rcx, r13
call fcn.14004a6a8
mov r8d, dword [rsp + 0x60]
mov r9d, esi
mov edx, 0x45
mov dword [rsp + 0x20], ebx
mov rcx, r14
call fcn.1400266e8
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rcx, r14
lea edx, [r9 + 0x3c]
call fcn.1400266e8
xor edi, edi
xor r9d, r9d
mov r8d, esi
mov dword [rsp + 0x20], edi
mov rcx, r14
mov ebx, eax
lea edx, [rdi + 0x50]
call fcn.1400266e8
or r9, 0xffffffffffffffff
mov dword [rsp + 0x20], edi
mov r8d, esi
lea edx, [rdi + 0x52]
mov rcx, r14
call fcn.1400266e8
xor eax, eax
lea edx, [rdi + 0x30]
mov r9d, ebx
mov dword [rsp + 0x20], eax
mov r8d, esi
mov rcx, r14
call fcn.1400266e8
mov edx, ebx
mov rcx, r14
call fcn.140027210
mov ecx, dword [r14 + 0x90]
mov dword [rax + 8], ecx
jmp 0x140058ba0
or rdi, 0xffffffffffffffff
test r15, r15
je 0x14005696d
lea rdx, [rbp - 0x78]
mov rcx, r15
call fcn.14000c7d0
test eax, eax
jne 0x14005696d
mov rcx, rdi
call fcn.140008e70
mov rcx, qword [rbp - 0x78]
test rcx, rcx
jle 0x14005696d
test rax, rax
je 0x140056968
cmp rax, rcx
jle 0x14005696d
call fcn.140008e70
mov rcx, rdi
call fcn.140008e70
jmp 0x140058b90
mov ebx, dword [r12 + 0x2c]
shr ebx, 5
mov dword [r13 + 0x38], 6
and ebx, esi
lea r13, [0x140105e70]
mov rdi, qword [r13]
jmp 0x1400569ae
mov r9d, ebx
mov r8d, esi
mov rdx, rdi
mov rcx, r14
call fcn.140055c94
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x140056999
add r13, 8
lea rax, [0x140105f28]
cmp r13, rax
jl 0x140056993
mov rdi, qword [r12 + 0x230]
mov r15, qword [rbp - 0x10]
test rdi, rdi
je 0x140058ba0
mov rdx, qword [rdi + 0x10]
mov r9d, ebx
xor r8d, r8d
mov rcx, r14
call fcn.140055c94
mov rdi, qword [rdi]
test rdi, rdi
jne 0x1400569d8
jmp 0x140058b02
test r15, r15
je 0x140058ba0
mov r8, qword [rbp - 0x58]
mov rdx, r15
mov rcx, r12
call fcn.140044774
xor r8d, r8d
mov rdi, rax
test rax, rax
je 0x140058ba0
mov rbx, qword [rax + 0x20]
test rbx, rbx
je 0x140058ba0
mov rcx, qword [rax + 0x70]
mov rdx, 0xffffffffffff8000
test rcx, rcx
je 0x140056a54
mov rax, qword [r12 + 0x20]
mov edx, r8d
add rax, 0x18
jmp 0x140056a4f
add edx, esi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x140056a49
mov rcx, r13
mov dword [rsp + 0x60], r8d
mov r15d, r8d
mov dword [r13 + 0x38], 8
call fcn.14004a5fc
xor eax, eax
mov r13d, eax
cmp dword [rbx + 0x28], eax
jle 0x140056b6e
mov r12d, dword [rsp + 0x60]
lea r15, [rbx + 0x40]
movzx ecx, byte [rbx + 0x2d]
sub ecx, 7
je 0x140056abc
sub ecx, esi
je 0x140056ab3
sub ecx, esi
je 0x140056aaa
cmp ecx, esi
je 0x140056aa1
lea r8, str.NO_ACTION
jmp 0x140056ac3
lea r8, str.CASCADE
jmp 0x140056ac3
lea r8, str.SET_DEFAULT
jmp 0x140056ac3
lea r8, str.SET_NULL
jmp 0x140056ac3
lea r8, str.RESTRICT
movzx ecx, byte [rbx + 0x2e]
sub ecx, 7
je 0x140056afc
sub ecx, esi
je 0x140056af3
sub ecx, esi
je 0x140056aea
cmp ecx, esi
je 0x140056ae1
lea rax, str.NO_ACTION
jmp 0x140056b03
lea rax, str.CASCADE
jmp 0x140056b03
lea rax, str.SET_DEFAULT
jmp 0x140056b03
lea rax, str.SET_NULL
jmp 0x140056b03
lea rax, str.RESTRICT
mov rcx, qword [rdi + 8]
lea r9, str.NONE
movsxd rdx, dword [r15]
mov qword [rsp + 0x50], r9
mov r9d, r12d
mov qword [rsp + 0x48], r8
lea r8, str.iissssss
mov qword [rsp + 0x40], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x38], rax
shl rdx, 5
mov rax, qword [rdx + rcx]
mov edx, esi
mov qword [rsp + 0x30], rax
mov rcx, r14
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
call fcn.1400267b4
add r13d, esi
add r15, 0x10
cmp r13d, dword [rbx + 0x28]
jl 0x140056a83
mov r15d, r12d
xor eax, eax
mov rbx, qword [rbx + 8]
add r15d, esi
mov dword [rsp + 0x60], r15d
test rbx, rbx
jne 0x140056a6e
jmp 0x140058afe
mov eax, dword [r13 + 0x38]
xor r9d, r9d
lea ecx, [rax + 1]
add eax, 5
mov dword [rbp - 0x50], eax
inc eax
mov dword [r13 + 0x38], eax
mov dword [rsp + 0x60], ecx
mov rcx, qword [rbp - 0x68]
mov dword [rbp - 0x70], eax
mov rax, qword [r12 + 0x20]
mov rcx, qword [rcx + rax + 0x18]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x140058ba0
or rdi, 0xffffffffffffffff
mov rax, 0xffffffffffff8000
test r15, r15
je 0x140056bf8
mov r9, qword [rbp - 0x58]
mov r8, r15
xor edx, edx
mov rcx, r13
call fcn.1400449bc
xor r9d, r9d
mov qword [rsp + 0x78], rax
mov rcx, rax
mov edx, r9d
mov rax, 0xffffffffffff8000
jmp 0x140056c04
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx]
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x28], rdx
test rcx, rcx
je 0x1400570a2
cmp qword [rcx + 0x20], r9
je 0x1400570a2
mov r8, qword [rcx + 0x70]
mov rdx, rax
mov dword [rsp + 0x74], eax
mov ecx, eax
test r8, r8
je 0x140056c57
mov rax, qword [r12 + 0x20]
mov ecx, r9d
add rax, 0x18
mov dword [rsp + 0x74], ecx
mov rdx, r9
cmp qword [rax], r8
je 0x140056c57
add ecx, esi
lea rax, [rax + 0x20]
add rdx, rsi
cmp qword [rax], r8
jne 0x140056c45
mov dword [rsp + 0x74], ecx
mov rax, qword [r12 + 0x20]
shl rdx, 5
mov rax, qword [rdx + rax]
mov edx, ecx
mov rcx, r13
mov qword [rbp - 0x58], rax
call fcn.14004a5fc
mov rcx, qword [rsp + 0x78]
xor r9d, r9d
mov edx, dword [rsp + 0x74]
mov rax, qword [rcx]
mov r8d, dword [rcx + 0x38]
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1400442cc
mov rcx, qword [rsp + 0x78]
movsx r8d, word [rcx + 0x46]
add r8d, dword [rbp - 0x70]
cmp r8d, dword [r13 + 0x38]
jle 0x140056caa
mov dword [r13 + 0x38], r8d
mov r8d, dword [rsp + 0x74]
mov r9, rcx
mov rcx, r13
mov dword [rsp + 0x20], 0x60
xor edx, edx
call fcn.140051054
mov r8, qword [rsp + 0x78]
mov rcx, r14
mov edx, dword [rsp + 0x60]
mov r8, qword [r8]
call fcn.140026764
mov rax, qword [rsp + 0x78]
mov ecx, esi
mov rax, qword [rax + 0x20]
jmp 0x140056dab
mov r8, qword [rbp - 0x58]
mov rcx, r12
mov rdx, qword [rax + 0x10]
call fcn.140044774
xor ecx, ecx
mov qword [rbp - 0x20], rax
test rax, rax
je 0x140056d9c
mov r8d, dword [rax + 0x38]
xor r9d, r9d
mov edx, dword [rsp + 0x74]
mov qword [rbp - 0x60], rcx
mov rcx, qword [rax]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.1400442cc
mov r8, qword [rsp + 0x68]
lea r9, [rbp - 0x60]
mov rdx, qword [rbp - 0x20]
xor eax, eax
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.14004f2d8
test eax, eax
jne 0x140058ba0
mov rcx, qword [rbp - 0x60]
test rcx, rcx
jne 0x140056d72
mov r9, qword [rbp - 0x20]
mov rcx, r13
mov r8d, dword [rsp + 0x74]
mov edx, dword [rsp + 0x70]
mov dword [rsp + 0x20], 0x60
call fcn.140051054
jmp 0x140056d9c
mov r9d, dword [rcx + 0x58]
mov edx, 0x60
mov eax, dword [rsp + 0x74]
mov rcx, r14
mov r8d, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
call fcn.1400266e8
mov rdx, qword [rbp - 0x60]
mov rcx, r13
call fcn.1400271e4
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x70]
add ecx, esi
mov rax, qword [rax + 8]
xor edx, edx
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], ecx
test rax, rax
jne 0x140056ce8
cmp dword [r13 + 0x34], ecx
jge 0x140056dc9
mov dword [r13 + 0x34], ecx
xor r9d, r9d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x25]
call fcn.1400266e8
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0x78]
mov dword [rbp - 0x80], esi
mov rax, qword [rax + 0x20]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140057069
mov ecx, dword [rsp + 0x60]
mov r15, qword [rbp - 0x58]
lea edx, [rcx + 1]
add ecx, 2
mov dword [rbp - 0x30], ecx
mov dword [rsp + 0x64], edx
mov rdx, qword [rax + 0x10]
mov r8, r15
mov rcx, r12
call fcn.140044774
xor r10d, r10d
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x60], r10
mov qword [rsp + 0x68], r10
test rax, rax
je 0x140056e55
mov r8, qword [rbp - 0x68]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x60]
mov rcx, r13
mov rdx, rax
call fcn.14004f2d8
xor r10d, r10d
add dword [r13 + 0x44], edi
mov eax, dword [r13 + 0x44]
mov dword [rsp + 0x70], eax
mov rax, qword [rbp - 0x68]
mov ecx, dword [rax + 0x28]
mov dword [rbp - 0x6c], ecx
test ecx, ecx
jle 0x140056f10
mov r12, qword [rsp + 0x68]
lea rdx, [rax + 0x40]
mov edi, dword [rbp - 0x70]
mov r9, r12
mov r13, qword [rsp + 0x78]
mov r15, rax
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x20], rdx
mov rax, rdx
mov dword [rsp + 0x20], edi
test r12, r12
mov rdx, r13
mov rcx, r14
cmovne rax, r9
xor r8d, r8d
mov r9d, dword [rax]
call fcn.14003c854
mov r9d, dword [rsp + 0x70]
xor eax, eax
mov r8d, edi
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x32]
call fcn.1400266e8
mov rdx, qword [rbp - 0x20]
add edi, esi
mov r9, qword [rbp - 0x48]
add rdx, 0x10
mov ecx, dword [r15 + 0x28]
add r9, 4
mov r8d, dword [rbp - 0x70]
mov eax, edi
sub eax, r8d
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x48], r9
mov r10d, 0
mov dword [rbp - 0x6c], ecx
cmp eax, ecx
jl 0x140056e92
mov r12, qword [rbp - 0x18]
or rdi, 0xffffffffffffffff
mov r13, qword [rbp - 8]
mov r15, qword [rbp - 0x58]
jmp 0x140056f14
mov r8d, dword [rbp - 0x70]
mov rdx, qword [rbp - 0x60]
test rdx, rdx
je 0x140056f83
mov rcx, r12
call fcn.140051114
mov r8d, dword [rbp - 0x70]
mov rbx, rax
mov eax, dword [rbp - 0x50]
mov edx, 0x5b
mov dword [rsp + 0x20], eax
mov rcx, r14
mov rax, qword [rbp - 0x68]
mov r9d, dword [rax + 0x28]
call fcn.1400266e8
mov r9d, dword [rbp - 0x6c]
mov r8, rbx
mov edx, eax
mov rcx, r14
call fcn.140027124
mov r9d, dword [rsp + 0x70]
xor eax, eax
mov r8d, dword [rbp - 0x80]
mov edx, 0x1e
mov dword [rsp + 0x28], eax
mov rcx, r14
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x20], eax
call fcn.140026b3c
mov ebx, 2
jmp 0x140056fc2
cmp qword [rbp - 0x78], r10
je 0x140056fc5
mov r9d, dword [r14 + 0x90]
mov edx, 0x1f
mov dword [rsp + 0x20], r8d
add r9d, ebx
mov r8d, dword [rbp - 0x80]
mov rcx, r14
call fcn.1400266e8
mov r9d, dword [rsp + 0x70]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0xb]
call fcn.1400266e8
xor r10d, r10d
mov rax, qword [rsp + 0x78]
mov ecx, 0x80
mov r9d, dword [rsp + 0x64]
mov dword [rsp + 0x20], r10d
mov eax, dword [rax + 0x40]
and al, cl
neg al
sbb edx, edx
xor r8d, r8d
and edx, 0xffffffc8
add edx, ecx
mov rcx, r14
call fcn.1400266e8
mov eax, dword [rbp - 0x80]
lea r8, [0x1400e3dec]
mov edx, dword [rbp - 0x30]
dec eax
mov dword [rsp + 0x20], eax
mov rcx, r14
mov rax, qword [rbp - 0x68]
mov r9, qword [rax + 0x10]
call fcn.1400267b4
mov r8d, dword [rsp + 0x60]
xor eax, eax
mov rcx, r14
mov dword [rsp + 0x20], eax
lea r9d, [rax + 4]
lea edx, [rax + 0x50]
call fcn.1400266e8
mov edx, dword [rsp + 0x70]
mov rcx, r14
call fcn.140026c20
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14005704d
mov rcx, r12
call fcn.140009378
mov rax, qword [rbp - 0x68]
add dword [rbp - 0x80], esi
mov rax, qword [rax + 8]
mov qword [rbp - 0x68], rax
test rax, rax
jne 0x140056e11
mov r15, qword [rbp - 0x10]
mov r9d, dword [rsp + 0x74]
xor eax, eax
inc r9d
mov dword [rsp + 0x20], eax
xor r8d, r8d
mov rcx, r14
lea edx, [rax + 5]
call fcn.1400266e8
mov edx, dword [rsp + 0x74]
mov rcx, r14
call fcn.140027210
mov ecx, dword [r14 + 0x90]
xor r9d, r9d
mov rdx, qword [rbp - 0x28]
mov dword [rax + 8], ecx
test rdx, rdx
je 0x140058ba0
jmp 0x140056bc4
test r15, r15
jne 0x1400570e0
mov rcx, r13
call fcn.140059918
test eax, eax
jne 0x140058ba0
mov rax, qword [r13]
lea rdi, str.UTF8
movzx edx, byte [rax + 0x5e]
add rdx, rdx
mov rdx, qword [rdi + rdx*8]
jmp 0x140058417
mov eax, 0x40
test byte [r12 + 0x2c], al
jne 0x140058ba0
mov rax, qword [str.UTF8]
lea rdi, str.UTF8
jmp 0x140057116
mov rdx, rax
mov rcx, r15
call fcn.14000bfdc
test eax, eax
je 0x14005711d
add rdi, 0x10
mov rax, qword [rdi]
test rax, rax
jne 0x140057100
jmp 0x140057147
movzx eax, byte [rdi + 8]
test al, al
cmovne ebx, eax
mov rax, qword [r12 + 0x20]
mov dl, bl
mov rcx, qword [rax + 0x18]
mov byte [rcx + 0x71], bl
mov rcx, r12
call fcn.14004b0e8
xor eax, eax
cmp qword [rdi], rax
jne 0x140058ba0
mov r8, r15
lea rdx, str.unsupported_encoding:__s
mov rcx, r13
call fcn.14000bee8
jmp 0x140058ba0
mov edx, edi
mov rcx, r14
call fcn.14002755c
xor eax, eax
test r15, r15
jne 0x140057197
add dword [r13 + 0x38], ebx
lea r8, [0x1400e7030]
lea edx, [rax + 9]
call fcn.140026d84
mov dword [rax + 4], edi
mov dword [rax + 0x1c], edi
mov dword [rax + 0x94], 0xfffff830
jmp 0x140058ba0
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.14000c8c4
mov ebx, dword [rsp + 0x60]
test ebx, ebx
jns 0x1400571c1
cmp ebx, 0x80000000
jne 0x1400571bf
mov ebx, 0x7fffffff
jmp 0x1400571c1
neg ebx
mov r8d, edi
xor edx, edx
mov rcx, r13
call fcn.14004a6a8
mov r9d, 3
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rcx, r14
lea edx, [r9 + 0x5b]
call fcn.1400266e8
mov rcx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x60]
mov rax, qword [rcx + r8 + 0x18]
mov dword [rax + 0x74], ebx
mov rax, qword [rcx + r8 + 0x18]
mov rcx, qword [rcx + r8 + 8]
mov edx, dword [rax + 0x74]
call fcn.14001b8cc
jmp 0x140058ba0
mov rax, qword [rbp]
lea rcx, [0x140000000]
xor edx, edx
or rdi, 0xffffffffffffffff
mov qword [rbp - 0x20], rdx
movzx eax, byte [rax]
lea r8d, [rdx + 0x64]
mov dword [rsp + 0x70], r8d
mov al, byte [rax + rcx + 0xe7e80]
mov byte [rbp - 0x30], al
mov rax, qword [rbp - 0x28]
cmp qword [rax], rdx
mov eax, dword [rsp + 0x74]
cmove eax, edi
mov dword [r13 + 0x38], 6
mov dword [rsp + 0x74], eax
test r15, r15
je 0x1400572b4
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.14000c8c4
xor edx, edx
test eax, eax
je 0x140057280
mov r8d, dword [rsp + 0x70]
test r8d, r8d
jg 0x1400572b4
lea r8d, [rdi + 0x65]
mov dword [rsp + 0x70], r8d
jmp 0x1400572b4
movsxd rax, dword [rsp + 0x74]
test eax, eax
js 0x14005729b
mov rcx, rax
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov r9, qword [rcx + rax]
jmp 0x14005729e
mov r9, rdx
mov r8, r15
mov rcx, r13
call fcn.1400449bc
mov r8d, dword [rsp + 0x70]
xor edx, edx
mov qword [rbp - 0x20], rax
mov dword [rsp + 0x20], edx
dec r8d
mov edx, 0x45
mov r9d, esi
mov rcx, r14
call fcn.1400266e8
xor r11d, r11d
mov edx, r11d
mov dword [rbp - 0x50], edx
cmp dword [r12 + 0x28], r11d
jle 0x140057d8d
mov eax, dword [rsp + 0x74]
lea r15d, [r11 + 3]
mov dword [rsp + 0x60], r11d
test eax, eax
js 0x1400572f8
cmp edx, eax
jne 0x140057d79
mov rcx, r13
call fcn.14004a5fc
movsxd rdx, dword [rbp - 0x50]
xor r11d, r11d
mov rax, qword [r12 + 0x20]
mov ecx, r11d
shl rdx, 5
mov qword [rbp - 0x38], rdx
mov rax, qword [rdx + rax + 0x18]
mov qword [rsp + 0x68], rax
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x140057d72
mov r13d, dword [rsp + 0x60]
mov r10, qword [rbp - 0x20]
mov r9, qword [rdx + 0x10]
test r10, r10
je 0x140057345
cmp r10, r9
jne 0x140057370
test byte [r9 + 0x40], 0x80
lea eax, [rcx + 1]
mov r8d, r11d
cmovne eax, ecx
mov ecx, eax
mov rax, qword [r9 + 0x10]
jmp 0x140057364
mov rax, qword [rax + 0x28]
add ecx, esi
add r8d, esi
test rax, rax
jne 0x14005735b
cmp r8d, r13d
cmovg r13d, r8d
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140057337
mov r12, qword [rbp - 0x18]
mov dword [rsp + 0x60], r13d
mov r13, qword [rbp - 8]
test ecx, ecx
je 0x140057d72
lea eax, [rcx + 1]
test r10, r10
cmove eax, ecx
mov rcx, r12
movsxd rdx, eax
lea rdx, [rdx*4 + 4]
call fcn.1400096c8
xor r11d, r11d
mov qword [rbp - 0x78], rax
mov r8, rax
test rax, rax
je 0x140057d89
mov r9d, r11d
mov ecx, r11d
mov r11, qword [rbp - 0x20]
xor edi, edi
test r11, r11
je 0x1400573d6
mov r9d, esi
mov dword [rax + 4], edi
mov rcx, rsi
mov r10, qword [rsp + 0x68]
mov r10, qword [r10 + 0x10]
jmp 0x140057421
mov rdx, qword [r10 + 0x10]
test r11, r11
je 0x1400573ef
cmp r11, rdx
jne 0x14005741e
test byte [rdx + 0x40], 0x80
jne 0x140057402
mov eax, dword [rdx + 0x38]
add r9d, esi
add rcx, rsi
mov dword [r8 + rcx*4], eax
mov rdx, qword [rdx + 0x10]
jmp 0x140057419
mov eax, dword [rdx + 0x58]
add r9d, esi
add rcx, rsi
mov dword [r8 + rcx*4], eax
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x140057408
mov r10, qword [r10]
test r10, r10
jne 0x1400573e1
mov ecx, dword [rsp + 0x60]
mov edx, 0x93
mov dword [r8], r9d
add ecx, 8
mov eax, dword [r13 + 0x38]
mov r8d, ebx
cmp eax, ecx
mov byte [r13 + 0x1f], dil
mov dword [r13 + 0x28], edi
cmovle eax, ecx
mov dword [rsp + 0x20], esi
mov rcx, r14
mov dword [r13 + 0x38], eax
call fcn.1400266e8
mov r8, qword [rbp - 0x78]
mov r9d, 0xfffffff1
mov edx, eax
mov rcx, r14
call fcn.140027124
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x14005748c
movzx edx, byte [rbp - 0x50]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, ebx
mov rcx, r14
lea edx, [r9 + 0x32]
call fcn.1400266e8
mov r8, qword [r12 + 0x20]
lea rdx, str._in_database__s__n
mov edi, eax
mov rcx, r12
mov rax, qword [rbp - 0x38]
mov r8, qword [rax + r8]
call fcn.14000b284
mov rbx, rax
mov r9d, r15d
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x73]
call fcn.1400266e8
mov r9d, 0xfffffff9
mov r8, rbx
mov edx, eax
mov rcx, r14
call fcn.140027124
mov ebx, 2
mov dword [rsp + 0x20], r15d
mov r9d, r15d
mov r8d, ebx
mov rcx, r14
lea edx, [rbx + 0x6c]
call fcn.1400266e8
mov rcx, r14
call fcn.140055d70
mov edx, edi
mov rcx, r14
call fcn.140027210
mov ecx, dword [r14 + 0x90]
xor r11d, r11d
or rdi, 0xffffffffffffffff
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x78], rax
test rax, rax
je 0x140057d72
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x78], rax
mov qword [rbp + 8], r11
mov dword [rbp - 0x6c], edi
cmp dword [rax + 0x38], esi
jb 0x140057d66
mov r10, qword [rbp - 0x20]
test r10, r10
je 0x14005756c
cmp r10, rax
jne 0x140057d66
test byte [rax + 0x40], 0x80
jne 0x140057578
mov qword [rbp - 0x48], r11
jmp 0x1400575a1
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x48], rcx
test rcx, rcx
je 0x1400575a1
mov eax, dword [rcx + 0x64]
and al, r15b
cmp al, bl
je 0x140057598
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x140057585
mov rax, qword [rsp + 0x78]
mov qword [rbp - 0x48], rcx
lea rcx, [rsp + 0x64]
xor r9d, r9d
mov qword [rsp + 0x38], rcx
mov rdx, rax
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x30], rcx
mov rcx, r13
mov qword [rsp + 0x28], r11
lea r8d, [r9 + 0x60]
mov dword [rsp + 0x20], esi
call fcn.1400541d4
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea r9d, [rax + 7]
lea edx, [rax + 0x45]
call fcn.1400266e8
mov rbx, qword [rsp + 0x78]
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140057630
mov r13d, 8
mov r12, rax
xor ebx, ebx
xor r8d, r8d
mov dword [rsp + 0x20], ebx
mov r9d, r13d
mov rcx, r14
lea edx, [r8 + 0x45]
call fcn.1400266e8
mov r12, qword [r12 + 0x28]
add r13d, esi
test r12, r12
jne 0x140057600
mov r12, qword [rbp - 0x18]
mov r13, qword [rbp - 8]
mov rbx, qword [rsp + 0x78]
mov r8d, dword [rbp - 0x70]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x25]
call fcn.1400266e8
xor eax, eax
mov r9d, esi
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x52]
lea r8d, [rax + 7]
call fcn.1400266e8
cmp byte [rbp - 0x30], 0x71
mov dword [rbp - 0x58], eax
je 0x1400576ac
movsx r9d, word [rbx + 0x48]
mov edx, 0x59
mov r8d, dword [rbp - 0x70]
sub r9d, esi
mov rcx, r14
mov dword [rsp + 0x20], r15d
call fcn.1400266e8
movsxd rcx, dword [r14 + 0x90]
xor r9d, r9d
test ecx, ecx
jle 0x1400576af
mov rax, qword [r14 + 0x88]
lea rcx, [rcx + rcx*2]
mov edx, 0x80
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1400576af
xor r9d, r9d
mov ecx, r9d
mov dword [rsp + 0x60], ecx
cmp r9w, word [rbx + 0x46]
jge 0x1400577e2
mov r13, qword [rsp + 0x78]
mov rbx, r9
mov qword [rsp + 0x68], rbx
movsx eax, word [r13 + 0x44]
cmp ecx, eax
je 0x1400577bd
mov rax, qword [r13 + 8]
cmp byte [rax + rbx + 0x18], r9b
je 0x1400577bd
mov r8d, dword [rbp - 0x70]
mov r9d, ecx
mov rcx, r14
mov dword [rsp + 0x20], r15d
mov rdx, r13
call fcn.14003c854
mov edx, edi
mov rcx, r14
call fcn.140027210
cmp byte [rax], 0x59
jne 0x140057730
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x140057730
lea rcx, [rax + rax*2]
mov edx, 0x80
mov rax, qword [r14 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
xor eax, eax
xor r9d, r9d
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x33]
call fcn.1400266e8
mov r9, qword [r13 + 8]
lea rdx, str.NULL_value_in__s._s
mov r8, qword [r13]
mov rcx, r12
mov edi, eax
mov r9, qword [r9 + rbx]
call fcn.14000b284
mov rbx, rax
mov r9d, r15d
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x73]
call fcn.1400266e8
mov r9d, 0xfffffff9
mov r8, rbx
mov edx, eax
mov rcx, r14
call fcn.140027124
mov rcx, r14
call fcn.140055d70
mov edx, edi
mov rcx, r14
call fcn.140027210
mov ecx, dword [r14 + 0x90]
or rdi, 0xffffffffffffffff
mov rbx, qword [rsp + 0x68]
xor r9d, r9d
mov dword [rax + 8], ecx
mov ecx, dword [rsp + 0x60]
movsx eax, word [r13 + 0x46]
add ecx, esi
add rbx, 0x20
mov dword [rsp + 0x60], ecx
mov qword [rsp + 0x68], rbx
cmp ecx, eax
jl 0x1400576ce
mov r13, qword [rbp - 8]
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x14005792a
mov eax, dword [r12 + 0x30]
bt rax, 9
jb 0x14005792a
xor r8d, r8d
mov rcx, r12
call fcn.14003a124
xor r9d, r9d
mov qword [rsp + 0x68], rax
mov rdx, rax
cmp byte [r12 + 0x61], r9b
jne 0x14005791a
mov eax, dword [r13 + 0x44]
mov ecx, dword [rbp - 0x70]
dec eax
inc ecx
mov dword [rsp + 0x60], eax
dec eax
mov dword [r13 + 0x40], ecx
mov dword [r13 + 0x44], eax
mov ecx, dword [rdx]
sub ecx, esi
mov dword [rbp - 0x80], eax
movsxd rax, ecx
mov qword [rbp - 0x38], rax
test ecx, ecx
jle 0x140057893
mov rbx, qword [rbp - 0x38]
lea r12, [rdx + 8]
mov edi, dword [rsp + 0x60]
shl rax, 5
add r12, rax
mov rdx, qword [r12]
xor r9d, r9d
mov r8d, edi
mov rcx, r13
call fcn.14003e790
sub rbx, rsi
lea r12, [r12 - 0x20]
test rbx, rbx
jg 0x14005785e
mov r14, qword [rbp - 0x40]
or rdi, 0xffffffffffffffff
mov r12, qword [rbp - 0x18]
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x68]
mov r8d, dword [rbp - 0x80]
mov r9d, 0x10
mov rdx, qword [rdx + 8]
mov rcx, r13
call fcn.14003e410
mov edx, dword [rsp + 0x60]
mov rcx, r14
call fcn.140026c20
xor eax, eax
lea rdx, str.CHECK_constraint_failed_in__s
mov dword [r13 + 0x40], eax
mov rcx, r12
mov r8, qword [rbx]
call fcn.14000b284
mov rbx, rax
mov r9d, r15d
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x73]
call fcn.1400266e8
mov r9d, 0xfffffff9
mov r8, rbx
mov edx, eax
mov rcx, r14
call fcn.140027124
mov rcx, r14
call fcn.140055d70
mov edx, dword [rbp - 0x80]
mov rcx, r14
call fcn.140026c20
mov rdx, qword [rsp + 0x68]
xor r9d, r9d
mov rbx, qword [rsp + 0x78]
test rdx, rdx
je 0x14005792a
mov rcx, r12
call fcn.14003a9ac
xor r9d, r9d
cmp byte [rbp - 0x30], 0x71
je 0x140057c11
mov rbx, qword [rbx + 0x10]
mov qword [rsp + 0x68], rbx
test rbx, rbx
je 0x140057c11
mov eax, dword [rsp + 0x64]
mov ecx, 8
mov r12, qword [rsp + 0x78]
sub ecx, eax
mov dword [rbp + 0x10], ecx
mov dword [rbp - 0x80], eax
mov eax, dword [r13 + 0x44]
sub eax, esi
mov dword [rsp + 0x60], eax
mov dword [r13 + 0x44], eax
cmp qword [rbp - 0x48], rbx
je 0x140057bf8
mov eax, dword [rbp - 0x6c]
mov rdx, rbx
mov r8d, dword [rbp - 0x70]
mov rcx, r13
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 8]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
xor r9d, r9d
call fcn.14004c968
mov r8d, dword [rbp + 0x10]
mov r9d, esi
add r8d, dword [rbp - 0x80]
mov rcx, r14
mov dword [rbp - 0x6c], eax
xor eax, eax
mov qword [rbp + 8], rbx
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x52]
call fcn.1400266e8
movzx ecx, word [rbx + 0x60]
mov edx, 0x1e
mov eax, dword [rbp - 0x6c]
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rbp - 0x80]
mov dword [rsp + 0x28], ecx
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.140026b3c
lea r8, str.row
mov edx, r15d
mov rcx, r14
mov ebx, eax
call fcn.140026764
mov edx, 0x6e
mov dword [rsp + 0x20], r15d
mov r9d, r15d
mov rcx, r14
lea r8d, [rdx - 0x67]
call fcn.1400266e8
lea r8, str._missing_from_index
mov edx, 4
mov rcx, r14
call fcn.140026764
mov edx, 0x6e
mov dword [rsp + 0x20], r15d
mov r9d, r15d
mov rcx, r14
lea r8d, [rdx - 0x6a]
call fcn.1400266e8
mov r8, qword [rsp + 0x68]
mov edx, 4
mov rcx, r14
mov r8, qword [r8]
call fcn.140026764
mov edx, 0x6e
mov dword [rbp - 0x28], eax
mov r9d, r15d
mov dword [rsp + 0x20], r15d
mov rcx, r14
lea r8d, [rdx - 0x6a]
call fcn.1400266e8
mov rcx, r14
call fcn.140055d70
mov edx, ebx
mov dword [rbp - 0x60], eax
mov rcx, r14
call fcn.140027210
mov rbx, qword [rsp + 0x68]
xor r9d, r9d
mov ecx, dword [r14 + 0x90]
mov dword [rax + 8], ecx
cmp byte [rbx + 0x62], r9b
je 0x140057bd0
add dword [r13 + 0x44], edi
mov eax, dword [r13 + 0x44]
mov dword [rsp + 0x60], eax
cmp r9w, word [rbx + 0x5e]
jae 0x140057b26
mov ecx, r9d
mov r13d, r9d
mov qword [rbp - 0x38], rcx
mov edi, eax
mov rax, qword [rbx + 8]
cmp word [rcx + rax], r9w
jl 0x140057ae7
movsx rcx, word [rcx + rax]
mov rax, qword [r12 + 8]
shl rcx, 5
cmp byte [rcx + rax + 0x18], r9b
jne 0x140057b06
mov r8d, dword [rbp - 0x6c]
mov edx, 0x32
mov dword [rsp + 0x20], r9d
add r8d, r13d
mov r9d, edi
mov rcx, r14
call fcn.1400266e8
xor r9d, r9d
mov rcx, qword [rbp - 0x38]
add r13d, esi
movzx eax, word [rbx + 0x5e]
add rcx, 2
mov qword [rbp - 0x38], rcx
cmp r13d, eax
jl 0x140057ac7
mov r13, qword [rbp - 8]
or rdi, 0xffffffffffffffff
mov r8d, dword [rbp - 0x80]
mov rcx, r14
mov dword [rsp + 0x20], r9d
xor r9d, r9d
lea edx, [r9 + 5]
call fcn.1400266e8
mov r9d, dword [rsp + 0x60]
mov ebx, eax
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0xb]
call fcn.1400266e8
mov edx, ebx
mov rcx, r14
call fcn.140027210
mov ecx, dword [r14 + 0x90]
mov edx, 0x27
mov rbx, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rbp - 0x80]
mov dword [rax + 8], ecx
mov rcx, r14
movzx eax, word [rbx + 0x5e]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x6c]
mov dword [rsp + 0x20], eax
call fcn.140026b3c
lea r8, str.non_unique_entry_in_index
mov edx, r15d
mov rcx, r14
call fcn.140026764
mov r9d, dword [rbp - 0x28]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0xb]
call fcn.1400266e8
mov edx, dword [rsp + 0x60]
mov rcx, r14
call fcn.140026c20
xor r9d, r9d
mov edx, dword [rbp - 0x60]
mov rcx, r14
call fcn.140027210
mov edx, dword [rbp - 0x68]
mov ecx, dword [r14 + 0x90]
mov dword [rax + 8], ecx
test edx, edx
je 0x140057bf8
mov rcx, qword [r13 + 0x10]
call fcn.140026c20
xor r9d, r9d
mov rbx, qword [rbx + 0x28]
add dword [rbp - 0x80], esi
mov qword [rsp + 0x68], rbx
test rbx, rbx
jne 0x14005795c
mov r12, qword [rbp - 0x18]
mov ebx, dword [rbp - 0x58]
mov edx, 5
mov r8d, dword [rbp - 0x70]
mov rcx, r14
mov dword [rsp + 0x20], r9d
mov r9d, ebx
call fcn.1400266e8
lea edx, [rbx - 1]
mov rcx, r14
call fcn.140027210
cmp byte [rbp - 0x30], 0x71
mov ebx, 2
mov ecx, dword [r14 + 0x90]
mov dword [rax + 8], ecx
je 0x140057d63
lea r8, str.wrong__of_entries_in_index
mov edx, ebx
mov rcx, r14
call fcn.140026764
mov rax, qword [rsp + 0x78]
xor r11d, r11d
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140057d66
mov r12d, dword [rsp + 0x64]
lea r13d, [rbx + 6]
mov rcx, qword [rbp - 0x48]
add r12d, 0xfffffff8
cmp rcx, rax
je 0x140057d40
lea r8d, [r12 + r13]
mov dword [rsp + 0x20], r11d
mov r9d, r15d
mov edx, 0x5c
mov rcx, r14
call fcn.1400266e8
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, r13d
mov rcx, r14
lea edx, [r9 + 0x35]
call fcn.1400266e8
movsxd rcx, dword [r14 + 0x90]
mov dword [rbp - 0x58], eax
test ecx, ecx
jle 0x140057ce9
lea rdx, [rcx + rcx*2]
mov eax, 0x90
mov rcx, qword [r14 + 0x88]
mov word [rcx + rdx*8 - 0x16], ax
mov r8, qword [rsp + 0x68]
mov edx, 4
mov rcx, r14
mov r8, qword [r8]
call fcn.140026764
mov edx, 0x6e
mov dword [rsp + 0x20], r15d
mov r9d, ebx
mov rcx, r14
lea r8d, [rdx - 0x6a]
call fcn.1400266e8
mov rcx, r14
call fcn.140055d70
mov edx, dword [rbp - 0x58]
mov rcx, r14
call fcn.140027210
mov ecx, dword [r14 + 0x90]
xor r11d, r11d
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x48]
mov rax, qword [rax + 0x28]
add r13d, esi
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x140057c8d
mov r12, qword [rbp - 0x18]
or rdi, 0xffffffffffffffff
mov r13, qword [rbp - 8]
jmp 0x140057d66
xor r11d, r11d
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
jmp 0x140057534
mov edx, dword [rbp - 0x50]
mov eax, dword [rsp + 0x74]
add edx, esi
mov dword [rbp - 0x50], edx
cmp edx, dword [r12 + 0x28]
jl 0x1400572e7
mov r15, qword [rbp - 0x10]
lea r8, [0x1400e5c88]
mov edx, 7
mov rcx, r14
call fcn.140026d84
mov r9, rax
test rax, rax
je 0x140057dd4
sub esi, dword [rsp + 0x70]
mov ecx, 0xb
mov dword [rax + 8], esi
mov byte [rax + 0x31], dil
lea rax, [0x1400e3ea0]
mov qword [r9 + 0x40], rax
mov byte [r9 + 0x79], dil
call fcn.14007ceb4
mov qword [r9 + 0x88], rax
mov r9d, dword [r14 + 0x90]
xor edx, edx
sub r9d, ebx
mov rcx, r14
call fcn.140027210
mov dword [rax + 0xc], r9d
jmp 0x140058ba0
cmp ecx, 0x21
ja 0x140058656
je 0x1400585ba
sub ecx, 0x17
je 0x140058498
sub ecx, esi
je 0x140058424
sub ecx, ebx
je 0x140058327
sub ecx, esi
je 0x140058286
sub ecx, esi
je 0x140058151
sub ecx, esi
je 0x14005811d
sub ecx, esi
je 0x140057edf
sub ecx, esi
je 0x140057e75
cmp ecx, esi
jne 0x14005869b
lea rbx, str.analysis_limit
mov r9, qword [rbx]
lea r8, [0x1400e3d30]
mov edx, esi
mov rcx, r14
call fcn.1400267b4
lea rax, str.0123456789ABCDEF
add rbx, 0x18
cmp rbx, rax
jl 0x140057e4c
jmp 0x140058ba0
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov rbx, qword [rax + rcx + 8]
xor eax, eax
test r15, r15
jne 0x140057ea1
test rbx, rbx
je 0x140057e97
mov rax, qword [rbx + 8]
mov ecx, dword [rax + 0x34]
jmp 0x140057e99
mov ecx, eax
movsxd rdx, ecx
jmp 0x140056309
lea rdx, [rsp + 0x64]
mov dword [rsp + 0x64], eax
mov rcx, r15
call fcn.14000c8c4
mov edx, dword [rsp + 0x64]
xor r9d, r9d
xor r8d, r8d
mov dword [r12 + 0x6c], edx
mov rcx, rbx
call fcn.14001bb00
cmp eax, 7
jne 0x140058ba0
mov rcx, r12
call fcn.140009a00
jmp 0x140058ba0
xor r8d, r8d
test r15, r15
je 0x140057f0e
lea rdx, [rsp + 0x64]
mov dword [rsp + 0x64], r8d
mov rcx, r15
call fcn.14000c8c4
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0x60], ecx
test bl, cl
je 0x140058ba0
xor r8d, r8d
jmp 0x140057f16
mov dword [rsp + 0x60], 0xfffe
mov eax, dword [r13 + 0x34]
mov dword [rsp + 0x64], eax
inc eax
mov dword [r13 + 0x34], eax
cmp qword [rbp - 0x58], r8
je 0x140057f2e
mov eax, edi
jmp 0x140057f35
mov eax, dword [r12 + 0x28]
sub eax, esi
movsxd rbx, eax
mov rcx, rdi
cmp rdi, rbx
jg 0x140058108
mov rax, rcx
sub rbx, rcx
shl rax, 5
add rbx, rsi
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x38], rbx
cmp edi, esi
je 0x1400580ec
mov edx, edi
mov rcx, r13
call fcn.14004a5fc
mov rax, qword [r12 + 0x20]
xor r8d, r8d
mov r15, qword [rsp + 0x68]
mov rcx, qword [r15 + rax + 0x18]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400580e9
mov rbx, rax
mov rcx, qword [rbx + 0x10]
mov qword [rbp - 0x40], rcx
test dword [rcx + 0x40], 0x100
je 0x1400580d9
movzx edx, word [rcx + 0x4a]
mov rax, qword [rcx + 0x10]
add dx, 0x2e
mov word [rbp - 0x30], dx
jmp 0x140057fbf
test byte [rax + 0x64], 0x80
je 0x140058014
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140057fb5
test dx, dx
je 0x140058014
mov edx, dword [rsp + 0x64]
mov r9, rcx
mov rcx, r13
mov dword [rsp + 0x20], 0x60
mov r8d, edi
call fcn.140051054
movsx edx, word [rbp - 0x30]
mov rcx, r14
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x64]
and r9d, esi
add r9d, 2
mov dword [rsp + 0x20], edx
add r9d, dword [r14 + 0x90]
mov edx, 0x22
call fcn.1400266e8
mov rcx, qword [rbp - 0x40]
mov r8, qword [r12 + 0x20]
lea rdx, str.ANALYZE___w_.__w_
mov r9, qword [rcx]
mov rcx, r12
mov r8, qword [r15 + r8]
call fcn.14000b284
mov qword [rbp - 0x78], rax
test byte [rsp + 0x60], sil
je 0x1400580a9
mov cl, byte [r13 + 0x1f]
xor edx, edx
test cl, cl
jne 0x14005804e
add dword [r13 + 0x38], esi
mov eax, dword [r13 + 0x38]
jmp 0x140058060
sub cl, sil
movzx eax, cl
mov byte [r13 + 0x1f], al
mov eax, dword [r13 + rax*4 + 0xd4]
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, eax
mov dword [rsp + 0x70], eax
mov rcx, r14
lea edx, [r8 + 0x73]
call fcn.1400266e8
mov r8, qword [rbp - 0x78]
mov r9d, 0xfffffff9
mov edx, eax
mov rcx, r14
call fcn.140027124
mov r8d, dword [rsp + 0x70]
xor eax, eax
mov r9d, esi
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x50]
call fcn.1400266e8
jmp 0x1400580d6
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x8d
mov rcx, r14
call fcn.1400266e8
mov r8, qword [rbp - 0x78]
mov r9d, 0xfffffff9
mov edx, eax
mov rcx, r14
call fcn.140027124
xor r8d, r8d
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140057f8e
mov rbx, qword [rbp - 0x38]
mov rax, r15
add rax, 0x20
add edi, esi
sub rbx, rsi
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x38], rbx
jne 0x140057f5a
mov r15, qword [rbp - 0x10]
xor r9d, r9d
mov dword [rsp + 0x20], r8d
xor r8d, r8d
mov edx, 0x9f
jmp 0x14005831a
mov dword [r13 + 0x38], esi
mov rbx, qword [r12 + 0x200]
jmp 0x140058147
mov r9, qword [rbx + 0x10]
lea r8, [0x1400e3d30]
mov edx, esi
mov rcx, r14
mov r9, qword [r9 + 8]
call fcn.1400267b4
mov rbx, qword [rbx]
test rbx, rbx
jne 0x14005812b
jmp 0x140058ba0
or rdi, 0xffffffffffffffff
test r15, r15
je 0x14005824e
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.14000c7d0
mov rdx, qword [rsp + 0x78]
xor r9d, r9d
mov rcx, qword [rbp - 0x28]
test rdx, rdx
cmovs rdx, qword [0x1401016c8]
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x78], rdx
cmp dword [rcx + 8], r9d
jne 0x140058197
mov qword [r12 + 0x40], rdx
mov eax, dword [r12 + 0x28]
sub eax, esi
movsxd r8, eax
mov qword [rbp - 0x20], r8
js 0x14005824e
mov r13, qword [rbp - 0x38]
mov r15, r8
shl r15, 5
mov rax, qword [r12 + 0x20]
mov rbx, qword [r15 + rax + 8]
test rbx, rbx
je 0x140058232
cmp r8, r13
je 0x1400581d0
cmp dword [rcx + 8], r9d
jne 0x140058232
mov rax, qword [rbx + 8]
mov qword [rbp - 0x40], rax
cmp byte [rbx + 0x11], r9b
je 0x1400581f8
add dword [rbx + 0x14], esi
cmp byte [rbx + 0x12], r9b
jne 0x1400581f8
mov rcx, rbx
call fcn.140019650
mov rdx, qword [rsp + 0x68]
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
mov qword [rcx + 0xa0], rdx
call fcn.140013e2c
xor r9d, r9d
cmp byte [rbx + 0x11], r9b
je 0x140058220
add dword [rbx + 0x14], edi
jne 0x140058220
mov rcx, rbx
call fcn.140019600
xor r9d, r9d
mov rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
mov qword [rsp + 0x68], rdx
sub r8, rsi
sub r15, 0x20
mov qword [rbp - 0x20], r8
test r8, r8
jns 0x1400581b6
mov r15, qword [rbp - 0x10]
mov r13, qword [rbp - 8]
mov rdx, qword [rbp - 0x58]
lea r9, [rsp + 0x78]
mov r8d, 0x12
mov qword [rsp + 0x78], rdi
mov rcx, r12
call fcn.14007f770
test eax, eax
jne 0x140058278
mov rdx, qword [rsp + 0x78]
jmp 0x140056309
cmp eax, 0xc
je 0x140058ba0
jmp 0x140055fc0
xor eax, eax
mov edx, edi
mov rcx, r13
mov qword [rbp - 0x48], rax
call fcn.14004a5fc
add dword [r13 + 0x38], esi
lea rcx, [0x140000000]
mov rax, qword [rbp]
mov ebx, dword [r13 + 0x38]
movzx eax, byte [rax]
cmp byte [rax + rcx + 0xe7e80], 0x70
jne 0x1400582bf
xor eax, eax
mov edx, 0xa9
jmp 0x1400582f7
xor ecx, ecx
test r15, r15
je 0x1400582eb
lea rdx, [rbp - 0x48]
mov rcx, r15
call fcn.14000c7d0
xor ecx, ecx
test eax, eax
jne 0x1400582eb
mov rax, qword [rbp - 0x48]
test rax, rax
js 0x1400582eb
mov ecx, 0xfffffffe
cmp rax, rcx
jle 0x1400582f2
mov rax, rcx
mov qword [rbp - 0x48], rcx
mov edx, 0xaa
mov r9d, ebx
mov dword [rsp + 0x20], eax
mov r8d, edi
mov rcx, r14
call fcn.1400266e8
xor eax, eax
mov r9d, esi
mov dword [rsp + 0x20], eax
mov r8d, ebx
mov edx, 0x50
mov rcx, r14
call fcn.1400266e8
jmp 0x140058ba0
or rdi, 0xffffffffffffffff
lea r13, str.normal
xor r10d, r10d
lea r11, str.exclusive
test r15, r15
je 0x14005836c
mov rdx, r11
mov rcx, r15
call fcn.14000bfdc
xor r10d, r10d
test eax, eax
jne 0x140058357
mov edx, esi
jmp 0x14005836e
mov rdx, r13
mov rcx, r15
call fcn.14000bfdc
xor r10d, r10d
mov edx, r10d
test eax, eax
je 0x14005836e
mov edx, edi
mov rax, qword [rbp - 0x28]
cmp dword [rax + 8], r10d
jne 0x1400583d8
cmp edx, edi
jne 0x140058386
mov al, byte [r12 + 0x63]
jmp 0x14005840d
mov r9d, ebx
cmp dword [r12 + 0x28], ebx
jle 0x1400583d3
mov r8d, 0x40
mov rax, qword [r12 + 0x20]
mov rcx, qword [r8 + rax + 8]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
test edx, edx
js 0x1400583c5
cmp byte [rcx + 0x10], r10b
jne 0x1400583c5
mov rax, qword [rcx + 0x120]
test rax, rax
je 0x1400583c2
cmp byte [rax + 0x3f], bl
je 0x1400583c5
mov byte [rcx + 8], dl
add r9d, esi
add r8, 0x20
cmp r9d, dword [r12 + 0x28]
jl 0x140058396
mov byte [r12 + 0x63], dl
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x68]
mov rax, qword [rax + rcx + 8]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
test edx, edx
js 0x14005840a
cmp byte [rax + 0x10], r10b
jne 0x14005840a
mov rcx, qword [rax + 0x120]
test rcx, rcx
je 0x140058407
cmp byte [rcx + 0x3f], bl
je 0x14005840a
mov byte [rax + 8], dl
mov al, byte [rax + 8]
cmp al, sil
cmovne r11, r13
mov rdx, r11
mov rcx, r14
call fcn.140055b3c
jmp 0x140058ba0
mov rcx, qword [rbp - 0x60]
or rdi, 0xffffffffffffffff
mov rax, qword [rbp - 0x68]
mov rax, qword [rax + rcx + 8]
mov rcx, qword [rax + 8]
mov rax, 0xfffffffffffffffe
mov rbx, qword [rcx]
mov qword [rsp + 0x68], rax
test r15, r15
je 0x14005846b
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.14000c7d0
mov rax, qword [rsp + 0x68]
cmp rax, rdi
cmovl rax, rdi
mov qword [rsp + 0x68], rax
cmp rax, rdi
jl 0x140058487
mov rcx, qword [rbx + 0x120]
mov qword [rbx + 0xc8], rax
test rcx, rcx
je 0x140058487
mov qword [rcx + 0x20], rax
mov rdx, qword [rbx + 0xc8]
mov qword [rsp + 0x68], rdx
jmp 0x140056309
xor r8d, r8d
test r15, r15
je 0x140058512
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov rcx, rax
lea rax, str.delete
and ecx, 0x3fffffff
xor r8d, r8d
mov qword [rbp - 0x40], rcx
mov r13d, r8d
lea rdx, [0x1400e6810]
mov qword [rbp - 0x78], rax
cmp rax, rdx
je 0x140058512
mov rdx, qword [rax]
test rdx, rdx
je 0x140058512
mov r8d, ecx
mov rcx, r15
call fcn.14000c020
xor r8d, r8d
test eax, eax
je 0x1400584fe
mov rax, qword [rbp - 0x78]
add r13d, esi
mov rcx, qword [rbp - 0x40]
add rax, 8
jmp 0x1400584c3
mov eax, r13d
cmp r13d, ebx
jne 0x140058528
mov eax, dword [r12 + 0x30]
bt rax, 0x1c
jae 0x140058534
or r13, 0xffffffffffffffff
mov rax, qword [rbp - 0x28]
cmp dword [rax + 8], r8d
jne 0x140058530
mov edi, r8d
mov dword [rax + 8], esi
jmp 0x140058534
or rdi, 0xffffffffffffffff
cmp eax, edi
je 0x140058516
mov edi, dword [rsp + 0x74]
mov ebx, dword [r12 + 0x28]
sub ebx, esi
js 0x1400585aa
mov r15, qword [rbp - 0x28]
movsxd rdx, edi
movsxd rcx, ebx
mov rdi, rcx
mov qword [rbp - 0x78], rcx
shl rdi, 5
mov qword [rbp - 0x40], rdx
mov rax, qword [r12 + 0x20]
cmp qword [rdi + rax + 8], r8
je 0x140058597
cmp rcx, rdx
je 0x14005856d
cmp dword [r15 + 8], r8d
jne 0x140058597
mov edx, ebx
mov rcx, r14
call fcn.14002755c
mov r9d, esi
mov dword [rsp + 0x20], r13d
mov r8d, ebx
mov edx, 7
call fcn.1400266e8
mov rcx, qword [rbp - 0x78]
xor r8d, r8d
mov rdx, qword [rbp - 0x40]
sub rcx, rsi
sub rdi, 0x20
sub ebx, esi
mov qword [rbp - 0x78], rcx
jns 0x140058556
mov r15, qword [rbp - 0x10]
mov dword [rsp + 0x20], r8d
mov r9d, esi
mov r8d, esi
jmp 0x140058315
mov rax, qword [rbp - 0x68]
or rbx, 0xffffffffffffffff
mov rcx, qword [rbp - 0x60]
xor r11d, r11d
mov rax, qword [rax + rcx + 8]
mov qword [rbp - 0x40], rax
test r15, r15
je 0x140058609
lea rdx, str.fast
mov rcx, r15
call fcn.14000bfdc
test eax, eax
jne 0x1400585ef
lea ebx, [rax + 2]
jmp 0x140058609
xor r8d, r8d
mov edx, esi
mov rcx, r15
call fcn.14005591c
xor r11d, r11d
mov ecx, r11d
test al, al
setne cl
mov ebx, ecx
mov rax, qword [rbp - 0x28]
cmp dword [rax + 8], r11d
jne 0x140058643
test ebx, ebx
js 0x140058643
mov r13d, r11d
cmp dword [r12 + 0x28], r11d
jle 0x140058643
mov rdi, r11
mov rcx, qword [r12 + 0x20]
mov edx, ebx
mov rcx, qword [rdi + rcx + 8]
call fcn.14001bca8
add r13d, esi
lea rdi, [rdi + 0x20]
cmp r13d, dword [r12 + 0x28]
jl 0x140058624
mov rcx, qword [rbp - 0x40]
mov edx, ebx
call fcn.14001bca8
movsxd rdx, eax
jmp 0x140056309
sub ecx, 0x22
je 0x140058b98
sub ecx, esi
je 0x140058b69
sub ecx, esi
je 0x140058b0b
sub ecx, esi
je 0x1400588ef
sub ecx, esi
je 0x140058878
sub ecx, esi
je 0x1400587ec
sub ecx, esi
je 0x1400587a8
sub ecx, esi
je 0x14005875d
cmp ecx, esi
je 0x1400586cc
xor eax, eax
test r15, r15
je 0x1400586bf
lea rdx, [rsp + 0x64]
mov dword [rsp + 0x64], eax
mov rcx, r15
call fcn.14000c8c4
mov edx, dword [rsp + 0x64]
mov rcx, r12
call fcn.14007d0b0
movsxd rdx, dword [r12 + 0x2bc]
jmp 0x140056309
mov rax, qword [rbp - 0x28]
xor ecx, ecx
mov r9d, 0xa
mov r11d, ecx
cmp qword [rax], rcx
cmovne r9d, edi
lea edi, [rcx + 3]
mov dword [rbp - 0x58], r9d
test r15, r15
je 0x140058733
lea rdx, str.full
mov rcx, r15
call fcn.14000bfdc
test eax, eax
jne 0x140058706
mov r11d, esi
jmp 0x140058733
lea rdx, str.restart
mov rcx, r15
call fcn.14000bfdc
test eax, eax
jne 0x14005871e
mov r11d, ebx
jmp 0x140058733
lea rdx, str.truncate
mov rcx, r15
call fcn.14000bfdc
test eax, eax
cmove r11d, edi
mov r8d, dword [rbp - 0x58]
mov r9d, r11d
mov edx, 6
mov dword [r13 + 0x38], edi
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.1400266e8
xor eax, eax
mov r9d, edi
mov dword [rsp + 0x20], eax
jmp 0x1400585b2
xor ecx, ecx
test r15, r15
je 0x140058783
mov dword [rsp + 0x64], ecx
lea rdx, [rsp + 0x64]
mov rcx, r15
call fcn.14000c8c4
mov edx, dword [rsp + 0x64]
mov rcx, r12
call fcn.14007dc40
xor ecx, ecx
lea rax, [0x14007dbe0]
cmp qword [r12 + 0x140], rax
jne 0x1400587a1
mov eax, dword [r12 + 0x148]
jmp 0x14005864e
mov eax, ecx
jmp 0x14005864e
test r15, r15
je 0x1400587df
lea rdx, [rbp - 0x40]
mov rcx, r15
call fcn.14000c7d0
test eax, eax
jne 0x1400587df
mov rcx, qword [rbp - 0x40]
test rcx, rcx
js 0x1400587df
mov eax, 8
mov ebx, 0x7fffffff
and ecx, ebx
cmp ecx, eax
cmova ecx, eax
mov dword [r12 + 0xa8], ecx
movsxd rdx, dword [r12 + 0xa8]
jmp 0x140056309
xor ecx, ecx
test r15, r15
jne 0x1400587ff
mov rdx, qword [0x140105c38]
jmp 0x140058417
cmp byte [r15], cl
je 0x14005883b
mov rcx, qword [r12]
lea r9, [rbp - 0x58]
mov r8d, esi
mov rdx, r15
mov rax, qword [rcx + 0x38]
call qword [str.__r_]
xor ecx, ecx
test eax, eax
jne 0x140058827
cmp dword [rbp - 0x58], ecx
jne 0x14005883b
lea rdx, str.not_a_writable_directory
mov rcx, r13
call fcn.14000bee8
jmp 0x140058ba0
cmp byte [r12 + 0x60], sil
ja 0x14005884a
mov rcx, r13
call fcn.1400559ec
mov rcx, qword [0x140105c38]
call fcn.1400092d0
xor eax, eax
cmp byte [r15], al
je 0x14005886c
mov rdx, r15
lea rcx, [0x1400e0460]
call fcn.14000b350
mov qword [0x140105c38], rax
jmp 0x140058ba0
test r15, r15
jne 0x140058888
movzx edx, byte [r12 + 0x60]
jmp 0x140056309
mov al, byte [r15]
sub al, 0x30
cmp al, bl
ja 0x14005889a
movsx esi, byte [r15]
sub esi, 0x30
jmp 0x1400588c6
lea rdx, str.file
mov rcx, r15
call fcn.14000bfdc
test eax, eax
je 0x1400588c6
lea rdx, str.memory
mov rcx, r15
call fcn.14000bfdc
neg eax
sbb ecx, ecx
not ecx
and ecx, ebx
mov esi, ecx
mov rbx, qword [r13]
movzx eax, byte [rbx + 0x60]
cmp eax, esi
je 0x140058ba0
mov rcx, r13
call fcn.1400559ec
test eax, eax
jne 0x140058ba0
mov byte [rbx + 0x60], sil
jmp 0x140058ba0
test r15, r15
je 0x140058ba0
mov rdx, qword [rbp - 0x58]
mov rcx, r13
call fcn.14004a62c
mov r9, qword [rbp - 0x58]
mov r8, r15
mov edx, ebx
mov rcx, r13
call fcn.1400449bc
xor r8d, r8d
mov qword [rbp + 8], rax
mov rdi, rax
test rax, rax
je 0x140058ba0
mov rdx, qword [rax + 0x10]
mov dword [rsp + 0x70], r8d
mov qword [rbp - 0x78], rdx
test rdx, rdx
je 0x140058954
lea eax, [r8 + 3]
mov ecx, dword [rdx + 0x64]
and cl, al
cmp cl, bl
je 0x140058950
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x14005893e
mov qword [rbp - 0x78], rdx
mov rdx, rdi
mov dword [r13 + 0x38], 7
mov rcx, r13
call fcn.1400477b0
movzx ecx, word [rdi + 0x46]
xor r9d, r9d
mov rdx, qword [rdi + 8]
mov r10d, r9d
mov dword [rbp - 0x6c], r9d
mov qword [rsp + 0x68], rdx
cmp r9w, cx
jge 0x140058ba0
mov rdi, qword [rsp + 0x78]
lea r12d, [r9 + 0x40]
mov r15, qword [rbp - 0x78]
movzx r8d, word [rdx + 0x1c]
mov r13d, r9d
test r8b, 0x62
je 0x1400589cc
cmp qword [rdi + 0x10], r9
jne 0x1400589b2
add dword [rsp + 0x70], esi
jmp 0x140058ae2
test r8b, 0x20
je 0x1400589bd
mov r13d, ebx
jmp 0x1400589cc
movzx r13d, r8b
and r13d, r12d
or r13d, 0x20
shr r13d, 5
test sil, r8b
jne 0x1400589d8
mov dword [rsp + 0x60], r9d
jmp 0x140058a1a
mov dword [rsp + 0x60], esi
test r15, r15
je 0x140058a1a
mov r9d, esi
mov r11, rsi
cmp si, cx
jg 0x140058a17
movsx rax, cx
mov rcx, qword [r15 + 8]
mov rdi, rax
movsx eax, word [rcx]
cmp eax, r10d
je 0x140058a0d
add r9d, esi
add r11, rsi
add rcx, rbx
cmp r11, rdi
jle 0x1400589f7
mov rdi, qword [rsp + 0x78]
mov dword [rsp + 0x60], r9d
xor r9d, r9d
mov rax, qword [rdx + 8]
test rax, rax
je 0x140058a32
cmp r13d, ebx
jae 0x140058a32
mov rax, qword [rax + 8]
mov qword [rbp - 0x78], rax
jmp 0x140058a36
mov qword [rbp - 0x78], r9
mov r11, qword [rdx]
test r8b, 4
jne 0x140058a48
lea rax, [0x1400df5d8]
jmp 0x140058a6e
mov rcx, r11
mov rbx, r11
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov rdx, qword [rsp + 0x68]
mov r11, rbx
mov r10d, dword [rbp - 0x6c]
inc rax
add rax, rbx
mov ebx, 2
xor r9d, r9d
cmp byte [rdx + 0x18], r9b
lea rcx, str.issisii
mov dword [rsp + 0x48], r13d
lea r8, str.issisi
mov qword [rbp - 0x38], rax
mov eax, r9d
setne al
mov r9d, r10d
sub r9d, dword [rsp + 0x70]
xor edx, edx
cmp qword [rdi + 0x10], rdx
mov edx, esi
cmovne r8, rcx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x40], ecx
mov rcx, qword [rbp - 0x78]
mov qword [rsp + 0x38], rcx
mov rcx, r14
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r11
call fcn.1400267b4
mov rax, qword [rbp + 8]
xor r9d, r9d
mov rdx, qword [rsp + 0x68]
mov r10d, dword [rbp - 0x6c]
movzx ecx, word [rax + 0x46]
add r10d, esi
movsx eax, cx
add rdx, 0x20
mov dword [rbp - 0x6c], r10d
mov qword [rsp + 0x68], rdx
cmp r10d, eax
jl 0x140058995
mov r15, qword [rbp - 0x10]
mov r12, qword [rbp - 0x18]
jmp 0x140058ba0
xor eax, eax
test r15, r15
jne 0x140058b27
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
movzx edx, byte [rax + rcx + 0x10]
sub rdx, rsi
jmp 0x140056309
cmp byte [r12 + 0x5f], al
jne 0x140058b3a
lea rdx, str.Safety_level_may_not_be_changed_inside_a_transaction
jmp 0x14005882e
cmp edi, esi
je 0x140058ba0
mov r8b, sil
xor edx, edx
mov rcx, r15
call fcn.14005591c
mov rcx, qword [rbp - 0x68]
add eax, esi
mov rdx, qword [rbp - 0x60]
and eax, 7
cmove eax, esi
mov byte [rcx + rdx + 0x10], al
mov byte [rcx + rdx + 0x11], sil
jmp 0x140056399
test r15, r15
je 0x140058b87
lea rdx, [rbp - 0x40]
mov rcx, r15
call fcn.14000c7d0
test eax, eax
jne 0x140058b87
mov rcx, qword [rbp - 0x40]
call fcn.140008d90
or rcx, 0xffffffffffffffff
call fcn.140008d90
mov rdx, rax
jmp 0x140056309
mov rcx, r12
call fcn.14007c360
mov rdx, qword [rbp]
mov rcx, r12
call fcn.140009378
test r15, r15
je 0x140058bbc
mov rdx, r15
mov rcx, r12
call fcn.140009378
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.1400b8190
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret