Function at 0x1400505b4
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 - 0x58]
sub rsp, 0x158
mov rax, qword [0x140100070]
xor rax, rsp
mov qword [rbp + 0x48], rax
mov r12, qword [rcx]
mov rbx, r8
mov qword [rbp - 0x60], rbx
mov r15, r9
mov qword [rbp - 0x20], r12
mov rdi, rdx
mov r13, rcx
mov qword [rbp - 0x58], rcx
call fcn.140056c40
mov qword [rbp - 0x38], rax
mov rsi, rax
test rax, rax
je 0x140052f06
or dword [rax + 0xc4], 0x20
lea r9, [rbp + 8]
mov r8, rbx
mov dword [r13 + 0x38], 2
mov rdx, rdi
mov rcx, r13
call fcn.140040c48
movsxd rdi, eax
mov dword [rbp - 0x10], edi
test eax, eax
js 0x140052f06
mov rax, qword [r12 + 0x20]
mov rbx, rdi
shl rbx, 5
mov r14d, 1
mov qword [rbp - 0x40], rdi
mov qword [rsp + 0x70], rbx
mov qword [rbp - 0x68], rax
cmp edi, r14d
jne 0x14005066e
mov rcx, r13
call fcn.1400454e0
test eax, eax
jne 0x140052f06
mov rdx, qword [rbp + 8]
mov rcx, r12
call fcn.140040ba4
xor ecx, ecx
mov qword [rbp - 8], rax
test rax, rax
je 0x140052f06
cmp dword [rbp + 0xc0], ecx
mov rcx, r12
je 0x1400506a5
mov r8, r15
lea rdx, [0x1400da698]
call fcn.14000a9b0
jmp 0x1400506ad
mov rdx, r15
call fcn.140040ba4
mov r15, rax
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x60]
xor ecx, ecx
cmp dword [rax + 8], ecx
jbe 0x1400506c9
mov rax, qword [rbp - 0x68]
mov rax, qword [rbx + rax]
jmp 0x1400506cc
mov rax, rcx
mov r8, qword [rbp - 8]
mov r9, r15
mov edx, 0x13
mov qword [rbp - 0x80], rax
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.14003fd98
xor ecx, ecx
test eax, eax
jne 0x140052eea
mov rax, qword [rbp - 8]
lea r8d, [rcx + 0xe]
mov rdx, qword [rbp - 0x80]
lea r9, [rbp + 0x10]
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], r15
mov dword [r12 + 0x230], ecx
mov rcx, r12
call fcn.140071a30
mov dword [rsp + 0x60], eax
test eax, eax
jne 0x140050779
mov edx, r14d
mov rcx, rsi
call fcn.140027518
mov rax, qword [rsi]
xor ecx, ecx
cmp byte [rax + 0x61], cl
jne 0x14005075f
mov rdx, qword [rbp + 0x10]
or rax, 0xffffffffffffffff
mov rcx, qword [rsi + 0x80]
mov r8d, eax
mov r9b, r14b
mov qword [rsp + 0x20], rax
call fcn.1400251a4
mov rdx, qword [rbp + 0x10]
mov rcx, rsi
call fcn.1400503d4
mov rcx, qword [rbp + 0x10]
call fcn.140009070
jmp 0x140052eea
cmp eax, 0xc
je 0x1400507b0
mov r8, qword [rbp + 0x10]
test r8, r8
je 0x1400507a3
lea rdx, [0x1400d7794]
mov rcx, r13
call fcn.14000b618
mov rcx, qword [rbp + 0x10]
call fcn.140009070
mov eax, dword [rsp + 0x60]
add dword [r13 + 0x30], r14d
mov dword [r13 + 0x18], eax
jmp 0x140052eea
mov rcx, qword [rbp - 8]
call fcn.1400504a8
mov qword [rbp - 0x70], rax
mov r8, rax
test rax, rax
je 0x140052eea
test byte [rax + 9], r14b
je 0x1400507e3
mov rcx, r13
call fcn.140053ca8
test eax, eax
jne 0x140052eea
mov r8, qword [rbp - 0x70]
mov edx, 2
test byte [r8 + 9], dl
jne 0x14005080e
test byte [r8 + 9], 4
je 0x1400507fa
test r15, r15
jne 0x14005080e
mov rdx, r8
mov rcx, rsi
call fcn.1400502e0
mov r8, qword [rbp - 0x70]
mov edx, 2
movzx ecx, byte [r8 + 8]
cmp ecx, 0x13
ja 0x14005237b
je 0x14005177a
cmp ecx, 9
ja 0x140050c5a
je 0x140050be7
xor r9d, r9d
test ecx, ecx
je 0x140050b5a
sub ecx, r14d
je 0x140050ad0
sub ecx, r14d
je 0x140050a3e
sub ecx, edx
je 0x1400509f6
sub ecx, r14d
je 0x14005096c
sub ecx, r14d
je 0x14005093f
sub ecx, r14d
je 0x1400508f2
cmp ecx, r14d
jne 0x140052ac5
xor r12d, r12d
mov dword [r13 + 0x38], r14d
mov edi, r12d
lea rbx, [0x140000000]
cmp rdi, r14
ja 0x14005089a
mov r13, qword [rbx + rdi*8 + 0xdf180]
jmp 0x14005089d
mov r13, r12
add rdi, r14
test r13, r13
je 0x1400508e6
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, r14d
mov rcx, rsi
lea edx, [r8 + 0x61]
call fcn.140025d88
xor r9d, r9d
mov r8, r13
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov r9d, r14d
mov dword [rsp + 0x20], r12d
mov r8d, r14d
mov edx, 0x4e
mov rcx, rsi
call fcn.140025d88
jmp 0x14005088b
and dword [rsi + 0xc4], 0xffffffdf
jmp 0x140052e59
mov dword [r13 + 0x38], edx
mov edi, r9d
mov rbx, qword [r12 + 0x210]
test rbx, rbx
je 0x140052eea
mov rax, qword [rbx + 0x10]
lea r8, [0x1400da72c]
mov r9d, edi
mov edx, r14d
mov rcx, qword [rax]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.140025e00
mov rbx, qword [rbx]
add edi, r14d
test rbx, rbx
jne 0x14005090a
mov r15, qword [rbp - 0x30]
jmp 0x140052eea
test r15, r15
je 0x140052eea
xor r8d, r8d
mov edx, r14d
mov rcx, r15
call fcn.140050060
xor ecx, ecx
mov edx, ecx
test al, al
mov rcx, r12
setne dl
call fcn.14004a1a0
jmp 0x140052eea
test r15, r15
jne 0x140050996
test byte [r12 + 0x30], 0x20
jne 0x14005097e
mov eax, r9d
jmp 0x14005098e
mov rax, qword [rbp - 0x68]
xor edx, edx
mov rcx, qword [rbx + rax + 8]
call fcn.14001b234
movsxd rdx, eax
jmp 0x140052ee2
lea rdx, [rsp + 0x64]
mov dword [rsp + 0x64], r14d
mov rcx, r15
call fcn.14000bea8
xor edi, edi
test eax, eax
je 0x1400509c0
mov rax, qword [rbp - 0x68]
mov edx, dword [rsp + 0x64]
mov rcx, qword [rbx + rax + 8]
call fcn.14001b234
cmp dword [rsp + 0x64], edi
mov edx, r14d
mov rcx, r15
setne r8b
call fcn.140050060
mov ecx, dword [r12 + 0x30]
test al, al
je 0x1400509e1
or ecx, 0x20
jmp 0x1400509e4
and ecx, 0xffffffdf
mov dword [r12 + 0x30], ecx
mov rcx, r12
call fcn.140050434
jmp 0x140052eea
test r15, r15
jne 0x140050a0d
mov rax, qword [rbp - 0x68]
mov rax, qword [rbx + rax + 0x18]
movsxd rdx, dword [rax + 0x74]
jmp 0x140052ee2
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], r9d
mov rcx, r15
call fcn.14000bea8
mov r8, qword [rbp - 0x68]
mov eax, dword [rsp + 0x60]
mov rcx, qword [rbx + r8 + 0x18]
mov dword [rcx + 0x74], eax
mov rax, qword [rbx + r8 + 0x18]
mov rcx, qword [rbx + r8 + 8]
jmp 0x140051703
test r15, r15
jne 0x140050a65
mov rdx, r8
mov rcx, rsi
call fcn.1400502e0
mov rbx, qword [rbp - 0x70]
mov rdx, r15
mov eax, dword [rbx + 0xc]
test dword [r12 + 0x30], eax
setne dl
jmp 0x140052ee2
mov ebx, dword [r8 + 0xc]
mov edx, r14d
btr ebx, 0xe
mov rcx, r15
cmp byte [r12 + 0x5f], r9b
cmovne ebx, dword [r8 + 0xc]
xor r8d, r8d
call fcn.140050060
mov ecx, dword [r12 + 0x30]
xor edx, edx
test al, al
je 0x140050a99
or ecx, ebx
mov dword [r12 + 0x30], ecx
jmp 0x140050ab4
mov eax, ebx
not eax
and eax, ecx
mov dword [r12 + 0x30], eax
cmp ebx, 0x80000
jne 0x140050ab4
mov qword [r12 + 0x298], rdx
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, 0x98
xor r8d, r8d
mov rcx, rsi
call fcn.140025d88
jmp 0x1400509e9
mov rax, qword [rbp - 0x68]
mov rbx, qword [rbx + rax + 8]
test r15, r15
jne 0x140050aeb
mov rcx, rbx
call fcn.14001b67c
jmp 0x14005098e
mov rcx, r15
call fcn.140050174
mov r13d, eax
mov edx, eax
mov rcx, rbx
mov byte [r12 + 0x64], r13b
call fcn.14001b5ec
test eax, eax
jne 0x140052eea
lea ecx, [r13 - 1]
cmp ecx, r14d
ja 0x140052eea
mov ebx, dword [rsi + 0xb8]
lea r8, [0x1400dff48]
xor r9d, r9d
lea edx, [rax + 5]
mov rcx, rsi
call fcn.1400261b4
lea ecx, [rbx + 4]
mov edx, edi
mov dword [rax + 0x38], ecx
lea ecx, [r13 - 1]
mov dword [rax + 0x6c], ecx
mov rcx, rsi
mov dword [rax + 4], edi
mov dword [rax + 0x1c], edi
mov dword [rax + 0x64], edi
call fcn.140026964
jmp 0x140052eea
mov r14d, dword [r8 + 0xc]
mov edx, edi
mov rcx, rsi
call fcn.140026964
xor r13d, r13d
test r15, r15
je 0x140050bbb
mov rbx, qword [rbp - 0x70]
test byte [rbx + 9], 8
jne 0x140050bbb
xor r9d, r9d
lea r8, [0x1400df980]
lea edx, [r13 + 2]
mov rcx, rsi
call fcn.1400261b4
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], r13d
mov rcx, r15
mov rbx, rax
mov dword [rax + 4], edi
mov dword [rax + 0x1c], edi
mov dword [rax + 0x20], r14d
call fcn.14000bea8
mov ecx, dword [rsp + 0x60]
mov dword [rbx + 0x24], ecx
jmp 0x140052eea
xor r9d, r9d
lea r8, [0x1400dc088]
mov rcx, rsi
lea edx, [r9 + 3]
call fcn.1400261b4
mov dword [rax + 4], edi
mov dword [rax + 0x1c], edi
mov dword [rax + 0x24], r14d
and dword [rsi + 0xc4], 0xffffffdf
jmp 0x140052eea
xor eax, eax
test r15, r15
jne 0x140050bfa
mov rdx, qword [0x140104370]
jmp 0x1400528e0
cmp byte [r15], al
je 0x140050c2c
mov rcx, qword [r12]
lea r9, [rsp + 0x60]
mov r8d, r14d
mov rdx, r15
mov rax, qword [rcx + 0x38]
call qword [case.0x140008940.0]
xor ecx, ecx
test eax, eax
jne 0x140052c4c
cmp dword [rsp + 0x60], ecx
je 0x140052c4c
mov rcx, qword [0x140104370]
call fcn.140009070
xor eax, eax
cmp byte [r15], al
je 0x140050c4e
mov rdx, r15
lea rcx, [0x1400d7794]
call fcn.14000aa80
mov qword [0x140104370], rax
jmp 0x140052eea
sub ecx, 0xa
je 0x140051710
sub ecx, r14d
je 0x140051658
sub ecx, r14d
je 0x1400515a2
sub ecx, r14d
je 0x1400510ee
sub ecx, r14d
je 0x140050f7a
sub ecx, edx
je 0x140050eb9
sub ecx, r14d
je 0x140050d66
cmp ecx, r14d
jne 0x140052ac2
test r15, r15
je 0x140052eea
mov r8, qword [rbp - 0x80]
mov rdx, r15
mov rcx, r12
call fcn.1400402e8
mov rbx, rax
test rax, rax
je 0x140052eea
mov edx, edi
mov dword [r13 + 0x38], 5
mov rcx, r13
call fcn.140045584
mov rbx, qword [rbx + 0x10]
xor eax, eax
mov edi, eax
test rbx, rbx
je 0x140052eea
xor r12d, r12d
cmp qword [rbx + 0x48], r12
lea rax, [0x1400da718]
mov qword [rbp + 0x30], rax
lea r8, str.isisi
mov edx, r12d
lea rax, [0x1400da71c]
mov qword [rbp + 0x38], rax
setne dl
mov dword [rsp + 0x38], edx
lea rax, [0x1400da07c]
mov qword [rbp + 0x40], rax
mov ecx, r12d
mov eax, dword [rbx + 0x64]
mov r9d, edi
and eax, 3
mov edx, r14d
cmp byte [rbx + 0x62], r12b
setne cl
mov rax, qword [rbp + rax*8 + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx]
mov dword [rsp + 0x28], ecx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140025e00
mov rbx, qword [rbx + 0x28]
add edi, r14d
test rbx, rbx
jne 0x140050ceb
jmp 0x140052e59
test r15, r15
je 0x140052eea
mov r8, qword [rbp - 0x80]
mov rdx, r15
mov rcx, r12
call fcn.140040560
mov qword [rsp + 0x70], rax
mov rdx, rax
test rax, rax
je 0x140052eea
mov rbx, qword [rbp - 0x70]
mov eax, dword [rbx + 0xc]
test eax, eax
je 0x140050da0
movzx ecx, word [rdx + 0x60]
jmp 0x140050da4
movzx ecx, word [rdx + 0x5e]
neg eax
mov word [rsp + 0x78], cx
mov ecx, 3
sbb eax, eax
and eax, ecx
add eax, ecx
mov rcx, r13
mov dword [r13 + 0x38], eax
mov rax, qword [rdx + 0x18]
mov edx, edi
mov qword [rbp - 0x40], rax
call fcn.140045584
movzx eax, word [rsp + 0x78]
xor r8d, r8d
test rax, rax
je 0x140052eea
mov rdi, qword [rsp + 0x70]
mov ecx, r8d
movzx r12d, word [rsp + 0x78]
mov r15d, r8d
mov qword [rbp - 0x58], rcx
jmp 0x140050df7
xor r8d, r8d
mov rax, qword [rdi + 8]
movzx edx, word [rax + rcx*2]
test dx, dx
jns 0x140050e09
mov rcx, r8
jmp 0x140050e1d
mov rax, qword [rbp - 0x40]
movsx rcx, dx
shl rcx, 5
mov rax, qword [rax + 8]
mov rcx, qword [rcx + rax]
movsx eax, dx
lea r8, str.iisX
mov qword [rsp + 0x28], rcx
mov edx, r14d
mov rcx, rsi
mov dword [rsp + 0x20], eax
mov r9d, r15d
call fcn.140025e00
xor ecx, ecx
cmp dword [rbx + 0xc], ecx
je 0x140050e85
movzx eax, word [rdi + 0x5e]
mov edx, ecx
mov r8, qword [rbp - 0x58]
cmp r15d, eax
mov rax, qword [rdi + 0x38]
mov rcx, qword [rdi + 0x40]
setl dl
mov dword [rsp + 0x28], edx
mov edx, 4
movzx r9d, byte [rax + r8]
mov rax, qword [rcx + r8*8]
lea r8, str.isiX
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140025e00
xor ecx, ecx
mov r9d, dword [r13 + 0x38]
mov r8d, r14d
mov dword [rsp + 0x20], ecx
mov edx, 0x4e
mov rcx, rsi
call fcn.140025d88
mov rcx, qword [rbp - 0x58]
add r15d, r14d
add rcx, r14
mov qword [rbp - 0x58], rcx
cmp rcx, r12
jl 0x140050df4
jmp 0x140052e55
xor ebx, ebx
test r15, r15
je 0x140050ed7
lea rdx, [rsp + 0x64]
mov rcx, r15
call fcn.14000bea8
test eax, eax
je 0x140050ed7
cmp dword [rsp + 0x64], ebx
jg 0x140050ee2
mov ebx, 0x7fffffff
mov dword [rsp + 0x64], ebx
xor ebx, ebx
mov r8d, edi
xor edx, edx
mov rcx, r13
call fcn.140045630
mov r8d, dword [rsp + 0x64]
mov r9d, r14d
mov edx, 0x43
mov dword [rsp + 0x20], ebx
mov rcx, rsi
call fcn.140025d88
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rcx, rsi
lea edx, [r9 + 0x3c]
call fcn.140025d88
xor edi, edi
xor r9d, r9d
mov r8d, r14d
mov dword [rsp + 0x20], edi
mov rcx, rsi
mov ebx, eax
lea edx, [rdi + 0x4e]
call fcn.140025d88
or r9, 0xffffffffffffffff
mov dword [rsp + 0x20], edi
mov r8d, r14d
lea edx, [rdi + 0x50]
mov rcx, rsi
call fcn.140025d88
xor eax, eax
lea edx, [rdi + 0x30]
mov r9d, ebx
mov dword [rsp + 0x20], eax
mov r8d, r14d
mov rcx, rsi
call fcn.140025d88
mov r8d, dword [rsi + 0xb8]
mov edx, ebx
mov rcx, rsi
call fcn.140026298
jmp 0x140052eea
test r15, r15
je 0x140052eea
mov r8, qword [rbp - 0x80]
mov rdx, r15
mov rcx, r12
call fcn.1400402e8
xor ecx, ecx
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140052eea
mov rbx, qword [rax + 0x20]
test rbx, rbx
je 0x140052eea
mov dword [rsp + 0x68], ecx
mov edx, edi
mov rcx, r13
mov dword [r13 + 0x38], 8
call fcn.140045584
mov eax, dword [rsp + 0x68]
xor ecx, ecx
mov r15, qword [rsp + 0x70]
mov edi, ecx
cmp dword [rbx + 0x28], ecx
jle 0x1400510d5
mov r12d, dword [rsp + 0x68]
lea r13, [rbx + 0x40]
movzx ecx, byte [rbx + 0x2d]
sub ecx, 6
je 0x140051020
sub ecx, r14d
je 0x140051017
sub ecx, r14d
je 0x14005100e
cmp ecx, r14d
je 0x140051005
lea r8, str.NO_ACTION
jmp 0x140051027
lea r8, str.CASCADE
jmp 0x140051027
lea r8, str.SET_DEFAULT
jmp 0x140051027
lea r8, str.SET_NULL
jmp 0x140051027
lea r8, str.RESTRICT
movzx ecx, byte [rbx + 0x2e]
sub ecx, 6
je 0x140051063
sub ecx, r14d
je 0x14005105a
sub ecx, r14d
je 0x140051051
cmp ecx, r14d
je 0x140051048
lea rax, str.NO_ACTION
jmp 0x14005106a
lea rax, str.CASCADE
jmp 0x14005106a
lea rax, str.SET_DEFAULT
jmp 0x14005106a
lea rax, str.SET_NULL
jmp 0x14005106a
lea rax, str.RESTRICT
mov rcx, qword [r15 + 8]
lea r9, str.NONE
movsxd rdx, dword [r13]
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 [r13 + 8]
mov qword [rsp + 0x38], rax
shl rdx, 5
mov rax, qword [rdx + rcx]
mov edx, r14d
mov qword [rsp + 0x30], rax
mov rcx, rsi
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
call fcn.140025e00
add edi, r14d
add r13, 0x10
cmp edi, dword [rbx + 0x28]
jl 0x140050fe4
mov eax, r12d
xor ecx, ecx
mov rbx, qword [rbx + 8]
add eax, r14d
mov dword [rsp + 0x68], eax
test rbx, rbx
jne 0x140050fd0
jmp 0x140052e55
mov eax, dword [r13 + 0x38]
mov edx, edi
lea ecx, [rax + 1]
add eax, 5
mov dword [rbp - 0x44], eax
inc eax
mov dword [rsp + 0x64], ecx
mov rcx, r13
mov dword [rsp + 0x7c], eax
mov dword [r13 + 0x38], eax
call fcn.140045584
mov rax, qword [r12 + 0x20]
mov rcx, qword [rbx + rax + 0x18]
mov rax, qword [rcx + 0x10]
xor ecx, ecx
test rax, rax
je 0x140052eea
test r15, r15
je 0x14005114f
mov r9, qword [rbp - 0x80]
mov r8, r15
xor edx, edx
mov rcx, r13
call fcn.1400403c8
xor ecx, ecx
mov qword [rbp - 0x18], rax
mov rbx, rax
mov eax, ecx
jmp 0x14005115a
mov rbx, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x18], rbx
mov qword [rbp], rax
test rbx, rbx
je 0x140051123
cmp qword [rbx + 0x20], rcx
je 0x140051123
mov rax, qword [rbx]
xor r9d, r9d
mov r8d, dword [rbx + 0x38]
mov edx, edi
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.14003fe40
movsx eax, word [rbx + 0x46]
mov ecx, dword [rsp + 0x7c]
add ecx, eax
cmp ecx, dword [r13 + 0x38]
jle 0x140051196
mov dword [r13 + 0x38], ecx
mov r9, rbx
mov dword [rsp + 0x20], 0x69
mov r8d, edi
xor edx, edx
mov rcx, r13
call fcn.14004bf64
mov r9d, dword [rsp + 0x64]
xor eax, eax
mov rbx, qword [rbx]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x61]
call fcn.140025d88
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov rax, qword [rbp - 0x18]
mov ecx, r14d
mov rbx, qword [rbp - 0x80]
mov rax, qword [rax + 0x20]
xor edx, edx
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x68], ecx
test rax, rax
je 0x1400512ba
mov rdx, qword [rax + 0x10]
mov r8, rbx
mov rcx, r12
call fcn.1400402e8
xor ecx, ecx
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1400512a6
mov qword [rbp - 0x68], rcx
xor r9d, r9d
mov rcx, qword [rax]
mov edx, edi
mov r8d, dword [rax + 0x38]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.14003fe40
mov r8, qword [rbp - 0x70]
lea r9, [rbp - 0x68]
mov rdx, qword [rbp - 0x50]
xor eax, eax
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.14004a2e4
test eax, eax
jne 0x140052eea
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x140051280
mov r9, qword [rbp - 0x50]
mov r8d, edi
mov edx, dword [rsp + 0x68]
mov rcx, r13
mov dword [rsp + 0x20], 0x69
call fcn.14004bf64
jmp 0x1400512a6
mov r9d, dword [rax + 0x58]
mov edx, 0x69
mov r8d, dword [rsp + 0x68]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140025d88
mov rdx, qword [rbp - 0x68]
mov rcx, r13
call fcn.140026640
mov rax, qword [rbp - 0x70]
mov ecx, dword [rsp + 0x68]
add ecx, r14d
mov rax, qword [rax + 8]
jmp 0x1400511e9
cmp dword [r13 + 0x34], ecx
jge 0x1400512c4
mov dword [r13 + 0x34], ecx
xor r9d, r9d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x25]
call fcn.140025d88
mov dword [rbp - 0x28], eax
xor r8d, r8d
mov rax, qword [rbp - 0x18]
mov dword [rsp + 0x78], r14d
mov rcx, qword [rax + 0x20]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14005156d
mov eax, dword [rsp + 0x64]
mov r15, qword [rbp - 0x18]
mov rdi, qword [rsp + 0x70]
lea ecx, [rax + 1]
add eax, 2
mov dword [rbp - 0x48], eax
mov dword [rbp - 0x78], ecx
mov rdx, qword [rdi + 0x10]
mov r8, rbx
mov rcx, r12
call fcn.1400402e8
xor ecx, ecx
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x60], rcx
test rax, rax
je 0x140051351
lea rcx, [rbp - 0x60]
mov r8, rdi
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x68]
mov rcx, r13
mov rdx, rax
call fcn.14004a2e4
mov rcx, rsi
call fcn.140026038
mov dword [rsp + 0x68], eax
xor edx, edx
mov eax, dword [rdi + 0x28]
mov dword [rsp + 0x60], eax
test eax, eax
jle 0x1400513f2
mov r13d, dword [rsp + 0x7c]
lea r12, [rdi + 0x40]
mov ebx, edx
mov rax, qword [rbp - 0x60]
lea rcx, [rax + rbx]
test rax, rax
jne 0x140051389
mov rcx, r12
mov r9d, dword [rcx]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], r13d
mov rdx, r15
call fcn.14003a6a4
mov r9d, dword [rsp + 0x68]
xor eax, eax
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x32]
call fcn.140025d88
mov ecx, dword [rsp + 0x7c]
add r12, 0x10
add r13d, r14d
mov qword [rsp + 0x70], r12
mov r12d, dword [rdi + 0x28]
mov eax, r13d
sub eax, ecx
mov dword [rsp + 0x60], r12d
add rbx, 4
cmp eax, r12d
mov r12, qword [rsp + 0x70]
jl 0x140051379
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x80]
jmp 0x1400513f6
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rbp - 0x68]
xor eax, eax
test rdx, rdx
je 0x14005147c
mov rcx, r12
call fcn.14004c02c
mov r9d, dword [rdi + 0x28]
mov rbx, rax
mov eax, dword [rbp - 0x44]
mov edx, 0x64
mov r8d, dword [rsp + 0x7c]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140025d88
mov r9d, dword [rsp + 0x60]
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov eax, dword [rbp - 0x44]
mov edx, 0x1e
mov r9d, dword [rsp + 0x68]
mov rcx, rsi
mov r8d, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.140025d88
mov rcx, qword [rsi]
xor edx, edx
mov rbx, qword [rbp - 0x80]
cmp byte [rcx + 0x61], dl
jne 0x1400514bc
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x1400514bc
cmp qword [rbp - 0x40], rax
je 0x1400514bc
mov r9d, dword [rsi + 0xb8]
mov edx, 0x1f
mov r8d, dword [rsp + 0x78]
add r9d, 2
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.140025d88
mov r9d, dword [rsp + 0x68]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0xd]
call fcn.140025d88
mov eax, dword [r15 + 0x40]
mov rcx, rsi
mov r9d, dword [rbp - 0x78]
and al, 0x20
neg al
sbb edx, edx
xor eax, eax
and edx, 0xffffffca
mov dword [rsp + 0x20], eax
add edx, 0x7c
xor r8d, r8d
call fcn.140025d88
mov eax, dword [rsp + 0x78]
lea r8, [0x1400da744]
mov r9, qword [rdi + 0x10]
dec eax
mov edx, dword [rbp - 0x48]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140025e00
mov r8d, dword [rsp + 0x64]
xor eax, eax
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea r9d, [rax + 4]
lea edx, [rax + 0x4e]
call fcn.140025d88
mov rax, qword [rsi + 0x18]
xor r8d, r8d
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x140051540
movsxd rax, dword [rsp + 0x68]
shl rax, 2
sub rcx, rax
mov eax, dword [rsi + 0xb8]
mov dword [rcx - 4], eax
mov rdx, qword [rbp - 0x60]
test rdx, rdx
je 0x140051554
mov rcx, r12
call fcn.140009118
xor r8d, r8d
add dword [rsp + 0x78], r14d
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x140051314
mov r15, qword [rbp - 0x30]
mov edi, dword [rbp - 0x10]
mov ebx, dword [rbp - 0x28]
mov rcx, rsi
mov dword [rsp + 0x20], r8d
xor r8d, r8d
lea r9d, [rbx + 1]
lea edx, [r8 + 7]
call fcn.140025d88
mov r8d, dword [rsi + 0xb8]
mov edx, ebx
mov rcx, rsi
call fcn.140026298
mov rax, qword [rbp]
jmp 0x140051121
test r15, r15
jne 0x1400515d2
mov rcx, r13
call fcn.140053ca8
test eax, eax
jne 0x140052eea
mov rax, qword [r13]
lea rbx, str.UTF8
movzx edx, byte [rax + 0x5e]
add rdx, rdx
mov rdx, qword [rbx + rdx*8]
jmp 0x1400528e0
mov rax, qword [r12 + 0x20]
mov rcx, qword [rax + 0x18]
mov al, byte [rcx + 0x72]
and al, 5
cmp al, r14b
je 0x140052eea
mov rax, qword [str.UTF8]
lea rbx, str.UTF8
jmp 0x140051612
mov rdx, rax
mov rcx, r15
call fcn.14000b6fc
xor r8d, r8d
test eax, eax
je 0x140051619
add rbx, 0x10
mov rax, qword [rbx]
test rax, rax
jne 0x1400515f9
jmp 0x140051641
movzx eax, byte [rbx + 8]
mov edx, 2
test al, al
cmovne edx, eax
mov rax, qword [r12 + 0x20]
mov byte [r12 + 0x5e], dl
mov rcx, qword [rax + 0x18]
mov byte [rcx + 0x71], dl
cmp qword [rbx], r8
jne 0x140052eea
mov r8, r15
lea rdx, str.unsupported_encoding:__s
mov rcx, r13
call fcn.14000b618
jmp 0x140052eea
mov edx, edi
mov rcx, rsi
call fcn.140026964
xor eax, eax
test r15, r15
jne 0x140051698
add dword [r13 + 0x38], 2
lea r8, [0x1400dd330]
xor r9d, r9d
lea edx, [rax + 9]
mov rcx, rsi
call fcn.1400261b4
mov dword [rax + 4], edi
mov dword [rax + 0x1c], edi
mov dword [rax + 0x94], 0xfffff830
jmp 0x140052eea
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.14000bea8
mov ebx, dword [rsp + 0x60]
test ebx, ebx
jns 0x1400516c2
cmp ebx, 0x80000000
jne 0x1400516c0
mov ebx, 0x7fffffff
jmp 0x1400516c2
neg ebx
mov r8d, edi
xor edx, edx
mov rcx, r13
call fcn.140045630
mov r9d, 3
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rcx, rsi
lea edx, [r9 + 0x64]
call fcn.140025d88
mov rcx, qword [rsp + 0x70]
mov r8, qword [rbp - 0x68]
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.14001b1a0
jmp 0x140052eea
xor edx, edx
mov dword [r13 + 0x38], 3
mov edi, edx
cmp dword [r12 + 0x28], edx
jle 0x140052eea
mov ebx, edx
mov rax, qword [r12 + 0x20]
mov rcx, qword [rbx + rax + 8]
test rcx, rcx
je 0x140051767
call fcn.1400236c8
mov rcx, qword [r12 + 0x20]
lea r8, [0x1400da728]
mov qword [rsp + 0x28], rax
mov r9d, edi
mov edx, r14d
mov rax, qword [rbx + rcx]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140025e00
xor edx, edx
add edi, r14d
add rbx, 0x20
cmp edi, dword [r12 + 0x28]
jl 0x140051729
jmp 0x140052eea
mov rax, qword [rbp - 8]
lea rbx, [0x140000000]
xor ecx, ecx
movzx eax, byte [rax]
mov al, byte [rax + rbx + 0xde010]
or rbx, 0xffffffffffffffff
mov byte [rsp + 0x78], al
mov rax, qword [rbp - 0x60]
cmp qword [rax], rcx
lea eax, [rbx + 0x65]
mov dword [r13 + 0x38], 6
cmove edi, ebx
mov dword [rsp + 0x64], eax
mov dword [rbp - 0x10], edi
test r15, r15
je 0x1400517d9
lea rdx, [rsp + 0x64]
mov rcx, r15
call fcn.14000bea8
mov eax, dword [rsp + 0x64]
lea ecx, [rbx + 0x65]
test eax, eax
cmovle eax, ecx
xor ecx, ecx
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x20], ecx
lea r8d, [rax - 1]
mov rcx, rsi
mov r9d, r14d
mov edx, 0x43
call fcn.140025d88
xor r11d, r11d
mov eax, r11d
mov dword [rsp + 0x68], eax
cmp dword [r12 + 0x28], r11d
jle 0x140052318
lea r15d, [r11 + 2]
mov dword [rsp + 0x60], r11d
test edi, edi
js 0x14005181b
cmp eax, edi
jne 0x140052302
mov edx, eax
mov rcx, r13
call fcn.140045584
movsxd rcx, dword [rsp + 0x68]
mov rax, qword [r12 + 0x20]
mov edi, dword [rsp + 0x60]
shl rcx, 5
xor r10d, r10d
mov qword [rbp - 0x40], rcx
mov edx, r10d
mov rax, qword [rcx + rax + 0x18]
mov qword [rbp - 0x50], rax
mov r8, qword [rax + 0x10]
test r8, r8
je 0x140051887
mov rcx, qword [r8 + 0x10]
lea eax, [rdx + 1]
test byte [rcx + 0x40], 0x20
mov r9, qword [rcx + 0x10]
cmovne eax, edx
mov edx, eax
mov eax, r10d
jmp 0x140051876
mov r9, qword [r9 + 0x28]
add edx, r14d
add eax, r14d
test r9, r9
jne 0x14005186c
mov r8, qword [r8]
cmp eax, edi
cmovle eax, edi
mov edi, eax
jmp 0x14005184e
movsxd rdx, edx
mov rcx, r12
lea rdx, [rdx*4 + 4]
call fcn.1400093d8
xor r11d, r11d
mov qword [rsp + 0x70], rax
mov r10, rax
test rax, rax
je 0x140052314
mov r8, qword [rbp - 0x50]
mov r9d, r11d
mov ecx, r11d
mov r8, qword [r8 + 0x10]
jmp 0x1400518f4
mov rdx, qword [r8 + 0x10]
test byte [rdx + 0x40], 0x20
jne 0x1400518d5
mov eax, dword [rdx + 0x38]
add r9d, r14d
add rcx, r14
mov dword [r10 + rcx*4], eax
mov rdx, qword [rdx + 0x10]
jmp 0x1400518ec
mov eax, dword [rdx + 0x58]
add r9d, r14d
add rcx, r14
mov dword [r10 + rcx*4], eax
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x1400518db
mov r8, qword [r8]
test r8, r8
jne 0x1400518be
mov dword [r10], r9d
lea ecx, [rdi + 8]
mov eax, dword [r13 + 0x38]
mov r8d, r15d
cmp eax, ecx
mov byte [r13 + 0x1f], r11b
mov edx, 0x8f
mov dword [r13 + 0x28], r11d
cmovle eax, ecx
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov dword [r13 + 0x38], eax
call fcn.140025d88
mov r8, qword [rsp + 0x70]
mov r9d, 0xfffffff1
mov edx, eax
mov rcx, rsi
call fcn.140026584
movsxd rax, dword [rsi + 0xb8]
xor r8d, r8d
test eax, eax
jle 0x14005195e
movzx edx, byte [rsp + 0x68]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8 - 0x16], dx
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, r15d
mov rcx, rsi
lea edx, [r9 + 0x32]
call fcn.140025d88
mov r8, qword [r12 + 0x20]
lea rdx, str._in_database__s__n
mov edi, eax
mov rcx, r12
mov rax, qword [rbp - 0x40]
mov r8, qword [rax + r8]
call fcn.14000a9b0
mov rbx, rax
xor r8d, r8d
xor eax, eax
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea r9d, [rax + 3]
lea edx, [rax + 0x61]
call fcn.140025d88
mov r9d, 0xfffffff9
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov r9d, 3
mov dword [rsp + 0x20], 3
mov r8d, r15d
mov rcx, rsi
lea edx, [r9 + 0x5a]
call fcn.140025d88
mov rcx, rsi
call fcn.140050548
mov r8d, dword [rsi + 0xb8]
mov edx, edi
mov rcx, rsi
call fcn.140026298
mov rax, qword [rbp - 0x50]
xor r11d, r11d
or rbx, 0xffffffffffffffff
mov rdi, qword [rax + 0x10]
mov qword [rsp + 0x70], rdi
test rdi, rdi
je 0x1400522fb
mov rdi, qword [rdi + 0x10]
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x40], r11
mov dword [rbp - 0x48], ebx
cmp dword [rdi + 0x38], r14d
jl 0x1400522e5
test byte [rdi + 0x40], 0x20
jne 0x140051a39
mov qword [rbp - 0x18], r11
jmp 0x140051a5d
mov rcx, qword [rdi + 0x10]
mov qword [rbp - 0x18], rcx
test rcx, rcx
je 0x140051a5d
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, r15b
je 0x140051a59
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x140051a46
mov qword [rbp - 0x18], rcx
mov rcx, r13
call fcn.14003a94c
lea rax, [rbp - 0x44]
xor ebx, ebx
mov qword [rsp + 0x38], rax
xor r9d, r9d
lea rax, [rsp + 0x7c]
mov rdx, rdi
mov qword [rsp + 0x30], rax
mov rcx, r13
mov qword [rsp + 0x28], rbx
lea r8d, [rbx + 0x69]
mov dword [rsp + 0x20], r14d
call fcn.14004e838
lea r9d, [rbx + 7]
mov dword [rsp + 0x20], ebx
xor r8d, r8d
lea edx, [rbx + 0x43]
mov rcx, rsi
call fcn.140025d88
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x140051ae9
mov r12d, 8
xor r13d, r13d
xor r8d, r8d
mov dword [rsp + 0x20], r13d
mov r9d, r12d
mov rcx, rsi
lea edx, [r8 + 0x43]
call fcn.140025d88
mov rbx, qword [rbx + 0x28]
add r12d, r14d
test rbx, rbx
jne 0x140051abe
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 0x58]
mov r8d, dword [rsp + 0x7c]
xor ebx, ebx
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov rcx, rsi
lea edx, [rbx + 0x25]
call fcn.140025d88
mov r9d, r14d
mov dword [rsp + 0x20], ebx
lea edx, [rbx + 0x50]
mov rcx, rsi
lea r8d, [rbx + 7]
call fcn.140025d88
mov edx, ebx
mov dword [rbp - 0x80], eax
mov dword [rsp + 0x60], ebx
cmp bx, word [rdi + 0x46]
jge 0x140051c31
mov qword [rbp - 0x50], rbx
mov r13, rdi
movsx ecx, word [r13 + 0x44]
cmp edx, ecx
je 0x140051c0b
mov rax, qword [r13 + 8]
xor edi, edi
cmp byte [rbx + rax + 0x18], dil
je 0x140051c0b
mov r8d, dword [rsp + 0x7c]
mov r9d, edx
mov rdx, r13
mov dword [rsp + 0x20], 3
mov rcx, rsi
call fcn.14003a6a4
movsxd rax, dword [rsi + 0xb8]
test eax, eax
jle 0x140051b88
lea rcx, [rax + rax*2]
mov edx, 0x80
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8 - 0x16], dx
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov rcx, rsi
lea edx, [r9 + 0x33]
lea r8d, [r9 + 3]
call fcn.140025d88
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 [rbx + r9]
call fcn.14000a9b0
mov rbx, rax
xor r8d, r8d
xor eax, eax
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea r9d, [rax + 3]
lea edx, [rax + 0x61]
call fcn.140025d88
mov r9d, 0xfffffff9
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov rcx, rsi
call fcn.140050548
mov r8d, dword [rsi + 0xb8]
mov edx, edi
mov rcx, rsi
call fcn.140026298
mov edx, dword [rsp + 0x60]
mov rbx, qword [rbp - 0x50]
movsx eax, word [r13 + 0x46]
add edx, r14d
add rbx, 0x20
mov dword [rsp + 0x60], edx
mov qword [rbp - 0x50], rbx
cmp edx, eax
jl 0x140051b32
mov r13, qword [rbp - 0x58]
xor ebx, ebx
mov rdi, qword [rbp - 0x70]
mov rdx, qword [rdi + 0x30]
test rdx, rdx
je 0x140051daa
test dword [r12 + 0x30], 0x200
jne 0x140051daa
xor r8d, r8d
mov rcx, r12
call fcn.140038230
mov rbx, rax
mov qword [rbp - 0x60], rax
xor eax, eax
cmp byte [r12 + 0x61], al
jne 0x140051d98
mov rcx, rsi
call fcn.140026038
mov rcx, rsi
mov dword [rsp + 0x60], eax
call fcn.140026038
add dword [r13 + 0x48], r14d
mov ecx, dword [rsp + 0x7c]
inc ecx
mov dword [rbp - 0x78], eax
mov dword [r13 + 0x44], ecx
mov ecx, dword [rbx]
sub ecx, r14d
movsxd rbx, ecx
test rbx, rbx
jle 0x140051ce2
mov rax, qword [rbp - 0x60]
lea rdi, [rbx*4 + 1]
mov r12d, dword [rsp + 0x60]
add rdi, rbx
lea rdi, [rax + rdi*8]
mov rdx, qword [rdi]
xor r9d, r9d
mov r8d, r12d
mov rcx, r13
call fcn.14003c0f0
sub rbx, r14
lea rdi, [rdi - 0x28]
test rbx, rbx
jg 0x140051cb6
mov rsi, qword [rbp - 0x38]
mov r12, qword [rbp - 0x20]
mov rdi, qword [rbp - 0x70]
mov eax, dword [rbp - 0x78]
mov r8d, eax
mov r9d, 0x10
mov rax, qword [rbp - 0x60]
mov rcx, r13
mov rdx, qword [rax + 8]
call fcn.14003be10
mov rax, qword [rsi + 0x18]
xor edx, edx
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x140051d1f
movsxd rax, dword [rsp + 0x60]
shl rax, 2
sub rcx, rax
mov eax, dword [rsi + 0xb8]
mov dword [rcx - 4], eax
mov dword [r13 + 0x44], edx
mov rcx, r12
mov r8, qword [rdi]
lea rdx, str.CHECK_constraint_failed_in__s
call fcn.14000a9b0
mov rbx, rax
xor r8d, r8d
xor eax, eax
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea r9d, [rax + 3]
lea edx, [rax + 0x61]
call fcn.140025d88
mov r9d, 0xfffffff9
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov rcx, rsi
call fcn.140050548
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x140051d8c
movsxd rax, dword [rbp - 0x78]
shl rax, 2
sub rcx, rax
mov eax, dword [rsi + 0xb8]
mov dword [rcx - 4], eax
mov rcx, r13
call fcn.14003a658
mov rbx, qword [rbp - 0x60]
test rbx, rbx
je 0x140051da8
mov rdx, rbx
mov rcx, r12
call fcn.140038a3c
xor ebx, ebx
cmp byte [rsp + 0x78], 0x71
je 0x14005216e
movsx r9d, word [rdi + 0x46]
mov rcx, rsi
mov r8d, dword [rsp + 0x7c]
mov edi, 3
sub r9d, r14d
mov dword [rsp + 0x20], edi
lea edx, [rdi + 0x5f]
call fcn.140025d88
movsxd rax, dword [rsi + 0xb8]
test eax, eax
jle 0x140051df1
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea edx, [rdi + 0x7d]
mov word [rax + rcx*8 - 0x16], dx
mov rax, qword [rbp - 0x70]
mov dword [rsp + 0x60], ebx
mov rbx, qword [rax + 0x10]
mov qword [rbp - 0x50], rbx
test rbx, rbx
je 0x140052173
mov r12d, dword [rsp + 0x60]
mov rcx, rsi
call fcn.140026038
mov dword [rbp - 0x28], eax
cmp qword [rbp - 0x18], rbx
je 0x14005214f
mov eax, dword [rbp - 0x48]
xor r9d, r9d
mov r8d, dword [rsp + 0x7c]
mov rdx, rbx
mov dword [rsp + 0x38], eax
mov rcx, r13
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
xor eax, eax
mov dword [rsp + 0x20], eax
call fcn.1400477f4
mov dword [rbp - 0x48], eax
lea r8d, [r12 + 8]
xor eax, eax
mov qword [rbp - 0x40], rbx
mov r9d, r14d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x50]
call fcn.140025d88
movzx eax, word [rbx + 0x60]
mov edx, 0x1e
mov r8d, dword [rbp - 0x44]
mov rcx, rsi
mov r9d, dword [rbp - 0x28]
add r8d, r12d
mov dword [rbp - 0x78], eax
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x20], eax
call fcn.140025d88
mov rcx, qword [rsi]
xor r8d, r8d
mov dword [rbp - 0x28], eax
cmp byte [rcx + 0x61], r8b
jne 0x140051ec2
movsxd rcx, eax
mov eax, dword [rbp - 0x78]
lea rdx, [rcx + rcx*2]
mov rcx, qword [rsi + 0x68]
mov byte [rcx + rdx*8 + 1], 0xfd
mov dword [rcx + rdx*8 + 0x10], eax
mov r9d, edi
mov dword [rsp + 0x20], r8d
mov edx, 0x61
mov rcx, rsi
call fcn.140025d88
xor r9d, r9d
lea r8, str.row
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov edx, 0x5d
mov dword [rsp + 0x20], edi
mov r9d, edi
mov rcx, rsi
lea r8d, [rdx - 0x56]
call fcn.140025d88
xor eax, eax
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea r9d, [rax + 4]
lea edx, [rax + 0x61]
call fcn.140025d88
xor r9d, r9d
lea r8, str._missing_from_index
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov edx, 0x5d
mov dword [rsp + 0x20], edi
mov r9d, edi
mov rcx, rsi
lea r8d, [rdx - 0x59]
call fcn.140025d88
mov rbx, qword [rbx]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea r9d, [rax + 4]
lea edx, [rax + 0x61]
call fcn.140025d88
xor r9d, r9d
mov dword [rbp], eax
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov edx, 0x5d
mov dword [rsp + 0x20], edi
mov r9d, edi
mov rcx, rsi
lea r8d, [rdx - 0x59]
call fcn.140025d88
mov rcx, rsi
call fcn.140050548
mov r8d, dword [rsi + 0xb8]
mov rcx, rsi
mov edx, dword [rbp - 0x28]
mov dword [rbp - 0x60], eax
call fcn.140026298
mov rbx, qword [rbp - 0x50]
xor eax, eax
cmp byte [rbx + 0x62], al
je 0x140052132
mov rcx, rsi
call fcn.140026038
xor r10d, r10d
mov dword [rbp - 0x78], eax
mov r9d, eax
mov r12d, r10d
cmp r10w, word [rbx + 0x5e]
jae 0x140052039
mov r13, qword [rbp - 0x70]
mov edx, r10d
mov qword [rbp - 0x28], rdx
mov rcx, qword [rbx + 8]
cmp word [rdx + rcx], r10w
jl 0x140051ffe
movsx rcx, word [rdx + rcx]
mov rax, qword [r13 + 8]
shl rcx, 5
cmp byte [rcx + rax + 0x18], r10b
jne 0x140052022
mov r8d, dword [rbp - 0x48]
mov edx, 0x32
add r8d, r12d
mov dword [rsp + 0x20], r10d
mov rcx, rsi
call fcn.140025d88
mov rdx, qword [rbp - 0x28]
xor r10d, r10d
mov r9d, dword [rbp - 0x78]
movzx eax, word [rbx + 0x5e]
add rdx, r15
add r12d, r14d
mov qword [rbp - 0x28], rdx
cmp r12d, eax
jl 0x140051fdf
mov r13, qword [rbp - 0x58]
mov r8d, dword [rbp - 0x44]
xor r9d, r9d
mov r12d, dword [rsp + 0x60]
mov rcx, rsi
add r8d, r12d
mov dword [rsp + 0x20], r10d
lea edx, [r9 + 7]
call fcn.140025d88
mov r9d, dword [rbp - 0x78]
mov ebx, eax
xor eax, eax
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0xd]
call fcn.140025d88
mov r8d, dword [rsi + 0xb8]
mov edx, ebx
mov rcx, rsi
call fcn.140026298
mov r8d, dword [rbp - 0x44]
mov edx, 0x27
mov rbx, qword [rbp - 0x50]
add r8d, r12d
mov r9d, dword [rbp - 0x78]
mov rcx, rsi
movzx eax, word [rbx + 0x5e]
mov dword [rbp - 0x28], eax
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x20], eax
call fcn.140025d88
mov rcx, qword [rsi]
xor r8d, r8d
cmp byte [rcx + 0x61], r8b
jne 0x1400520d0
mov edx, dword [rbp - 0x28]
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edx
mov r9d, edi
mov dword [rsp + 0x20], r8d
mov edx, 0x61
mov rcx, rsi
call fcn.140025d88
xor r9d, r9d
lea r8, str.non_unique_entry_in_index
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov r9d, dword [rbp]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0xd]
call fcn.140025d88
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x140052132
movsxd rax, dword [rbp - 0x78]
shl rax, 2
sub rcx, rax
mov eax, dword [rsi + 0xb8]
mov dword [rcx - 4], eax
mov r8d, dword [rsi + 0xb8]
mov rcx, rsi
mov edx, dword [rbp - 0x60]
call fcn.140026298
mov edx, dword [rbp - 0x68]
mov rcx, r13
call fcn.1400479fc
mov rbx, qword [rbx + 0x28]
add r12d, r14d
mov qword [rbp - 0x50], rbx
mov dword [rsp + 0x60], r12d
test rbx, rbx
jne 0x140051e0f
mov r12, qword [rbp - 0x20]
jmp 0x140052173
mov edi, 3
mov r8d, dword [rsp + 0x7c]
xor ebx, ebx
mov dword [rsp + 0x20], ebx
mov edx, 7
mov ebx, dword [rbp - 0x80]
mov rcx, rsi
mov r9d, ebx
call fcn.140025d88
mov r8d, dword [rsi + 0xb8]
lea edx, [rbx - 1]
mov rcx, rsi
call fcn.140026298
cmp byte [rsp + 0x78], 0x71
je 0x1400522f2
xor eax, eax
mov r9d, r15d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x61]
call fcn.140025d88
xor r9d, r9d
lea r8, str.wrong__of_entries_in_index
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov rax, qword [rbp - 0x70]
xor r11d, r11d
mov ebx, r11d
mov dword [rsp + 0x60], ebx
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400522e1
mov rax, qword [rbp - 0x18]
mov r13, rcx
cmp rax, r13
je 0x1400522c5
mov r8d, dword [rbp - 0x44]
mov r9d, edi
add r8d, ebx
mov dword [rsp + 0x20], r11d
mov edx, 0x65
mov rcx, rsi
call fcn.140025d88
xor r9d, r9d
mov dword [rsp + 0x20], edi
lea r8d, [rbx + 8]
mov rcx, rsi
lea edx, [r9 + 0x35]
call fcn.140025d88
movsxd rcx, dword [rsi + 0xb8]
xor r12d, r12d
mov dword [rbp - 0x80], eax
test ecx, ecx
jle 0x14005225a
lea rdx, [rcx + rcx*2]
mov eax, 0x90
mov rcx, qword [rsi + 0x68]
mov word [rcx + rdx*8 - 0x16], ax
mov rbx, qword [r13]
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov rcx, rsi
lea edx, [r9 + 0x5d]
call fcn.140025d88
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov edx, 0x5d
mov dword [rsp + 0x20], edi
mov r9d, r15d
mov rcx, rsi
lea r8d, [rdx - 0x59]
call fcn.140025d88
mov rcx, rsi
call fcn.140050548
mov r8d, dword [rsi + 0xb8]
mov rcx, rsi
mov edx, dword [rbp - 0x80]
call fcn.140026298
mov rax, qword [rbp - 0x18]
xor r11d, r11d
mov ebx, dword [rsp + 0x60]
mov r13, qword [r13 + 0x28]
add ebx, r14d
mov dword [rsp + 0x60], ebx
test r13, r13
jne 0x1400521fb
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 0x58]
or rbx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x70]
mov rdi, qword [rdi]
jmp 0x140051a06
or rbx, 0xffffffffffffffff
xor r11d, r11d
jmp 0x1400522e5
mov eax, dword [rsp + 0x68]
mov edi, dword [rbp - 0x10]
add eax, r14d
mov dword [rsp + 0x68], eax
cmp eax, dword [r12 + 0x28]
jl 0x14005180a
mov r15, qword [rbp - 0x30]
xor r9d, r9d
lea r8, [0x1400df948]
mov rcx, rsi
lea edx, [r9 + 7]
call fcn.1400261b4
mov rdi, rax
test rax, rax
je 0x140052361
sub r14d, dword [rsp + 0x64]
mov ecx, 0xb
mov dword [rax + 8], r14d
mov byte [rax + 0x31], bl
lea rax, [0x1400da7f8]
mov qword [rdi + 0x40], rax
mov byte [rdi + 0x79], bl
call fcn.14006f410
mov qword [rdi + 0x88], rax
mov r8d, dword [rsi + 0xb8]
xor edx, edx
sub r8d, 2
mov rcx, rsi
call fcn.1400262b0
jmp 0x140052eea
cmp ecx, 0x1f
ja 0x140052a7e
je 0x140052a71
sub ecx, 0x14
je 0x140052958
sub ecx, r14d
je 0x1400528ed
sub ecx, edx
je 0x14005284c
sub ecx, r14d
je 0x1400527ad
sub ecx, r14d
je 0x1400526ea
sub ecx, edx
je 0x1400524c4
sub ecx, r14d
je 0x14005245d
cmp ecx, edx
jne 0x140052ac2
mov rax, qword [rbp - 0x68]
or rdi, 0xffffffffffffffff
mov rdx, qword [rbx + rax + 8]
mov qword [rbp - 0x38], rdx
test r15, r15
je 0x14005244d
lea rdx, str.fast
mov rcx, r15
call fcn.14000b6fc
xor edx, edx
test eax, eax
jne 0x1400523ff
lea edi, [rdx + 2]
jmp 0x140052418
xor r8d, r8d
mov edx, r14d
mov rcx, r15
call fcn.140050060
xor edx, edx
mov ecx, edx
test al, al
setne cl
mov edi, ecx
mov rax, qword [rbp - 0x60]
cmp dword [rax + 8], edx
jne 0x14005244d
mov r13d, edx
cmp dword [r12 + 0x28], edx
jle 0x14005244d
mov rbx, rdx
mov rcx, qword [r12 + 0x20]
mov edx, edi
mov rcx, qword [rbx + rcx + 8]
call fcn.14001b574
add r13d, r14d
lea rbx, [rbx + 0x20]
cmp r13d, dword [r12 + 0x28]
jl 0x14005242e
mov rcx, qword [rbp - 0x38]
mov edx, edi
call fcn.14001b574
jmp 0x14005098e
mov rax, qword [rbp - 0x68]
mov rbx, qword [rbx + rax + 8]
xor eax, eax
test r15, r15
jne 0x140052485
test rbx, rbx
je 0x14005247b
mov rax, qword [rbx + 8]
mov ecx, dword [rax + 0x30]
jmp 0x14005247d
mov ecx, eax
movsxd rdx, ecx
jmp 0x140052ee2
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.14000bea8
mov edx, dword [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov dword [r12 + 0x6c], edx
mov rcx, rbx
call fcn.14001b438
cmp eax, 7
jne 0x140052eea
mov rcx, r12
call fcn.140009664
jmp 0x140052eea
xor edx, edx
test r15, r15
je 0x1400524f1
mov dword [rsp + 0x60], edx
mov rcx, r15
lea rdx, [rsp + 0x60]
call fcn.14000bea8
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x60], ecx
test cl, 2
je 0x140052eea
xor edx, edx
jmp 0x1400524f9
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 - 0x80], rdx
je 0x140052511
mov eax, edi
jmp 0x140052519
mov eax, dword [r12 + 0x28]
sub eax, r14d
movsxd rbx, eax
mov rcx, rdi
cmp rdi, rbx
jg 0x1400526d6
mov rax, rcx
sub rbx, rcx
shl rax, 5
add rbx, r14
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x70], rbx
cmp edi, r14d
je 0x1400526b9
mov edx, edi
mov rcx, r13
call fcn.140045584
mov rax, qword [r12 + 0x20]
xor edx, edx
mov r15, qword [rbp - 0x58]
mov rcx, qword [r15 + rax + 0x18]
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1400526b6
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x38], rcx
test dword [rcx + 0x40], 0x100
je 0x1400526a1
movzx ebx, word [rcx + 0x48]
mov rax, qword [rcx + 0x10]
add bx, 0x2e
jmp 0x14005259f
test byte [rax + 0x64], 0x80
je 0x1400525a6
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140052595
jmp 0x1400525a8
mov ebx, edx
test bx, bx
je 0x1400525f8
mov edx, dword [rsp + 0x64]
mov r9, rcx
mov rcx, r13
mov dword [rsp + 0x20], 0x69
mov r8d, edi
call fcn.14004bf64
mov ecx, dword [rsp + 0x60]
mov r9d, dword [rsi + 0xb8]
and ecx, r14d
mov r8d, dword [rsp + 0x64]
add ecx, 2
movsx edx, bx
add r9d, ecx
mov dword [rsp + 0x20], edx
mov rcx, rsi
mov edx, 0x22
call fcn.140025d88
mov rcx, qword [rbp - 0x38]
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.14000a9b0
mov rbx, rax
mov qword [rbp - 0x38], rax
test byte [rsp + 0x60], r14b
je 0x14005266f
mov rcx, r13
call fcn.14003ccf0
mov ebx, eax
xor r8d, r8d
xor eax, eax
mov r9d, ebx
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x61]
call fcn.140025d88
mov r8, qword [rbp - 0x38]
mov r9d, 0xfffffff9
mov edx, eax
mov rcx, rsi
call fcn.140026584
xor eax, eax
mov r9d, r14d
mov r8d, ebx
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x4e]
call fcn.140025d88
jmp 0x14005269b
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x89
mov rcx, rsi
call fcn.140025d88
mov r9d, 0xfffffff9
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140026584
mov rax, qword [rbp - 0x50]
xor edx, edx
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x140052572
mov rbx, qword [rsp + 0x70]
mov rax, r15
add rax, 0x20
add edi, r14d
sub rbx, r14
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x70], rbx
jne 0x14005253e
mov r15, qword [rbp - 0x30]
xor r9d, r9d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov edx, 0x98
jmp 0x14005283f
test r15, r15
je 0x140052776
lea rdx, [rbp - 0x70]
mov rcx, r15
call fcn.14000bdb4
mov rdx, qword [rbp - 0x70]
xor r9d, r9d
mov rcx, qword [rbp - 0x60]
test rdx, rdx
cmovs rdx, qword [0x140100738]
mov qword [rbp - 0x70], rdx
cmp dword [rcx + 8], r9d
jne 0x140052724
mov qword [r12 + 0x40], rdx
mov eax, dword [r12 + 0x28]
sub eax, r14d
movsxd rbx, eax
js 0x140052776
mov r15, qword [rbp - 0x40]
mov rdi, rbx
shl rdi, 5
mov rax, qword [r12 + 0x20]
mov r8, qword [rdi + rax + 8]
test r8, r8
je 0x140052769
cmp rbx, r15
je 0x140052756
cmp dword [rcx + 8], r9d
jne 0x140052769
mov rcx, r8
call fcn.14001b2e8
mov rdx, qword [rbp - 0x70]
xor r9d, r9d
mov rcx, qword [rbp - 0x60]
sub rdi, 0x20
sub rbx, r14
jns 0x14005273c
mov r15, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x80]
lea r9, [rbp - 0x70]
or rdi, 0xffffffffffffffff
mov rcx, r12
mov qword [rbp - 0x70], rdi
lea r8d, [rdi + 0x13]
call fcn.140071a30
test eax, eax
jne 0x14005279f
mov rdx, qword [rbp - 0x70]
jmp 0x140052ee2
cmp eax, 0xc
je 0x140052eea
jmp 0x1400507a3
mov edx, edi
mov rcx, r13
call fcn.140045584
add dword [r13 + 0x38], r14d
lea rbx, [0x140000000]
mov rax, qword [rbp - 8]
mov r13d, dword [r13 + 0x38]
movzx eax, byte [rax]
cmp byte [rax + rbx + 0xde010], 0x70
jne 0x1400527e4
xor eax, eax
mov edx, 0xa0
mov dword [rsp + 0x20], eax
jmp 0x140052820
xor eax, eax
mov dword [rsp + 0x60], eax
mov ebx, eax
test r15, r15
je 0x140052817
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.14000bea8
mov ebx, dword [rsp + 0x60]
test ebx, ebx
jns 0x140052817
cmp ebx, 0x80000000
jne 0x140052815
mov ebx, 0x7fffffff
jmp 0x140052817
neg ebx
mov dword [rsp + 0x20], ebx
mov edx, 0xa1
mov r9d, r13d
mov r8d, edi
mov rcx, rsi
call fcn.140025d88
xor eax, eax
mov r9d, r14d
mov dword [rsp + 0x20], eax
mov r8d, r13d
mov edx, 0x4e
mov rcx, rsi
call fcn.140025d88
jmp 0x140052eea
mov rcx, r15
call fcn.140050130
mov r13d, eax
xor ecx, ecx
mov rax, qword [rbp - 0x60]
cmp dword [rax + 8], ecx
jne 0x1400528b3
or rdi, 0xffffffffffffffff
cmp r13d, edi
jne 0x140052873
movzx eax, byte [r12 + 0x63]
jmp 0x1400528cb
mov edi, 2
cmp dword [r12 + 0x28], edi
jle 0x1400528ae
lea r15d, [rdi + 0x3e]
mov rax, qword [r12 + 0x20]
mov edx, r13d
mov rcx, qword [r15 + rax + 8]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
call fcn.140015bcc
add edi, r14d
lea r15, [r15 + 0x20]
cmp edi, dword [r12 + 0x28]
jl 0x140052883
mov r15, qword [rbp - 0x30]
mov byte [r12 + 0x63], r13b
mov rax, qword [rbp - 0x68]
mov edx, r13d
mov rax, qword [rbx + rax + 8]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
call fcn.140015bcc
cmp eax, r14d
lea rcx, str.normal
lea rdx, str.exclusive
cmovne rdx, rcx
mov rcx, rsi
call fcn.1400503d4
jmp 0x140052eea
mov rax, qword [rbp - 0x68]
mov rax, qword [rbx + rax + 8]
or rbx, 0xffffffffffffffff
mov rcx, qword [rax + 8]
mov rax, 0xfffffffffffffffe
mov rdi, qword [rcx]
mov qword [rbp - 0x58], rax
test r15, r15
je 0x14005292c
lea rdx, [rbp - 0x58]
mov rcx, r15
call fcn.14000bdb4
mov rax, qword [rbp - 0x58]
cmp rax, rbx
cmovl rax, rbx
mov qword [rbp - 0x58], rax
cmp rax, rbx
jl 0x140052948
mov rcx, qword [rdi + 0x120]
mov qword [rdi + 0xc8], rax
test rcx, rcx
je 0x140052948
mov qword [rcx + 0x20], rax
mov rdx, qword [rdi + 0xc8]
mov qword [rbp - 0x58], rdx
jmp 0x140052ee2
xor r8d, r8d
test r15, r15
jne 0x140052966
or r13d, 0xffffffff
jmp 0x1400529d2
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 - 0x38], rcx
mov r13d, r8d
lea rdx, [0x1400dcce8]
mov qword [rsp + 0x70], rax
or rbx, 0xffffffffffffffff
cmp rax, rdx
je 0x1400529ca
mov rdx, qword [rax]
test rdx, rdx
je 0x1400529ca
mov r8d, ecx
mov rcx, r15
call fcn.14000b750
xor r8d, r8d
test eax, eax
je 0x1400529cd
mov rax, qword [rsp + 0x70]
add r13d, r14d
mov rcx, qword [rbp - 0x38]
add rax, 8
jmp 0x140052989
mov r13d, ebx
cmp r13d, ebx
jne 0x1400529e3
mov rax, qword [rbp - 0x60]
cmp dword [rax + 8], r8d
jne 0x1400529e3
mov edi, r8d
mov dword [rax + 8], r14d
mov ebx, dword [r12 + 0x28]
sub ebx, r14d
js 0x140052a61
mov r15, qword [rbp - 0x60]
movsxd rdx, edi
movsxd rcx, ebx
mov rdi, rcx
mov qword [rsp + 0x70], rcx
shl rdi, 5
mov qword [rbp - 0x38], rdx
mov rax, qword [r12 + 0x20]
cmp qword [rdi + rax + 8], r8
je 0x140052a4c
cmp rcx, rdx
je 0x140052a1e
cmp dword [r15 + 8], r8d
jne 0x140052a4c
mov edx, ebx
mov rcx, rsi
call fcn.140026964
mov r9d, r14d
mov dword [rsp + 0x20], r13d
mov r8d, ebx
mov edx, 9
mov rcx, rsi
call fcn.140025d88
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
mov rdx, qword [rbp - 0x38]
sub rcx, r14
sub rdi, 0x20
sub ebx, r14d
mov qword [rsp + 0x70], rcx
jns 0x140052a07
mov r15, qword [rbp - 0x30]
mov dword [rsp + 0x20], r8d
mov r9d, r14d
mov r8d, r14d
jmp 0x14005283a
mov rcx, r12
call fcn.14006e8d0
jmp 0x140052eea
sub ecx, 0x20
je 0x140052eb8
sub ecx, r14d
je 0x140052e62
sub ecx, r14d
je 0x140052cbd
sub ecx, r14d
je 0x140052c9d
sub ecx, r14d
je 0x140052c11
sub ecx, r14d
je 0x140052bd0
sub ecx, r14d
je 0x140052b85
cmp ecx, r14d
je 0x140052af5
xor r9d, r9d
test r15, r15
je 0x140052ae8
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], r9d
mov rcx, r15
call fcn.14000bea8
mov edx, dword [rsp + 0x60]
mov rcx, r12
call fcn.14006f5f0
movsxd rdx, dword [r12 + 0x280]
jmp 0x140052ee2
mov rax, qword [rbp - 0x60]
xor ecx, ecx
mov r9d, 0xa
cmp qword [rax], rcx
lea ebx, [rcx + 3]
cmovne r9d, edi
mov edi, ecx
mov dword [rbp - 0x80], r9d
test r15, r15
je 0x140052b5a
lea rdx, str.full
mov rcx, r15
call fcn.14000b6fc
test eax, eax
jne 0x140052b2e
mov edi, r14d
jmp 0x140052b5a
lea rdx, str.restart
mov rcx, r15
call fcn.14000b6fc
test eax, eax
jne 0x140052b46
lea edi, [rax + 2]
jmp 0x140052b5a
lea rdx, str.truncate
mov rcx, r15
call fcn.14000b6fc
test eax, eax
cmove edi, ebx
mov r8d, dword [rbp - 0x80]
mov r9d, edi
mov edx, 8
mov dword [r13 + 0x38], ebx
mov rcx, rsi
mov dword [rsp + 0x20], r14d
call fcn.140025d88
xor eax, eax
mov r9d, ebx
mov dword [rsp + 0x20], eax
jmp 0x140052a69
xor ecx, ecx
test r15, r15
je 0x140052bab
mov dword [rsp + 0x60], ecx
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.14000bea8
mov edx, dword [rsp + 0x60]
mov rcx, r12
call fcn.14006ffa0
xor ecx, ecx
lea rax, [0x14006ff40]
cmp qword [r12 + 0x128], rax
jne 0x140052bc9
mov eax, dword [r12 + 0x130]
jmp 0x14005098e
mov eax, ecx
jmp 0x14005098e
test r15, r15
je 0x140052c04
lea rdx, [rbp - 0x38]
mov rcx, r15
call fcn.14000bdb4
test eax, eax
jne 0x140052c04
mov rax, qword [rbp - 0x38]
test rax, rax
js 0x140052c04
mov r8d, 0x7fffffff
mov edx, 0xb
and r8d, eax
mov rcx, r12
call fcn.140070780
movsxd rdx, dword [r12 + 0xa8]
jmp 0x140052ee2
xor ecx, ecx
test r15, r15
jne 0x140052c24
mov rdx, qword [0x140104378]
jmp 0x1400528e0
cmp byte [r15], cl
je 0x140052c60
mov rcx, qword [r12]
lea r9, [rbp - 0x80]
mov r8d, r14d
mov rdx, r15
mov rax, qword [rcx + 0x38]
call qword [case.0x140008940.0]
xor ecx, ecx
test eax, eax
jne 0x140052c4c
cmp dword [rbp - 0x80], ecx
jne 0x140052c60
lea rdx, str.not_a_writable_directory
mov rcx, r13
call fcn.14000b618
jmp 0x140052eea
cmp byte [r12 + 0x60], r14b
ja 0x140052c6f
mov rcx, r13
call fcn.1400501f8
mov rcx, qword [0x140104378]
call fcn.140009070
xor eax, eax
cmp byte [r15], al
je 0x140052c91
mov rdx, r15
lea rcx, [0x1400d7794]
call fcn.14000aa80
mov qword [0x140104378], rax
jmp 0x140052eea
test r15, r15
jne 0x140052cad
movzx edx, byte [r12 + 0x60]
jmp 0x140052ee2
mov rdx, r15
mov rcx, r13
call fcn.140050254
jmp 0x140052eea
test r15, r15
je 0x140052eea
mov r9, qword [rbp - 0x80]
mov r8, r15
mov rcx, r13
call fcn.1400403c8
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140052eea
mov rbx, qword [rax + 0x10]
mov qword [rbp - 0x40], rbx
test rbx, rbx
je 0x140052d08
mov ecx, dword [rbx + 0x64]
and cl, 3
cmp cl, 2
je 0x140052d04
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140052cf0
mov qword [rbp - 0x40], rbx
mov edx, edi
mov dword [r13 + 0x38], 6
mov rcx, r13
call fcn.140045584
mov rdx, qword [rsp + 0x70]
mov rcx, r13
call fcn.1400429f0
mov r13, qword [rsp + 0x70]
xor eax, eax
mov r8d, eax
mov dword [rsp + 0x60], eax
movzx ecx, word [r13 + 0x46]
mov rdi, qword [r13 + 8]
cmp ax, cx
jge 0x140052eea
mov r15d, eax
xor r12d, r12d
test byte [rdi + 0x1b], 2
je 0x140052d5b
add r15d, r14d
jmp 0x140052e3d
test byte [rdi + 0x1b], r14b
jne 0x140052d68
mov dword [rsp + 0x64], r12d
jmp 0x140052da7
test rbx, rbx
jne 0x140052d74
mov dword [rsp + 0x64], r14d
jmp 0x140052da7
mov edx, r14d
mov r9, r14
mov dword [rsp + 0x64], edx
cmp r14w, cx
jg 0x140052da7
movsx r10, cx
mov rcx, qword [rbx + 8]
movsx eax, word [rcx]
cmp eax, r8d
je 0x140052da3
add edx, r14d
add r9, r14
add rcx, 2
cmp r9, r10
jle 0x140052d8c
mov dword [rsp + 0x64], edx
mov rax, qword [rdi + 8]
test rax, rax
je 0x140052dbb
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
jmp 0x140052dc0
mov qword [rsp + 0x70], r12
test byte [rdi + 0x1b], 4
mov rdx, qword [rdi]
jne 0x140052dd2
lea r10, [0x1400d6958]
jmp 0x140052df1
mov rcx, rdx
mov rbx, rdx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov r8d, dword [rsp + 0x60]
lea r10, [rbx + 1]
mov rdx, rbx
add r10, rax
mov rbx, qword [rbp - 0x40]
cmp byte [rdi + 0x18], r12b
mov eax, r12d
mov ecx, dword [rsp + 0x64]
mov r9d, r8d
mov dword [rsp + 0x40], ecx
lea r8, str.issisi
mov rcx, qword [rsp + 0x70]
setne al
mov qword [rsp + 0x38], rcx
sub r9d, r15d
mov dword [rsp + 0x30], eax
mov rcx, rsi
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rdx
mov edx, r14d
call fcn.140025e00
movzx ecx, word [r13 + 0x46]
mov r8d, dword [rsp + 0x60]
add r8d, r14d
movsx eax, cx
add rdi, 0x20
mov dword [rsp + 0x60], r8d
cmp r8d, eax
jl 0x140052d4d
mov r15, qword [rbp - 0x30]
mov r12, qword [rbp - 0x20]
jmp 0x140052eea
xor eax, eax
test r15, r15
jne 0x140052e77
mov rax, qword [rbp - 0x68]
movzx edx, byte [rbx + rax + 0x10]
sub rdx, r14
jmp 0x140052ee2
cmp byte [r12 + 0x5f], al
jne 0x140052e8a
lea rdx, str.Safety_level_may_not_be_changed_inside_a_transaction
jmp 0x140052c53
cmp edi, r14d
je 0x140052eea
mov r8b, r14b
xor edx, edx
mov rcx, r15
call fcn.140050060
mov rcx, qword [rbp - 0x68]
add eax, r14d
and eax, 7
cmove eax, r14d
mov byte [rbx + rcx + 0x10], al
mov byte [rbx + rcx + 0x11], r14b
jmp 0x1400509e9
test r15, r15
je 0x140052ed6
lea rdx, [rbp - 0x38]
mov rcx, r15
call fcn.14000bdb4
test eax, eax
jne 0x140052ed6
mov rcx, qword [rbp - 0x38]
call fcn.140008c00
or rcx, 0xffffffffffffffff
call fcn.140008c00
mov rdx, rax
mov rcx, rsi
call fcn.140050388
mov rdx, qword [rbp - 8]
mov rcx, r12
call fcn.140009118
test r15, r15
je 0x140052f06
mov rdx, r15
mov rcx, r12
call fcn.140009118
mov rcx, qword [rbp + 0x48]
xor rcx, rsp
call fcn.1400a95a0
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret