Function at 0x1400376b4
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1d8]
sub rsp, 0x2d8
mov r12, qword [rcx]
mov r15, qword [rcx + 0x88]
mov r10, qword [rcx + 0x68]
mov dl, byte [r12 + 0x5e]
xor r14d, r14d
mov r11, rcx
lea eax, [r14 + 7]
mov bl, r14b
mov qword [rsp + 0x40], r15
mov byte [rbp + 0x228], dl
mov rdi, r15
mov esi, r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x48], r12
mov byte [rbp + 0x230], bl
mov r9d, r14d
mov dword [rbp + 0x238], r14d
mov r8d, r14d
mov dword [rbp - 0x5c], r14d
mov qword [rsp + 0x38], r10
lea r13d, [r14 + 1]
cmp dword [rcx + 0x38], eax
je 0x1400391f4
mov qword [rcx + 0x48], r14
mov qword [rcx + 0xa0], r14
mov eax, dword [r12 + 0x160]
mov dword [r12 + 0x228], r14d
test eax, eax
jne 0x14003bd0e
movsxd rax, dword [rcx + 0x34]
lea ebx, [r14 + 4]
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
movzx r14d, byte [rdi]
add r8d, r13d
mov qword [rbp - 0x68], rdi
mov dword [rbp - 0x5c], r8d
cmp r14d, 0xa8
ja case.0x14003779c.86
lea r8, [0x140000000]
mov eax, r14d
mov ecx, dword [r8 + r14*4 + 0x3d558]
add rcx, r8
jmp rcx
movsxd r8, dword [rdi + 4]
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r15
imul r8, r8, 0x38
imul rcx
mov word [r8 + r10 + 8], bx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edx
mov qword [r8 + r10], rax
jmp 0x14003d04e
movsxd rdx, dword [rdi + 4]
imul rdx, rdx, 0x38
add rdx, r10
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + 8], ax
lea rdi, [r15 + rcx*8]
mov dl, byte [rbp + 0x228]
jmp case.0x14003779c.86
mov eax, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
sub eax, r13d
cdqe
imul rcx, rcx, 0x38
mov word [rcx + r10 + 8], bx
xor ebx, ebx
mov qword [rcx + r10], rax
cmp dword [rdi + 8], ebx
jne 0x14003d04e
jmp 0x14003d076
movsxd rdx, dword [rdi + 4]
imul rdx, rdx, 0x38
add rdx, r10
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, dword [r15 + rcx*8 + 8]
sub eax, r13d
cdqe
jmp 0x1400377e7
movsxd r8, dword [rdi + 4]
sub rdi, r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
imul r8, r8, 0x38
movsxd rcx, dword [r8 + r10]
add rdx, rax
mov word [r8 + r10 + 8], bx
movsxd rax, edx
lea rcx, [rcx + rcx*2]
mov qword [r8 + r10], rax
jmp 0x1400377f4
movsxd rax, dword [rdi + 0xc]
imul rax, rax, 0x38
test byte [rax + r10 + 8], r13b
je case.0x14003779c.86
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
xor r14d, r14d
sub rcx, r15
imul rcx
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rdi + 4], r14d
jne 0x14003d088
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x14003d088
mov rax, qword [rcx + 8]
dec dword [r11 + 0x110]
mov qword [r11 + 0x100], rax
mov eax, dword [r11 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
call fcn.1400335d4
mov r11, qword [rbp + 0x220]
lea ebx, [r14 + 4]
cmp dword [rdi + 8], ebx
jne 0x140037928
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r13d
mov r15, qword [r11 + 0x88]
mov r10, qword [r11 + 0x68]
cdqe
lea rcx, [rax + rax*2]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], r10
lea rdi, [r15 + rcx*8]
mov dl, byte [rbp + 0x228]
mov r9d, dword [rbp + 0x238]
jmp case.0x14003779c.86
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov rcx, rax
movsxd rax, dword [rdi + 4]
mov qword [rcx], rax
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
jmp 0x140037947
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov rdx, rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14003796e
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov rdx, rax
mov eax, 8
mov word [rdx + 8], ax
jmp 0x14003798a
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov rdx, qword [rdi + 0x10]
xor ecx, ecx
mov rbx, rax
test rdx, rdx
jne 0x1400379cc
mov eax, ecx
jmp 0x1400379dd
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], cl
jne 0x1400379d0
and eax, 0x3fffffff
mov r14b, byte [rbp + 0x228]
mov dword [rdi + 4], eax
cmp r14b, r13b
je 0x140037a79
mov qword [rsp + 0x20], rcx
mov r9b, r13b
or r8d, 0xffffffff
mov rcx, rbx
call fcn.1400311c8
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003cadc
lea eax, [rsi + 2]
movzx ecx, r14b
test byte [rbx + 8], al
je 0x140037a35
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x140037a35
mov dl, cl
mov rcx, rbx
call fcn.1400186dc
xor r14d, r14d
jmp 0x140037a3b
xor r14d, r14d
mov eax, r14d
test eax, eax
jne 0x1400391ee
mov eax, 0x800
mov dword [rbx + 0x20], r14d
or word [rbx + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x140037a67
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x140037a67
mov rcx, r12
call fcn.140016650
mov byte [rdi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rdi + 4], eax
mov eax, dword [r12 + 0x7c]
mov r11, qword [rbp + 0x220]
cmp dword [rdi + 4], eax
jg 0x14003cae3
mov byte [rdi], Ordinal_73
mov ebx, 4
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov dl, byte [rbp + 0x228]
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov rcx, rax
mov eax, 0xa02
mov word [rcx + 8], ax
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rdi + 4]
mov byte [rcx + 0xa], dl
mov dword [rcx + 0xc], eax
jmp 0x14003794d
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov r14d, dword [rdi + 0xc]
sub r14d, dword [rdi + 8]
mov rcx, rax
mov eax, dword [rdi + 4]
neg eax
mov eax, 0x100
lea rbx, [rcx + 8]
sbb r15w, r15w
xor edx, edx
and r15w, ax
mov dword [rcx + 0xc], edx
add r15w, r13w
mov word [rbx], r15w
test r14d, r14d
jle 0x140037b46
mov ecx, 0x2400
lea rbx, [rbx + 0x38]
test word [rbx], cx
je 0x140037b33
lea rcx, [rbx - 8]
call fcn.140030aa0
xor edx, edx
mov ecx, 0x2400
jmp 0x140037b37
mov word [rbx], r13w
sub r14d, r13d
mov word [rbx], r15w
mov dword [rbx + 4], edx
test r14d, r14d
jg 0x140037b18
mov r11, qword [rbp + 0x220]
mov r15, qword [rsp + 0x40]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x228]
mov r9d, dword [rbp + 0x238]
jmp 0x14003d076
movsxd rax, dword [rdi + 4]
mov ecx, 0xff41
imul rax, rax, 0x38
add rax, r10
and word [rax + 8], cx
or word [rax + 8], r13w
jmp case.0x14003779c.86
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov r8d, dword [rdi + 4]
mov rdx, qword [rdi + 0x10]
mov rbx, rax
xor eax, eax
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400311c8
mov dl, byte [rbp + 0x228]
mov byte [rbx + 0xa], dl
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
jmp 0x140037b5d
mov eax, dword [rdi + 4]
sub eax, r13d
movsxd r14, eax
imul r14, r14, 0x38
add r14, qword [r11 + 0x80]
test byte [r14 + 8], 0x12
je 0x140037c02
mov ecx, dword [r14 + 0xc]
mov eax, 0x4000
test word [r14 + 8], ax
je 0x140037bf4
add ecx, dword [r14]
mov rax, qword [r14 + 0x28]
xor edx, edx
cmp ecx, dword [rax + 0x7c]
setg dl
jmp 0x140037c06
xor eax, eax
mov edx, eax
test edx, edx
jne 0x14003cae3
movsxd rbx, dword [rdi + 8]
mov eax, 0x2400
imul rbx, rbx, 0x38
add rbx, r10
test word [rbx + 8], ax
je 0x140037c3f
mov rcx, rbx
call fcn.140030aa0
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov r9d, dword [rbp + 0x238]
mov rax, qword [r14]
mov ecx, 0xebff
mov qword [rbx], rax
mov rax, qword [r14 + 8]
mov qword [rbx + 8], rax
mov rax, qword [r14 + 0x10]
mov qword [rbx + 0x10], rax
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
jmp 0x14003d070
movsxd r14, dword [rdi + 4]
movsxd rbx, dword [rdi + 8]
mov r15d, dword [rdi + 0xc]
imul r14, r14, 0x38
imul rbx, rbx, 0x38
add r14, r10
add rbx, r10
mov rdx, r14
mov rcx, rbx
call fcn.140031154
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140037cb4
mov rcx, rbx
call fcn.14003077c
xor edx, edx
test eax, eax
jne 0x1400391ee
add r14, 0x38
add rbx, 0x38
sub r15d, r13d
jne 0x140037c8c
jmp 0x140037b46
movsxd r14, dword [rdi + 4]
movsxd rbx, dword [rdi + 8]
mov r15d, dword [rdi + 0xc]
imul r14, r14, 0x38
imul rbx, rbx, 0x38
add r14, r10
add rbx, r10
mov r8d, 0x1000
mov rdx, r14
mov rcx, rbx
call fcn.14003108c
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140037d10
mov rcx, rbx
call fcn.14003077c
xor edx, edx
test eax, eax
jne 0x1400391ee
jmp 0x140037d12
xor edx, edx
mov eax, r15d
sub r15d, r13d
test eax, eax
je 0x140037b46
add rbx, 0x38
add r14, 0x38
jmp 0x140037ce0
movsxd rdx, dword [rdi + 4]
movsxd rcx, dword [rdi + 8]
mov r8d, 0x1000
imul rdx, rdx, 0x38
imul rcx, rcx, 0x38
add rdx, r10
add rcx, r10
call fcn.14003108c
jmp 0x14003796e
movsxd rax, dword [rdi + 4]
movsxd rcx, dword [rdi + 8]
imul rax, rax, 0x38
imul rcx, rcx, 0x38
add rcx, r10
mov rdx, qword [rax + r10]
mov eax, 0x2400
test word [rcx + 8], ax
je 0x140037d7c
call fcn.140030ecc
jmp 0x14003796e
mov qword [rcx], rdx
mov word [rcx + 8], bx
jmp 0x1400377f8
movsxd r13, dword [rdi + 4]
movsxd r14, dword [rdi + 8]
movsxd rbx, dword [rdi + 0xc]
imul r13, r13, 0x38
imul r14, r14, 0x38
imul rbx, rbx, 0x38
add r13, r10
add r14, r10
add rbx, r10
movzx r12d, word [r13 + 8]
mov al, byte [r14 + 8]
or al, r12b
test al, 1
je 0x140037df8
mov eax, 0x2400
test word [rbx + 8], ax
je 0x140037de3
mov rcx, rbx
call fcn.140030aa0
mov r13d, 1
mov r11, qword [rbp + 0x220]
mov r12, qword [rsp + 0x48]
jmp 0x140037b52
mov r13d, 1
mov word [rbx + 8], r13w
mov r12, qword [rsp + 0x48]
jmp 0x14003d076
test r12b, 0x12
jne 0x140037e0b
xor r8d, r8d
mov rcx, r13
call fcn.140030834
jmp 0x140037e1e
mov eax, 0x4000
test ax, r12w
je 0x140037e3f
mov rcx, r13
call fcn.1400307d8
test eax, eax
jne 0x1400391e9
movzx r12d, word [r13 + 8]
mov dl, byte [rbp + 0x228]
mov eax, 0xfffd
and r12w, ax
mov eax, 0x4000
movzx r15d, word [r14 + 8]
test r15b, 0x12
jne 0x140037e6f
xor r8d, r8d
mov rcx, r14
call fcn.140030834
xor edx, edx
test eax, eax
jne 0x1400391e9
movzx r15d, word [r14 + 8]
mov eax, 0xfffd
and r15w, ax
jmp 0x140037e81
test ax, r15w
je 0x140037e7f
mov rcx, r14
call fcn.1400307d8
jmp 0x140037e55
xor edx, edx
mov eax, dword [r13 + 0xc]
mov r8, qword [rsp + 0x48]
add eax, dword [r14 + 0xc]
movsxd rcx, eax
movsxd rax, dword [r8 + 0x7c]
mov qword [rsp + 0x70], rcx
cmp rcx, rax
jg 0x14003cadc
mov r8d, edx
lea edx, [rcx + 3]
cmp rbx, r14
sete r8b
mov rcx, rbx
call fcn.1400305e8
test eax, eax
jne 0x1400391e9
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, r14
je 0x140037eed
movsxd r8, dword [r14 + 0xc]
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1400c5d20
mov word [r14 + 8], r15w
movsxd rcx, dword [r14 + 0xc]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
add rcx, qword [rbx + 0x10]
call fcn.1400c5d20
mov rcx, qword [rsp + 0x70]
mov dl, byte [rbp + 0x228]
mov word [r13 + 8], r12w
mov rax, qword [rbx + 0x10]
xor r14d, r14d
mov byte [rcx + rax], r14b
mov rax, qword [rbx + 0x10]
lea r13d, [r14 + 1]
mov byte [rax + rcx + 1], r14b
mov rax, qword [rbx + 0x10]
mov byte [rax + rcx + 2], r14b
mov eax, 0x200
mov dword [rbx + 0xc], ecx
or word [rbx + 8], ax
mov byte [rbx + 0xa], dl
mov r12, qword [rsp + 0x48]
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
jmp 0x140037b5d
movsxd r12, dword [rdi + 4]
imul r12, r12, 0x38
add r12, r10
movzx ebx, word [r12 + 8]
and bx, 0x2c
je 0x140037f78
xor ecx, ecx
jmp 0x140037f96
test byte [r12 + 8], 0x12
je 0x140037f92
mov rcx, r12
call fcn.1400375c8
mov r10, qword [rsp + 0x38]
movzx ebx, ax
jmp 0x140037f74
xor ecx, ecx
mov ebx, ecx
movsxd r15, dword [rdi + 8]
imul r15, r15, 0x38
add r15, r10
movzx eax, word [r15 + 8]
and ax, 0x2c
jne 0x140037fc4
test byte [r15 + 8], 0x12
je 0x140037fc2
mov rcx, r15
call fcn.1400375c8
mov r10, qword [rsp + 0x38]
jmp 0x140037fc4
mov eax, ecx
movsxd r14, dword [rdi + 0xc]
movzx ecx, word [r15 + 8]
and al, bl
or cx, word [r12 + 8]
mov ebx, 4
imul r14, r14, 0x38
add r14, r10
test bl, al
je 0x14003813c
movzx ecx, byte [rdi]
mov r9, qword [r15]
mov r8, qword [r12]
mov qword [rbp - 0x68], r9
sub ecx, 0x67
je 0x14003810c
dec ecx
je 0x1400380f0
dec ecx
je 0x140038065
dec ecx
je 0x140038033
xor edx, edx
test r8, r8
je 0x140038207
cmp r8, 0xffffffffffffffff
mov rax, r9
cmove r8, r13
cqo
idiv r8
mov r9, rdx
jmp 0x140038125
test r8, r8
je 0x140038202
cmp r8, 0xffffffffffffffff
jne 0x140038055
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x140038145
mov rax, r9
cqo
idiv r8
mov r9, rax
jmp 0x140038120
test r8, r8
jle 0x140038096
movabs rax, 0x7fffffffffffffff
cqo
idiv r8
cmp r9, rax
jg 0x140038145
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jmp 0x1400380af
jns 0x1400380ea
test r9, r9
jle 0x1400380b7
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x140038145
jmp 0x1400380ea
jns 0x1400380ea
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140038145
cmp r9, rax
je 0x140038145
movabs rax, 0x8000000000000001
cqo
idiv r8
mov rcx, rax
mov rax, r9
neg rax
cmp rax, rcx
jg 0x140038145
imul r9, r8
jmp 0x140038120
movabs rcx, 0x8000000000000000
cmp r8, rcx
jne 0x140038109
test r9, r9
jns 0x140038145
sub r9, rcx
jmp 0x140038120
neg r8
lea rcx, [rbp - 0x68]
mov rdx, r8
call fcn.140019c88
test eax, eax
jne 0x140038145
mov r9, qword [rbp - 0x68]
mov ebx, 4
mov eax, 0x3e40
mov qword [r14], r9
and word [r14 + 8], ax
or word [r14 + 8], bx
jmp 0x1400381e7
test r13b, cl
jne 0x140038207
mov rcx, r12
call fcn.140030bdc
mov rcx, r15
movaps xmm2, xmm0
call fcn.140030bdc
movzx edx, byte [rdi]
sub edx, 0x67
je 0x1400381b9
dec edx
je 0x1400381b3
dec edx
je 0x1400381ad
dec edx
je 0x14003819d
mov rcx, r12
call fcn.140030b84
mov rcx, r15
mov rbx, rax
call fcn.140030b84
xor edx, edx
test rbx, rbx
je 0x1400381fd
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x1400381bd
ucomisd xmm2, qword [0x14013aa08]
je 0x1400381fd
divsd xmm0, xmm2
jmp 0x1400381bd
mulsd xmm0, xmm2
jmp 0x1400381bd
subsd xmm0, xmm2
jmp 0x1400381bd
addsd xmm0, xmm2
call fcn.140018d28
mov r10, qword [rsp + 0x38]
mov ebx, 4
test eax, eax
jne 0x140038207
mov eax, 0x3e40
movsd qword [r14], xmm0
and word [r14 + 8], ax
lea eax, [rbx + 4]
or word [r14 + 8], ax
mov r12, qword [rsp + 0x48]
mov r11, qword [rbp + 0x220]
mov r15, qword [rsp + 0x40]
jmp 0x140037947
mov r10, qword [rsp + 0x38]
mov ebx, 4
mov eax, 0x2400
test word [r14 + 8], ax
je 0x140038225
mov rcx, r14
call fcn.140030aa0
mov r12, qword [rsp + 0x48]
jmp 0x140038378
mov word [r14 + 8], r13w
jmp 0x1400381e7
xor r14d, r14d
cmp dword [rdi + 4], r14d
je case.0x14003779c.86
movsxd rax, dword [rdi + 4]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r10
test word [rax + 8], cx
je 0x140038259
xor edx, edx
mov rcx, rax
jmp 0x140037d72
mov qword [rax], r14
mov word [rax + 8], bx
jmp case.0x14003779c.86
movsxd rcx, dword [rdi + 8]
movsxd r15, dword [rdi + 4]
movsxd r14, dword [rdi + 0xc]
imul rcx, rcx, 0x38
imul r15, r15, 0x38
imul r14, r14, 0x38
add rcx, r10
add r15, r10
add r14, r10
mov al, byte [rcx + 8]
or al, byte [r15 + 8]
test r13b, al
je 0x1400382ba
mov eax, 0x2400
test word [r14 + 8], ax
je 0x1400382ab
mov rcx, r14
call fcn.140030aa0
jmp 0x140038378
mov r15, qword [rsp + 0x40]
mov word [r14 + 8], r13w
jmp case.0x14003779c.86
call fcn.140030b84
mov rcx, r15
mov rbx, rax
call fcn.140030b84
mov r8b, byte [rdi]
mov rdx, rax
cmp r8b, 0x63
jne 0x1400382de
and rbx, rax
jmp 0x140038361
cmp r8b, 0x64
jne 0x1400382e9
or rbx, rax
jmp 0x140038361
xor r9d, r9d
test rax, rax
je 0x140038361
jns 0x140038313
mov rcx, rdx
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
lea edx, [r9 + 0x40]
cmp rax, 0xffffffffffffffc0
cmovg rdx, rcx
cmp rdx, 0x40
jl 0x140038331
test rbx, rbx
jns 0x140038329
cmp r8b, 0x65
je 0x140038329
or eax, 0xffffffff
jmp 0x14003832c
mov eax, r9d
movsxd rbx, eax
jmp 0x140038361
mov rcx, rdx
cmp r8b, 0x65
jne 0x140038342
shl rbx, cl
mov r8, rbx
jmp 0x14003835e
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14003835e
mov ecx, 0x40
sub cl, dl
or rdx, 0xffffffffffffffff
shl rdx, cl
or r8, rdx
mov rbx, r8
mov qword [r14], rbx
mov eax, 0x3e40
mov ebx, 4
and word [r14 + 8], ax
or word [r14 + 8], bx
mov r10, qword [rsp + 0x38]
jmp 0x1400381ec
movsxd rbx, dword [rdi + 4]
imul rbx, rbx, 0x38
add rbx, r10
mov rcx, rbx
call fcn.140030b84
mov rcx, rax
mov qword [rbx], rax
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 4
or word [rbx + 8], ax
movsxd rax, dword [rdi + 8]
add rax, rcx
mov qword [rbx], rax
mov r11, qword [rbp + 0x220]
jmp 0x140037b52
movsxd rbx, dword [rdi + 4]
mov r14d, 4
imul rbx, rbx, 0x38
add rbx, r10
movzx eax, word [rbx + 8]
test r14b, al
jne 0x140038527
mov r8b, dl
mov rcx, rbx
mov dl, 0x43
call fcn.14003751c
movzx eax, word [rbx + 8]
test r14b, al
jne 0x14003850e
xor ebx, ebx
cmp dword [rdi + 8], ebx
jne 0x14003d04e
lea esi, [rbx + 0x14]
mov r15, qword [rbp + 0x220]
mov eax, 7
mov bl, byte [rbp + 0x230]
mov r14, qword [rsp + 0x48]
xor r13d, r13d
mov r12d, 0xc0a
cmp byte [r14 + 0x61], r13b
cmovne esi, eax
cmp qword [r15 + 0xa8], r13
jne 0x140038462
cmp esi, r12d
je 0x140038462
mov ecx, esi
call fcn.140081858
mov rcx, qword [rbp + 0x220]
lea rdx, [0x1400fd418]
mov r8, rax
call fcn.140031b4c
mov r15, qword [rbp + 0x220]
mov edx, esi
mov rcx, r14
mov dword [r15 + 0x38], esi
call fcn.140018db0
mov rcx, qword [rbp + 0x220]
sub rdi, qword [rsp + 0x40]
mov r9, qword [rcx + 0xf0]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
mov rax, qword [rcx + 0xa8]
mov ecx, esi
sar rdx, 2
mov qword [rsp + 0x20], rax
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.140018430
mov rcx, qword [rbp + 0x220]
call fcn.140033e94
cmp esi, r12d
jne 0x1400384d1
mov rcx, r14
call fcn.140016b80
mov esi, 1
test bl, bl
je 0x1400384e7
movzx edx, bl
mov rcx, r14
dec edx
call fcn.14004d95c
mov r15, qword [rbp + 0x220]
mov eax, dword [rbp - 0x5c]
add dword [r15 + 0xe4], eax
mov eax, esi
add rsp, 0x2d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x228]
mov r9d, dword [rbp + 0x238]
mov ecx, 0x3e40
and ax, cx
or ax, r14w
mov word [rbx + 8], ax
mov rbx, r14
jmp case.0x14003779c.86
movsxd rbx, dword [rdi + 4]
imul rbx, rbx, 0x38
add rbx, r10
test byte [rbx + 8], 0x24
je 0x14003d076
mov rcx, rbx
call fcn.140030bdc
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 8
or word [rbx + 8], ax
movsd qword [rbx], xmm0
jmp 0x1400383b7
movsxd rbx, dword [rdi + 4]
mov eax, 0x4000
imul rbx, rbx, 0x38
add rbx, r10
test word [rbx + 8], ax
je 0x1400385a3
mov rcx, rbx
call fcn.1400307d8
mov dl, byte [rbp + 0x228]
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x1400385ae
xor r14d, r14d
mov esi, r14d
mov dword [rsp + 0x30], r14d
mov r8b, dl
mov dl, byte [rdi + 8]
mov rcx, rbx
call fcn.140030d94
test esi, esi
jne 0x140038409
jmp 0x1400383b7
movsxd r14, dword [rdi + 0xc]
movsxd r15, dword [rdi + 4]
imul r14, r14, 0x38
imul r15, r15, 0x38
add r14, r10
add r15, r10
movzx ebx, word [r14 + 8]
movzx r12d, word [r15 + 8]
movzx ecx, bx
or cx, r12w
test r13b, cl
je 0x14003867e
mov eax, 0x80
test byte [rdi + 2], al
je 0x140038634
mov al, bl
and al, r12b
test r13b, al
je 0x140038620
mov eax, 0x100
test ax, bx
jne 0x140038620
xor eax, eax
mov ecx, eax
jmp 0x140038813
mov al, bl
and al, r13b
neg al
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, r13d
jmp 0x1400387f1
mov r15, qword [rsp + 0x40]
mov eax, Ordinal_36
test byte [rdi + 2], al
je 0x14003866b
movsxd rax, dword [rdi + 8]
mov ecx, 0x3e40
mov r9d, r13d
mov dword [rbp + 0x238], r13d
imul rax, rax, 0x38
add rax, r10
and word [rax + 8], cx
or word [rax + 8], r13w
jmp 0x140037dee
mov eax, 0x10
test byte [rdi + 2], al
jne 0x14003d04e
jmp 0x140037dee
mov al, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jl 0x14003877a
mov edx, 2
test dl, cl
je 0x1400386c3
mov al, r12b
and al, 0x2e
cmp al, dl
jne 0x1400386b1
xor edx, edx
mov rcx, r15
call fcn.140037484
movzx ebx, word [r14 + 8]
mov edx, 2
mov al, bl
and al, 0x2e
cmp al, dl
jne 0x1400386c3
xor edx, edx
mov rcx, r14
call fcn.140037484
mov al, byte [r14 + 8]
and al, byte [r15 + 8]
test al, 4
je 0x1400387e0
mov rax, qword [r15]
cmp qword [r14], rax
jle 0x14003876f
mov ecx, r13d
movzx eax, byte [rdi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xe23e4]
mov word [r15 + 8], r12w
mov eax, Ordinal_36
mov word [r14 + 8], bx
test byte [rdi + 2], al
je 0x14003882b
movsxd rdx, dword [rdi + 8]
mov r10, qword [rsp + 0x38]
mov eax, 8
mov r9d, ecx
mov dword [rbp + 0x238], ecx
imul rdx, rdx, 0x38
add rdx, r10
test byte [rdi + 2], al
je 0x140038741
xor eax, eax
cmp byte [rdi], 0x35
sete al
cmp eax, r8d
je 0x14003890b
mov r11, qword [rbp + 0x220]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
mov eax, 0x3e40
mov ebx, 4
and word [rdx + 8], ax
or word [rdx + 8], bx
movsxd rax, r8d
mov qword [rdx], rax
jmp 0x1400377f8
jge 0x140038617
or ecx, 0xffffffff
jmp 0x1400387f5
cmp al, 0x42
jne 0x1400387e0
mov eax, 2
test al, r12b
jne 0x1400387b9
test r12b, 0x2c
je 0x1400387b9
mov r8b, r13b
mov rcx, r15
call fcn.140030834
mov dl, byte [rbp + 0x228]
movzx eax, r12w
xor ax, word [r15 + 8]
mov ecx, 0x3e40
and ax, cx
xor r12w, ax
mov eax, 2
test al, bl
jne 0x1400387e0
test bl, 0x2c
je 0x1400387e0
mov r8b, r13b
mov rcx, r14
call fcn.140030834
movzx eax, word [r14 + 8]
mov ecx, 0x3e40
xor ax, bx
and ax, cx
xor bx, ax
mov r8, qword [rdi + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.140034b60
mov ecx, eax
test ecx, ecx
jns 0x14003880d
movzx eax, byte [rdi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xe1c04]
jmp 0x1400386f5
jne 0x1400386e2
movzx eax, byte [rdi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xe3704]
jmp 0x1400386f5
mov r15, qword [rsp + 0x40]
test r8d, r8d
jne 0x14003d04e
jmp 0x140037dd2
test r9d, r9d
jmp 0x140037822
test byte [rdi + 2], r13b
jne 0x140038853
xor ecx, ecx
mov r14d, ecx
jmp 0x14003885c
mov r14, qword [rdi - 8]
add r14, rbx
xor ecx, ecx
mov rax, qword [rdi + 0x10]
mov r8d, dword [rdi + 4]
mov edx, dword [rdi + 8]
mov r12d, ecx
mov rbx, rcx
movsxd rcx, dword [rdi + 0xc]
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x58], edx
mov qword [rsp + 0x70], rcx
test rcx, rcx
jle 0x140038e2d
lea r13, [rax + 0x20]
test r14, r14
je 0x14003889b
mov r15d, dword [r14 + rbx*4]
jmp 0x14003889e
mov r15d, r12d
mov rax, qword [rax + 0x18]
movzx eax, byte [rax + rbx]
and eax, 1
mov dword [rsp + 0x78], eax
lea eax, [r15 + rdx]
movsxd rdx, eax
lea eax, [r15 + r8]
mov r8, qword [r13]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, r10
imul rcx, rcx, 0x38
add rcx, r10
call fcn.140034b60
mov r10, qword [rsp + 0x38]
xor edx, edx
mov r9d, eax
mov dword [rbp + 0x238], eax
test eax, eax
jne 0x140038921
mov r8d, dword [rsp + 0x68]
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x58]
add rbx, rax
add r12d, eax
mov rax, qword [rbp - 0x70]
add r13, 8
cmp rbx, qword [rsp + 0x70]
jl 0x140038890
lea r13d, [r9 + 1]
mov r12, qword [rsp + 0x48]
mov r11, qword [rbp + 0x220]
mov r15, qword [rsp + 0x40]
jmp 0x14003d070
mov rax, qword [rbp - 0x70]
mov ecx, 2
mov rax, qword [rax + 0x18]
lea r13d, [rcx - 1]
test byte [rbx + rax], cl
je 0x14003896a
movsxd rax, dword [rsp + 0x68]
movsxd rcx, r15d
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r10 + 8], r13b
jne 0x140038960
movsxd rax, dword [rsp + 0x58]
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r10 + 8], r13b
je 0x14003896a
neg r9d
mov dword [rbp + 0x238], r9d
cmp dword [rsp + 0x78], edx
mov r11, qword [rbp + 0x220]
mov r12, qword [rsp + 0x48]
mov dl, byte [rbp + 0x228]
mov r15, qword [rsp + 0x40]
mov ebx, 4
je case.0x14003779c.86
neg r9d
mov dword [rbp + 0x238], r9d
jmp case.0x14003779c.86
test r9d, r9d
jns 0x1400389a9
mov eax, dword [rdi + 4]
jmp 0x1400389b3
jne 0x1400389b0
mov eax, dword [rdi + 8]
jmp 0x1400389b3
mov eax, dword [rdi + 0xc]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
jmp case.0x14003779c.86
movsxd rcx, dword [rdi + 4]
mov r14d, 2
mov edx, r14d
imul rcx, rcx, 0x38
add rcx, r10
call fcn.140030c08
movsxd rcx, dword [rdi + 8]
mov edx, r14d
movsxd rbx, eax
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x38]
call fcn.140030c08
cmp byte [rdi], 0x2c
movsxd r8, eax
lea rax, [0x140000000]
jne 0x140038a16
lea rdx, [rbx + rbx*2]
add rdx, r8
movzx eax, byte [rdx + rax + 0xe5170]
jmp 0x140038a25
lea rcx, [rbx + rbx*2]
add rcx, r8
movzx eax, byte [rcx + rax + 0xe7420]
movsxd rcx, dword [rdi + 0xc]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x220]
imul rcx, rcx, 0x38
mov dl, byte [rbp + 0x228]
mov r9d, dword [rbp + 0x238]
add rcx, r10
mov ebx, 4
cmp eax, r14d
jne 0x140038a66
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp case.0x14003779c.86
cdqe
mov qword [rcx], rax
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], bx
jmp case.0x14003779c.86
movsxd rcx, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rcx, 0x38
add rcx, r10
call fcn.140030c08
mov r10, qword [rsp + 0x38]
mov edx, 0x2400
movsxd rcx, eax
movsxd rax, dword [rdi + 0x10]
xor rcx, rax
movsxd rax, dword [rdi + 8]
imul rax, rax, 0x38
add rax, r10
test word [rax + 8], dx
je 0x140038abd
mov rdx, rcx
jmp 0x140038251
mov r11, qword [rbp + 0x220]
mov qword [rax], rcx
mov word [rax + 8], bx
jmp 0x140037947
movsxd rcx, dword [rdi + 4]
movsxd rbx, dword [rdi + 8]
imul rcx, rcx, 0x38
imul rbx, rbx, 0x38
add rcx, r10
add rbx, r10
test byte [rcx + 8], r13b
jne 0x140038b46
xor edx, edx
call fcn.140030c08
xor r14d, r14d
test eax, eax
mov eax, 0x2400
mov ecx, r14d
sete cl
test word [rbx + 8], ax
je 0x140038b19
mov rdx, rcx
mov rcx, rbx
call fcn.140030ecc
jmp 0x1400383b7
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x220]
mov dl, byte [rbp + 0x228]
mov r9d, dword [rbp + 0x238]
mov rbx, rax
jmp case.0x14003779c.86
mov eax, 0x2400
test word [rbx + 8], ax
je 0x140038b5e
mov rcx, rbx
call fcn.140030aa0
jmp 0x1400383b7
mov word [rbx + 8], r13w
jmp 0x14003d076
movsxd rbx, dword [rdi + 8]
movsxd r14, dword [rdi + 4]
mov eax, 0x2400
imul rbx, rbx, 0x38
imul r14, r14, 0x38
add rbx, r10
add r14, r10
test word [rbx + 8], ax
je 0x140038bac
mov rcx, rbx
call fcn.140030aa0
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x228]
mov r9d, dword [rbp + 0x238]
jmp 0x140038bb1
mov word [rbx + 8], r13w
test byte [r14 + 8], r13b
jne 0x14003d076
mov eax, 4
mov rcx, r14
mov word [rbx + 8], ax
call fcn.140030b84
not rax
jmp 0x1400383b4
mov r10, qword [r11 + 0x100]
test r10, r10
je 0x140038c48
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r11 + 0x88]
mov r11, qword [r10 + 0x30]
imul rcx
mov r8, rdx
mov edx, r13d
sar r8, 2
mov rax, r8
shr rax, 0x3f
add r8, rax
mov r9d, r8d
and r8d, 7
mov ecx, r8d
shr r9, 3
shl edx, cl
test byte [r9 + r11], dl
jne 0x14003d04e
mov dl, byte [rbp + 0x228]
mov eax, r13d
shl al, cl
or byte [r9 + r11], al
mov r11, qword [rbp + 0x220]
mov r9d, dword [rbp + 0x238]
jmp 0x140038c5b
mov rcx, qword [r11 + 0x88]
mov eax, dword [rdi + 4]
cmp dword [rcx + 4], eax
je 0x14003d04e
mov rax, qword [r11 + 0x88]
mov r10, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
mov dword [rdi + 4], ecx
jmp case.0x14003779c.86
movsxd rcx, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rcx, 0x38
add rcx, r10
call fcn.140030c08
test eax, eax
jne 0x14003d04e
jmp 0x1400383b7
movsxd rcx, dword [rdi + 4]
xor ebx, ebx
cmp dword [rdi + 0xc], ebx
mov edx, ebx
sete dl
imul rcx, rcx, 0x38
add rcx, r10
call fcn.140030c08
test eax, eax
je 0x14003d04e
jmp 0x1400383b7
movsxd rax, dword [rdi + 4]
imul rax, rax, 0x38
test byte [rax + r10 + 8], r13b
jne 0x14003d04e
jmp case.0x14003779c.86
movsxd rax, dword [rdi + 4]
imul rax, rax, 0x38
test byte [rax + r10 + 8], r13b
je 0x14003d04e
jmp case.0x14003779c.86
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
xor ebx, ebx
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], bl
je 0x14003d076
movsxd rax, dword [rdi + 0xc]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r10
test word [rax + 8], cx
je 0x140038d23
mov rcx, rax
call fcn.140030aa0
jmp 0x14003d04e
mov word [rax + 8], r13w
jmp 0x14003d04e
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
movsxd r13, dword [rdi + 8]
mov rbx, qword [rax + rcx*8]
xor r14d, r14d
mov dword [rsp + 0x50], r13d
cmp byte [rbx + 3], r14b
je 0x140038d97
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140038d74
mov edx, dword [rcx + r13*4 + 4]
test edx, edx
jle 0x140038d74
mov rbx, qword [rbx + 0x30]
lea r13d, [rdx - 1]
mov esi, r14d
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x30], r14d
jmp 0x140038dba
mov rcx, rbx
call fcn.140034508
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov r9d, dword [rbp + 0x238]
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x140038db2
mov rax, qword [rbx + 0x38]
cmp byte [rax], r14b
je 0x140038daa
mov rcx, rbx
call fcn.140034558
jmp 0x140038d7c
mov esi, r14d
mov dword [rsp + 0x30], r14d
test esi, esi
jne 0x140038409
movsxd r14, dword [rdi + 0xc]
mov eax, dword [r11 + 0x30]
mov r12, qword [rbx + 0x60]
imul r14, r14, 0x38
add r14, r10
xor edx, edx
mov qword [rsp + 0x60], r12
mov qword [rbp - 0x38], r14
cmp dword [rbx + 0x28], eax
je 0x140038ef8
cmp byte [rbx + 2], dl
je 0x140038e37
lea eax, [rdx + 3]
cmp byte [rbx], al
jne 0x140038e0e
movsxd rcx, dword [rbx + 0x2c]
imul rcx, rcx, 0x38
mov eax, dword [rcx + r10 + 0xc]
mov dword [rbx + 0x74], eax
mov dword [rbx + 0x70], eax
mov rax, qword [rcx + r10 + 0x10]
mov qword [rbx + 0x68], rax
jmp 0x140038e93
mov eax, 0x2400
test word [r14 + 8], ax
je 0x140038e22
mov rcx, r14
jmp 0x140037dc7
mov r13d, 1
mov word [r14 + 8], r13w
mov r12, qword [rsp + 0x48]
jmp 0x14003d070
mov r15, qword [rbx + 0x38]
mov rcx, r15
call fcn.1400291c8
mov eax, dword [r15 + 0x40]
mov dword [rbx + 0x70], eax
mov rax, qword [r15 + 0x88]
movzx ecx, word [r15 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r15 + 0x38]
cmp ecx, edx
jle 0x140038e6a
xor eax, eax
mov ecx, edx
test edx, edx
cmovs ecx, eax
mov r8, qword [rsp + 0x48]
mov r11, qword [rbp + 0x220]
mov dword [rbx + 0x74], ecx
mov rax, qword [r15 + 0x38]
mov qword [rbx + 0x68], rax
mov eax, dword [r8 + 0x7c]
cmp dword [rbx + 0x70], eax
ja 0x14003cae3
mov r15, qword [rsp + 0x40]
mov eax, dword [r11 + 0x30]
mov rcx, qword [rbx + 0x68]
mov dword [rbx + 0x28], eax
mov eax, 0x80
cmp byte [rcx], al
jae 0x140038eb5
movzx eax, byte [rcx]
mov dword [r12], eax
mov eax, 1
jmp 0x140038ec0
mov rdx, r12
call fcn.140019ab4
movzx eax, al
movzx eax, al
xor edx, edx
mov dword [rbx + 0x48], eax
mov word [rbx + 0x52], dx
mov eax, dword [r12]
cmp dword [rbx + 0x74], eax
jae 0x140038fbe
mov qword [rbx + 0x68], rdx
mov dword [rbx + 0x74], edx
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x140039115
cmp eax, dword [rbx + 0x70]
ja 0x140039115
movzx eax, word [rbx + 0x52]
cmp eax, r13d
jg 0x140039164
mov eax, dword [r12]
cmp dword [rbx + 0x48], eax
jae 0x140039133
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x140038f62
lea r8d, [rax + 0x38]
lea rcx, [rbp + 0xf0]
xor edx, edx
call fcn.1400c8410
mov r8d, dword [r12]
mov rcx, qword [rbx + 0x38]
lea r9, [rbp + 0xf0]
xor edx, edx
call fcn.1400314c8
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
mov rax, qword [rbp + 0x100]
mov qword [rsp + 0x78], rax
movzx edx, word [rbx + 0x52]
mov r9, qword [rsp + 0x60]
mov r14d, 1
mov ecx, dword [r12 + rdx*4]
mov r12d, dword [rbx + 0x48]
mov r8d, dword [r9]
add r12, rax
add r8, rax
mov dword [rsp + 0x68], edx
mov r13d, edx
mov qword [rbp - 0x80], rcx
lea rsi, [0x140000000]
mov qword [rsp + 0x70], r8
lea edi, [r14 + 0x7f]
movzx r15d, byte [r12]
mov dword [rbp - 0x78], r15d
mov dword [rbx + r13*4 + 0x78], r15d
cmp r15d, edi
jae 0x140038fc4
movzx eax, byte [r15 + rsi + 0xe3ca0]
add r12, r14
jmp 0x140039007
mov rax, qword [rbx + 0x68]
jmp 0x140038f5d
lea rdx, [rbp - 0x78]
mov rcx, r12
call fcn.140019ab4
mov r15d, dword [rbp - 0x78]
movzx eax, al
mov dword [rbx + r13*4 + 0x78], r15d
add r12, rax
cmp r15d, edi
jb 0x140038fec
lea eax, [r15 - 0xc]
shr eax, 1
jmp 0x140038ff5
movzx eax, byte [r15 + rsi + 0xe3ca0]
mov rcx, qword [rbp - 0x80]
mov edx, dword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
add edx, r14d
add rcx, rax
movsxd r13, edx
mov qword [rbp - 0x80], rcx
mov dword [rsp + 0x68], edx
mov dword [r9 + r13*4], ecx
cmp edx, dword [rsp + 0x50]
jg 0x14003902b
cmp r12, r8
jb 0x140038f9d
mov rdi, qword [rbp - 0x68]
mov esi, dword [rsp + 0x30]
mov r14, qword [rbp - 0x38]
cmp r12, r8
jb 0x140039046
ja 0x14003904e
mov eax, dword [rbx + 0x70]
cmp rcx, rax
jne 0x14003904e
mov eax, dword [rbx + 0x70]
cmp rcx, rax
jbe 0x14003905e
xor eax, eax
cmp dword [r9], eax
jne 0x1400390e4
mov edx, eax
mov r12, r8
sub r12d, dword [rsp + 0x78]
mov word [rbx + 0x52], dx
xor edx, edx
mov ecx, 0x2400
mov dword [rbx + 0x48], r12d
cmp qword [rbx + 0x68], rdx
jne 0x14003909a
test word [rbp + 0xf8], cx
jne 0x140039089
cmp dword [rbp + 0x110], edx
je 0x14003909a
lea rcx, [rbp + 0xf0]
call fcn.140030ae0
mov ecx, 0x2400
mov r12, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x50]
movzx eax, word [rbx + 0x52]
cmp eax, r13d
jg 0x14003916c
cmp byte [rdi + 1], 0xf5
jne 0x140039140
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r14
call fcn.14003108c
mov r13d, 1
mov r11, qword [rbp + 0x220]
mov r12, qword [rsp + 0x48]
jmp 0x140037b4d
xor r14d, r14d
cmp qword [rbx + 0x68], r14
jne 0x140039110
mov eax, 0x2400
test word [rbp + 0xf8], ax
jne 0x140039104
cmp dword [rbp + 0x110], r14d
je 0x140039110
lea rcx, [rbp + 0xf0]
call fcn.140030ae0
mov r15, qword [rsp + 0x40]
mov eax, dword [r15 + 0xc]
test eax, eax
jle 0x14003d17d
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r15 + rax*8]
jmp 0x140037dcc
mov r15d, edx
mov ecx, 0x2400
jmp 0x1400390a4
test word [r14 + 8], cx
je 0x140039154
mov rcx, r14
call fcn.140030aa0
jmp 0x1400390cd
mov r13d, 1
mov word [r14 + 8], r13w
jmp 0x1400390d3
movsxd rax, r13d
mov r15d, dword [rbx + rax*4 + 0x78]
mov eax, 0x2400
test word [r14 + 8], ax
je 0x140039180
mov rcx, r14
call fcn.140030aa0
movsxd rcx, r13d
mov eax, dword [r12 + rcx*4 + 4]
cmp dword [rbx + 0x74], eax
jb 0x140039269
mov r12d, dword [r12 + rcx*4]
add r12, qword [rbx + 0x68]
cmp r15d, 0xc
jae 0x1400391b2
mov rcx, r12
mov edx, r15d
mov r8, r14
call fcn.1400345a8
jmp 0x1400390cd
mov al, byte [rbp + 0x228]
lea ebx, [r15 - 0xc]
mov r13d, 1
shr ebx, 1
mov byte [r14 + 0xa], al
lea edx, [rbx + 2]
mov dword [r14 + 0xc], ebx
cmp dword [r14 + 0x20], edx
jge 0x140039222
xor r8d, r8d
mov rcx, r14
mov word [r14 + 8], r13w
call fcn.1400305e8
test eax, eax
je 0x14003922a
mov r12, qword [rsp + 0x48]
mov bl, byte [rbp + 0x230]
mov rcx, r12
call fcn.140016b80
mov rcx, qword [rbp + 0x220]
lea rdx, str.out_of_memory
call fcn.140031b4c
mov r15, qword [rbp + 0x220]
mov eax, 7
mov esi, eax
jmp 0x14003841b
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov rcx, qword [r14 + 0x10]
mov r8, rbx
mov rdx, r12
call fcn.1400c5d20
mov rax, qword [r14 + 0x10]
xor edx, edx
mov byte [rbx + rax], dl
mov rax, qword [r14 + 0x10]
lea rcx, [0x140000000]
mov byte [rbx + rax + 1], dl
mov eax, r15d
and rax, r13
movzx eax, word [rcx + rax*2 + 0xe68b4]
mov word [r14 + 8], ax
jmp 0x1400390d3
mov al, byte [rbp + 0x228]
mov byte [r14 + 0xa], al
test byte [rdi + 2], 0xc0
je 0x140039291
cmp r15d, 0xc
jb 0x140039285
test r15b, 1
je 0x1400392bc
mov eax, 0x80
test byte [rdi + 2], al
jne 0x1400392bc
jmp 0x140039296
mov eax, 0x80
cmp r15d, eax
jb 0x1400392a4
lea r8d, [r15 - 0xc]
shr r8d, 1
jmp 0x1400392b7
lea rdx, [0x140000000]
mov eax, r15d
movzx r8d, byte [rax + rdx + 0xe3ca0]
test r8d, r8d
jne 0x1400392c8
lea rcx, [0x14014f5b8]
jmp 0x1400391a2
mov edx, dword [r12 + rcx*4]
mov rcx, qword [rbx + 0x38]
mov r9, r14
call fcn.1400314c8
xor ebx, ebx
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, r15d
call fcn.1400345a8
mov r8d, 0xefff
and word [r14 + 8], r8w
jmp 0x1400390cd
movsxd rbx, dword [rdi + 4]
mov r14, qword [rdi + 0x10]
imul rbx, rbx, 0x38
add rbx, r10
mov r8b, dl
mov dl, byte [r14]
mov rcx, rbx
call fcn.14003751c
cmp byte [r14], 0x45
jne 0x14003937b
movzx ecx, word [rbx + 8]
mov eax, 4
test al, cl
je 0x14003937b
mov rdx, qword [rbx]
movabs rax, 0x800000000000
movabs r8, 0xffffffffffff
add rax, rdx
cmp rax, r8
mov eax, 0xfffb
ja 0x140039364
and cx, ax
or cx, 0x20
jmp 0x140039377
xorps xmm0, xmm0
and cx, ax
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
xor edx, edx
add r14, r13
cmp byte [r14], dl
mov dl, byte [rbp + 0x228]
je 0x140037bb8
add rbx, 0x38
jmp 0x140039316
mov eax, dword [rdi + 8]
movsxd r11, dword [rdi + 4]
mov r15, qword [rbp + 0x220]
imul r11, r11, 0x38
mov r14, qword [rdi + 0x10]
movzx r15d, byte [r15 + 0xc3]
xor ecx, ecx
add r11, r10
lea r8d, [rcx + 1]
mov r13d, ecx
sub eax, r8d
mov r9d, ecx
mov dword [rsp + 0x50], ecx
movsxd r12, eax
movsxd rax, dword [rdi + 0xc]
mov qword [rbp - 0x80], rcx
imul r12, r12, 0x38
add r12, r11
mov qword [rsp + 0x60], r11
imul rax, rax, 0x38
add rax, r10
mov qword [rbp - 0x58], r12
mov dword [rsp + 0x78], r15d
mov qword [rbp - 0x70], rax
test r14, r14
je 0x140039461
lea rbx, [r11 + 8]
xor r12d, r12d
lea esi, [rcx + 0x20]
mov edi, 0xfffb
lea r15d, [rcx + 4]
mov r8b, dl
mov dl, byte [r14]
lea rcx, [rbx - 8]
call fcn.14003751c
cmp byte [r14], 0x45
jne 0x140039432
movzx eax, word [rbx]
test r15b, al
je 0x140039432
and ax, di
or ax, si
mov word [rbx], ax
mov dl, byte [rbp + 0x228]
mov r8d, 1
add rbx, 0x38
add r14, r8
cmp byte [r14], r12b
jne 0x14003940c
mov rdi, qword [rbp - 0x68]
mov r15d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x50]
mov r11, qword [rsp + 0x60]
mov r12, qword [rbp - 0x58]
movsxd r10, r15d
lea rbx, [r12 + 0x24]
mov qword [rsp + 0x70], r10
movzx ecx, word [rbx - 0x1c]
test r8b, cl
je 0x140039494
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
add r9d, r8d
mov dword [rbx], eax
xor r15d, r15d
jmp 0x140039613
test cl, 0x24
je 0x14003957a
mov r8, qword [rbx - 0x24]
xor r15d, r15d
mov rdx, r8
test r8, r8
jns 0x1400394af
not rdx
mov r14d, 1
add r9d, r14d
mov dword [rsp + 0x50], r9d
cmp rdx, 0x7f
ja 0x1400394ed
mov rax, r8
and rax, r14
cmp rax, r8
jne 0x1400394df
lea eax, [r14 + 3]
cmp r10, rax
jl 0x1400394df
lea eax, [rdx + 8]
jmp 0x140039568
mov r8, r14
add r13, r14
mov dword [rbx], r8d
jmp 0x140039618
cmp rdx, 0x7fff
ja 0x1400394fd
mov eax, 2
jmp 0x14003951b
cmp rdx, 0x7fffff
ja 0x14003950d
mov eax, 3
jmp 0x14003951b
cmp rdx, 0x7fffffff
ja 0x140039520
mov eax, 4
add r13, rax
jmp 0x140039568
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14003953a
add r13, 6
mov eax, 5
jmp 0x140039568
mov edx, 8
add r13, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x14003956c
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
or cx, dx
mov word [rbx - 0x1c], cx
cvtsi2sd xmm0, r8
movsd qword [rbx - 0x24], xmm0
mov dword [rbx], eax
jmp 0x140039572
mov dword [rbx], 6
mov r8, r14
jmp 0x140039618
mov edx, 8
test dl, cl
je 0x140039591
add r9d, r8d
lea eax, [rdx - 1]
add r13, rdx
jmp 0x14003948a
mov r15d, dword [rbx - 0x18]
mov r12d, ecx
mov eax, 0x4000
shr r12d, 1
and r12d, r8d
add r12d, 0xc
lea r12d, [r12 + r15*2]
test ax, cx
je 0x1400395e2
lea r14, [rbx - 0x24]
movsxd rax, dword [r14]
lea r12d, [r12 + rax*2]
test r13, r13
je 0x1400395de
mov rcx, r14
call fcn.1400307d8
test eax, eax
jne 0x1400391e9
add r15d, dword [r14]
mov r10, qword [rsp + 0x70]
lea r8d, [rax + 1]
jmp 0x1400395e2
add qword [rbp - 0x80], rax
mov eax, r15d
mov ecx, r8d
add r13, rax
mov eax, r12d
shr rax, 7
xor r15d, r15d
jmp 0x1400395fe
add ecx, r8d
shr rax, 7
test rax, rax
jne 0x1400395f7
mov r9d, dword [rsp + 0x50]
mov r11, qword [rsp + 0x60]
mov dword [rbx], r12d
add r9d, ecx
mov dword [rsp + 0x50], r9d
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x14003962a
sub rbx, 0x38
jmp 0x14003946e
cmp r9d, 0x7e
jle 0x140039664
mov edx, r8d
movsxd rax, r9d
jmp 0x14003963b
add edx, r8d
shr rax, 7
test rax, rax
jne 0x140039638
add r9d, edx
mov ecx, r8d
mov dword [rsp + 0x50], r9d
movsxd rax, r9d
jmp 0x140039657
add ecx, r8d
shr rax, 7
test rax, rax
jne 0x140039654
cmp edx, ecx
jge 0x14003966c
add r9d, r8d
mov dword [rsp + 0x50], r9d
mov r10, qword [rbp - 0x70]
mov r12, qword [rbp - 0x80]
movsxd rbx, r9d
movsxd rax, dword [r10 + 0x20]
lea r14, [rbx + r13]
lea rcx, [r14 + r12]
cmp rcx, rax
jg 0x140039692
mov rax, qword [r10 + 0x18]
mov qword [r10 + 0x10], rax
jmp 0x1400396e7
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x7c]
cmp rcx, rax
jg 0x14003cadc
cmp dword [r10 + 0x20], r14d
jge 0x1400396ce
xor r8d, r8d
mov edx, r14d
mov rcx, r10
call fcn.1400305e8
mov r9d, dword [rsp + 0x50]
mov r10, qword [rbp - 0x70]
mov r11, qword [rsp + 0x60]
mov r8d, 1
jmp 0x1400396df
mov rax, qword [r10 + 0x18]
and word [r10 + 8], 0x2d
mov qword [r10 + 0x10], rax
mov eax, r15d
test eax, eax
jne 0x1400391e9
mov eax, 0x10
mov dword [r10 + 0xc], r14d
mov word [r10 + 8], ax
test r12, r12
je 0x140039707
mov eax, 0x4010
mov dword [r10], r12d
mov word [r10 + 8], ax
mov r14, qword [r10 + 0x10]
mov r12d, Ordinal_133
lea r15, [r14 + rbx]
cmp r9d, r12d
jae 0x140039722
mov byte [r14], r9b
mov eax, r8d
jmp 0x140039761
cmp rbx, 0x7f
ja 0x140039730
and bl, 0x7f
mov byte [r14], bl
jmp 0x14003971d
cmp rbx, 0x3fff
ja 0x140039756
mov rax, rbx
mov ecx, 2
shr rax, 7
or al, r12b
and bl, 0x7f
mov byte [r14], al
mov byte [r14 + 1], bl
mov eax, ecx
jmp 0x140039766
mov rdx, rbx
mov rcx, r14
call fcn.1400198a4
mov ecx, 2
mov r13, qword [rbp - 0x58]
movzx eax, al
mov edi, 1
add r14, rax
xor esi, esi
mov r10d, dword [r11 + 0x24]
cmp r10d, r12d
jae 0x140039785
mov byte [r14], r10b
jmp 0x140039794
mov rdx, r10
cmp r10, 0x7f
ja 0x140039798
and dl, 0x7f
mov byte [r14], dl
mov eax, edi
jmp 0x1400397c1
cmp rdx, 0x3fff
ja 0x1400397b9
mov rax, rdx
shr rax, 7
or al, r12b
and dl, 0x7f
mov byte [r14], al
mov byte [r14 + 1], dl
mov eax, ecx
jmp 0x1400397c1
mov rcx, r14
call fcn.1400198a4
movzx eax, al
add r14, rax
lea eax, [r10 - 1]
cmp eax, 6
ja 0x1400397fa
mov rdx, qword [r11]
lea rcx, [0x140000000]
mov eax, 7
movzx ecx, byte [r10 + rcx + 0xe3ca0]
mov ebx, ecx
dec ecx
mov byte [rcx + r15], dl
shr rdx, 8
test ecx, ecx
jne 0x1400397ea
jmp 0x140039820
cmp r10d, 0xc
jb 0x14003981e
mov ebx, dword [r11 + 0xc]
test ebx, ebx
je 0x140039820
mov rdx, qword [r11 + 0x10]
mov r8d, ebx
mov rcx, r15
call fcn.1400c5d20
mov r11, qword [rsp + 0x60]
jmp 0x140039820
mov ebx, esi
add r11, 0x38
mov eax, ebx
mov ecx, 2
add r15, rax
mov qword [rsp + 0x60], r11
cmp r11, r13
jbe 0x140039777
mov rdi, qword [rbp - 0x68]
mov esi, dword [rsp + 0x30]
jmp 0x1400390cd
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
lea rdx, [rbp - 0x38]
mov rcx, qword [rax + rcx*8]
xor r14d, r14d
mov rcx, qword [rcx + 0x38]
mov qword [rbp - 0x38], r14
call fcn.14002ea40
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
mov rcx, qword [rbp + 0x220]
mov rdx, rdi
call fcn.140037688
mov rcx, qword [rbp - 0x38]
mov qword [rax], rcx
jmp 0x140038378
mov r12d, dword [rdi + 4]
mov r15, qword [rdi + 0x10]
xor ebx, ebx
mov dword [rsp + 0x78], r12d
test r12d, r12d
jne 0x14003997f
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 0xd0], ebx
jg 0x14003d18e
test r15, r15
je 0x1400398d7
or rbx, 0xffffffffffffffff
xor eax, eax
inc rbx
cmp byte [r15 + rbx], al
jne 0x1400398c8
and ebx, 0x3fffffff
mov r8d, dword [r12 + 0x280]
xor edx, edx
mov rcx, r12
add r8d, dword [r12 + 0x27c]
call fcn.14006f13c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
movsxd rdx, ebx
mov rcx, r12
add rdx, 0x21
call fcn.1400168b4
xor edx, edx
mov r14, rax
test rax, rax
je 0x140037b46
lea edx, [rbx + 1]
lea rcx, [rax + 0x20]
movsxd r8, edx
mov rdx, r15
mov qword [rax], rcx
call fcn.1400c5d20
xor ebx, ebx
cmp byte [r12 + 0x5f], bl
je 0x140039946
mov byte [r12 + 0x5f], bl
mov byte [r12 + 0x67], r13b
jmp 0x14003994e
add dword [r12 + 0x27c], r13d
mov rax, qword [r12 + 0x270]
mov qword [r14 + 0x18], rax
mov rax, qword [r12 + 0x288]
mov qword [r12 + 0x270], r14
mov qword [r14 + 8], rax
mov rax, qword [r12 + 0x290]
mov qword [r14 + 0x10], rax
jmp 0x140037b46
mov rax, qword [rsp + 0x48]
mov r14d, ebx
mov r13, qword [rax + 0x270]
test r13, r13
je 0x14003d1eb
mov rcx, qword [r13]
mov rdx, r15
call fcn.140018f84
test eax, eax
je 0x1400399b3
mov r13, qword [r13 + 0x18]
inc r14d
test r13, r13
jne 0x140039997
mov r11, qword [rbp + 0x220]
test r13, r13
je 0x14003d1eb
mov r15, qword [rsp + 0x48]
mov ecx, 1
cmp dword [r15 + 0xd0], ebx
jle 0x1400399df
cmp r12d, ecx
je 0x14003d1a7
cmp qword [r13 + 0x18], rbx
jne 0x140039a3d
cmp byte [r15 + 0x67], bl
je 0x140039a3d
mov ebx, ecx
mov dword [rsp + 0x58], ecx
cmp r12d, ecx
jne 0x140039a43
mov edx, ecx
mov rcx, r11
call fcn.140033e44
mov esi, eax
test eax, eax
jne 0x1400384e7
mov rsi, qword [rbp + 0x220]
mov byte [r15 + 0x5f], 1
mov rcx, rsi
call fcn.140033e94
mov ecx, 5
cmp eax, ecx
je 0x14003d1b0
xor eax, eax
mov byte [r15 + 0x67], al
mov esi, dword [rsi + 0x38]
mov dword [rsp + 0x30], esi
jmp 0x140039b68
mov dword [rsp + 0x58], ebx
jmp 0x140039a45
xor ebx, ebx
mov eax, dword [r15 + 0x27c]
mov edx, 2
sub eax, r14d
sub eax, ecx
cmp r12d, edx
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x50], eax
jne 0x140039ac3
mov r15d, dword [r15 + 0x2c]
mov r14d, ebx
and r15d, ecx
cmp dword [rdx + 0x28], ebx
jle 0x140039ac6
test r15d, r15d
mov r12d, ebx
sete r12b
mov rcx, qword [rdx + 0x20]
mov r8d, r12d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.140028dc4
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
mov rdx, qword [rsp + 0x48]
lea ecx, [rax + 1]
add rbx, 0x20
add r14d, ecx
cmp r14d, dword [rdx + 0x28]
jl 0x140039a7d
mov r12d, dword [rsp + 0x78]
mov eax, dword [rsp + 0x50]
xor ebx, ebx
jmp 0x140039ac6
mov r15d, ebx
mov r14d, ebx
cmp dword [rdx + 0x28], ebx
jle 0x140039b09
mov rcx, qword [rdx + 0x20]
mov r8d, eax
mov edx, r12d
mov rcx, qword [rbx + rcx + 8]
call fcn.140028fa8
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
mov rdx, qword [rsp + 0x48]
lea ecx, [rax + 1]
mov eax, dword [rsp + 0x50]
add r14d, ecx
add rbx, 0x20
cmp r14d, dword [rdx + 0x28]
jl 0x140039ace
test r15d, r15d
mov r15, qword [rsp + 0x48]
je 0x140039b3c
mov rax, qword [r15 + 8]
jmp 0x140039b2a
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140039b19
mov rcx, r15
call fcn.14004d9d8
or dword [r15 + 0x2c], 1
mov r14d, dword [rsp + 0x50]
mov ebx, dword [rsp + 0x58]
jmp 0x140039b68
mov rdx, qword [r15 + 0x270]
mov rcx, r15
mov rax, qword [rdx + 0x18]
mov qword [r15 + 0x270], rax
call fcn.140016650
dec dword [r15 + 0x27c]
cmp qword [r15 + 0x270], r13
jne 0x140039b47
cmp r12d, 1
jne 0x140039b9a
mov rax, qword [r13 + 0x18]
mov rdx, r13
mov rcx, r15
mov qword [r15 + 0x270], rax
call fcn.140016650
test ebx, ebx
jne 0x140039bda
dec dword [r15 + 0x27c]
jmp 0x140039bbe
mov rax, qword [r13 + 8]
mov qword [r15 + 0x288], rax
mov rax, qword [r13 + 0x10]
mov qword [r15 + 0x290], rax
test ebx, ebx
je 0x140039bbe
mov eax, 2
cmp r12d, eax
jne 0x140039bda
mov r8d, r14d
mov edx, r12d
mov rcx, r15
call fcn.14006f13c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
test esi, esi
jne 0x140038409
jmp 0x1400390cd
mov edx, dword [rdi + 8]
xor eax, eax
mov ebx, eax
mov dword [rsp + 0x58], eax
test edx, edx
je 0x140039c06
mov eax, dword [r12 + 0x30]
bt rax, 0x14
jb 0x14003d207
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov r14, qword [rcx + rax + 8]
test r14, r14
je 0x140039d0a
lea r8, [rsp + 0x58]
mov rcx, r14
call fcn.140028040
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003d211
mov r11, qword [rbp + 0x220]
cmp dword [rdi + 8], ebx
je 0x140039d06
mov eax, 0x80
test byte [r11 + 0xc8], al
je 0x140039d06
cmp byte [r12 + 0x5f], bl
je 0x140039c73
cmp dword [r12 + 0xcc], r13d
jle 0x140039d06
cmp dword [r11 + 0x40], ebx
jne 0x140039c95
add dword [r12 + 0x280], r13d
mov ecx, dword [r12 + 0x280]
add ecx, dword [r12 + 0x27c]
mov dword [r11 + 0x40], ecx
mov r8d, dword [r11 + 0x40]
xor edx, edx
mov rcx, r12
sub r8d, r13d
call fcn.14006f13c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140039ce7
mov rax, qword [r14 + 8]
mov r15, qword [rbp + 0x220]
mov rcx, qword [rax]
mov edx, dword [r15 + 0x40]
cmp edx, dword [rcx + 0x80]
jle 0x140039cdc
cmp byte [rcx + 0xa], bl
je 0x140039cdc
call fcn.140022a30
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x140039ce2
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov r15, qword [rsp + 0x40]
mov rax, qword [r12 + 0x288]
mov r11, qword [rbp + 0x220]
mov qword [r11 + 0x58], rax
mov rax, qword [r12 + 0x290]
mov qword [r11 + 0x60], rax
mov ebx, dword [rsp + 0x58]
xor r14d, r14d
cmp word [rdi + 2], r14w
je 0x140039da8
cmp ebx, dword [rdi + 0xc]
jne 0x140039d37
mov rax, qword [r12 + 0x20]
movsxd rcx, dword [rdi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rdi + 0x10]
cmp dword [rcx + 4], eax
je 0x140039da8
mov rdx, qword [r11 + 0xa8]
test rdx, rdx
je 0x140039d4b
mov rcx, r12
call fcn.140016650
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.140016a30
mov r11, qword [rbp + 0x220]
mov qword [r11 + 0xa8], rax
movsxd rdx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x140039d90
mov rcx, r12
call fcn.14004d95c
mov r11, qword [rbp + 0x220]
and dword [r11 + 0xc8], 0xfffffffd
or dword [r11 + 0xc8], r13d
mov esi, 0x11
mov dword [rsp + 0x30], esi
test esi, esi
jne 0x140038409
jmp 0x140037b52
movsxd rax, dword [rdi + 4]
mov rcx, qword [r12 + 0x20]
mov edx, dword [rdi + 0xc]
shl rax, 5
lea r8, [rbp - 0x20]
mov rcx, qword [rax + rcx + 8]
call fcn.14002e974
mov rdx, rdi
mov rcx, r11
call fcn.140037688
movsxd rcx, dword [rbp - 0x20]
mov qword [rax], rcx
jmp 0x14003796e
movsxd rbx, dword [rdi + 4]
mov r8d, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
shl rbx, 5
add rbx, qword [r12 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002e9c4
mov esi, eax
mov dword [rsp + 0x30], eax
cmp dword [rdi + 8], r13d
jne 0x140039e23
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdi + 0xc]
mov dword [rcx], eax
or dword [r12 + 0x2c], r13d
jmp 0x140039e37
mov eax, 2
cmp dword [rdi + 8], eax
jne 0x140039e37
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rdi + 4], r13d
jne 0x140039e6f
mov rax, qword [r12 + 8]
jmp 0x140039e56
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r13d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140039e44
mov r11, qword [rbp + 0x220]
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x140039da8
mov r11, qword [rbp + 0x220]
jmp 0x140039da8
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je 0x140039e98
mov eax, dword [rdi + 8]
cmp dword [rbx + 0x4c], eax
je 0x14003a007
mov ebx, 4
mov eax, dword [r11 + 0xc8]
and al, 3
cmp al, r13b
je 0x14003d251
movsxd rdx, dword [rdi + 0xc]
mov r8, qword [rsp + 0x48]
movsxd r15, dword [rdi + 8]
xor eax, eax
mov dword [rsp + 0x78], edx
mov r12d, eax
mov r13d, eax
mov rax, rdx
shl rax, 5
add rax, qword [r8 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
cmp r14b, 0x62
jne 0x140039f0a
movzx esi, word [rdi + 2]
mov rax, qword [rax + 0x18]
lea ecx, [r13 + 8]
and esi, ecx
mov cl, byte [rax + 0x70]
xor r14d, r14d
or esi, ebx
cmp cl, byte [r11 + 0xc3]
jae 0x140039f10
mov byte [r11 + 0xc3], cl
jmp 0x140039f10
xor r14d, r14d
mov esi, r14d
mov eax, 0x10
test byte [rdi + 2], al
je 0x140039f4f
mov rbx, r15
imul rbx, rbx, 0x38
add rbx, r10
mov rcx, rbx
call fcn.140030b84
mov edx, dword [rsp + 0x78]
mov r11, qword [rbp + 0x220]
mov qword [rbx], rax
mov r15d, dword [rbx]
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 4
or word [rbx + 8], ax
mov al, byte [rdi + 1]
cmp al, 0xf7
jne 0x140039f61
mov r13, qword [rdi + 0x10]
movzx r12d, word [r13 + 8]
jmp 0x140039f69
cmp al, 0xfd
jne 0x140039f69
mov r12d, dword [rdi + 0x10]
mov r9d, edx
mov edx, dword [rdi + 4]
mov r8d, r12d
mov rcx, r11
mov byte [rsp + 0x20], r14b
call fcn.140037358
mov rbx, rax
test rax, rax
je 0x1400391e9
mov ecx, 1
mov dword [rbx + 0x4c], r15d
mov byte [rax + 2], cl
lea eax, [rcx + 3]
or dword [rbx + 8], eax
mov rax, qword [rbx + 0x38]
cmp r15d, ecx
jge 0x140039fb2
mov ecx, 0x108ea
call fcn.140083408
jmp 0x140039fca
mov rcx, qword [rsp + 0x70]
mov r9, r13
mov r8d, esi
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.140029068
mov r11, qword [rbp + 0x220]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
mov dl, byte [rbp + 0x228]
mov r9d, dword [rbp + 0x238]
mov qword [rbx + 0x40], r13
cmp byte [rdi + 1], 0xf7
mov dword [rsp + 0x30], eax
mov esi, eax
setne al
mov r13d, 1
mov byte [rbx + 4], al
mov cl, byte [rdi + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
test esi, esi
jne 0x140038409
jmp 0x14003d076
movsxd rcx, dword [rdi + 8]
mov rax, qword [r11 + 0x78]
mov edx, dword [rdi + 4]
mov rbx, qword [rax + rcx*8]
xor r15d, r15d
or r9d, 0xffffffff
movsx r8d, word [rbx + 0x50]
mov rcx, r11
mov byte [rsp + 0x20], r15b
call fcn.140037358
mov rdx, rax
test rax, rax
je 0x1400391ee
or dword [rax + 8], r13d
mov rsi, qword [rdx + 0x38]
mov byte [rax + 2], r13b
mov r12, qword [rbx + 0x40]
mov qword [rax + 0x40], r12
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov eax, dword [rbx + 8]
mov r14d, ecx
xor eax, dword [rdx + 8]
and eax, 4
xor dword [rdx + 8], eax
mov r15, qword [rbx + 0x10]
cmp ecx, r13d
jge 0x14003a099
mov ecx, 0x108ea
call fcn.140083408
jmp 0x14003a0d4
mov rbx, qword [r15 + 8]
xor edx, edx
mov qword [rsp + 0x70], rbx
cmp qword [rbx + 0x60], rdx
jne 0x14003a0df
mov ecx, dword [rbx + 0x30]
call fcn.14001de78
xor edx, edx
mov qword [rbx + 0x60], rax
test rax, rax
je 0x14003a0c9
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rdx + 4]
add qword [rbx + 0x60], rax
cmp qword [rbx + 0x60], rdx
jne 0x14003a0df
mov eax, 7
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x1400390d3
cmp r14d, r13d
jne 0x14003a0ee
mov eax, dword [rbx + 0x3c]
neg eax
sbb ecx, ecx
and r14d, ecx
mov dword [rsi + 0x50], r14d
mov byte [rsi + 0x54], 0xff
mov qword [rsi + 0x80], r12
mov qword [rsi + 8], r15
mov qword [rsi + 0x20], rbx
mov word [rsi + 1], 1
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14003a133
mov ebx, Ordinal_36
cmp dword [rax + 0x50], r14d
jne 0x14003a125
or byte [rax + 1], bl
or byte [rsi + 1], bl
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14003a119
mov rbx, qword [rsp + 0x70]
mov rax, qword [rbx + 0x10]
mov dword [rsp + 0x30], edx
mov qword [rsi + 0x28], rax
mov qword [rbx + 0x10], rsi
mov byte [rsi], r13b
mov esi, edx
jmp 0x1400390d3
movsxd rdx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
xor r14d, r14d
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14003a18c
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x28], r14d
test rcx, rcx
je 0x14003a41c
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.14002e6ec
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a409
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], r14b
call fcn.140037358
mov rbx, rax
test rax, rax
je 0x1400391ee
or dword [rax + 8], r13d
movzx ecx, word [rdi + 2]
lea r15, [rax + 0x10]
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov r9, r15
mov dword [rsp + 0x20], ecx
mov rcx, qword [r12]
mov r8, r12
xor edx, edx
call fcn.140027600
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003a3e9
mov rcx, qword [r15]
xor r8d, r8d
mov edx, r13d
call fcn.140028040
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003a3e9
mov r13, qword [rdi + 0x10]
mov qword [rbx + 0x40], r13
test r13, r13
je 0x14003a328
movzx r8d, word [rdi + 2]
mov rcx, qword [r15]
lea rdx, [rbx + 0x4c]
or r8d, 2
call fcn.14002e26c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003a314
mov r12d, dword [rbx + 0x4c]
mov r14, qword [rbx + 0x38]
mov r15, qword [r15]
lea edx, [rax + 1]
cmp r12d, edx
jge 0x14003a256
mov ecx, 0x108ea
call fcn.140083408
jmp 0x14003a297
mov rsi, qword [r15 + 8]
xor r8d, r8d
mov qword [rsp + 0x70], rsi
cmp qword [rsi + 0x60], r8
jne 0x14003a2a2
mov ecx, dword [rsi + 0x30]
call fcn.14001de78
xor r8d, r8d
mov qword [rsi + 0x60], rax
lea edx, [r8 + 1]
test rax, rax
je 0x14003a28c
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rdx + 3]
add qword [rsi + 0x60], rax
cmp qword [rsi + 0x60], r8
jne 0x14003a2a2
mov eax, 7
mov esi, eax
mov dword [rsp + 0x30], eax
xor r14d, r14d
jmp 0x14003a314
cmp r12d, edx
jne 0x14003a2b1
mov eax, dword [rsi + 0x3c]
neg eax
sbb ecx, ecx
and r12d, ecx
mov dword [r14 + 0x50], r12d
mov byte [r14 + 0x54], 0xff
mov qword [r14 + 0x80], r13
mov qword [r14 + 8], r15
mov qword [r14 + 0x20], rsi
mov word [r14 + 1], 1
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x14003a2fa
mov esi, Ordinal_36
cmp dword [rax + 0x50], r12d
jne 0x14003a2ec
or byte [rax + 1], sil
or byte [r14 + 1], sil
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14003a2de
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsi + 0x10]
mov qword [r14 + 0x28], rax
mov qword [rsi + 0x10], r14
mov byte [r14], dl
xor r14d, r14d
mov esi, r14d
mov dword [rsp + 0x30], r14d
mov r12, qword [rsp + 0x48]
mov byte [rbx + 4], r14b
mov r13d, 1
jmp 0x14003a3e9
mov r15, qword [r15]
mov rsi, qword [rbx + 0x38]
mov r13d, 1
mov dword [rbx + 0x4c], r13d
mov r14, qword [r15 + 8]
xor edx, edx
cmp qword [r14 + 0x60], rdx
jne 0x14003a37b
mov ecx, dword [r14 + 0x30]
call fcn.14001de78
xor edx, edx
mov qword [r14 + 0x60], rax
test rax, rax
je 0x14003a365
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rdx + 4]
add qword [r14 + 0x60], rax
cmp qword [r14 + 0x60], rdx
jne 0x14003a37b
mov eax, 7
xor r14d, r14d
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a3e5
mov eax, dword [r14 + 0x3c]
mov byte [rsi + 0x54], 0xff
mov qword [rsi + 0x80], rdx
neg eax
mov qword [rsi + 8], r15
mov qword [rsi + 0x20], r14
sbb ecx, ecx
mov word [rsi + 1], r13w
and ecx, r13d
mov dword [rsi + 0x50], ecx
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x14003a3cb
mov r12d, Ordinal_36
cmp dword [rax + 0x50], ecx
jne 0x14003a3bd
or byte [rax + 1], r12b
or byte [rsi + 1], r12b
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14003a3b0
mov r12, qword [rsp + 0x48]
mov rax, qword [r14 + 0x10]
mov qword [rsi + 0x28], rax
mov qword [r14 + 0x10], rsi
xor r14d, r14d
mov byte [rsi], r13b
mov esi, r14d
mov dword [rsp + 0x30], r14d
mov byte [rbx + 4], r13b
mov r15, qword [rsp + 0x40]
mov eax, r14d
mov ecx, 8
cmp word [rdi + 2], cx
setne al
shl eax, 2
xor eax, dword [rbx + 8]
and eax, 4
xor dword [rbx + 8], eax
mov r9d, dword [rbp + 0x238]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x220]
test esi, esi
jne 0x140038409
mov byte [rbx + 2], r13b
jmp 0x14003d070
mov r8d, dword [rdi + 8]
mov edx, dword [rdi + 4]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], r13b
call fcn.140037358
test rax, rax
je 0x1400391ee
mov rcx, qword [rdi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov edx, dword [rdi + 0xc]
mov rcx, r12
call fcn.14003e7ec
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
jmp 0x14003796e
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x14003d04e
jmp 0x14003d070
mov r8d, dword [rdi + 0xc]
mov edx, dword [rdi + 4]
mov eax, 3
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], al
call fcn.140037358
test rax, rax
je 0x1400391ee
mov byte [rax + 2], r13b
mov ecx, dword [rdi + 8]
mov byte [rax + 4], r13b
mov dword [rax + 0x2c], ecx
lea rcx, [0x14014f0bc]
mov qword [rax + 0x38], rcx
jmp 0x14003796e
movsxd rax, dword [rdi + 4]
mov rdx, qword [r11 + 0x78]
mov rcx, r11
mov rdx, qword [rdx + rax*8]
call fcn.1400334d8
mov r11, qword [rbp + 0x220]
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
xor edx, edx
mov qword [rax + rcx*8], rdx
jmp 0x140037975
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
xor edx, edx
mov r15, qword [rax + rcx*8]
mov ebx, edx
mov dword [rbp - 0x78], edx
mov word [r15 + 2], dx
mov dword [r15 + 0x28], edx
lea ecx, [rdx + 2]
cmp byte [r15 + 4], dl
je 0x14003a61d
movsxd rbx, dword [rdi + 0xc]
imul rbx, rbx, 0x38
add rbx, r10
movzx r12d, word [rbx + 8]
mov al, r12b
and al, 0x2e
cmp al, cl
jne 0x14003a558
mov rcx, rbx
call fcn.140037484
mov rcx, rbx
call fcn.140030b84
movzx ecx, word [rbx + 8]
mov word [rbx + 8], r12w
mov r13, rax
test cl, 0x24
jne 0x14003a5e5
mov eax, 8
test al, cl
jne 0x14003a5b5
lea r13d, [rax - 7]
test r13b, cl
jne 0x14003a734
cmp r14d, 0x18
jge 0x14003a734
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x54]
call fcn.140029a28
xor r14d, r14d
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
jmp 0x14003a699
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, r13
comisd xmm1, xmm0
jae 0x14003a5d6
mov eax, 1
test al, r14b
je 0x14003a5e5
sub r14d, eax
jmp 0x14003a5e5
jbe 0x14003a5e5
mov eax, 1
test al, r14b
jne 0x14003a5e5
add r14d, eax
mov rcx, qword [r15 + 0x38]
lea rax, [rsp + 0x54]
xor r9d, r9d
mov r8, r13
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.140029a84
xor ebx, ebx
mov qword [r15 + 0x58], r13
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
lea r13d, [rax + 1]
jmp 0x14003a6e1
mov rax, qword [r15 + 0x38]
test byte [rax + 3], cl
mov rax, qword [r15 + 0x40]
mov byte [rbp + 0x16], dl
cmovne ebx, r13d
mov qword [rbp], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x10], ax
mov eax, r14d
lea rdx, [rbp]
and al, r13b
mov dword [rbp - 0x78], ebx
neg al
movsxd rax, dword [rdi + 0xc]
sbb cl, cl
xor r9d, r9d
xor r8d, r8d
and cl, 0xfe
add cl, r13b
imul rax, rax, 0x38
add rax, r10
mov byte [rbp + 0x12], cl
mov qword [rbp + 8], rax
mov rcx, qword [r15 + 0x38]
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
call fcn.140029a84
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
test ebx, ebx
je 0x14003a6df
xor ebx, ebx
cmp byte [rbp + 0x16], bl
jne 0x14003a6e1
xor r14d, r14d
cmp dword [rsp + 0x54], r14d
jne 0x14003a734
mov r11, qword [rbp + 0x220]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
mov dl, byte [rbp + 0x228]
mov r9d, dword [rbp + 0x238]
mov ebx, 4
cmp dword [rbp - 0x78], r14d
je case.0x14003779c.86
add rdi, 0x18
jmp case.0x14003779c.86
xor ebx, ebx
mov eax, dword [rsp + 0x54]
cmp r14d, 0x18
jl 0x14003a73e
test eax, eax
js 0x14003a701
jne 0x14003a6f7
cmp r14d, 0x19
je 0x14003a701
xor r14d, r14d
mov dword [rsp + 0x54], r14d
jmp 0x14003a6a4
mov rcx, qword [r15 + 0x38]
xor r14d, r14d
xor edx, edx
mov dword [rsp + 0x54], r14d
call fcn.14002a04c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x14003a6a4
cmp eax, 0x65
jne 0x140038409
mov esi, r14d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x54], r13d
mov r15, qword [rsp + 0x40]
jmp 0x14003d04e
test eax, eax
jg 0x14003a763
jne 0x14003a74a
cmp r14d, 0x16
je 0x14003a763
mov rax, qword [r15 + 0x38]
xor r14d, r14d
cmp byte [rax], r14b
mov ecx, r14d
setne cl
mov dword [rsp + 0x54], ecx
jmp 0x14003a699
mov rcx, qword [r15 + 0x38]
xor r14d, r14d
xor edx, edx
mov dword [rsp + 0x54], r14d
call fcn.14002a19c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x14003a6a4
cmp eax, 0x65
jne 0x140038409
mov esi, r14d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x54], r13d
jmp 0x14003a699
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdi + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp 0x1400377f8
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne case.0x14003779c.86
movsxd rbx, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
imul rbx, rbx, 0x38
mov r14, qword [rax + rcx*8]
xor r15d, r15d
add rbx, r10
cmp dword [rdi + 0x10], r15d
jle 0x14003a81f
mov rax, qword [r14 + 0x40]
lea rsi, [rbp + 0xd8]
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xd8], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0xe8], ax
jmp 0x14003a86a
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003a834
mov rcx, rbx
call fcn.1400307d8
jmp 0x14003a837
mov eax, r15d
test eax, eax
jne 0x1400391ee
mov rcx, qword [r14 + 0x40]
call fcn.1400347c4
mov rsi, rax
mov r15, rax
test rax, rax
je 0x1400391ee
mov r8, qword [rbx + 0x10]
mov edx, dword [rbx + 0xc]
mov rcx, qword [r14 + 0x40]
mov r9, rax
call fcn.14003481c
xor eax, eax
mov byte [rsi + 0x12], al
cmp byte [rdi], 0x1b
mov ebx, eax
jne 0x14003a89d
movzx edx, word [rsi + 0x10]
mov ecx, eax
test edx, edx
jle 0x14003a89d
mov rax, qword [rsi + 8]
add rax, 8
test byte [rax], r13b
jne 0x14003a89a
add ecx, r13d
add rax, 0x38
cmp ecx, edx
jl 0x14003a888
jmp 0x14003a89d
mov ebx, r13d
mov rcx, qword [r14 + 0x38]
lea rax, [rbp - 0x1c]
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov qword [rsp + 0x20], rax
call fcn.140029a84
mov esi, eax
mov dword [rsp + 0x30], eax
test r15, r15
je 0x14003a8ce
mov rdx, r15
mov rcx, r12
call fcn.140016650
xor r15d, r15d
test esi, esi
jne 0x140038409
mov eax, dword [rbp - 0x1c]
mov ecx, r15d
mov byte [r14 + 3], r15b
test eax, eax
mov dword [r14 + 0x2c], eax
mov eax, r13d
sete cl
mov dword [r14 + 0x28], r15d
sub al, cl
mov byte [r14 + 2], al
cmp byte [rdi], 0x1d
jne 0x14003a90a
mov r15, qword [rsp + 0x40]
test ecx, ecx
jmp 0x140038c87
test ebx, ebx
jne 0x14003a734
mov r15, qword [rsp + 0x40]
test ecx, ecx
jmp 0x140038cae
movsxd rcx, dword [rdi + 0xc]
imul rcx, rcx, 0x38
add rcx, r10
test byte [rcx + 8], 0x24
jne case.0x14003779c.31
mov rax, qword [rcx]
mov r8b, dl
mov dl, 0x43
mov qword [rbp + 0x70], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x78], rax
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x80], rax
mov rax, qword [rcx + 0x18]
mov qword [rbp + 0x88], rax
mov rax, qword [rcx + 0x20]
mov qword [rbp + 0x90], rax
mov rax, qword [rcx + 0x28]
mov qword [rbp + 0x98], rax
mov rax, qword [rcx + 0x30]
lea rcx, [rbp + 0x70]
mov qword [rbp + 0xa0], rax
call fcn.14003751c
test byte [rbp + 0x78], bl
je 0x14003d04e
mov r14, qword [rbp + 0x70]
mov r11, qword [rbp + 0x220]
jmp 0x14003a9a5
movsxd rax, dword [rdi + 0xc]
imul rax, rax, 0x38
mov r14, qword [rax + r10]
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
xor r9d, r9d
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov r8, r14
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x50], eax
lea rax, [rbp - 0x50]
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.140029a84
mov qword [rbx + 0x58], r14
xor r14d, r14d
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x50]
mov word [rbx + 2], r14w
mov dword [rbx + 0x28], r14d
mov dword [rbx + 0x2c], eax
test eax, eax
je 0x1400385bc
cmp dword [rdi + 8], r14d
jne 0x14003d04e
mov ecx, 0x159cf
call fcn.140083408
mov dword [rsp + 0x30], eax
mov esi, eax
jmp 0x1400385bc
mov rdx, rdi
mov rcx, r11
call fcn.140037688
movsxd rdx, dword [rdi + 4]
mov r11, qword [rbp + 0x220]
mov rcx, qword [r11 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r13
jmp 0x140037975
xor r14d, r14d
mov rdx, rdi
mov rcx, r11
mov ebx, r14d
mov dword [rsp + 0x50], r14d
mov qword [rsp + 0x60], rbx
call fcn.140037688
movsxd rdx, dword [rdi + 4]
mov r12, rax
mov rax, qword [rbp + 0x220]
mov rcx, qword [rax + 0x78]
mov r15, qword [rcx + rdx*8]
lea ecx, [r14 + 2]
test byte [r15 + 8], cl
jne 0x14003aaf3
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x50]
call fcn.140029a28
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
cmp dword [rsp + 0x50], r14d
je 0x14003aab0
mov rbx, r13
jmp 0x14003aae2
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.1400291c8
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x60], rbx
cmp rbx, rax
jl 0x14003aadf
mov ecx, 2
or dword [r15 + 8], ecx
jmp 0x14003aaec
add rbx, r13
mov ecx, 2
mov qword [rsp + 0x60], rbx
mov rax, qword [rbp + 0x220]
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x14003ab88
mov rax, qword [rax + 0x100]
test rax, rax
je 0x14003ab2a
mov rcx, qword [rax + 8]
jmp 0x14003ab18
mov rax, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14003ab11
mov r14, rdx
imul r14, r14, 0x38
add r14, qword [rax + 0x20]
jmp 0x14003ab36
mov r14, rdx
imul r14, r14, 0x38
add r14, qword [rsp + 0x38]
mov rcx, r14
call fcn.140030b84
mov ecx, 0x3e40
and word [r14 + 8], cx
mov ecx, 4
mov qword [r14], rax
or word [r14 + 8], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14003abf1
mov ecx, 2
test byte [r15 + 8], cl
jne 0x14003abf1
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [r14], rbx
xor r14d, r14d
mov qword [rsp + 0x60], rbx
test byte [r15 + 8], cl
je 0x14003abfb
lea rdx, [rsp + 0x60]
mov ecx, 8
call fcn.1400184fc
mov rbx, qword [rsp + 0x60]
mov rcx, qword [r15 + 0x38]
movabs rax, 0x3fffffffffffffff
xor r9d, r9d
xor edx, edx
and rbx, rax
lea rax, [rsp + 0x50]
add rbx, r13
mov qword [rsp + 0x20], rax
mov r8, rbx
mov qword [rsp + 0x60], rbx
call fcn.140029a84
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
test esi, esi
jne 0x140038409
cmp dword [rsp + 0x50], eax
jne 0x14003abfb
add r14d, r13d
cmp r14d, 0x64
jl 0x14003ab8e
mov esi, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x140038409
xor r14d, r14d
mov byte [r15 + 3], r14b
mov dword [r15 + 0x28], r14d
mov qword [r12], rbx
jmp 0x1400390d3
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
movsxd rdx, dword [rdi + 8]
imul rdx, rdx, 0x38
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
add rdx, r10
xor ecx, ecx
imul rax, rax, 0x38
cmp byte [rdi + 1], 0xfa
mov r8, qword [rax + r10]
mov qword [rbp + 0xb0], r8
jne 0x14003ac65
cmp qword [r12 + 0x120], rcx
je 0x14003ac65
movsx rcx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
mov r14, qword [rdi + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
xor ecx, ecx
jmp 0x14003ac6b
mov r14, rcx
mov r15, rcx
test byte [rdi + 2], r13b
je 0x14003ac75
add dword [r11 + 0x3c], r13d
mov eax, Ordinal_36
test byte [rdi + 2], al
je 0x14003ac84
mov qword [r12 + 0x38], r8
mov rax, qword [rdx + 0x10]
movzx r8d, word [rdi + 2]
mov qword [rbp + 0xb8], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0xcc], eax
mov eax, 0x10
test al, r8b
je 0x14003acad
mov r9d, dword [rbx + 0x2c]
jmp 0x14003acb0
mov r9d, ecx
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14003acc5
mov eax, dword [rdx]
mov dword [rbp + 0xd0], eax
jmp 0x14003accb
mov dword [rbp + 0xd0], ecx
mov qword [rbp + 0xa8], rcx
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0xa8]
and r8d, 0xa
call fcn.14002da58
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov byte [rbx + 3], al
mov dword [rbx + 0x28], eax
xor ebx, ebx
test esi, esi
jne 0x140038409
lea ebx, [rsi + 4]
test r14, r14
je 0x140038378
mov al, byte [rdi + 2]
mov r9, qword [r14]
mov rcx, qword [r12 + 0x118]
and al, bl
mov r8, r15
neg al
mov rax, qword [rbp + 0xb0]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r12 + 0x120]
jmp 0x140038378
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r13d, dword [rdi + 8]
mov r14, qword [rax + rcx*8]
xor ebx, ebx
cmp byte [rdi + 1], 0xfa
jne 0x14003ad9e
cmp qword [r12 + 0x120], rbx
je 0x14003ad9e
mov rax, qword [r12 + 0x20]
movsx rcx, byte [r14 + 1]
mov r15, qword [rdi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
lea eax, [rbx + 2]
test byte [rdi + 2], al
je 0x14003ada4
cmp byte [r14 + 4], bl
je 0x14003ada4
mov rbx, qword [r14 + 0x38]
mov rcx, rbx
call fcn.1400291c8
mov rax, qword [rbx + 0x30]
xor ebx, ebx
mov qword [r14 + 0x58], rax
jmp 0x14003ada4
mov r12, rbx
mov r15, rbx
mov dl, byte [rdi + 2]
mov rcx, qword [r14 + 0x38]
call fcn.14002de7c
mov qword [r14 + 0x28], 0
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
mov r11, qword [rbp + 0x220]
test r13b, 1
lea r13d, [rax + 1]
je 0x1400390da
add dword [r11 + 0x3c], r13d
mov rax, qword [rsp + 0x48]
mov r10, qword [rax + 0x120]
test r10, r10
je 0x14003cf3e
lea eax, [rsi + 0x20]
test byte [r15 + 0x40], al
jne 0x1400390da
mov rax, qword [r14 + 0x58]
mov r9, qword [r15]
mov r8, r12
mov r12, qword [rsp + 0x48]
lea edx, [rsi + 9]
mov qword [rsp + 0x20], rax
mov rcx, qword [r12 + 0x118]
call r10
jmp 0x140037b46
mov eax, dword [r11 + 0x3c]
add dword [r12 + 0x78], eax
xor ebx, ebx
mov dword [r12 + 0x74], eax
mov dword [r11 + 0x3c], ebx
jmp 0x14003d076
movsxd rdx, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
imul rdx, rdx, 0x38
mov r8d, dword [rdi + 0x10]
mov rcx, qword [rax + rcx*8]
lea r9, [rbp - 0x40]
xor r14d, r14d
add rdx, r10
mov dword [rbp - 0x40], r14d
call fcn.14003fc0c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
cmp dword [rbp - 0x40], r14d
jne 0x14003d04e
jmp 0x14003796e
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
movsxd rbx, dword [rdi + 8]
imul rbx, rbx, 0x38
mov rcx, qword [rax + rcx*8]
add rbx, r10
mov rax, qword [rcx + 0x38]
xor ecx, ecx
cmp byte [rax + 0x58], cl
je 0x14003aecc
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov esi, dword [rax + 0x14]
mov r14, qword [rax + 0x28]
jmp 0x14003aed6
mov rax, qword [rax + 0x38]
mov esi, dword [rax]
lea r14, [rax + 0x10]
cmp dword [rbx + 0x20], esi
jge 0x14003aeea
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.1400305e8
jmp 0x14003aef9
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0x2d
mov qword [rbx + 0x10], rax
xor eax, eax
test eax, eax
jne 0x14003d25b
mov rcx, qword [rbx + 0x10]
mov eax, 0x3e40
movsxd r8, esi
and word [rbx + 8], ax
mov eax, 0x10
mov rdx, r14
or word [rbx + 8], ax
mov dword [rbx + 0xc], esi
call fcn.1400c5d20
movsxd rcx, dword [rdi + 0xc]
mov r11, qword [rbp + 0x220]
xor r14d, r14d
mov rax, qword [r11 + 0x78]
mov esi, r14d
mov dword [rsp + 0x30], r14d
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r14d
jmp 0x140037b52
mov rdx, rdi
mov rcx, r11
call fcn.140037688
movsxd rdx, dword [rdi + 4]
mov r15, qword [rbp + 0x220]
mov rcx, qword [r15 + 0x78]
mov rbx, rax
mov rdx, qword [rcx + rdx*8]
mov rsi, qword [rdx + 0x38]
mov rcx, rsi
call fcn.1400291c8
mov r8d, dword [rsi + 0x40]
cmp r8d, dword [r12 + 0x7c]
ja 0x14003cadc
mov r9, rbx
xor edx, edx
mov rcx, rsi
call fcn.1400314c8
xor r14d, r14d
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038410
cmp dword [rdi + 0xc], r14d
jne 0x140037b46
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140037b46
mov rcx, rbx
call fcn.14003077c
test eax, eax
jne 0x1400391ee
jmp 0x140037b46
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov r11, qword [rbp + 0x220]
movsxd rdx, dword [rdi + 4]
mov rcx, qword [r11 + 0x78]
mov r14, rax
mov rbx, qword [rcx + rdx*8]
xor ecx, ecx
cmp byte [rbx + 2], cl
je 0x14003b006
mov word [rax + 8], r13w
jmp 0x140037b52
cmp byte [rbx + 3], cl
je 0x14003b014
mov rax, qword [rbx + 0x58]
jmp 0x14003b0b4
mov eax, 2
cmp byte [rbx], al
jne 0x14003b05e
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp - 0x10]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov r15, qword [rbp + 0x220]
mov rdx, rbx
mov rcx, r15
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.1400356d4
xor ebx, ebx
test esi, esi
jne 0x140038410
mov rax, qword [rbp - 0x10]
mov r11, r15
mov r15, qword [rsp + 0x40]
jmp 0x14003b0b8
mov rax, qword [rbx + 0x38]
xor esi, esi
cmp byte [rax], sil
je 0x14003b080
mov rcx, rbx
call fcn.140034558
mov r11, qword [rbp + 0x220]
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b084
mov dword [rsp + 0x30], esi
xor ecx, ecx
test esi, esi
jne 0x140038409
cmp byte [rbx + 2], cl
je 0x14003b09d
mov word [r14 + 8], r13w
jmp 0x140037b52
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.1400291c8
mov rax, qword [rbx + 0x30]
mov r11, qword [rbp + 0x220]
mov qword [rbp - 0x10], rax
mov qword [r14], rax
jmp 0x140037b52
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
xor r14d, r14d
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r13b
mov dword [rbx + 0x28], r14d
cmp byte [rbx], r14b
jne 0x14003d076
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.1400165f8
mov qword [rbx + 0x18], r14
mov byte [rbx], r13b
jmp 0x1400383b7
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x44], eax
cmp r14b, 0x82
jne 0x14003b126
or dword [rbx + 0x2c], 0xffffffff
xor r14d, r14d
cmp byte [rcx], r14b
je 0x14003d076
jmp 0x14003b129
xor r14d, r14d
lea rdx, [rbp - 0x44]
call fcn.140029a28
mov byte [rbx + 3], r14b
mov dword [rbx + 0x28], r14d
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x44]
mov byte [rbx + 2], al
test esi, esi
jne 0x140038409
cmp dword [rdi + 8], r14d
jle 0x1400383b7
jmp 0x140038c85
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.1400297a8
xor r14d, r14d
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003b196
mov rcx, rbx
mov dword [rbp - 0x60], r14d
call fcn.140029938
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b1b2
mov eax, 0x10
cmp esi, eax
jne 0x14003b1ae
xor esi, esi
mov r14d, r13d
mov dword [rbp - 0x60], r13d
mov dword [rsp + 0x30], esi
jmp 0x14003b1b2
mov r14d, dword [rbp - 0x60]
test esi, esi
jne 0x140038409
test r14d, r14d
jne 0x14003d04e
xor r14d, r14d
cmp byte [rbx], r14b
jne 0x1400383b7
mov rax, qword [rbx + 0x88]
cmp byte [rax + 8], r14b
je 0x1400383b7
movsx r9d, byte [rbx + 0x54]
movzx ecx, word [rax + 0x18]
mov r8b, r14b
test r9d, r9d
jle 0x14003b211
movzx eax, r8b
add r8b, r13b
mov rdx, qword [rbx + rax*8 + 0x90]
movzx eax, word [rdx + 0x18]
imul rcx, rax
movzx eax, r8b
cmp eax, r9d
jl 0x14003b1f1
test rcx, rcx
js 0x1400383b7
call fcn.140019d44
movsx ecx, ax
cmp ecx, dword [rdi + 0xc]
jge 0x1400383b7
mov dword [rbp - 0x60], r13d
jmp 0x14003d04e
add dword [r11 + 0xdc], r13d
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r14d, r13d
mov r15, qword [rax + rcx*8]
mov rbx, qword [r15 + 0x38]
cmp byte [r15], r13b
jne 0x14003b2a6
xor eax, eax
mov esi, eax
mov dword [rsp + 0x30], eax
cmp byte [rbx + 0x58], al
jne 0x14003b27d
lea rdx, [rbx + 0x38]
cmp qword [rdx], rax
je 0x14003b2a2
lea rcx, [rbx + 0x60]
mov r14d, eax
call fcn.14003ecd0
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b2a2
mov rcx, rbx
call fcn.14003f220
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003b2a2
mov rcx, rbx
call fcn.14003fa98
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov r14d, eax
xor ebx, ebx
jmp 0x14003b2d5
mov rcx, rbx
call fcn.1400297a8
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
test esi, esi
jne 0x14003b2ee
mov rcx, rbx
mov r14d, eax
call fcn.140029938
mov esi, eax
mov dword [rsp + 0x30], eax
xor ebx, ebx
mov byte [r15 + 3], bl
mov dword [r15 + 0x28], ebx
test esi, esi
jne 0x140038409
mov byte [r15 + 2], r14b
mov r15, qword [rsp + 0x40]
test r14d, r14d
jmp 0x140038c87
mov eax, 0x10
cmp esi, eax
jne 0x14003b2cb
xor ebx, ebx
mov esi, ebx
mov dword [rsp + 0x30], ebx
jmp 0x14003b2cd
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
xor ebx, ebx
mov r14, qword [rax + rcx*8]
mov rsi, qword [r14 + 0x38]
cmp byte [rsi + 0x58], bl
je 0x14003b33c
mov rcx, qword [rsi + 0x18]
lea rdx, [rbp - 0x4c]
mov dword [rbp - 0x4c], ebx
call fcn.14003f068
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003b39b
cmp dword [rbp - 0x4c], ebx
je 0x14003b39b
lea esi, [rbx + 0x65]
jmp 0x14003b379
mov rdx, qword [rsi + 0x38]
mov rax, qword [rdx + 8]
mov qword [rsi + 0x38], rax
mov qword [rdx + 8], rbx
cmp qword [rsi + 0x40], rbx
jne 0x14003b36b
mov rbx, qword [rdx + 8]
mov rcx, r12
call fcn.140016650
mov rdx, rbx
test rbx, rbx
jne 0x14003b352
mov r15, qword [rsp + 0x40]
mov rax, qword [rsi + 0x38]
neg rax
sbb esi, esi
not esi
and esi, 0x65
mov dword [rsp + 0x30], esi
jmp 0x14003b39b
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov edx, dword [rdi + 0xc]
mov r14, qword [rax + rcx*8]
mov rcx, qword [r14 + 0x38]
call qword [rdi + 0x10]
mov esi, eax
mov dword [rsp + 0x30], eax
xor ebx, ebx
mov dword [r14 + 0x28], ebx
test esi, esi
jne 0x14003b3c1
mov rcx, qword [rbp + 0x220]
mov byte [r14 + 2], bl
movzx eax, word [rdi + 2]
add dword [rcx + rax*4 + 0xd4], r13d
jmp 0x14003bcdc
cmp esi, 0x65
jne 0x140038409
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov byte [r14 + 2], r13b
jmp 0x14003bcec
movsxd rbx, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
imul rbx, rbx, 0x38
mov r14, qword [rax + rcx*8]
add rbx, r10
test byte [rdi + 2], r13b
je 0x14003b3fa
add dword [r11 + 0x3c], r13d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003b416
mov rcx, rbx
call fcn.1400307d8
mov r10, qword [rsp + 0x38]
mov esi, eax
jmp 0x14003b418
xor esi, esi
test esi, esi
jne 0x140038409
cmp byte [rdi], 0x83
jne 0x14003b437
mov rdx, rbx
mov rcx, r14
call fcn.14003f33c
xor ebx, ebx
jmp 0x14003aa08
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rdi + 2]
mov qword [rbp + 0x168], rax
mov rax, qword [rbx + 0x10]
xor ebx, ebx
mov qword [rbp + 0x160], rax
movsxd rax, dword [rdi + 0xc]
imul rax, rax, 0x38
add rax, r10
mov qword [rbp + 0x178], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x180], ax
mov eax, 0x10
test al, r8b
je 0x14003b481
mov r9d, dword [r14 + 0x2c]
jmp 0x14003b484
mov r9d, ebx
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x160]
and r8d, 0xa
call fcn.14002da58
mov dword [r14 + 0x28], ebx
jmp 0x14003aa08
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
lea rdx, [rbp + 0x40]
mov rbx, qword [rax + rcx*8]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rbx + 0x40]
mov r14, qword [rbx + 0x38]
mov qword [rbp + 0x40], rax
movzx eax, word [rdi + 0xc]
mov rcx, r14
mov word [rbp + 0x50], ax
xor eax, eax
mov byte [rbp + 0x52], al
movsxd rax, dword [rdi + 8]
imul rax, rax, 0x38
add rax, r10
mov qword [rbp + 0x48], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.140029a84
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
test esi, esi
jne 0x140038409
cmp dword [rbp - 8], eax
jne 0x14003b51e
lea edx, [rsi + 4]
mov rcx, r14
call fcn.14002de7c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
mov qword [rbx + 0x28], 0
jmp 0x1400383b7
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
xor r14d, r14d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r14b
je 0x14003b56c
mov rcx, rbx
call fcn.140034558
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x228]
mov r9d, dword [rbp + 0x238]
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b574
mov esi, r14d
mov dword [rsp + 0x30], r14d
test esi, esi
jne 0x140038409
cmp byte [rbx + 2], r14b
jne 0x14003b5f6
mov rdx, qword [rbx + 0x38]
lea r8, [rbp - 0x70]
mov rcx, r12
mov qword [rbp - 0x70], r14
call fcn.1400354b4
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
cmp byte [rdi], 0x86
jne 0x14003b5db
movsxd rcx, dword [rdi + 0xc]
mov r11, qword [rbp + 0x220]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x70]
mov word [rdx + 2], 0x100
mov qword [rdx + 0x58], rax
mov rax, qword [rdi + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x140037b52
mov rcx, qword [rbp + 0x220]
mov rdx, rdi
call fcn.140037688
mov rcx, qword [rbp - 0x70]
mov qword [rax], rcx
jmp 0x140037b46
movsxd rax, dword [rdi + 8]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r10
test word [rax + 8], cx
je 0x14003b614
mov rcx, rax
jmp 0x140038b54
mov word [rax + 8], r13w
jmp 0x14003d076
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
cmp r14b, 0x27
mov rdx, qword [rax + rcx*8]
lea r9, [rsp + 0x68]
lea r8, [rbp + 0x58]
mov rax, qword [rdx + 0x40]
mov rcx, r12
mov qword [rbp + 0x58], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x68], ax
sbb al, al
xor r14d, r14d
mov byte [rbp + 0x6a], al
movsxd rax, dword [rdi + 0xc]
mov dword [rsp + 0x68], r14d
imul rax, rax, 0x38
add rax, r10
mov qword [rbp + 0x60], rax
call fcn.1400355ec
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x68]
test byte [rdi], r13b
je 0x14003b67e
neg eax
jmp 0x14003b681
add eax, r13d
test esi, esi
jne 0x140038409
test eax, eax
jg 0x14003d04e
jmp 0x14003796e
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov rbx, rax
mov word [rax + 8], r13w
mov ecx, dword [r12 + 0xd8]
add ecx, r13d
cmp dword [r12 + 0xcc], ecx
jg 0x14003d26e
movsxd r15, dword [rdi + 0xc]
mov edx, dword [rdi + 4]
xor eax, eax
mov dword [rbp - 0x48], eax
mov rax, qword [r12 + 0x20]
mov r14, r15
shl r14, 5
lea r8, [rbp - 0x48]
mov rcx, qword [r14 + rax + 8]
call fcn.14002e770
movsxd rdx, dword [rbp - 0x48]
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, 4
mov word [rbx + 8], ax
mov qword [rbx], rdx
xor ebx, ebx
test esi, esi
jne 0x140038409
test edx, edx
je 0x14003cf34
mov r8, qword [r12 + 0x20]
mov r9d, dword [rdi + 4]
mov rax, qword [r14 + r8 + 0x18]
mov rcx, qword [rax + 0x10]
jmp 0x14003b734
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x38], edx
jne 0x14003b731
mov dword [rax + 0x38], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003b724
mov rax, qword [r14 + r8 + 0x18]
mov rcx, qword [rax + 0x28]
jmp 0x14003b754
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x14003b751
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003b744
lea r8d, [r15 + r13]
mov byte [rbp + 0x230], r8b
jmp 0x140037b46
mov eax, dword [rdi + 0xc]
mov rcx, qword [r12 + 0x20]
mov edx, dword [rdi + 4]
xor r14d, r14d
neg eax
lea rax, [rbp - 0x58]
sbb r8, r8
mov dword [rbp - 0x58], r14d
and r8, rax
movsxd rax, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002e6ec
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov esi, eax
mov dword [rsp + 0x30], eax
cmp dword [rdi + 0xc], r14d
je 0x14003b7cb
movsxd rax, dword [rbp - 0x58]
add dword [r11 + 0x3c], eax
cmp dword [rdi + 0xc], r14d
jle 0x14003b7cb
movsxd rcx, dword [rdi + 0xc]
imul rcx, rcx, 0x38
add qword [rcx + r10], rax
test esi, esi
jne 0x140038409
jmp 0x140037947
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r13b
jne 0x14003b7fa
mov rdx, qword [rcx + 0x38]
mov rcx, r12
call fcn.14003e9f8
jmp 0x14003796e
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14002e6ec
xor ebx, ebx
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jmp 0x1400385be
mov rdx, rdi
mov rcx, r11
call fcn.140037688
movsxd rdx, dword [rdi + 4]
mov rcx, qword [r12 + 0x20]
mov r8d, dword [rdi + 0xc]
shl rdx, 5
xor r14d, r14d
mov rcx, qword [rdx + rcx + 8]
lea rdx, [rsp + 0x78]
mov rbx, rax
mov dword [rsp + 0x78], r14d
call fcn.14002e26c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140038409
movsxd rax, dword [rsp + 0x78]
jmp 0x1400383b4
add byte [r12 + 0x6a], r13b
mov rdx, qword [rdi + 0x10]
xor ebx, ebx
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rbx
call fcn.14005ce1c
dec byte [r12 + 0x6a]
jmp 0x14003b80f
mov rcx, qword [rdi + 0x10]
movsxd rbx, dword [rdi + 4]
xor r14d, r14d
test rcx, rcx
jne 0x14003b8fa
mov rcx, qword [r12 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140053f40
mov r8, qword [rbp + 0x220]
and dword [r12 + 0x2c], 0xffffffef
add r8, 0xa8
mov r9d, r13d
mov edx, ebx
mov rcx, r12
call fcn.140060ec4
mov r11, qword [rbp + 0x220]
or dword [r12 + 0x2c], r13d
and dword [r11 + 0xc8], 0xfffffffc
mov r15, qword [rsp + 0x40]
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b9b7
mov r8, qword [r12 + 0x20]
lea rax, [r11 + 0xa8]
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x28], ebx
mov dword [rbp + 0x30], r14d
mov qword [rsp + 0x20], rcx
mov rax, rbx
lea r9, str.sqlite_master
shl rax, 5
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rcx, r12
mov r8, qword [rax + r8]
call fcn.1400182c0
mov rbx, rax
test rax, rax
je 0x14003d289
lea r9, [rbp + 0x18]
lea r8, [fcn.140060cd4]
mov rdx, rax
mov rcx, r12
mov byte [r12 + 0xb5], r13b
mov dword [rbp + 0x2c], r14d
mov dword [rbp + 0x34], r14d
mov qword [rsp + 0x20], r14
call fcn.14005ce1c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003b99d
mov esi, dword [rbp + 0x2c]
mov dword [rsp + 0x30], esi
test esi, esi
jne 0x14003b99d
cmp dword [rbp + 0x34], r14d
jne 0x14003b99d
mov ecx, 0x15f51
call fcn.140083408
mov esi, eax
mov dword [rsp + 0x30], eax
mov rdx, rbx
mov rcx, r12
call fcn.140016650
mov r11, qword [rbp + 0x220]
mov byte [r12 + 0xb5], r14b
test esi, esi
jne 0x14003d28e
jmp 0x140037b52
mov edx, dword [rdi + 4]
mov rcx, r12
call fcn.14004c264
jmp 0x14003b80d
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rdi + 0x10]
xor r8d, r8d
shl rcx, 5
add rcx, qword [r12 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.14001a138
xor r14d, r14d
test rax, rax
je 0x14003ba17
cmp qword [r12 + 0x298], r14
jne 0x14003ba0c
dec dword [rax + 0x3c]
jne 0x14003ba17
mov rdx, rax
mov rcx, r12
call fcn.14004daec
or dword [r12 + 0x2c], r13d
jmp 0x14003796e
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
mov rdx, qword [rdi + 0x10]
shl rcx, 5
xor r8d, r8d
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.14001a138
mov rdx, rax
test rax, rax
je 0x14003ba17
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x14003ba62
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x14003ba8b
test rcx, rcx
je 0x14003ba8b
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x14003ba78
mov rcx, rax
test rax, rax
jne 0x14003ba67
test rcx, rcx
je 0x14003ba8b
cmp qword [rcx + 0x28], rdx
jne 0x14003ba8b
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, r12
call fcn.14004d7c4
jmp 0x14003ba17
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
mov rdx, qword [rdi + 0x10]
shl rcx, 5
xor r8d, r8d
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.14001a138
mov rbx, rax
test rax, rax
je 0x1400383b7
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14003baff
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.14001a09c
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14003baff
add rdx, 0x68
jmp 0x14003baf0
lea rdx, [rax + 0x40]
mov rax, qword [rdx]
cmp rax, rbx
jne 0x14003baec
mov rcx, qword [rax + 0x40]
mov qword [rdx], rcx
mov rdx, rbx
mov rcx, r12
call fcn.14006ad54
or dword [r12 + 0x2c], r13d
jmp 0x1400383b7
movsxd r14, dword [rdi + 0xc]
movzx eax, word [rdi + 2]
movsxd rbx, dword [rdi + 4]
imul r14, r14, 0x38
imul rbx, rbx, 0x38
mov rcx, qword [r12 + 0x20]
mov rdx, qword [rdi + 0x10]
lea r8, [rbp - 0x18]
add r14, r10
shl rax, 5
mov qword [rsp + 0x20], r8
mov r9d, dword [r14]
mov r8d, dword [rdi + 8]
mov rcx, qword [rax + rcx + 8]
add r9d, r13d
add rdx, 4
add rbx, r10
call fcn.14002f5d4
mov r15, rax
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003bb74
mov rcx, rbx
call fcn.140030aa0
jmp 0x14003bb79
mov word [rbx + 8], r13w
mov eax, dword [rbp - 0x18]
test eax, eax
je 0x14003bbaf
test r15, r15
je 0x1400391ee
dec eax
mov r9b, r13b
or r8d, 0xffffffff
movsxd rcx, eax
lea rax, [fcn.1400165f8]
mov rdx, r15
sub qword [r14], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400311c8
movzx edx, byte [rbp + 0x228]
mov eax, 2
mov ecx, edx
test byte [rbx + 8], al
je 0x140037f47
movzx eax, byte [rbx + 0xa]
cmp eax, edx
je 0x140037f47
mov dl, cl
mov rcx, rbx
call fcn.1400186dc
jmp 0x140037b46
movsxd rbx, dword [rdi + 4]
movsxd r14, dword [rdi + 8]
mov eax, 0x10
imul rbx, rbx, 0x38
imul r14, r14, 0x38
add rbx, r10
add r14, r10
test byte [rbx + 8], al
jne 0x14003bc11
mov rcx, rbx
call fcn.140030f60
test eax, eax
jne 0x1400391ee
mov rdx, qword [r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001e8b8
jmp 0x1400383b7
movsxd rbx, dword [rdi + 4]
mov eax, 0x10
imul rbx, rbx, 0x38
add rbx, r10
test byte [rbx + 8], al
je 0x14003bcc7
mov r14, qword [rbx + 0x10]
mov eax, 2
test byte [r14 + 0x32], al
jne 0x14003bc6c
test byte [r14 + 0x32], r13b
jne 0x14003bc62
mov rcx, qword [r14 + 0x10]
call fcn.14001e954
mov r10, qword [rsp + 0x38]
mov qword [r14 + 0x10], rax
mov eax, 3
or word [r14 + 0x32], ax
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x14003bcc7
mov rbx, qword [rax]
mov rax, qword [rax + 8]
mov qword [r14 + 0x10], rax
test rax, rax
jne 0x14003bc92
mov rcx, r14
call fcn.14001e7d0
mov r10, qword [rsp + 0x38]
movsxd rax, dword [rdi + 0xc]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r10
test word [rax + 8], cx
je 0x14003bcb7
mov rdx, rbx
mov rcx, rax
call fcn.140030ecc
xor ebx, ebx
jmp 0x14003bcec
mov ecx, 4
mov qword [rax], rbx
xor ebx, ebx
mov word [rax + 8], cx
jmp 0x14003bcf1
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003bd3f
mov rcx, rbx
call fcn.140030aa0
xor ebx, ebx
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x220]
mov eax, dword [r12 + 0x160]
test eax, eax
je 0x140037b57
mov bl, byte [rbp + 0x230]
mov al, byte [r12 + 0x61]
neg al
sbb esi, esi
and esi, 0xfffffffe
add esi, 9
mov ecx, esi
mov dword [r11 + 0x38], esi
call fcn.140081858
lea rdx, [0x1400fd418]
mov rcx, r11
mov r8, rax
call fcn.140031b4c
jmp 0x14003d2a9
mov word [rbx + 8], r13w
jmp case.0x14003779c.11
movsxd rbx, dword [rdi + 4]
movsxd r14, dword [rdi + 0xc]
mov r15d, dword [rdi + 0x10]
imul rbx, rbx, 0x38
imul r14, r14, 0x38
add rbx, r10
mov eax, 0x10
add r14, r10
test byte [rbx + 8], al
jne 0x14003bd7a
mov rcx, rbx
call fcn.140030f60
test eax, eax
jne 0x1400391ee
test r15d, r15d
je 0x14003bd99
mov r8, qword [r14]
mov rcx, qword [rbx + 0x10]
mov edx, r15d
call fcn.14001eb24
test eax, eax
jne 0x14003a734
test r15d, r15d
js 0x140037b46
mov rdx, qword [r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001e8b8
jmp 0x140037b46
movsxd rbx, dword [rdi + 0xc]
mov r13, qword [rdi + 0x10]
xor r14d, r14d
imul rbx, rbx, 0x38
add rbx, r10
cmp word [rdi + 2], r14w
je 0x14003bdf1
mov rax, qword [r11 + 0x100]
mov rcx, qword [r13 + 0x20]
test rax, rax
je 0x14003bdf1
cmp qword [rax + 0x38], rcx
je 0x14003bde8
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003bdd9
test rax, rax
jne 0x14003d063
mov eax, dword [r12 + 0xa4]
cmp dword [r11 + 0x110], eax
jge 0x14003d2ba
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14003bf44
mov edx, dword [r13 + 0x10]
mov r15d, dword [r13 + 0xc]
add r15d, edx
test edx, edx
jne 0x14003be26
inc r15d
mov eax, dword [r13 + 8]
mov r8d, 7
lea ecx, [r15 + 2]
add eax, r8d
imul ecx, ecx, 7
add ecx, edx
cdq
and edx, r8d
add eax, edx
sar eax, 3
lea r12d, [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
movsxd rdx, r12d
call fcn.140016844
mov r14, rax
xor eax, eax
test r14, r14
je 0x1400391e9
mov ecx, 0x2400
test word [rbx + 8], cx
jne 0x14003be74
cmp dword [rbx + 0x20], eax
je 0x14003be7c
mov rcx, rbx
call fcn.140030ae0
mov r11, qword [rbp + 0x220]
sub rdi, qword [rsp + 0x40]
mov dword [rbx + 0xc], r12d
mov r12, qword [rsp + 0x48]
mov qword [rbx + 0x10], r14
mov eax, 0x410
mov word [rbx + 8], ax
lea rax, [0x140032cec]
movsxd rcx, r15d
mov qword [rbx + 0x30], rax
mov qword [r14], r11
mov dword [r14 + 0x60], r15d
mov eax, dword [r13 + 0x10]
add rcx, 2
mov dword [r14 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx, rcx, 0x38
add rcx, r14
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x54], edx
mov rax, qword [r11 + 0x68]
mov qword [r14 + 0x20], rax
mov eax, dword [r11 + 0x28]
mov dword [r14 + 0x5c], eax
mov rax, qword [r11 + 0x78]
mov qword [r14 + 0x28], rax
mov eax, dword [r11 + 0x2c]
mov dword [r14 + 0x50], eax
mov rax, qword [r11 + 0x88]
mov qword [r14 + 0x10], rax
mov eax, dword [r11 + 0x90]
mov dword [r14 + 0x58], eax
mov rax, qword [r13 + 0x20]
mov qword [r14 + 0x38], rax
lea rax, [r14 + 0x70]
cmp rax, rcx
je 0x14003bf48
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r12
add rax, 0x38
cmp rax, rcx
jne 0x14003bf31
jmp 0x14003bf48
mov r14, qword [rbx + 0x10]
inc dword [r11 + 0x110]
mov rax, qword [r11 + 0x100]
lea rdx, [r14 + 0x70]
mov qword [r14 + 8], rax
mov rax, qword [r12 + 0x38]
xor ebx, ebx
mov qword [r14 + 0x40], rax
mov eax, dword [r11 + 0x3c]
mov qword [rsp + 0x38], rdx
mov dword [r14 + 0x68], eax
mov rax, qword [r11]
lea r8d, [rbx + 7]
mov ecx, dword [rax + 0x74]
mov dword [r14 + 0x6c], ecx
mov rax, qword [r11 + 0x120]
mov qword [r14 + 0x48], rax
mov qword [r11 + 0x68], rdx
mov qword [r11 + 0x120], rbx
mov dword [r11 + 0x3c], ebx
mov qword [r11 + 0x100], r14
movsxd rcx, dword [r14 + 0x60]
mov dword [r11 + 0x28], ecx
movzx eax, word [r14 + 0x64]
mov dword [r11 + 0x2c], eax
imul rcx, rcx, 0x38
add rcx, rdx
mov qword [r11 + 0x78], rcx
movsxd rax, dword [r13 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [r14 + 0x30], rcx
mov eax, dword [r13 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400c8410
mov r15, qword [r13]
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov qword [r11 + 0x88], r15
mov eax, dword [r13 + 8]
mov dword [r11 + 0x90], eax
mov qword [rsp + 0x40], r15
lea rdi, [r15 - 0x18]
lea r13d, [rbx + 1]
jmp 0x14003bcf8
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov r15, qword [rbp + 0x220]
mov r9, qword [r15 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, rax
add r8d, dword [rdi + 4]
movsxd rdx, r8d
mov r8d, 0x1000
imul rdx, rdx, 0x38
add rdx, qword [r9 + 0x20]
call fcn.14003108c
jmp 0x140038378
mov eax, dword [r12 + 0x30]
bt rax, 0x13
jae 0x14003c084
movsxd rax, dword [rdi + 8]
add qword [r12 + 0x290], rax
jmp case.0x14003779c.86
xor eax, eax
cmp dword [rdi + 4], eax
movsxd rax, dword [rdi + 8]
je 0x14003c09c
add qword [r12 + 0x288], rax
jmp case.0x14003779c.86
add qword [r11 + 0x50], rax
jmp case.0x14003779c.86
xor r14d, r14d
cmp dword [rdi + 4], r14d
je 0x14003c0b8
cmp qword [r12 + 0x288], r14
jmp 0x14003c0bc
cmp qword [r11 + 0x50], r14
jne case.0x14003779c.86
cmp qword [r12 + 0x290], r14
jmp 0x140038cde
mov rax, qword [r11 + 0x100]
xor edx, edx
test rax, rax
je 0x14003c0fd
mov rcx, qword [rax + 8]
jmp 0x14003c0ea
mov rax, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14003c0e3
movsxd r14, dword [rdi + 4]
imul r14, r14, 0x38
add r14, qword [rax + 0x20]
jmp 0x14003c108
movsxd r14, dword [rdi + 4]
imul r14, r14, 0x38
add r14, r10
mov rcx, r14
call fcn.140030c90
movsxd rbx, dword [rdi + 8]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.140030c90
mov rax, qword [rbx]
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x228]
mov r9d, dword [rbp + 0x238]
mov ebx, 4
cmp qword [r14], rax
jge case.0x14003779c.86
mov qword [r14], rax
jmp case.0x14003779c.86
movsxd rcx, dword [rdi + 4]
imul rcx, rcx, 0x38
mov rdx, qword [rcx + r10]
test rdx, rdx
jle 0x14003d070
movsxd rax, dword [rdi + 0xc]
sub rdx, rax
mov qword [rcx + r10], rdx
jmp 0x14003d04e
movsxd rbx, dword [rdi + 4]
movsxd r14, dword [rdi + 0xc]
mov rdx, rdi
mov rcx, r11
imul rbx, rbx, 0x38
imul r14, r14, 0x38
add rbx, r10
add r14, r10
call fcn.140037688
mov rcx, qword [rbx]
xor ebx, ebx
mov r10, rax
mov qword [rsp + 0x70], rcx
test rcx, rcx
jle 0x14003c1d3
cmp qword [r14], rbx
mov edx, ebx
lea rcx, [rsp + 0x70]
cmovg rdx, qword [r14]
call fcn.140019c88
test eax, eax
jne 0x14003c1d3
mov rax, qword [rsp + 0x70]
mov qword [r10], rax
jmp 0x1400383b7
or qword [r10], 0xffffffffffffffff
jmp 0x1400383b7
movsxd rcx, dword [rdi + 4]
imul rcx, rcx, 0x38
mov rax, qword [rcx + r10]
test rax, rax
je case.0x14003779c.86
jle 0x14003d04e
dec rax
mov qword [rcx + r10], rax
jmp 0x14003d04e
movsxd rcx, dword [rdi + 4]
movabs r8, 0x8000000000000000
imul rcx, rcx, 0x38
mov rax, qword [rcx + r10]
cmp rax, r8
jle 0x14003c225
dec rax
mov qword [rcx + r10], rax
xor ebx, ebx
cmp qword [rcx + r10], rbx
je 0x14003d04e
jmp 0x14003d076
movzx ebx, word [rdi + 2]
mov rcx, r12
lea rdx, [rbx*8 + 0x68]
call fcn.1400168b4
xor r11d, r11d
mov r8, rax
test rax, rax
je 0x1400391ee
mov r10, qword [rsp + 0x38]
mov qword [rax + 0x10], r11
lea rcx, [rbx + 6]
lea rcx, [rax + rcx*8]
mov qword [rax], rcx
mov word [rcx + 8], r13w
mov qword [rcx + 0x28], r12
mov dword [rcx + 0x20], r11d
mov rcx, qword [rdi + 0x10]
mov byte [r8 + 0x28], r11b
mov dword [r8 + 0x24], r11d
mov qword [rax + 8], rcx
mov byte [r8 + 0x29], bl
mov rcx, rdi
sub rcx, r15
mov r15, qword [rbp + 0x220]
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [r8 + 0x18], r15
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [rdi], 0xf09b
mov qword [rdi + 0x10], r8
jmp 0x14003c2d3
mov r15, qword [rbp + 0x220]
xor r11d, r11d
movsxd rdx, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
mov r14, qword [rsp + 0x38]
imul rdx, rdx, 0x38
add rdx, r10
cmp qword [rbx + 0x10], rdx
je 0x14003c32e
movzx r8d, byte [rbx + 0x29]
mov qword [rbx + 0x10], rdx
sub r8d, r13d
movsxd r9, r8d
js 0x14003c32e
lea r10, [r9 + 6]
mov r12d, 8
lea r10, [rbx + r10*8]
mov eax, dword [rdi + 8]
add eax, r8d
sub r8d, r13d
cdqe
imul rax, rax, 0x38
add rax, r14
mov qword [r10], rax
sub r10, r12
sub r9, r13
jns 0x14003c30c
mov r12, qword [rsp + 0x48]
add dword [rdx + 0xc], r13d
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
lea r8, [rbx + 0x30]
mov rcx, rbx
cmp dword [rdi + 4], r11d
je 0x14003c34c
call qword [rax + 0x30]
jmp 0x14003c34f
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
xor edx, edx
test eax, eax
je 0x140037b46
jle 0x14003c384
mov rcx, qword [rbx]
mov dl, r13b
call fcn.1400315dc
lea rdx, [0x1400fd418]
mov rcx, r15
mov r8, rax
call fcn.140031b4c
mov esi, dword [rbx + 0x24]
xor edx, edx
mov dword [rsp + 0x30], esi
cmp byte [rbx + 0x28], dl
je 0x14003c3c6
cmp dword [rdi - 0x14], edx
je 0x14003c3bd
movsxd rax, dword [rdi - 0x14]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], cx
je 0x14003c3b1
mov rdx, r13
mov rcx, rax
call fcn.140030ecc
jmp 0x14003c3bd
mov ecx, 4
mov qword [rax], r13
mov word [rax + 8], cx
xor r14d, r14d
mov byte [rbx + 0x28], r14b
jmp 0x14003c3c9
xor r14d, r14d
mov rcx, qword [rbx]
mov eax, 0x2400
test word [rcx + 8], ax
jne 0x14003c3dd
cmp dword [rcx + 0x20], r14d
je 0x14003c3e2
call fcn.140030ae0
mov rax, qword [rbx]
mov word [rax + 8], r13w
mov dword [rbx + 0x24], r14d
test esi, esi
jne 0x140038410
jmp 0x140037b46
movsxd rbx, dword [rdi + 4]
xor r14d, r14d
imul rbx, rbx, 0x38
add rbx, r10
mov rcx, rbx
cmp dword [rdi + 0xc], r14d
je 0x14003c435
movsxd rdx, dword [rdi + 0xc]
mov r8, qword [rdi + 0x10]
imul rdx, rdx, 0x38
add rdx, r10
call fcn.140030a2c
movsxd rbx, dword [rdi + 0xc]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x38]
jmp 0x14003c43e
mov rdx, qword [rdi + 0x10]
call fcn.140030964
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x14003d2d3
movzx ecx, byte [rbp + 0x228]
lea eax, [rsi + 2]
test byte [rbx + 8], al
je 0x14003c46d
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003c46d
mov dl, cl
mov rcx, rbx
call fcn.1400186dc
mov rcx, rbx
call fcn.140031028
mov r11, qword [rbp + 0x220]
test eax, eax
jne 0x14003cae3
jmp 0x140037b52
mov r8d, dword [rdi + 8]
mov edx, dword [rdi + 4]
or dword [rbp - 0x28], 0xffffffff
or dword [rbp - 0x2c], 0xffffffff
lea rax, [rbp - 0x28]
lea r9, [rbp - 0x2c]
xor ebx, ebx
mov rcx, r12
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x30], ebx
call fcn.14008229c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x14003c4d1
lea eax, [rbx + 5]
cmp esi, eax
jne 0x140038409
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov dword [rbp - 0x30], r13d
mov r14, rbx
movsxd rbx, dword [rdi + 0xc]
mov r15d, 4
mov ecx, 0x2400
lea r12d, [r15 - 1]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x38]
movsxd rax, dword [rbp + r14*4 - 0x30]
test word [rbx + 8], cx
je 0x14003c50d
mov rdx, rax
mov rcx, rbx
call fcn.140030ecc
mov ecx, 0x2400
jmp 0x14003c515
mov qword [rbx], rax
mov word [rbx + 8], r15w
add r14, r13
add rbx, 0x38
cmp r14, r12
jl 0x14003c4f0
jmp 0x1400390d3
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov r8, qword [rsp + 0x48]
mov ebx, dword [rdi + 0xc]
mov rcx, qword [r8 + 0x20]
movsxd rdx, dword [rdi + 4]
mov r12, rax
shl rdx, 5
cmp ebx, 0xffffffff
mov eax, 3
mov r13, qword [rdx + rcx + 8]
mov rcx, qword [r13 + 8]
mov r14, qword [rcx]
movzx r15d, byte [r14 + 9]
cmove ebx, r15d
xor edx, edx
cmp byte [r14 + 0x14], al
jae 0x14003c57c
mov rax, qword [r14 + 0x50]
cmp qword [rax], rdx
je 0x14003c57f
cmp qword [r14 + 0x60], rdx
jle 0x14003c57f
mov ebx, r15d
lea rcx, [0x1400fc5cc]
cmp byte [r14 + 0x13], dl
jne 0x14003c593
mov rcx, qword [r14 + 0xd0]
mov r9d, 5
cmp ebx, r9d
jne 0x14003c5db
test rcx, rcx
je 0x14003c5d8
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], dl
jne 0x14003c5a7
and eax, 0x3fffffff
je 0x14003c5d8
mov rax, qword [r14 + 0x48]
mov rcx, qword [rax]
cmp byte [r14 + 0x11], dl
jne 0x14003c5d8
cmp byte [r14 + 8], dl
jne 0x14003c5db
mov eax, 2
cmp dword [rcx], eax
jl 0x14003c5d8
cmp qword [rcx + 0x68], rdx
jne 0x14003c5db
mov ebx, r15d
cmp ebx, r15d
je 0x14003c65f
cmp r15d, r9d
je 0x14003c5ea
cmp ebx, r9d
jne 0x14003c65f
cmp byte [r8 + 0x5f], dl
je 0x14003d2f9
cmp dword [r8 + 0xcc], 1
jg 0x14003d2f9
cmp r15d, r9d
jne 0x14003c62a
mov rdx, r8
mov rcx, r14
call fcn.140022fe8
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003c663
mov edx, ebx
mov rcx, r14
call fcn.140022de8
xor edx, edx
jmp 0x14003c645
mov eax, 4
cmp r15d, eax
jne 0x14003c641
lea edx, [rax - 2]
mov rcx, r14
call fcn.140022de8
xor edx, edx
test esi, esi
jne 0x14003c663
mov eax, 5
mov rcx, r13
cmp ebx, eax
sete dl
inc edx
call fcn.14002fa0c
mov esi, eax
mov dword [rsp + 0x30], eax
test esi, esi
je 0x14003c666
mov ebx, r15d
mov edx, ebx
mov rcx, r14
call fcn.140022de8
mov ecx, 0xa02
xor r14d, r14d
mov word [r12 + 8], cx
cmp eax, 6
jne 0x14003c688
mov ecx, r14d
jmp 0x14003c699
lea rcx, [0x140000000]
cdqe
mov rcx, qword [rcx + rax*8 + 0xe6860]
mov qword [r12 + 0x10], rcx
test rcx, rcx
jne 0x14003c6a8
mov eax, r14d
jmp 0x14003c6ba
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r14b
jne 0x14003c6ac
and eax, 0x3fffffff
movzx edx, byte [rbp + 0x228]
mov r13d, 1
mov dword [r12 + 0xc], eax
mov byte [r12 + 0xa], r13b
mov eax, edx
cmp edx, r13d
je 0x14003c6e8
mov dl, al
mov rcx, r12
call fcn.1400186dc
mov dl, byte [rbp + 0x228]
test esi, esi
jne 0x140038409
jmp 0x140037f42
xor r14d, r14d
cmp dword [rdi + 8], r14d
je 0x14003c70b
movsxd r9, dword [rdi + 8]
imul r9, r9, 0x38
add r9, r10
jmp 0x14003c70e
mov r9, r14
mov r8d, dword [rdi + 4]
lea rcx, [r11 + 0xa8]
mov rdx, r12
call fcn.14006dbec
jmp 0x14003a464
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1400289cc
xor r14d, r14d
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x14003796e
cmp eax, 0x65
jne 0x140038409
mov esi, r14d
mov dword [rsp + 0x30], r14d
jmp 0x14003d04e
xor eax, eax
cmp dword [rdi + 4], eax
jne 0x14003c77b
mov edx, dword [rdi + 8]
mov rcx, r12
call fcn.1400356ac
jmp 0x1400377f8
mov eax, dword [rdi + 8]
add eax, r13d
xor eax, dword [r11 + 0xc8]
and eax, 3
xor dword [r11 + 0xc8], eax
jmp case.0x14003779c.86
mov rbx, qword [rdi + 0x10]
mov rcx, r12
mov rdx, rbx
call fcn.14006f058
mov r15, qword [rbp + 0x220]
mov esi, eax
mov dword [rsp + 0x30], eax
test rbx, rbx
je 0x14003c3ee
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.1400356d4
jmp 0x14003c3ee
xor edx, edx
lea rcx, [rbp + 0x128]
lea r8d, [rdx + 0x38]
call fcn.1400c8410
movsxd rdx, dword [rdi + 8]
lea rcx, [rbp + 0x128]
imul rdx, rdx, 0x38
add rdx, qword [rsp + 0x38]
mov qword [rbp + 0x150], r12
call fcn.1400310cc
lea rcx, [rbp + 0x128]
mov dl, r13b
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.1400315dc
mov r15, qword [rbp + 0x220]
xor r14d, r14d
test rax, rax
je 0x14003c83e
mov edx, dword [rdi + 4]
lea r9, [r15 + 0xa8]
mov r8, rax
mov rcx, r12
call fcn.14006eb88
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, 0x2400
test word [rbp + reloc.WLDAP32.dll_Ordinal_304], ax
jne 0x14003c855
cmp dword [rbp + 0x148], r14d
je 0x14003c861
lea rcx, [rbp + 0x128]
call fcn.140030ae0
test esi, esi
jne 0x140038410
jmp 0x140038378
add dword [r12 + 0xd8], r13d
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 4]
mov rcx, r12
call fcn.14006eea8
dec dword [r12 + 0xd8]
jmp 0x14003b80d
mov rax, qword [rdi + 0x10]
xor esi, esi
mov qword [rbp - 0x80], rsi
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003d325
mov r14, qword [rbx]
test r14, r14
je 0x14003d325
lea rdx, [rbp - 0x80]
mov rcx, rbx
call qword [r14 + 0x30]
mov r15, qword [rbp + 0x220]
mov rdx, rbx
mov rcx, r15
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.1400356d4
test esi, esi
jne 0x140038410
mov rax, qword [rbp - 0x80]
or r9d, 0xffffffff
xor r8d, r8d
mov qword [rax], rbx
mov edx, dword [rdi + 4]
lea eax, [rsi + 2]
mov rcx, r15
mov byte [rsp + 0x20], al
call fcn.140037358
mov rcx, qword [rbp - 0x80]
test rax, rax
je 0x14003d31c
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r13d
jmp 0x140037b46
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
movsxd rdx, dword [rdi + 0xc]
imul rdx, rdx, 0x38
mov r13, qword [rax + rcx*8]
mov rsi, qword [r11 + 0x70]
add rdx, r10
mov rbx, qword [r13 + 0x38]
lea r10, [rdx + 0x38]
mov edx, dword [rdx]
movsxd r9, dword [r10]
mov r15, qword [rbx]
xor eax, eax
mov r14, qword [r15]
mov ecx, eax
test r9d, r9d
jle 0x14003c976
lea r12d, [rax + 1]
mov r8d, r12d
movsxd rax, r8d
add r8d, r12d
imul rax, rax, 0x38
add rax, r10
mov qword [rsi + rcx*8], rax
add rcx, r12
cmp rcx, r9
jl 0x14003c958
mov r12, qword [rsp + 0x48]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov qword [rsp + 0x20], rsi
call qword [r14 + 0x40]
mov rdx, r15
mov r15, qword [rbp + 0x220]
mov rcx, r15
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.1400356d4
test esi, esi
jne 0x140038410
mov rcx, rbx
call qword [r14 + 0x50]
mov r15, qword [rsp + 0x40]
xor ebx, ebx
mov byte [r13 + 2], bl
lea r13d, [rsi + 1]
test eax, eax
je 0x1400383b7
jmp 0x14003d04e
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
movsxd rbx, dword [rdi + 0xc]
imul rbx, rbx, 0x38
mov r14, qword [rax + rcx*8]
xor eax, eax
add rbx, r10
cmp byte [r14 + 2], al
jne 0x140038b46
mov rax, qword [r14 + 0x38]
xor edx, edx
lea rcx, [rbp + 0x190]
mov r15, qword [rax]
lea r8d, [rdx + 0x38]
mov rsi, qword [r15]
call fcn.1400c8410
mov qword [rbp + 0x190], rbx
test byte [rdi + 2], r13b
je 0x14003ca3e
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003ca2a
mov rcx, rbx
call fcn.140030aa0
jmp 0x14003ca2f
mov word [rbx + 8], r13w
mov eax, 0x4001
mov word [rbx + 8], ax
xor eax, eax
mov dword [rbx], eax
jmp 0x14003ca4c
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], r13w
mov r8d, dword [rdi + 8]
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x190]
call qword [rsi + reloc.WLDAP32.dll_Ordinal_88]
mov rdx, r15
mov r15, qword [rbp + 0x220]
mov rcx, r15
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.1400356d4
xor r14d, r14d
cmp dword [rbp + 0x1b4], r14d
jle 0x14003caa9
mov dl, r13b
mov rcx, rbx
call fcn.1400315dc
lea rdx, [0x1400fd418]
mov rcx, r15
mov r8, rax
call fcn.140031b4c
mov esi, dword [rbp + 0x1b4]
mov dword [rsp + 0x30], esi
movzx ecx, byte [rbp + 0x228]
mov eax, 2
test byte [rbx + 8], al
je 0x14003cacc
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003cacc
mov dl, cl
mov rcx, rbx
call fcn.1400186dc
mov rcx, rbx
call fcn.140031028
test eax, eax
je 0x14003c3ee
mov r11, qword [rbp + 0x220]
lea rdx, str.string_or_blob_too_big
mov rcx, r11
call fcn.140031b4c
mov esi, 0x12
jmp 0x140038409
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
xor ebx, ebx
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 2], bl
jne 0x14003d076
mov rcx, qword [r14 + 0x38]
mov rbx, qword [rcx]
mov r15, qword [rbx]
call qword [r15 + SQLSetEnvAttr]
mov rcx, qword [rbp + 0x220]
mov rdx, rbx
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.1400356d4
xor ebx, ebx
test esi, esi
jne 0x140038409
mov rcx, qword [r14 + 0x38]
call qword [r15 + 0x50]
mov r15, qword [rsp + 0x40]
test eax, eax
jne 0x14003bcec
jmp 0x14003bcdc
mov r14d, dword [r12 + 0x30]
mov eax, 0x4000000
or qword [r12 + 0x30], rax
movsxd rbx, dword [rdi + 4]
and r14d, eax
mov rax, qword [rdi + 0x10]
imul rbx, rbx, 0x38
add rbx, r10
mov r15, qword [rax + 0x10]
mov eax, 2
test byte [rbx + 8], al
je 0x14003cb9f
cmp byte [rbx + 0xa], r13b
je 0x14003cb9f
mov dl, r13b
mov rcx, rbx
call fcn.1400186dc
mov esi, eax
jmp 0x14003cba1
xor esi, esi
test esi, esi
jne 0x140038409
mov rax, qword [r15]
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call qword [rax + Ordinal_157]
xor ebx, ebx
mov esi, eax
mov dword [rsp + 0x30], eax
test r14d, r14d
jne 0x14003cbcd
btr qword [r12 + 0x30], 0x1a
mov rcx, qword [rbp + 0x220]
mov rdx, r15
call fcn.1400356d4
mov r11, qword [rbp + 0x220]
and dword [r11 + 0xc8], 0xfffffffc
test esi, esi
jne 0x140038409
jmp 0x140037b4d
xor r14d, r14d
cmp byte [r12 + 0x61], r14b
jne 0x1400391ee
mov rax, qword [rdi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003d325
mov r10, qword [rbx]
test r10, r10
je 0x14003d325
movsxd rdx, dword [rdi + 8]
cmp qword [r10 + 0x68], r14
je 0x14003d06b
movsxd rax, dword [rdi + 0xc]
mov r8, qword [r11 + 0x70]
mov r14b, byte [r12 + 0x66]
imul rax, rax, 0x38
add rax, qword [rsp + 0x38]
xor r11d, r11d
mov ecx, r11d
test edx, edx
jle 0x14003cc61
mov qword [r8 + rcx*8], rax
add rcx, r13
add rax, 0x38
cmp rcx, rdx
jl 0x14003cc51
mov al, byte [rdi + 2]
lea r9, [rbp + 0x38]
mov rcx, rbx
mov byte [r12 + 0x66], al
call qword [r10 + 0x68]
mov rcx, qword [rbp + 0x220]
mov rdx, rbx
mov esi, eax
mov dword [rsp + 0x30], eax
mov byte [r12 + 0x66], r14b
call fcn.1400356d4
xor r14d, r14d
test esi, esi
jne 0x14003cca4
cmp dword [rdi + 4], r14d
je 0x14003cca4
mov rax, qword [rbp + 0x38]
mov qword [r12 + 0x38], rax
cmp sil, 0x13
jne 0x14003ccf2
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x1c], r14b
je 0x14003ccf2
mov ebx, 4
cmp word [rdi + 2], bx
jne 0x14003cccc
mov esi, r14d
mov dword [rsp + 0x30], r14d
jmp 0x14003796e
mov eax, 5
cmp word [rdi + 2], ax
jne 0x14003ccde
mov eax, 2
jmp 0x14003cce2
movzx eax, word [rdi + 2]
mov r11, qword [rbp + 0x220]
mov byte [r11 + 0xc2], al
jmp 0x14003cd02
mov r11, qword [rbp + 0x220]
mov ebx, 4
add dword [r11 + 0x3c], r13d
test esi, esi
jne 0x140038409
jmp 0x140037975
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov rcx, qword [r12 + 0x20]
movsxd rdx, dword [rdi + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x3c]
mov qword [rax], rdx
jmp 0x14003796e
mov rdx, rdi
mov rcx, r11
call fcn.140037688
mov rcx, qword [r12 + 0x20]
movsxd rdx, dword [rdi + 4]
shl rdx, 5
xor r14d, r14d
mov r8, rax
mov rax, qword [rdx + rcx + 8]
mov edx, dword [rdi + 0xc]
mov ecx, r14d
test edx, edx
je 0x14003cd74
mov rcx, qword [rax + 8]
mov ecx, dword [rcx + 0x3c]
cmp ecx, edx
cmovb ecx, edx
mov rax, qword [rax + 8]
mov rdx, qword [rax]
test ecx, ecx
jle 0x14003cd85
mov dword [rdx + 0xc0], ecx
movsxd rax, dword [rdx + 0xc0]
mov qword [r8], rax
jmp 0x14003796e
movzx ebx, word [rdi + 2]
mov rcx, r12
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.1400168b4
xor r14d, r14d
mov r8, rax
test rax, rax
je 0x1400391ee
mov r10, qword [rsp + 0x38]
mov qword [rax], r14
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov dword [r8 + 0x24], r14d
mov byte [r8 + 0x29], bl
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r15
mov r15, qword [rbp + 0x220]
mov qword [r8 + 0x18], r15
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r14 + 2]
mov dword [r8 + 0x20], edx
add byte [rdi], al
mov byte [rdi + 1], 0xf0
mov qword [rdi + 0x10], r8
jmp 0x14003ce1c
mov r15, qword [rbp + 0x220]
movsxd rbx, dword [rdi + 0xc]
mov r14, qword [rdi + 0x10]
imul rbx, rbx, 0x38
add rbx, r10
cmp qword [r14], rbx
je 0x14003ce6f
movzx edx, byte [r14 + 0x29]
mov qword [r14], rbx
sub edx, r13d
movsxd r8, edx
js 0x14003ce6f
lea r9, [r8 + 6]
mov r12d, 8
lea r9, [r14 + r9*8]
mov eax, dword [rdi + 8]
add eax, edx
sub edx, r13d
cdqe
imul rax, rax, 0x38
add rax, r10
mov qword [r9], rax
sub r9, r12
sub r8, r13
jns 0x14003ce4e
mov r12, qword [rsp + 0x48]
mov eax, 0x3e40
lea r8, [r14 + 0x30]
mov rcx, r14
and word [rbx + 8], ax
or word [rbx + 8], r13w
mov rax, qword [r14 + 8]
movzx edx, byte [r14 + 0x29]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [r14 + 0x24]
test eax, eax
je 0x14003ceeb
jle 0x14003cebf
mov dl, r13b
mov rcx, rbx
call fcn.1400315dc
lea rdx, [0x1400fd418]
mov rcx, r15
mov r8, rax
call fcn.140031b4c
mov esi, dword [r14 + 0x24]
mov dword [rsp + 0x30], esi
mov rdx, qword [rbp + 0x220]
mov r9d, dword [rdi + 4]
mov r8d, dword [r14 + 0x20]
add rdx, 0x120
mov rcx, r12
call fcn.14003431c
xor eax, eax
mov dword [r14 + 0x24], eax
test esi, esi
jne 0x140038409
test byte [rbx + 8], 0x12
je 0x140037b46
movzx ecx, byte [rbp + 0x228]
mov eax, 2
test byte [rbx + 8], al
je 0x14003cf18
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003cf18
mov dl, cl
mov rcx, rbx
call fcn.1400186dc
mov rcx, rbx
call fcn.140031028
mov r11, qword [rbp + 0x220]
test eax, eax
jne 0x14003cae3
jmp 0x140037b4d
mov r15, qword [rsp + 0x40]
jmp 0x140038b25
mov r12, rax
jmp 0x140037b4d
xor r14d, r14d
test byte [r12 + 0x68], r13b
je 0x14003cffc
lea eax, [r14 + 0x10]
test byte [r11 + 0xc8], al
jne 0x14003cffc
mov r9, qword [rdi + 0x10]
test r9, r9
jne 0x14003cf7a
mov r9, qword [r11 + 0xf0]
test r9, r9
je 0x14003cff5
cmp dword [r12 + 0xd4], r13d
jle 0x14003cfcd
lea rdx, str.____s
mov r8, r9
mov rcx, r12
call fcn.1400182c0
mov r8, qword [rbp + 0x220]
mov rdx, qword [r12 + 0xf0]
mov r9, rax
mov ecx, r13d
mov rbx, rax
call qword [r12 + 0xe8]
test rbx, rbx
je 0x14003cfc6
mov rdx, rbx
mov rcx, r12
call fcn.140016650
mov ebx, 4
jmp 0x14003cfe3
mov rdx, qword [r12 + 0xf0]
mov r8, r11
mov ecx, r13d
call qword [r12 + 0xe8]
mov dl, byte [rbp + 0x228]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x220]
mov r9d, dword [rbp + 0x238]
mov eax, dword [0x140149aa0]
cmp dword [rdi + 4], eax
jl 0x14003d043
cmp byte [rdi], 0xa8
je case.0x14003779c.86
mov edx, r13d
cmp dword [r11 + 0x90], r13d
jle 0x14003d03f
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r11 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x14003d02f
mov dword [rax + rcx + 4], r14d
add edx, r13d
add rax, 0x18
cmp edx, dword [r11 + 0x90]
jl 0x14003d01d
mov dword [rdi + 4], r14d
add dword [rdi + 4], r13d
add dword [r11 + 0xec], r13d
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
jmp 0x140037dd2
mov r13d, 1
jmp 0x14003d076
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x228]
mov ebx, 4
mov r8d, dword [rbp - 0x5c]
add rdi, 0x18
jmp 0x14003776b
mov ecx, dword [rdi + 4]
mov dword [r11 + 0x38], ecx
mov al, byte [rdi + 8]
mov dword [r11 + 0x34], ebx
mov byte [r11 + 0xc2], al
test ecx, ecx
je 0x14003d141
mov rcx, r11
cmp word [rdi + 2], r14w
je 0x14003d0fe
movzx r8d, word [rdi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xe6808]
call fcn.140031b4c
mov r9, qword [rdi + 0x10]
mov rsi, qword [rbp + 0x220]
test r9, r9
je 0x14003d115
mov r8, qword [rsi + 0xa8]
lea rdx, str._z:__s
mov rcx, r12
call fcn.1400182c0
mov qword [rsi + 0xa8], rax
jmp 0x14003d115
mov r8, qword [rdi + 0x10]
lea rdx, [0x1400fd418]
call fcn.140031b4c
mov rsi, qword [rbp + 0x220]
mov rax, qword [rsi + 0xa8]
mov r9, qword [rsi + 0xf0]
mov ecx, dword [rdi + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov qword [rsp + 0x20], rax
call fcn.140018430
mov r11, qword [rbp + 0x220]
mov rcx, r11
call fcn.140033e94
mov r15, qword [rbp + 0x220]
mov esi, eax
mov eax, 5
cmp esi, eax
jne 0x14003d164
mov dword [r15 + 0x38], eax
jmp 0x1400384ee
mov rax, qword [rbp + 0x220]
mov eax, dword [rax + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x1400384ee
mov ecx, 0x152d5
call fcn.140083408
mov esi, eax
jmp 0x140038409
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.140031b4c
mov esi, 5
jmp 0x140038409
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x14003d195
sub rdi, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor eax, eax
mov dword [rsi + 0x34], edx
mov byte [r15 + 0x5f], al
mov r15, qword [rbp + 0x220]
mov esi, ecx
mov dword [r15 + 0x38], ecx
jmp 0x1400384ee
lea rdx, str.no_such_savepoint:__s
mov r8, r15
mov rcx, r11
call fcn.140031b4c
mov esi, 1
jmp 0x140038409
mov esi, 8
jmp 0x140038409
mov eax, 5
cmp sil, al
jne 0x140038409
sub rdi, r15
mov r15, qword [rbp + 0x220]
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [r15 + 0x38], esi
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x34], edx
jmp 0x1400384ee
mov esi, 0x204
jmp 0x140038409
mov r15, qword [rbp + 0x220]
mov eax, 7
mov esi, eax
jmp 0x140038415
mov r15, qword [rbp + 0x220]
mov esi, 6
lea eax, [rsi - 4]
mov byte [r15 + 0xc2], al
jmp 0x140038410
mov esi, 7
mov rcx, r12
call fcn.14004d9d8
mov ebx, 7
cmp esi, ebx
mov bl, byte [rbp + 0x230]
je 0x1400391f4
mov r15, qword [rbp + 0x220]
mov eax, 7
jmp 0x14003841b
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r11
mov esi, 1
call fcn.140031b4c
jmp 0x140038409
mov dl, r13b
mov rcx, rbx
call fcn.1400315dc
lea rdx, [0x1400fd418]
mov r8, rax
mov rcx, qword [rbp + 0x220]
call fcn.140031b4c
jmp 0x140038409
lea rax, str.into
lea r8, str.out_of
cmp ebx, r9d
mov esi, 1
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
jmp 0x14003d2e8
call qword [r14 + 0x38]
jmp 0x1400391ee
mov esi, 6
jmp 0x140038409
xor ebx, ebx
cmp qword [r11 + 0x50], rbx
jle 0x14003d360
lea eax, [rbx + 2]
mov dword [r11 + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov byte [r11 + 0xc2], al
mov rcx, r11
call fcn.140031b4c
mov esi, r13d
jmp 0x140038409
mov rax, qword [r11]
cmp dword [rax + 0x280], ebx
je 0x14003d388
cmp dword [r11 + 0x40], ebx
je 0x14003d388
mov edx, r13d
mov rcx, r11
call fcn.140033d50
mov r11, qword [rbp + 0x220]
mov r10, qword [rsp + 0x38]
mov eax, dword [r11 + 0x30]
mov esi, ebx
add eax, 2
or eax, r13d
mov dword [r11 + 0x30], eax
movsxd r14, dword [rdi + 4]
imul r14, r14, 0x38
add r14, r10
mov qword [r11 + 0xa0], r14
cmp dword [rdi + 8], ebx
jle 0x14003d407
lea rbx, [r14 + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x14003d3d4
movsxd rcx, esi
imul rcx, rcx, 0x38
add rcx, r14
call fcn.14003077c
test eax, eax
jne 0x1400391ee
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x14003d3f2
lea rcx, [rbx - 8]
call fcn.140030720
add esi, r13d
add rbx, 0x38
cmp esi, dword [rdi + 8]
jl 0x14003d3b3
mov r11, qword [rbp + 0x220]
xor ebx, ebx
cmp byte [r12 + 0x61], bl
jne 0x1400391ee
mov eax, 4
test byte [r12 + 0x68], al
je 0x14003d436
mov rdx, qword [r12 + 0xf0]
xor r9d, r9d
mov r8, r11
mov ecx, eax
call qword [r12 + 0xe8]
sub rdi, r15
mov r15, qword [rbp + 0x220]
movabs rax, 0x2aaaaaaaaaaaaaab
mov esi, 0x64
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r13d
mov dword [r15 + 0x34], edx
jmp 0x1400384ee
mov ebx, dword [rdi + 4]
movzx eax, byte [r12 + 0x5f]
mov ecx, dword [rdi + 8]
cmp ebx, eax
je 0x14003d52f
xor r14d, r14d
test ecx, ecx
je 0x14003d49b
mov edx, 0x204
mov rcx, r12
call fcn.140081750
mov byte [r12 + 0x5f], r13b
jmp 0x14003d4cf
test ebx, ebx
je 0x14003d4b5
cmp dword [r12 + 0xd0], r14d
jle 0x14003d4b5
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14003d195
mov edx, r13d
mov rcx, r11
call fcn.140033e44
mov esi, eax
test eax, eax
jne 0x1400384e7
mov byte [r12 + 0x5f], bl
mov rsi, qword [rbp + 0x220]
mov rcx, rsi
call fcn.140033e94
mov ecx, 5
cmp eax, ecx
jne 0x14003d515
sub rdi, r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r13b, bl
mov dword [rsi + 0x34], edx
mov byte [r12 + 0x5f], r13b
jmp 0x14003d1d9
mov rcx, r12
call fcn.14008129c
mov eax, dword [rsi + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x1400384e7
lea rax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
lea rax, str.cannot_start_a_transaction_within_a_transaction
test ebx, ebx
cmove rdx, rax
jmp 0x14003d350