Function at 0x140036c54
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 - 0x208]
sub rsp, 0x308
mov r12, qword [rcx]
mov r15, qword [rcx + 0x88]
mov r10, qword [rcx + 0x68]
mov dl, byte [r12 + 0x5e]
xor ebx, ebx
mov r11, rcx
lea eax, [rbx + 7]
mov qword [rsp + 0x40], r15
mov rdi, r15
mov byte [rbp + 0x258], dl
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x48], r12
mov r14b, bl
mov byte [rbp + 0x260], bl
mov r9d, ebx
mov dword [rbp + 0x268], ebx
mov r8d, ebx
mov dword [rbp - 0x64], ebx
mov qword [rsp + 0x38], r10
lea r13d, [rbx + 1]
cmp dword [rcx + 0x38], eax
je 0x14003873e
mov qword [rcx + 0x48], rbx
mov qword [rcx + 0xa0], rbx
mov eax, dword [r12 + 0x160]
mov dword [r12 + 0x228], ebx
test eax, eax
jne 0x14003c957
movsxd rax, dword [rcx + 0x34]
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
movzx r14d, byte [rdi]
add r8d, r13d
mov qword [rbp - 0x78], rdi
mov dword [rbp - 0x64], r8d
cmp r14d, 0xa8
ja case.0x140036d2f.86
lea r8, [0x140000000]
mov ecx, dword [r8 + r14*4 + 0x3c994]
add rcx, r8
jmp rcx
movsxd rax, dword [rdi + 4]
mov rcx, rdi
mov r14d, 4
sub rcx, r15
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + r10 + 8], r14w
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edx
mov qword [r8 + r10], rax
jmp 0x14003c430
movsxd rax, dword [rdi + 4]
imul rdx, rax, 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 + 0x258]
jmp case.0x140036d2f.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, dword [rdi + 0xc]
sub eax, r13d
cdqe
mov qword [rcx + r10], rax
mov eax, 4
mov word [rcx + r10 + 8], ax
cmp dword [rdi + 8], ebx
jne 0x14003c430
jmp case.0x140036d2f.86
movsxd rax, dword [rdi + 4]
imul rdx, rax, 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 0x140036d80
movsxd rax, dword [rdi + 4]
sub rdi, r15
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r10]
mov word [r8 + r10 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
lea rcx, [rcx + rcx*2]
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edx
mov qword [r8 + r10], rax
jmp 0x140036d8d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 8], r13b
je case.0x140036d2f.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 0x14003c45e
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x14003c45e
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.1400329d4
mov r11, qword [rbp + 0x250]
lea ecx, [r14 + 4]
cmp dword [rdi + 8], ecx
jne 0x140036ec9
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 + 0x258]
mov r9d, dword [rbp + 0x268]
xor ebx, ebx
mov r8d, dword [rbp - 0x64]
add rdi, 0x18
jmp 0x140036d01
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
mov rcx, rax
movsxd rax, dword [rdi + 4]
mov qword [rcx], rax
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
jmp 0x14003bf0c
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
mov rdx, rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140036f19
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
mov rdx, rax
mov eax, 8
mov word [rdx + 8], ax
jmp 0x140036f38
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
mov rdx, qword [rdi + 0x10]
xor r8d, r8d
mov rbx, rax
test rdx, rdx
jne 0x140036f7c
mov eax, r8d
jmp 0x140036f8e
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r8b
jne 0x140036f80
and eax, 0x3fffffff
mov r14b, byte [rbp + 0x258]
mov dword [rdi + 4], eax
cmp r14b, r13b
je 0x14003702a
mov qword [rsp + 0x20], r8
mov r9b, r13b
mov rcx, rbx
or r8d, 0xffffffff
call fcn.140030874
xor r8d, r8d
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003c6ff
lea eax, [rsi + 2]
movzx ecx, r14b
test byte [rbx + 8], al
je 0x140036fe9
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x140036fe9
mov dl, cl
mov rcx, rbx
call fcn.14001841c
xor r8d, r8d
jmp 0x140036fec
mov eax, r8d
test eax, eax
jne 0x140038737
mov eax, 0x800
mov dword [rbx + 0x20], r8d
or word [rbx + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x140037018
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x140037018
mov rcx, r12
call fcn.140016390
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 + 0x250]
cmp dword [rdi + 4], eax
jg 0x14003c706
mov byte [rdi], Ordinal_73
xor ebx, ebx
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
mov dl, byte [rbp + 0x258]
mov r11, qword [rbp + 0x250]
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 0x14003bf12
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
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
and r15w, ax
xor eax, eax
add r15w, r13w
mov dword [rcx + 0xc], eax
mov word [rbx], r15w
test r14d, r14d
jle 0x1400370f4
mov ecx, 0x2400
lea rbx, [rbx + 0x38]
test word [rbx], cx
je 0x1400370e1
lea rcx, [rbx - 8]
call fcn.1400301b4
xor eax, eax
mov ecx, 0x2400
jmp 0x1400370e5
mov word [rbx], r13w
sub r14d, r13d
mov word [rbx], r15w
mov dword [rbx + 4], eax
test r14d, r14d
jg 0x1400370c6
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x250]
mov r15, qword [rsp + 0x40]
jmp 0x140036ee8
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r10
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp case.0x140036d2f.86
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
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.140030874
mov dl, byte [rbp + 0x258]
mov byte [rbx + 0xa], dl
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
jmp 0x140036eee
mov eax, dword [rdi + 4]
sub eax, r13d
cdqe
imul r14, rax, 0x38
add r14, qword [r11 + 0x80]
test byte [r14 + 8], 0x12
je 0x1400371a5
mov ecx, dword [r14 + 0xc]
mov eax, 0x4000
test word [r14 + 8], ax
je 0x140037197
add ecx, dword [r14]
mov rax, qword [r14 + 0x28]
mov edx, ebx
cmp ecx, dword [rax + 0x7c]
setg dl
jmp 0x1400371a7
mov edx, ebx
test edx, edx
jne 0x14003c706
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r10
test word [rbx + 8], ax
je 0x1400371e0
mov rcx, rbx
call fcn.1400301b4
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov r9d, dword [rbp + 0x268]
movups xmm0, xmmword [r14]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [r14 + 0x10]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
mov dl, byte [rbp + 0x258]
jmp 0x140036ef5
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
add r14, r10
imul rbx, rax, 0x38
add rbx, r10
mov rdx, r14
mov rcx, rbx
call fcn.140030814
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140037255
mov rcx, rbx
call fcn.14002ff1c
test eax, eax
jne 0x140038737
add r14, 0x38
add rbx, 0x38
sub r15d, r13d
jne 0x14003722f
jmp 0x1400370f4
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
add r14, r10
imul rbx, rax, 0x38
add rbx, r10
mov r8d, 0x1000
mov rdx, r14
mov rcx, rbx
call fcn.140030750
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1400372ad
mov rcx, rbx
call fcn.14002ff1c
test eax, eax
jne 0x140038737
mov eax, r15d
sub r15d, r13d
test eax, eax
je 0x1400370f4
add rbx, 0x38
add r14, 0x38
jmp 0x140037281
movsxd rax, dword [rdi + 4]
mov r8d, 0x1000
imul rdx, rax, 0x38
movsxd rax, dword [rdi + 8]
add rdx, r10
imul rcx, rax, 0x38
add rcx, r10
call fcn.140030750
jmp 0x140036f19
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
add rcx, r10
mov rax, qword [rdx + r10]
mov edx, 0x2400
test word [rcx + 8], dx
je 0x14003731a
mov rdx, rax
call fcn.1400305b8
jmp 0x140036f19
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
jmp 0x140036d91
movsxd rax, dword [rdi + 4]
imul r13, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r13, r10
movzx r12d, word [r13 + 8]
add r14, r10
imul rbx, rax, 0x38
mov al, byte [r14 + 8]
add rbx, r10
or al, r12b
test al, 1
je 0x1400373a0
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003738b
mov rcx, rbx
call fcn.1400301b4
mov r12, qword [rsp + 0x48]
mov r13d, 1
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
jmp 0x140036ee8
mov r13d, 1
mov word [rbx + 8], r13w
mov r12, qword [rsp + 0x48]
jmp 0x140036ef5
test r12b, 0x12
jne 0x1400373b6
xor r8d, r8d
mov rcx, r13
call fcn.14002ffd4
xor r15d, r15d
jmp 0x1400373c9
mov eax, 0x4000
test ax, r12w
je 0x1400373ea
mov rcx, r13
call fcn.14002ff78
test eax, eax
jne 0x140038732
movzx r12d, word [r13 + 8]
mov dl, byte [rbp + 0x258]
mov eax, 0xfffd
and r12w, ax
mov eax, 0x4000
movzx r15d, word [r14 + 8]
test r15b, 0x12
jne 0x14003741a
xor r8d, r8d
mov rcx, r14
call fcn.14002ffd4
xor edx, edx
test eax, eax
jne 0x140038732
movzx r15d, word [r14 + 8]
mov eax, 0xfffd
and r15w, ax
jmp 0x14003742c
test ax, r15w
je 0x14003742a
mov rcx, r14
call fcn.14002ff78
jmp 0x140037400
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 0x14003c6ff
mov r8d, edx
lea edx, [rcx + 3]
cmp rbx, r14
sete r8b
mov rcx, rbx
call fcn.14002fd88
test eax, eax
jne 0x140038732
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, r14
je 0x140037498
movsxd r8, dword [r14 + 0xc]
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1400c3ee0
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.1400c3ee0
mov r8, qword [rsp + 0x70]
xor r9d, r9d
mov word [r13 + 8], r12w
mov rax, qword [rbx + 0x10]
mov edx, r9d
lea esi, [r9 + 2]
lea r13d, [r9 + 1]
mov byte [r8 + rax], r9b
mov rcx, qword [rbx + 0x10]
add rcx, rdx
add rdx, r13
mov byte [rcx + r8 + 1], r9b
cmp rdx, rsi
jl 0x1400374cd
mov dl, byte [rbp + 0x258]
mov esi, dword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
mov eax, 0x200
mov byte [rbx + 0xa], dl
mov dword [rbx + 0xc], r8d
or word [rbx + 8], ax
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
jmp 0x140036eee
movsxd rax, dword [rdi + 4]
imul r12, rax, 0x38
add r12, r10
movzx ebx, word [r12 + 8]
and bx, 0x2c
je 0x140037531
xor edx, edx
jmp 0x14003754f
test byte [r12 + 8], 0x12
je 0x14003754b
mov rcx, r12
call fcn.140036b68
mov r10, qword [rsp + 0x38]
movzx ebx, ax
jmp 0x14003752d
xor edx, edx
mov ebx, edx
movsxd rax, dword [rdi + 8]
imul r15, rax, 0x38
add r15, r10
movzx ecx, word [r15 + 8]
and cx, 0x2c
jne 0x140037580
test byte [r15 + 8], 0x12
je 0x14003757e
mov rcx, r15
call fcn.140036b68
mov r10, qword [rsp + 0x38]
movzx ecx, ax
jmp 0x140037580
mov ecx, edx
movsxd rax, dword [rdi + 0xc]
and cl, bl
mov r11d, 4
imul r14, rax, 0x38
movzx eax, word [r15 + 8]
or ax, word [r12 + 8]
add r14, r10
test r11b, cl
je 0x1400376f8
movzx ecx, byte [rdi]
mov r9, qword [r15]
mov r8, qword [r12]
mov qword [rbp - 0x78], r9
sub ecx, 0x67
je 0x1400376c8
dec ecx
je 0x1400376ac
dec ecx
je 0x140037621
dec ecx
je 0x1400375ef
test r8, r8
je 0x1400377a8
cmp r8, 0xffffffffffffffff
mov rax, r9
cmove r8, r13
cqo
idiv r8
mov r9, rdx
jmp 0x1400376dc
test r8, r8
je 0x1400377a8
cmp r8, 0xffffffffffffffff
jne 0x140037611
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x140037701
mov rax, r9
cqo
idiv r8
mov r9, rax
jmp 0x1400376dc
test r8, r8
jle 0x140037652
movabs rax, 0x7fffffffffffffff
cqo
idiv r8
cmp r9, rax
jg 0x140037701
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jmp 0x14003766b
jns 0x1400376a6
test r9, r9
jle 0x140037673
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x140037701
jmp 0x1400376a6
jns 0x1400376a6
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140037701
cmp r9, rax
je 0x140037701
movabs rax, 0x8000000000000001
cqo
idiv r8
mov rcx, rax
mov rax, r9
neg rax
cmp rax, rcx
jg 0x140037701
imul r9, r8
jmp 0x1400376dc
movabs rcx, 0x8000000000000000
cmp r8, rcx
jne 0x1400376c5
test r9, r9
jns 0x140037701
sub r9, rcx
jmp 0x1400376dc
neg r8
lea rcx, [rbp - 0x78]
mov rdx, r8
call fcn.1400199ec
test eax, eax
jne 0x140037701
mov r9, qword [rbp - 0x78]
mov eax, 0x3e40
mov qword [r14], r9
and word [r14 + 8], ax
or word [r14 + 8], r11w
mov r12, qword [rsp + 0x48]
jmp 0x1400370f9
test r13b, al
jne 0x1400377a8
mov rcx, r12
call fcn.1400302f0
mov rcx, r15
movaps xmm2, xmm0
call fcn.1400302f0
movzx edx, byte [rdi]
sub edx, 0x67
je 0x140037773
dec edx
je 0x14003776d
dec edx
je 0x140037767
dec edx
je 0x140037757
mov rcx, r12
call fcn.140030298
mov rcx, r15
mov rbx, rax
call fcn.140030298
test rbx, rbx
je 0x1400377a3
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x140037777
ucomisd xmm2, qword [0x14013d278]
je 0x1400377a3
divsd xmm0, xmm2
jmp 0x140037777
mulsd xmm0, xmm2
jmp 0x140037777
subsd xmm0, xmm2
jmp 0x140037777
addsd xmm0, xmm2
call fcn.140018a68
mov r10, qword [rsp + 0x38]
test eax, eax
jne 0x1400377a8
mov eax, 0x3e40
movsd qword [r14], xmm0
and word [r14 + 8], ax
mov eax, 8
or word [r14 + 8], ax
jmp 0x1400376ee
mov r10, qword [rsp + 0x38]
mov eax, 0x2400
test word [r14 + 8], ax
je 0x1400377c6
mov rcx, r14
call fcn.1400301b4
mov r12, qword [rsp + 0x48]
jmp 0x1400370f4
mov word [r14 + 8], r13w
jmp 0x1400376ee
cmp dword [rdi + 4], ebx
je case.0x140036d2f.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
je 0x1400377f6
xor edx, edx
jmp 0x140037310
mov eax, 4
mov qword [rcx], rbx
mov word [rcx + 8], ax
jmp case.0x140036d2f.86
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r15, r10
add rcx, r10
imul r14, rax, 0x38
mov al, byte [rcx + 8]
or al, byte [r15 + 8]
add r14, r10
test r13b, al
je 0x14003785c
mov eax, 0x2400
test word [r14 + 8], ax
je 0x14003784d
mov rcx, r14
call fcn.1400301b4
jmp 0x140038df0
mov r15, qword [rsp + 0x40]
mov word [r14 + 8], r13w
jmp case.0x140036d2f.86
call fcn.140030298
mov rcx, r15
mov rbx, rax
call fcn.140030298
mov r8b, byte [rdi]
mov rdx, rax
cmp r8b, 0x63
jne 0x140037880
and rbx, rax
jmp 0x140037900
cmp r8b, 0x64
jne 0x14003788b
or rbx, rax
jmp 0x140037900
xor eax, eax
test rdx, rdx
je 0x140037900
jns 0x1400378b7
mov rcx, rdx
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
mov edx, 0x40
cmp rax, 0xffffffffffffffc0
cmovg rdx, rcx
xor eax, eax
cmp rdx, 0x40
jl 0x1400378d0
test rbx, rbx
jns 0x1400378cb
cmp r8b, 0x65
je 0x1400378cb
or eax, 0xffffffff
movsxd rbx, eax
jmp 0x140037900
mov rcx, rdx
cmp r8b, 0x65
jne 0x1400378e1
shl rbx, cl
mov r8, rbx
jmp 0x1400378fd
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1400378fd
mov ecx, 0x40
sub cl, dl
or rdx, 0xffffffffffffffff
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e40
mov qword [r14], rbx
and word [r14 + 8], ax
mov eax, 4
or word [r14 + 8], ax
jmp 0x1400370f4
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.140030298
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
jmp 0x14003737a
movsxd rax, dword [rdi + 4]
mov r14d, 4
imul rbx, rax, 0x38
add rbx, r10
movzx eax, word [rbx + 8]
test r14b, al
jne 0x140037abd
mov r8b, dl
mov rcx, rbx
mov dl, 0x43
call fcn.140036abc
movzx eax, word [rbx + 8]
test r14b, al
jne 0x140037aa4
xor ebx, ebx
cmp dword [rdi + 8], ebx
jne 0x14003c430
lea esi, [rbx + 0x14]
mov r15, qword [rbp + 0x250]
mov eax, 7
mov r14b, byte [rbp + 0x260]
mov rbx, qword [rsp + 0x48]
xor r13d, r13d
mov r12d, 0xc0a
cmp byte [rbx + 0x61], r13b
cmovne esi, eax
cmp qword [r15 + 0xa8], r13
jne 0x1400379f6
cmp esi, r12d
je 0x1400379f6
mov ecx, esi
call fcn.14007fffc
mov rcx, qword [rbp + 0x250]
lea rdx, [0x1400fff60]
mov r8, rax
call fcn.1400311f4
mov r15, qword [rbp + 0x250]
mov edx, esi
mov rcx, rbx
mov dword [r15 + 0x38], esi
call fcn.140018af0
mov rcx, qword [rbp + 0x250]
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.140018170
mov rcx, qword [rbp + 0x250]
call fcn.140033290
cmp esi, r12d
jne 0x140037a65
mov rcx, rbx
call fcn.1400168c0
mov esi, 1
test r14b, r14b
je 0x140037a7d
movzx edx, r14b
mov rcx, rbx
dec edx
call fcn.14004cccc
mov r15, qword [rbp + 0x250]
mov eax, dword [rbp - 0x64]
add dword [r15 + 0xe4], eax
mov eax, esi
add rsp, 0x308
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
mov ecx, 0x3e40
and ax, cx
or ax, r14w
mov word [rbx + 8], ax
jmp 0x140036ef5
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r10
test byte [rbx + 8], 0x24
je 0x140036ef5
mov rcx, rbx
call fcn.1400302f0
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 8
or word [rbx + 8], ax
movsd qword [rbx], xmm0
jmp 0x14003737a
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r10
test word [rbx + 8], ax
je 0x140037b30
mov rcx, rbx
call fcn.14002ff78
mov dl, byte [rbp + 0x258]
jmp 0x140037b32
xor eax, eax
mov r8b, dl
mov dl, byte [rdi + 8]
mov rcx, rbx
mov dword [rsp + 0x30], eax
mov esi, eax
call fcn.140030480
xor ebx, ebx
test esi, esi
jne 0x14003799c
jmp 0x140036f19
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r14, rax, 0x38
add r15, r10
movzx r12d, word [r15 + 8]
add r14, r10
movzx ebx, word [r14 + 8]
movzx ecx, bx
or cx, r12w
test r13b, cl
je 0x140037c11
mov eax, 0x80
test byte [rdi + 2], al
je 0x140037bc0
mov al, bl
and al, r12b
test r13b, al
je 0x140037bac
mov eax, 0x100
test ax, bx
jne 0x140037bac
xor eax, eax
mov ecx, eax
jmp 0x140037d24
mov al, bl
and al, r13b
neg al
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, r13d
jmp 0x140037d03
mov r15, qword [rsp + 0x40]
mov eax, Ordinal_36
test byte [rdi + 2], al
je 0x140037bf7
movsxd rax, dword [rdi + 8]
mov r9d, r13d
mov dword [rbp + 0x268], r13d
imul rcx, rax, 0x38
add rcx, r10
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp 0x140037396
mov eax, 0x10
xor ebx, ebx
test byte [rdi + 2], al
jne 0x14003c430
mov r12, qword [rsp + 0x48]
jmp case.0x140036d2f.86
mov al, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jl 0x140037c8c
mov edx, 2
test dl, cl
je 0x140037c52
mov al, r12b
and al, 0x2e
cmp al, dl
jne 0x140037c40
xor edx, edx
mov rcx, r15
call fcn.140036a24
movzx ebx, word [r14 + 8]
mov edx, 2
mov al, bl
and al, 0x2e
cmp al, dl
jne 0x140037c52
xor edx, edx
mov rcx, r14
call fcn.140036a24
mov al, byte [r14 + 8]
mov r11d, 4
and al, byte [r15 + 8]
test r11b, al
je 0x140037cf2
mov rax, qword [r15]
cmp qword [r14], rax
jle 0x140037c79
mov ecx, r13d
jmp 0x140037d45
jge 0x140037c83
or ecx, 0xffffffff
jmp 0x140037d0d
xor eax, eax
mov ecx, eax
jmp 0x140037d2a
cmp al, 0x42
jne 0x140037cf2
mov eax, 2
test al, r12b
jne 0x140037ccb
test r12b, 0x2c
je 0x140037ccb
mov r8b, r13b
mov rcx, r15
call fcn.14002ffd4
mov dl, byte [rbp + 0x258]
movzx eax, r12w
xor ax, word [r15 + 8]
mov ecx, 0x3e40
and ax, cx
xor r12w, ax
mov eax, 2
test al, bl
jne 0x140037cf2
test bl, 0x2c
je 0x140037cf2
mov r8b, r13b
mov rcx, r14
call fcn.14002ffd4
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [r14 + 8]
and ax, cx
xor bx, ax
mov r8, qword [rdi + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.140033f54
mov ecx, eax
test ecx, ecx
jns 0x140037d22
mov r11d, 4
movzx eax, byte [rdi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xe4c80]
jmp 0x140037d58
jne 0x140037d3f
mov r11d, 4
movzx eax, byte [rdi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xe3c54]
jmp 0x140037d58
mov r11d, 4
movzx eax, byte [rdi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xe9530]
mov word [r15 + 8], r12w
mov word [r14 + 8], bx
mov eax, Ordinal_36
xor ebx, ebx
test byte [rdi + 2], al
je 0x140037dc6
movsxd rax, dword [rdi + 8]
mov r10, qword [rsp + 0x38]
mov r9d, ecx
mov dword [rbp + 0x268], ecx
imul rdx, rax, 0x38
lea eax, [rbx + 8]
add rdx, r10
test byte [rdi + 2], al
je 0x140037d9c
cmp byte [rdi], 0x35
mov eax, ebx
sete al
cmp eax, r8d
je 0x140037db0
mov eax, 0x3e40
and word [rdx + 8], ax
or word [rdx + 8], r11w
movsxd rax, r8d
mov qword [rdx], rax
mov r11, qword [rbp + 0x250]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
jmp 0x140036d91
test r8d, r8d
mov r15, qword [rsp + 0x40]
jne 0x14003c430
jmp 0x14003c440
test r9d, r9d
jmp 0x140036dbe
test byte [rdi + 2], r13b
jne 0x140037dec
mov r14, rbx
jmp 0x140037df4
mov r14, qword [rdi - 8]
add r14, 4
movsxd rcx, dword [rdi + 0xc]
mov rax, qword [rdi + 0x10]
mov r8d, dword [rdi + 4]
mov edx, dword [rdi + 8]
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x5c], r8d
mov r12d, ebx
mov qword [rsp + 0x70], rcx
mov dword [rsp + 0x58], edx
test rcx, rcx
jle 0x14003c44a
lea r13, [rax + 0x20]
test r14, r14
je 0x140037e30
mov r15d, dword [r14 + rbx*4]
jmp 0x140037e33
mov r15d, r12d
mov rax, qword [rax + 0x18]
movzx eax, byte [rbx + rax]
and eax, 1
mov dword [rsp + 0x78], eax
lea eax, [r15 + rdx]
movsxd rcx, eax
lea eax, [r15 + r8]
mov r8, qword [r13]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, r10
imul rcx, rcx, 0x38
add rcx, r10
call fcn.140033f54
mov r10, qword [rsp + 0x38]
mov r9d, eax
mov dword [rbp + 0x268], eax
test eax, eax
jne 0x140037eb5
mov r8d, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x58]
lea eax, [r9 + 1]
add rbx, rax
add r12d, eax
mov rax, qword [rbp - 0x70]
add r13, 8
cmp rbx, qword [rsp + 0x70]
jl 0x140037e25
mov r11, qword [rbp + 0x250]
lea r13d, [r9 + 1]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
jmp 0x14003720a
mov rax, qword [rbp - 0x70]
mov ecx, 2
mov rax, qword [rax + 0x18]
lea r13d, [rcx - 1]
test byte [rbx + rax], cl
je 0x140037efe
movsxd rax, dword [rsp + 0x5c]
movsxd rcx, r15d
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r10 + 8], r13b
jne 0x140037ef4
movsxd rax, dword [rsp + 0x58]
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r10 + 8], r13b
je 0x140037efe
neg r9d
mov dword [rbp + 0x268], r9d
mov r11, qword [rbp + 0x250]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
mov dl, byte [rbp + 0x258]
xor ebx, ebx
cmp dword [rsp + 0x78], ebx
je case.0x140036d2f.86
neg r9d
mov dword [rbp + 0x268], r9d
jmp case.0x140036d2f.86
test r9d, r9d
jns 0x140037f3a
mov eax, dword [rdi + 4]
jmp 0x140037f44
jne 0x140037f41
mov eax, dword [rdi + 8]
jmp 0x140037f44
mov eax, dword [rdi + 0xc]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
jmp case.0x140036d2f.86
movsxd rax, dword [rdi + 4]
mov r14d, 2
mov edx, r14d
imul rcx, rax, 0x38
add rcx, r10
call fcn.14003031c
movsxd rcx, dword [rdi + 8]
mov edx, r14d
movsxd rbx, eax
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x38]
call fcn.14003031c
cmp byte [rdi], 0x2c
movsxd r8, eax
lea rax, [0x140000000]
jne 0x140037fa8
lea rdx, [rbx + rbx*2]
add rdx, r8
movzx r8d, byte [rdx + rax + 0xe4a38]
jmp 0x140037fb8
lea rcx, [rbx + rbx*2]
add rcx, r8
movzx r8d, byte [rcx + rax + 0xe9c48]
movsxd rax, dword [rdi + 0xc]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x250]
imul rcx, rax, 0x38
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
add rcx, r10
cmp r8d, r14d
jne 0x140037ff4
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp 0x140036ef5
movsxd rax, r8d
mov qword [rcx], rax
mov eax, 0x3e40
and word [rcx + 8], ax
mov eax, 4
or word [rcx + 8], ax
jmp 0x140036ef5
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
call fcn.14003031c
mov r10, qword [rsp + 0x38]
movsxd rdx, eax
movsxd rax, dword [rdi + 0x10]
xor rdx, rax
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
jne 0x140037310
mov r11, qword [rbp + 0x250]
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
jmp 0x14003bf0c
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rcx, r10
add rbx, r10
test byte [rcx + 8], r13b
jne 0x1400380bd
xor edx, edx
call fcn.14003031c
xor edx, edx
test eax, eax
mov eax, 0x2400
mov ecx, edx
sete cl
test word [rbx + 8], ax
je 0x1400380ac
mov rdx, rcx
mov rcx, rbx
call fcn.1400305b8
jmp 0x14003737a
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
jmp 0x14003737a
mov eax, 0x2400
test word [rbx + 8], ax
je 0x1400380d5
mov rcx, rbx
call fcn.1400301b4
jmp 0x14003737a
mov word [rbx + 8], r13w
jmp 0x140036ef5
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add r14, r10
add rbx, r10
test word [rbx + 8], ax
je 0x140038123
mov rcx, rbx
call fcn.1400301b4
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
jmp 0x140038128
mov word [rbx + 8], r13w
test byte [r14 + 8], r13b
jne 0x140036ef5
mov eax, 4
mov rcx, r14
mov word [rbx + 8], ax
call fcn.140030298
not rax
jmp 0x14003794e
mov r10, qword [r11 + 0x100]
test r10, r10
je 0x1400381bf
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 0x14003c430
mov dl, byte [rbp + 0x258]
mov eax, r13d
shl al, cl
or byte [r9 + r11], al
mov r11, qword [rbp + 0x250]
mov r9d, dword [rbp + 0x268]
jmp 0x1400381d2
mov rcx, qword [r11 + 0x88]
mov eax, dword [rdi + 4]
cmp dword [rcx + 4], eax
je 0x14003c430
mov rax, qword [r11 + 0x88]
mov r10, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
mov dword [rdi + 4], ecx
jmp case.0x140036d2f.86
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
call fcn.14003031c
test eax, eax
jne 0x14003c430
jmp 0x140036f19
cmp dword [rdi + 0xc], ebx
movsxd rax, dword [rdi + 4]
mov edx, ebx
sete dl
imul rcx, rax, 0x38
add rcx, r10
call fcn.14003031c
test eax, eax
je 0x14003c430
jmp 0x140036f19
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 8], r13b
jmp 0x140036dbe
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 8], r13b
je 0x14003c430
jmp case.0x140036d2f.86
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], bl
je case.0x140036d2f.86
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
je 0x14003828d
call fcn.1400301b4
jmp 0x14003c430
mov word [rcx + 8], r13w
jmp 0x14003c430
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 0x140038301
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1400382de
mov edx, dword [rcx + r13*4 + 4]
test edx, edx
jle 0x1400382de
mov rbx, qword [rbx + 0x30]
lea r13d, [rdx - 1]
mov esi, r14d
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x30], r14d
jmp 0x140038324
mov rcx, rbx
call fcn.140033904
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov r9d, dword [rbp + 0x268]
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003831c
mov rax, qword [rbx + 0x38]
cmp byte [rax], r14b
je 0x140038314
mov rcx, rbx
call fcn.140033954
jmp 0x1400382e6
mov esi, r14d
mov dword [rsp + 0x30], r14d
test esi, esi
jne 0x14003799c
movsxd rax, dword [rdi + 0xc]
mov r12, qword [rbx + 0x60]
mov qword [rsp + 0x60], r12
imul r15, rax, 0x38
mov eax, dword [r11 + 0x30]
add r15, r10
mov qword [rbp - 0x40], r15
cmp dword [rbx + 0x28], eax
je 0x140038467
cmp byte [rbx + 2], r14b
je 0x1400383a8
mov eax, 3
cmp byte [rbx], al
jne 0x140038379
movsxd rax, dword [rbx + 0x2c]
imul rcx, rax, 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 0x140038402
mov eax, 0x2400
test word [r15 + 8], ax
je 0x140038398
mov rcx, r15
call fcn.1400301b4
mov r13d, 1
jmp 0x1400377bc
mov r13d, 1
mov word [r15 + 8], r13w
jmp 0x140037ea6
mov r14, qword [rbx + 0x38]
mov rcx, r14
call fcn.140028b1c
mov eax, dword [r14 + 0x40]
mov dword [rbx + 0x70], eax
mov rax, qword [r14 + 0x88]
movzx ecx, word [r14 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r14 + 0x38]
cmp ecx, edx
jle 0x1400383db
xor eax, eax
mov ecx, edx
test edx, edx
cmovs ecx, eax
mov r8, qword [rsp + 0x48]
mov r11, qword [rbp + 0x250]
mov dword [rbx + 0x74], ecx
mov rax, qword [r14 + 0x38]
mov qword [rbx + 0x68], rax
mov eax, dword [r8 + 0x7c]
cmp dword [rbx + 0x70], eax
ja 0x14003c706
xor r14d, r14d
mov eax, dword [r11 + 0x30]
mov rcx, qword [rbx + 0x68]
mov dword [rbx + 0x28], eax
mov eax, 0x80
cmp byte [rcx], al
jae 0x140038424
movzx eax, byte [rcx]
mov dword [r12], eax
mov eax, 1
jmp 0x14003842f
mov rdx, r12
call fcn.140019814
movzx eax, al
movzx eax, al
mov word [rbx + 0x52], r14w
mov dword [rbx + 0x48], eax
mov eax, dword [r12]
cmp dword [rbx + 0x74], eax
jae 0x14003852e
mov qword [rbx + 0x68], r14
mov dword [rbx + 0x74], r14d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x1400385f6
cmp eax, dword [rbx + 0x70]
ja 0x1400385f6
movzx eax, word [rbx + 0x52]
cmp eax, r13d
jg 0x1400386ad
mov eax, dword [r12]
cmp dword [rbx + 0x48], eax
jae 0x14003868b
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x1400384d1
lea r8d, [rax + 0x38]
lea rcx, [rbp + 0xb0]
xor edx, edx
call fcn.1400c6610
mov r8d, dword [r12]
mov rcx, qword [rbx + 0x38]
lea r9, [rbp + 0xb0]
xor edx, edx
call fcn.140030b74
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x78], rax
movzx edx, word [rbx + 0x52]
mov r9, qword [rsp + 0x60]
mov r15d, 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 + 0x5c], edx
mov r13d, edx
mov qword [rbp - 0x80], rcx
lea rsi, [0x140000000]
mov qword [rsp + 0x70], r8
lea edi, [r15 + 0x7f]
movzx r14d, byte [r12]
mov dword [rsp + 0x68], r14d
mov dword [rbx + r13*4 + 0x78], r14d
cmp r14d, edi
jae 0x140038534
movzx eax, byte [r14 + rsi + 0xe6440]
add r12, r15
jmp 0x140038579
mov rax, qword [rbx + 0x68]
jmp 0x1400384cc
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.140019814
mov r14d, dword [rsp + 0x68]
movzx eax, al
mov dword [rbx + r13*4 + 0x78], r14d
add r12, rax
cmp r14d, edi
jb 0x14003855e
lea eax, [r14 - 0xc]
shr eax, 1
jmp 0x140038567
movzx eax, byte [r14 + rsi + 0xe6440]
mov rcx, qword [rbp - 0x80]
mov edx, dword [rsp + 0x5c]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
add edx, r15d
add rcx, rax
movsxd r13, edx
mov qword [rbp - 0x80], rcx
mov dword [rsp + 0x5c], edx
mov dword [r9 + r13*4], ecx
cmp edx, dword [rsp + 0x50]
jg 0x14003859d
cmp r12, r8
jb 0x14003850c
mov rdi, qword [rbp - 0x78]
mov esi, dword [rsp + 0x30]
mov r15, qword [rbp - 0x40]
cmp r12, r8
jb 0x1400385b8
ja 0x1400385c0
mov eax, dword [rbx + 0x70]
cmp rcx, rax
jne 0x1400385c0
mov eax, dword [rbx + 0x70]
cmp rcx, rax
jbe 0x14003861f
xor eax, eax
cmp dword [r9], eax
jne 0x1400385ce
mov edx, eax
mov r12, r8
jmp 0x140038621
cmp qword [rbx + 0x68], rax
jne 0x1400385f6
mov ecx, 0x2400
test word [rbp + 0xb8], cx
jne 0x1400385ea
cmp dword [rbp + 0xd0], eax
je 0x1400385f6
lea rcx, [rbp + 0xb0]
call fcn.1400301f4
mov r15, qword [rsp + 0x40]
xor ebx, ebx
mov eax, dword [r15 + 0xc]
test eax, eax
jle 0x14003c553
dec eax
lea r13d, [rbx + 1]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r15 + rax*8]
jmp 0x14003c440
xor eax, eax
sub r12d, dword [rsp + 0x78]
mov word [rbx + 0x52], dx
mov ecx, 0x2400
mov dword [rbx + 0x48], r12d
cmp qword [rbx + 0x68], rax
jne 0x14003865b
test word [rbp + 0xb8], cx
jne 0x14003864a
cmp dword [rbp + 0xd0], eax
je 0x14003865b
lea rcx, [rbp + 0xb0]
call fcn.1400301f4
mov ecx, 0x2400
mov r12, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x50]
movzx eax, word [rbx + 0x52]
cmp eax, r13d
jg 0x1400386b5
cmp byte [rdi + 1], 0xf5
jne 0x140038692
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r15
call fcn.140030750
jmp 0x14003838d
mov ecx, 0x2400
jmp 0x140038665
test word [r15 + 8], cx
jne 0x140038385
mov r13d, 1
mov word [r15 + 8], r13w
jmp 0x1400377bc
movsxd rax, r13d
mov r14d, dword [rbx + rax*4 + 0x78]
mov eax, 0x2400
test word [r15 + 8], ax
je 0x1400386c9
mov rcx, r15
call fcn.1400301b4
movsxd rcx, r13d
mov eax, dword [r12 + rcx*4 + 4]
cmp dword [rbx + 0x74], eax
jb 0x1400387b3
mov r12d, dword [r12 + rcx*4]
add r12, qword [rbx + 0x68]
cmp r14d, 0xc
jae 0x1400386fb
mov rcx, r12
mov edx, r14d
mov r8, r15
call fcn.1400339a4
jmp 0x14003838d
mov al, byte [rbp + 0x258]
lea ebx, [r14 - 0xc]
mov r13d, 1
shr ebx, 1
mov byte [r15 + 0xa], al
lea edx, [rbx + 2]
mov dword [r15 + 0xc], ebx
cmp dword [r15 + 0x20], edx
jge 0x14003876c
xor r8d, r8d
mov rcx, r15
mov word [r15 + 8], r13w
call fcn.14002fd88
test eax, eax
je 0x140038774
mov r12, qword [rsp + 0x48]
mov r14b, byte [rbp + 0x260]
mov rcx, r12
call fcn.1400168c0
mov rcx, qword [rbp + 0x250]
lea rdx, str.out_of_memory
call fcn.1400311f4
mov r15, qword [rbp + 0x250]
mov esi, 7
mov eax, esi
jmp 0x1400379af
mov rax, qword [r15 + 0x18]
mov qword [r15 + 0x10], rax
mov rcx, qword [r15 + 0x10]
mov r8, rbx
mov rdx, r12
call fcn.1400c3ee0
mov rax, qword [r15 + 0x10]
xor ecx, ecx
mov byte [rbx + rax], cl
mov rax, qword [r15 + 0x10]
mov byte [rbx + rax + 1], cl
mov eax, r14d
lea rcx, [0x140000000]
and rax, r13
movzx eax, word [rcx + rax*2 + 0xe9004]
mov word [r15 + 8], ax
jmp 0x1400377bc
mov al, byte [rbp + 0x258]
mov byte [r15 + 0xa], al
test byte [rdi + 2], 0xc0
je 0x1400387db
cmp r14d, 0xc
jb 0x1400387cf
test r14b, 1
je 0x140038806
mov eax, 0x80
test byte [rdi + 2], al
jne 0x140038806
jmp 0x1400387e0
mov eax, 0x80
cmp r14d, eax
jb 0x1400387ee
lea r8d, [r14 - 0xc]
shr r8d, 1
jmp 0x140038801
lea rdx, [0x140000000]
mov eax, r14d
movzx r8d, byte [rax + rdx + 0xe6440]
test r8d, r8d
jne 0x140038812
lea rcx, [0x140151e48]
jmp 0x1400386eb
mov edx, dword [r12 + rcx*4]
mov rcx, qword [rbx + 0x38]
mov r9, r15
call fcn.140030b74
xor ebx, ebx
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
mov rcx, qword [r15 + 0x10]
mov r8, r15
mov edx, r14d
call fcn.1400339a4
mov r8d, 0xefff
and word [r15 + 8], r8w
mov r11, qword [rbp + 0x250]
mov r13d, 1
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
jmp 0x14003bf0c
movsxd rax, dword [rdi + 4]
mov r14, qword [rdi + 0x10]
imul rbx, rax, 0x38
add rbx, r10
mov r8b, dl
mov dl, byte [r14]
mov rcx, rbx
call fcn.140036abc
cmp byte [r14], 0x45
jne 0x1400388e1
movzx ecx, word [rbx + 8]
mov eax, 4
test al, cl
je 0x1400388e1
mov rdx, qword [rbx]
movabs rax, 0x800000000000
movabs r8, 0xffffffffffff
add rax, rdx
cmp rax, r8
mov eax, 0xfffb
ja 0x1400388ca
and cx, ax
or cx, 0x20
jmp 0x1400388dd
xorps xmm0, xmm0
and cx, ax
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
mov dl, byte [rbp + 0x258]
add r14, r13
xor eax, eax
cmp byte [r14], al
je 0x140037159
add rbx, 0x38
jmp 0x14003887c
movsxd rax, dword [rdi + 4]
mov r15, qword [rbp + 0x250]
mov r14, qword [rdi + 0x10]
imul r11, rax, 0x38
mov eax, dword [rdi + 8]
movzx r15d, byte [r15 + 0xc3]
add r11, r10
mov r8d, 1
mov r13, rbx
mov r9d, ebx
sub eax, r8d
mov dword [rsp + 0x50], ebx
mov qword [rbp - 0x80], rbx
cdqe
mov qword [rsp + 0x60], r11
mov dword [rsp + 0x78], r15d
imul r12, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r12, r11
mov qword [rbp - 0x60], r12
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp - 0x70], rcx
test r14, r14
je 0x1400389c7
lea rbx, [r11 + 8]
xor r12d, r12d
lea esi, [r8 + 0x1f]
mov edi, 0xfffb
lea r15d, [r8 + 3]
mov r8b, dl
mov dl, byte [r14]
lea rcx, [rbx - 8]
call fcn.140036abc
cmp byte [r14], 0x45
jne 0x140038998
movzx eax, word [rbx]
test r15b, al
je 0x140038998
and ax, di
or ax, si
mov word [rbx], ax
mov dl, byte [rbp + 0x258]
mov r8d, 1
add rbx, 0x38
add r14, r8
cmp byte [r14], r12b
jne 0x140038972
mov rdi, qword [rbp - 0x78]
mov r15d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x50]
mov r11, qword [rsp + 0x60]
mov r12, qword [rbp - 0x60]
movsxd r10, r15d
lea rbx, [r12 + 0x24]
mov qword [rsp + 0x70], r10
movzx ecx, word [rbx - 0x1c]
test r8b, cl
je 0x1400389fa
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 0x140038b79
test cl, 0x24
je 0x140038ae0
mov r8, qword [rbx - 0x24]
xor r15d, r15d
mov rdx, r8
test r8, r8
jns 0x140038a15
not rdx
mov r14d, 1
add r9d, r14d
mov dword [rsp + 0x50], r9d
cmp rdx, 0x7f
ja 0x140038a53
mov rax, r8
and rax, r14
cmp rax, r8
jne 0x140038a45
lea eax, [r14 + 3]
cmp r10, rax
jl 0x140038a45
lea eax, [rdx + 8]
jmp 0x140038ace
mov r8, r14
add r13, r14
mov dword [rbx], r8d
jmp 0x140038b7e
cmp rdx, 0x7fff
ja 0x140038a63
mov eax, 2
jmp 0x140038a81
cmp rdx, 0x7fffff
ja 0x140038a73
mov eax, 3
jmp 0x140038a81
cmp rdx, 0x7fffffff
ja 0x140038a86
mov eax, 4
add r13, rax
jmp 0x140038ace
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x140038aa0
add r13, 6
mov eax, 5
jmp 0x140038ace
mov edx, 8
add r13, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x140038ad2
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 0x140038ad8
mov dword [rbx], 6
mov r8, r14
jmp 0x140038b7e
mov edx, 8
test dl, cl
je 0x140038af7
add r9d, r8d
lea eax, [rdx - 1]
add r13, rdx
jmp 0x1400389f0
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 0x140038b48
lea r14, [rbx - 0x24]
movsxd rax, dword [r14]
lea r12d, [r12 + rax*2]
test r13, r13
je 0x140038b44
mov rcx, r14
call fcn.14002ff78
test eax, eax
jne 0x140038732
add r15d, dword [r14]
mov r10, qword [rsp + 0x70]
lea r8d, [rax + 1]
jmp 0x140038b48
add qword [rbp - 0x80], rax
mov eax, r15d
mov ecx, r8d
add r13, rax
mov eax, r12d
shr rax, 7
xor r15d, r15d
jmp 0x140038b64
add ecx, r8d
shr rax, 7
test rax, rax
jne 0x140038b5d
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 0x140038b90
sub rbx, 0x38
jmp 0x1400389d4
cmp r9d, 0x7e
jle 0x140038bca
mov edx, r8d
movsxd rax, r9d
jmp 0x140038ba1
add edx, r8d
shr rax, 7
test rax, rax
jne 0x140038b9e
add r9d, edx
mov ecx, r8d
mov dword [rsp + 0x50], r9d
movsxd rax, r9d
jmp 0x140038bbd
add ecx, r8d
shr rax, 7
test rax, rax
jne 0x140038bba
cmp edx, ecx
jge 0x140038bd2
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 0x140038bf8
mov rax, qword [r10 + 0x18]
mov qword [r10 + 0x10], rax
jmp 0x140038c4d
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x7c]
cmp rcx, rax
jg 0x14003c6ff
cmp dword [r10 + 0x20], r14d
jge 0x140038c34
xor r8d, r8d
mov edx, r14d
mov rcx, r10
call fcn.14002fd88
mov r9d, dword [rsp + 0x50]
mov r10, qword [rbp - 0x70]
mov r11, qword [rsp + 0x60]
mov r8d, 1
jmp 0x140038c45
mov rax, qword [r10 + 0x18]
and word [r10 + 8], 0x2d
mov qword [r10 + 0x10], rax
mov eax, r15d
test eax, eax
jne 0x140038732
mov eax, 0x10
mov dword [r10 + 0xc], r14d
mov word [r10 + 8], ax
test r12, r12
je 0x140038c6d
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 0x140038c88
mov byte [r14], r9b
mov eax, r8d
jmp 0x140038cc7
cmp rbx, 0x7f
ja 0x140038c96
and bl, 0x7f
mov byte [r14], bl
jmp 0x140038c83
cmp rbx, 0x3fff
ja 0x140038cbc
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 0x140038ccc
mov rdx, rbx
mov rcx, r14
call fcn.1400195f0
mov ecx, 2
mov r13, qword [rbp - 0x60]
movzx eax, al
mov edi, 1
add r14, rax
xor esi, esi
mov r10d, dword [r11 + 0x24]
cmp r10d, r12d
jae 0x140038ceb
mov byte [r14], r10b
jmp 0x140038cfa
mov rdx, r10
cmp r10, 0x7f
ja 0x140038cfe
and dl, 0x7f
mov byte [r14], dl
mov eax, edi
jmp 0x140038d27
cmp rdx, 0x3fff
ja 0x140038d1f
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 0x140038d27
mov rcx, r14
call fcn.1400195f0
movzx eax, al
add r14, rax
lea eax, [r10 - 1]
cmp eax, 6
ja 0x140038d60
mov rdx, qword [r11]
lea rcx, [0x140000000]
mov eax, 7
movzx ecx, byte [r10 + rcx + 0xe6440]
mov ebx, ecx
dec ecx
mov byte [rcx + r15], dl
shr rdx, 8
test ecx, ecx
jne 0x140038d50
jmp 0x140038d86
cmp r10d, 0xc
jb 0x140038d84
mov ebx, dword [r11 + 0xc]
test ebx, ebx
je 0x140038d86
mov rdx, qword [r11 + 0x10]
mov r8d, ebx
mov rcx, r15
call fcn.1400c3ee0
mov r11, qword [rsp + 0x60]
jmp 0x140038d86
mov ebx, esi
add r11, 0x38
mov eax, ebx
mov ecx, 2
add r15, rax
mov qword [rsp + 0x60], r11
cmp r11, r13
jbe 0x140038cdd
mov rdi, qword [rbp - 0x78]
mov esi, dword [rsp + 0x30]
jmp 0x14003838d
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
lea rdx, [rbp - 0x40]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x40], rbx
mov rcx, qword [rcx + 0x38]
call fcn.14002e314
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
mov rcx, qword [rbp + 0x250]
mov rdx, rdi
call fcn.140036c28
mov rcx, qword [rbp - 0x40]
mov qword [rax], rcx
mov r11, qword [rbp + 0x250]
jmp 0x14003885e
mov r13d, dword [rdi + 4]
mov r15, qword [rdi + 0x10]
mov dword [rsp + 0x68], r13d
test r13d, r13d
jne 0x140038ee7
cmp dword [r12 + 0xd0], ebx
jg 0x14003c564
test r15, r15
je 0x140038e3a
or rbx, 0xffffffffffffffff
xor eax, eax
inc rbx
cmp byte [r15 + rbx], al
jne 0x140038e2b
and ebx, 0x3fffffff
mov r8d, dword [r12 + 0x280]
xor edx, edx
mov rcx, r12
add r8d, dword [r12 + 0x27c]
call fcn.14006dedc
xor r14d, r14d
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
movsxd rdx, ebx
mov rcx, r12
add rdx, 0x21
call fcn.1400165f4
mov r14, rax
test rax, rax
je 0x14003c307
lea edx, [rbx + 1]
lea rcx, [rax + 0x20]
movsxd r8, edx
mov rdx, r15
mov qword [rax], rcx
call fcn.1400c3ee0
xor ebx, ebx
lea r13d, [rsi + 1]
cmp byte [r12 + 0x5f], bl
je 0x140038eae
mov byte [r12 + 0x5f], bl
mov byte [r12 + 0x67], r13b
jmp 0x140038eb6
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 0x140038df0
mov r12, qword [r12 + 0x270]
test r12, r12
je 0x14003c5c1
mov rcx, qword [r12]
mov rdx, r15
call fcn.140018cc4
test eax, eax
je 0x140038f14
mov r12, qword [r12 + 0x18]
inc ebx
test r12, r12
jne 0x140038ef8
mov r13d, dword [rsp + 0x68]
mov r11, qword [rbp + 0x250]
test r12, r12
je 0x14003c5c1
mov r15, qword [rsp + 0x48]
xor eax, eax
lea ecx, [rax + 1]
cmp dword [r15 + 0xd0], eax
jle 0x140038f45
cmp r13d, ecx
je 0x14003c57d
cmp qword [r12 + 0x18], rax
jne 0x140038fa5
cmp byte [r15 + 0x67], al
je 0x140038fa5
mov r14d, ecx
mov dword [rsp + 0x58], ecx
cmp r13d, ecx
jne 0x140038fa9
mov edx, ecx
mov rcx, r11
call fcn.140033240
mov esi, eax
test eax, eax
jne 0x140037a7d
mov rsi, qword [rbp + 0x250]
mov byte [r15 + 0x5f], 1
mov rcx, rsi
call fcn.140033290
mov ecx, 5
cmp eax, ecx
je 0x14003c586
xor eax, eax
mov byte [r15 + 0x67], al
mov esi, dword [rsi + 0x38]
mov dword [rsp + 0x30], esi
jmp 0x1400390cd
mov dword [rsp + 0x58], eax
mov eax, dword [r15 + 0x27c]
mov edx, 2
sub eax, ebx
xor ebx, ebx
sub eax, ecx
cmp r13d, edx
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x50], eax
jne 0x140039028
mov r15d, dword [r15 + 0x2c]
mov r14d, ebx
and r15d, ecx
cmp dword [rdx + 0x28], ebx
jle 0x14003902b
test r15d, r15d
mov r13d, ebx
sete r13b
mov rcx, qword [rdx + 0x20]
mov r8d, r13d
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.140028718
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
mov rdx, qword [rsp + 0x48]
lea ecx, [rax + 1]
add rbx, 0x20
add r14d, ecx
cmp r14d, dword [rdx + 0x28]
jl 0x140038fe2
mov r13d, dword [rsp + 0x68]
mov eax, dword [rsp + 0x50]
xor ebx, ebx
jmp 0x14003902b
mov r15d, ebx
mov r14d, ebx
cmp dword [rdx + 0x28], ebx
jle 0x14003906e
mov rcx, qword [rdx + 0x20]
mov r8d, eax
mov edx, r13d
mov rcx, qword [rcx + rbx + 8]
call fcn.1400288fc
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
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 0x140039033
test r15d, r15d
mov r15, qword [rsp + 0x48]
je 0x1400390a1
mov rax, qword [r15 + 8]
jmp 0x14003908f
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003907e
mov rcx, r15
call fcn.14004cd48
or dword [r15 + 0x2c], 1
mov r14d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x50]
jmp 0x1400390cd
mov rdx, qword [r15 + 0x270]
mov rcx, r15
mov rax, qword [rdx + 0x18]
mov qword [r15 + 0x270], rax
call fcn.140016390
dec dword [r15 + 0x27c]
cmp qword [r15 + 0x270], r12
jne 0x1400390ac
cmp r13d, 1
jne 0x140039101
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, r15
mov qword [r15 + 0x270], rax
call fcn.140016390
test r14d, r14d
jne 0x140039148
dec dword [r15 + 0x27c]
jmp 0x140039128
mov rax, qword [r12 + 8]
mov qword [r15 + 0x288], rax
mov rax, qword [r12 + 0x10]
mov qword [r15 + 0x290], rax
test r14d, r14d
je 0x140039128
mov eax, 2
cmp r13d, eax
jne 0x140039148
mov r8d, ebx
mov edx, r13d
mov rcx, r15
call fcn.14006dedc
xor ebx, ebx
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
jmp 0x14003914a
xor ebx, ebx
test esi, esi
jne 0x14003799c
jmp 0x14003884c
mov edx, dword [rdi + 8]
mov dword [rsp + 0x58], ebx
test edx, edx
je 0x140039172
mov eax, dword [r12 + 0x30]
bt rax, 0x14
jb 0x14003c5dd
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov r14, qword [rcx + rax + 8]
test r14, r14
je 0x140039278
lea r8, [rsp + 0x58]
mov rcx, r14
call fcn.140027994
xor ebx, ebx
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003c5e7
mov r11, qword [rbp + 0x250]
cmp dword [rdi + 8], ebx
je 0x140039274
mov eax, 0x80
test byte [r11 + 0xc8], al
je 0x140039274
cmp byte [r12 + 0x5f], bl
je 0x1400391e1
cmp dword [r12 + 0xcc], r13d
jle 0x140039274
cmp dword [r11 + 0x40], ebx
jne 0x140039203
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.14006dedc
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140039255
mov rax, qword [r14 + 8]
mov r15, qword [rbp + 0x250]
mov rcx, qword [rax]
mov edx, dword [r15 + 0x40]
cmp edx, dword [rcx + 0x80]
jle 0x14003924a
cmp byte [rcx + 0xa], bl
je 0x14003924a
call fcn.140022420
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x140039250
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov r15, qword [rsp + 0x40]
mov rax, qword [r12 + 0x288]
mov r11, qword [rbp + 0x250]
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 0x140039316
cmp ebx, dword [rdi + 0xc]
jne 0x1400392a5
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 0x140039316
mov rdx, qword [r11 + 0xa8]
test rdx, rdx
je 0x1400392b9
mov rcx, r12
call fcn.140016390
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.140016770
mov r11, qword [rbp + 0x250]
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 0x1400392fe
mov rcx, r12
call fcn.14004cccc
mov r11, qword [rbp + 0x250]
and dword [r11 + 0xc8], 0xfffffffd
or dword [r11 + 0xc8], r13d
mov esi, 0x11
mov dword [rsp + 0x30], esi
xor ebx, ebx
test esi, esi
jne 0x14003799c
jmp 0x140036f20
movsxd rax, dword [rdi + 4]
mov rcx, qword [r12 + 0x20]
mov edx, dword [rdi + 0xc]
shl rax, 5
lea r8, [rbp - 0x18]
mov rcx, qword [rax + rcx + 8]
call fcn.14002e248
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
movsxd rcx, dword [rbp - 0x18]
mov qword [rax], rcx
jmp 0x140036f19
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.14002e298
mov esi, eax
mov dword [rsp + 0x30], eax
cmp dword [rdi + 8], r13d
jne 0x140039393
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdi + 0xc]
mov dword [rcx], eax
or dword [r12 + 0x2c], r13d
jmp 0x1400393a7
mov eax, 2
cmp dword [rdi + 8], eax
jne 0x1400393a7
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi + 0xc]
mov byte [rcx + 0x70], al
xor ebx, ebx
cmp dword [rdi + 4], r13d
jne 0x1400393e1
mov rax, qword [r12 + 8]
jmp 0x1400393c8
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r13d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400393b6
mov r11, qword [rbp + 0x250]
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x140039318
mov r11, qword [rbp + 0x250]
jmp 0x140039318
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je 0x14003940a
mov eax, dword [rdi + 8]
cmp dword [rbx + 0x4c], eax
je 0x14003956c
xor ebx, ebx
mov eax, dword [r11 + 0xc8]
and al, 3
cmp al, r13b
je 0x14003c627
movsxd rdx, dword [rdi + 0xc]
mov r8, qword [rsp + 0x48]
movsxd r15, dword [rdi + 8]
mov rax, rdx
mov r12d, ebx
mov r13, rbx
shl rax, 5
mov dword [rsp + 0x78], edx
add rax, qword [r8 + 0x20]
cmp r14b, 0x62
mov r14d, 4
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
jne 0x14003947b
movzx esi, word [rdi + 2]
mov rax, qword [rax + 0x18]
lea ecx, [r14 + 4]
and esi, ecx
mov cl, byte [rax + 0x70]
or esi, r14d
cmp cl, byte [r11 + 0xc3]
jae 0x14003947d
mov byte [r11 + 0xc3], cl
jmp 0x14003947d
mov esi, ebx
mov eax, 0x10
test byte [rdi + 2], al
je 0x1400394b7
imul rbx, r15, 0x38
add rbx, r10
mov rcx, rbx
call fcn.140030298
mov edx, dword [rsp + 0x78]
mov r11, qword [rbp + 0x250]
mov qword [rbx], rax
mov r15d, dword [rbx]
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], r14w
xor ebx, ebx
mov al, byte [rdi + 1]
cmp al, 0xf7
jne 0x1400394c9
mov r13, qword [rdi + 0x10]
movzx r12d, word [r13 + 8]
jmp 0x1400394d1
cmp al, 0xfd
jne 0x1400394d1
mov r12d, dword [rdi + 0x10]
mov r9d, edx
mov edx, dword [rdi + 4]
mov r8d, r12d
mov rcx, r11
mov byte [rsp + 0x20], bl
call fcn.1400368f8
mov rbx, rax
test rax, rax
je 0x140038732
or dword [rax + 8], r14d
mov ecx, 1
mov dword [rax + 0x4c], r15d
mov byte [rax + 2], cl
mov rax, qword [rax + 0x38]
cmp r15d, ecx
jge 0x140039517
mov ecx, 0x108ea
call fcn.140081b58
jmp 0x14003952f
mov rcx, qword [rsp + 0x70]
mov r9, r13
mov r8d, esi
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.1400289bc
mov r11, qword [rbp + 0x250]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
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]
xor ebx, ebx
and cl, 3
mov byte [rax + 3], cl
test esi, esi
jne 0x14003799c
jmp case.0x140036d2f.86
movsxd rcx, dword [rdi + 8]
mov rax, qword [r11 + 0x78]
mov edx, dword [rdi + 4]
mov rbx, qword [rax + rcx*8]
xor esi, esi
or r9d, 0xffffffff
movsx r8d, word [rbx + 0x50]
mov rcx, r11
mov byte [rsp + 0x20], sil
call fcn.1400368f8
mov rdx, rax
test rax, rax
je 0x140038737
or dword [rax + 8], r13d
mov byte [rax + 2], r13b
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
mov cl, byte [rbx + 4]
lea r14d, [rsi + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov eax, dword [rbx + 8]
xor eax, dword [rdx + 8]
and eax, r14d
xor dword [rdx + 8], eax
mov rax, qword [rdx + 0x38]
mov edx, ecx
cmp ecx, r13d
jge 0x1400395fe
mov ecx, 0x108ea
call fcn.140081b58
jmp 0x14003960f
mov rcx, qword [rbx + 0x10]
mov r8d, r14d
mov qword [rsp + 0x20], rax
call fcn.1400289bc
mov dword [rsp + 0x30], eax
mov esi, eax
jmp 0x14003737a
movsxd rdx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
xor ecx, ecx
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14003965a
mov qword [rbx + 0x18], rcx
mov dword [rbx + 0x28], ecx
mov rcx, qword [rbx + 0x10]
xor r14d, r14d
test rcx, rcx
je 0x14003979e
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.14002dfc0
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003978b
mov r8d, dword [rdi + 8]
mov byte [rsp + 0x20], cl
or r9d, 0xffffffff
mov rcx, r11
call fcn.1400368f8
mov rbx, rax
test rax, rax
je 0x140038737
or dword [rax + 8], r13d
movzx ecx, word [rdi + 2]
lea r14, [rax + 0x10]
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov r9, r14
mov dword [rsp + 0x20], ecx
mov rcx, qword [r12]
mov r8, r12
xor edx, edx
call fcn.140026f54
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003976e
mov rcx, qword [r14]
xor r8d, r8d
mov edx, r13d
call fcn.140027994
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003976e
mov r15, qword [rdi + 0x10]
mov rcx, qword [r14]
mov qword [rbx + 0x40], r15
test r15, r15
je 0x140039743
movzx r8d, word [rdi + 2]
lea r12, [rbx + 0x4c]
or r8d, 2
mov rdx, r12
call fcn.14002db40
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140039735
mov rax, qword [rbx + 0x38]
cmp dword [r12], r13d
jge 0x140039715
mov ecx, 0x108ea
call fcn.140081b58
jmp 0x14003972f
mov edx, dword [r12]
mov rcx, qword [r14]
mov r9, r15
mov r8d, 4
mov qword [rsp + 0x20], rax
call fcn.1400289bc
mov dword [rsp + 0x30], eax
mov esi, eax
mov r12, qword [rsp + 0x48]
xor r15d, r15d
mov byte [rbx + 4], r15b
jmp 0x140039769
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov edx, r13d
lea r8d, [r9 + 4]
mov dword [rbx + 0x4c], r13d
mov qword [rsp + 0x20], rax
call fcn.1400289bc
mov byte [rbx + 4], r13b
mov esi, eax
mov dword [rsp + 0x30], eax
mov r15, qword [rsp + 0x40]
xor r14d, r14d
mov eax, r14d
lea ecx, [r14 + 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 + 0x268]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x250]
test esi, esi
jne 0x14003799c
mov byte [rbx + 2], r13b
jmp 0x14003720a
mov r8d, dword [rdi + 8]
mov edx, dword [rdi + 4]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], r13b
call fcn.1400368f8
test rax, rax
je 0x140038737
mov rcx, qword [rdi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov edx, dword [rdi + 0xc]
mov rcx, r12
call fcn.14003dc28
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jmp 0x140037b4a
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 0x14003c430
jmp 0x140036d91
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.1400368f8
test rax, rax
je 0x140038737
mov byte [rax + 2], r13b
mov ecx, dword [rdi + 8]
mov byte [rax + 4], r13b
mov dword [rax + 0x2c], ecx
lea rcx, [0x14015194c]
mov qword [rax + 0x38], rcx
jmp 0x140036f19
movsxd rax, dword [rdi + 4]
mov rdx, qword [r11 + 0x78]
mov rcx, r11
mov rdx, qword [rdx + rax*8]
call fcn.1400328d8
mov r11, qword [rbp + 0x250]
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov qword [rax + rcx*8], rbx
jmp 0x140036f20
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
xor edx, edx
mov r15, qword [rax + rcx*8]
mov dword [rsp + 0x68], ebx
lea ecx, [rdx + 2]
mov word [r15 + 2], dx
mov dword [r15 + 0x28], edx
cmp byte [r15 + 4], dl
je 0x140039995
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r10
movzx r12d, word [rbx + 8]
mov al, r12b
and al, 0x2e
cmp al, cl
jne 0x1400398d1
mov rcx, rbx
call fcn.140036a24
mov rcx, rbx
call fcn.140030298
movzx ecx, word [rbx + 8]
mov word [rbx + 8], r12w
mov r13, rax
test cl, 0x24
jne 0x14003995d
mov eax, 8
test al, cl
jne 0x14003992d
lea r13d, [rax - 7]
test r13b, cl
jne 0x14003bd3f
cmp r14d, 0x18
jge 0x14003bd3f
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x54]
call fcn.14002937c
xor ebx, ebx
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
jmp 0x140039ab7
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, r13
comisd xmm1, xmm0
jae 0x14003994e
mov eax, 1
test al, r14b
je 0x14003995d
sub r14d, eax
jmp 0x14003995d
jbe 0x14003995d
mov eax, 1
test al, r14b
jne 0x14003995d
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.1400293d8
xor ebx, ebx
mov qword [r15 + 0x58], r13
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
lea r13d, [rax + 1]
jmp 0x140039a17
mov rax, qword [r15 + 0x38]
test byte [rax + 3], cl
mov rax, qword [r15 + 0x40]
mov byte [rbp + 0xe], dl
cmovne ebx, r13d
mov qword [rbp - 8], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 8], ax
mov eax, r14d
lea rdx, [rbp - 8]
and al, r13b
mov dword [rsp + 0x68], ebx
neg al
movsxd rax, dword [rdi + 0xc]
sbb cl, cl
xor r9d, r9d
xor r8d, r8d
and cl, 0xfe
add cl, r13b
mov byte [rbp + 0xa], cl
imul rcx, rax, 0x38
lea rax, [rsp + 0x54]
add rcx, r10
mov qword [rsp + 0x20], rax
mov qword [rbp], rcx
mov rcx, qword [r15 + 0x38]
call fcn.1400293d8
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
test ebx, ebx
je 0x140039a15
xor ebx, ebx
cmp byte [rbp + 0xe], bl
je 0x140039ab7
jmp 0x140039a17
xor ebx, ebx
mov eax, dword [rsp + 0x54]
cmp r14d, 0x18
jl 0x140039a6d
test eax, eax
js 0x140039a36
jne 0x140039a2d
cmp r14d, 0x19
je 0x140039a36
mov dword [rsp + 0x54], ebx
jmp 0x140039abd
mov rcx, qword [r15 + 0x38]
xor edx, edx
mov dword [rsp + 0x54], ebx
call fcn.1400299a0
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x140039abd
cmp eax, 0x65
jne 0x14003799c
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x54], r13d
mov r15, qword [rsp + 0x40]
jmp 0x14003c430
test eax, eax
jg 0x140039a8a
jne 0x140039a79
cmp r14d, 0x16
je 0x140039a8a
mov rax, qword [r15 + 0x38]
mov ecx, ebx
cmp byte [rax], bl
setne cl
mov dword [rsp + 0x54], ecx
jmp 0x140039ab7
mov rcx, qword [r15 + 0x38]
xor edx, edx
mov dword [rsp + 0x54], ebx
call fcn.140029af0
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x140039abd
cmp eax, 0x65
jne 0x14003799c
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x54], r13d
cmp dword [rsp + 0x54], ebx
jne 0x140039a63
mov r11, qword [rbp + 0x250]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
cmp dword [rsp + 0x68], ebx
je case.0x140036d2f.86
add rdi, 0x18
jmp case.0x140036d2f.86
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 0x140036d91
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.0x140036d2f.86
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rsi, rax, 0x38
add rsi, r10
cmp dword [rdi + 0x10], ebx
jle 0x140039b68
mov rax, qword [r14 + 0x40]
lea rbx, [rbp + 0x68]
mov qword [rbp + 0x70], rsi
mov qword [rbp + 0x68], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x78], ax
xor eax, eax
mov r15d, eax
jmp 0x140039bb4
mov eax, 0x4000
test word [rsi + 8], ax
je 0x140039b7d
mov rcx, rsi
call fcn.14002ff78
jmp 0x140039b7f
mov eax, ebx
test eax, eax
jne 0x140038737
mov rcx, qword [r14 + 0x40]
call fcn.140033bb4
mov rbx, rax
mov r15, rax
test rax, rax
je 0x140038737
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 0xc]
mov rcx, qword [r14 + 0x40]
mov r9, rax
call fcn.140033c0c
xor eax, eax
mov byte [rbx + 0x12], al
cmp byte [rdi], 0x1b
mov r12d, eax
jne 0x140039be6
movzx edx, word [rbx + 0x10]
mov ecx, eax
test edx, edx
jle 0x140039be6
mov rax, qword [rbx + 8]
add rax, 8
test byte [rax], r13b
jne 0x140039be3
add ecx, r13d
add rax, 0x38
cmp ecx, edx
jl 0x140039bd1
jmp 0x140039be6
mov r12d, r13d
mov rcx, qword [r14 + 0x38]
lea rax, [rbp - 0x10]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400293d8
xor ebx, ebx
mov esi, eax
mov dword [rsp + 0x30], eax
test r15, r15
je 0x140039c1b
mov rcx, qword [rsp + 0x48]
mov rdx, r15
call fcn.140016390
test esi, esi
jne 0x14003799c
mov eax, dword [rbp - 0x10]
mov ecx, ebx
mov byte [r14 + 3], bl
test eax, eax
mov dword [r14 + 0x2c], eax
mov eax, r13d
sete cl
mov dword [r14 + 0x28], ebx
sub al, cl
mov byte [r14 + 2], al
cmp byte [rdi], 0x1d
jne 0x140039c4e
test ecx, ecx
jmp 0x140037dc9
test r12d, r12d
jne 0x140039a63
mov r15, qword [rsp + 0x40]
test ecx, ecx
je 0x14003c430
jmp 0x14003c440
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 8], 0x24
jne case.0x140036d2f.31
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
mov r8b, dl
mov dl, 0x43
movups xmmword [rbp + 0x120], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + reloc.WLDAP32.dll_Ordinal_304], xmm1
movsd xmm1, qword [rcx + 0x30]
movups xmmword [rbp + 0x140], xmm0
lea rcx, [rbp + 0x120]
movsd qword [rbp + 0x150], xmm1
call fcn.140036abc
mov eax, 4
test byte [rbp + 0x128], al
je 0x14003c430
mov r14, qword [rbp + 0x120]
mov r11, qword [rbp + 0x250]
jmp 0x140039ce5
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r14, qword [rcx + 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.1400293d8
mov qword [rbx + 0x58], r14
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov word [rbx + 2], ax
mov dword [rbx + 0x28], eax
mov eax, dword [rbp - 0x50]
mov dword [rbx + 0x2c], eax
xor ebx, ebx
test eax, eax
je 0x140037b48
cmp dword [rdi + 8], ebx
jne 0x14003c430
mov ecx, 0x159cf
call fcn.140081b58
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x140037b48
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
movsxd rdx, dword [rdi + 4]
mov r11, qword [rbp + 0x250]
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 0x140036f20
xor r14d, r14d
mov rdx, rdi
mov rcx, r11
mov dword [rsp + 0x50], r14d
mov qword [rsp + 0x60], rbx
call fcn.140036c28
movsxd rdx, dword [rdi + 4]
mov r12, rax
mov rax, qword [rbp + 0x250]
mov rcx, qword [rax + 0x78]
mov r15, qword [rcx + rdx*8]
lea ecx, [r14 + 2]
test byte [r15 + 8], cl
jne 0x140039e2e
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x50]
call fcn.14002937c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
cmp dword [rsp + 0x50], r14d
je 0x140039deb
mov rbx, r13
jmp 0x140039e1d
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.140028b1c
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x60], rbx
cmp rbx, rax
jl 0x140039e1a
mov ecx, 2
or dword [r15 + 8], ecx
jmp 0x140039e27
add rbx, r13
mov ecx, 2
mov qword [rsp + 0x60], rbx
mov rax, qword [rbp + 0x250]
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x140039ebd
mov rcx, qword [rax + 0x100]
test rcx, rcx
je 0x140039e62
mov rax, qword [rcx + 8]
jmp 0x140039e53
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140039e4c
imul r14, rdx, 0x38
add r14, qword [rcx + 0x20]
jmp 0x140039e6b
imul r14, rdx, 0x38
add r14, qword [rsp + 0x38]
mov rcx, r14
call fcn.140030298
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 0x140039f26
mov ecx, 2
test byte [r15 + 8], cl
jne 0x140039f26
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 0x140039f30
lea rdx, [rsp + 0x60]
mov ecx, 8
call fcn.14001823c
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.1400293d8
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
test esi, esi
jne 0x14003799c
cmp dword [rsp + 0x50], eax
jne 0x140039f30
add r14d, r13d
cmp r14d, 0x64
jl 0x140039ec3
mov esi, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x14003799c
xor r14d, r14d
mov byte [r15 + 3], r14b
mov dword [r15 + 0x28], r14d
mov qword [r12], rbx
jmp 0x1400377bc
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rdx, r10
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r10]
xor ecx, ecx
cmp byte [rdi + 1], 0xfa
mov qword [rbp + 0x88], r8
jne 0x140039f9a
cmp qword [r12 + 0x120], rcx
je 0x140039f9a
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 0x140039fa0
mov r14, rcx
mov r15, rcx
test byte [rdi + 2], r13b
je 0x140039faa
add dword [r11 + 0x3c], r13d
mov eax, Ordinal_36
test byte [rdi + 2], al
je 0x140039fb9
mov qword [r12 + 0x38], r8
mov rax, qword [rdx + 0x10]
movzx r8d, word [rdi + 2]
mov qword [rbp + 0x90], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0xa4], eax
mov eax, 0x10
test al, r8b
je 0x140039fe2
mov r9d, dword [rbx + 0x2c]
jmp 0x140039fe5
mov r9d, ecx
mov eax, 0x4000
test word [rdx + 8], ax
je 0x140039ffa
mov eax, dword [rdx]
mov dword [rbp + 0xa8], eax
jmp 0x14003a000
mov dword [rbp + 0xa8], ecx
mov qword [rbp + 0x80], rcx
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x80]
and r8d, 0xa
call fcn.14002d32c
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 0x14003799c
test r14, r14
je 0x140038df0
mov al, byte [rdi + 2]
mov r9, qword [r14]
mov rcx, qword [r12 + 0x118]
and al, 4
mov r8, r15
neg al
mov rax, qword [rbp + 0x88]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r12 + 0x120]
jmp 0x140038df0
cmp byte [rdi + 1], 0xfa
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r14, qword [rax + rcx*8]
mov r13d, dword [rdi + 8]
jne 0x14003a0d0
cmp qword [r12 + 0x120], rbx
je 0x14003a0d0
mov rax, qword [r12 + 0x20]
movsx rcx, byte [r14 + 1]
mov r15, qword [rdi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
mov eax, 2
test byte [rdi + 2], al
je 0x14003a0d6
cmp byte [r14 + 4], bl
je 0x14003a0d6
mov rbx, qword [r14 + 0x38]
mov rcx, rbx
call fcn.140028b1c
mov rax, qword [rbx + 0x30]
xor ebx, ebx
mov qword [r14 + 0x58], rax
jmp 0x14003a0d6
mov r12, rbx
mov r15, rbx
mov dl, byte [rdi + 2]
mov rcx, qword [r14 + 0x38]
call fcn.14002d750
mov qword [r14 + 0x28], 0
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
mov r11, qword [rbp + 0x250]
test r13b, 1
lea r13d, [rax + 1]
je 0x140038859
add dword [r11 + 0x3c], r13d
mov rax, qword [rsp + 0x48]
mov r10, qword [rax + 0x120]
test r10, r10
je 0x14003c312
lea eax, [rsi + 0x20]
test byte [r15 + 0x40], al
jne 0x140038859
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 0x140038df0
mov eax, dword [r11 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
mov dword [r11 + 0x3c], ebx
jmp case.0x140036d2f.86
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r8d, dword [rdi + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
lea r9, [rbp - 0x58]
imul rdx, rax, 0x38
add rdx, r10
mov dword [rbp - 0x58], ebx
call fcn.14003f044
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
cmp dword [rbp - 0x58], ebx
jmp 0x1400381fe
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rbx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rbx, r10
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
xor ecx, ecx
cmp byte [rax + 0x58], cl
je 0x14003a1f1
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 0x14003a1fb
mov rax, qword [rax + 0x38]
mov esi, dword [rax]
lea r14, [rax + 0x10]
cmp dword [rbx + 0x20], esi
jge 0x14003a20f
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.14002fd88
jmp 0x14003a21e
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0x2d
mov qword [rbx + 0x10], rax
xor eax, eax
test eax, eax
jne 0x14003c631
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.1400c3ee0
movsxd rcx, dword [rdi + 0xc]
mov r11, qword [rbp + 0x250]
xor ebx, ebx
mov rax, qword [r11 + 0x78]
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], ebx
jmp 0x140036f20
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
movsxd rdx, dword [rdi + 4]
mov r15, qword [rbp + 0x250]
mov rcx, qword [r15 + 0x78]
mov rbx, rax
mov rdx, qword [rcx + rdx*8]
mov rsi, qword [rdx + 0x38]
mov rcx, rsi
call fcn.140028b1c
mov r8d, dword [rsi + 0x40]
cmp r8d, dword [r12 + 0x7c]
ja 0x14003c6ff
mov r9, rbx
xor edx, edx
mov rcx, rsi
call fcn.140030b74
xor r14d, r14d
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1400379a3
cmp dword [rdi + 0xc], r14d
jne 0x1400370f4
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1400370f4
mov rcx, rbx
call fcn.14002ff1c
xor ebx, ebx
test eax, eax
jne 0x140038737
jmp 0x140038df0
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
mov r11, qword [rbp + 0x250]
movsxd rdx, dword [rdi + 4]
mov rcx, qword [r11 + 0x78]
mov r14, rax
xor eax, eax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], al
je 0x14003a329
mov word [r14 + 8], r13w
jmp 0x140037381
cmp byte [rbx + 3], al
je 0x14003a337
mov rax, qword [rbx + 0x58]
jmp 0x14003a3d1
mov eax, 2
cmp byte [rbx], al
jne 0x14003a381
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp - 0x20]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov r15, qword [rbp + 0x250]
mov rdx, rbx
mov rcx, r15
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.140034aa0
xor ebx, ebx
test esi, esi
jne 0x1400379a3
mov rax, qword [rbp - 0x20]
mov r11, r15
mov r15, qword [rsp + 0x40]
jmp 0x14003a3d7
mov rax, qword [rbx + 0x38]
xor esi, esi
cmp byte [rax], sil
je 0x14003a3a3
mov rcx, rbx
call fcn.140033954
mov r11, qword [rbp + 0x250]
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a3a7
mov dword [rsp + 0x30], esi
xor eax, eax
test esi, esi
jne 0x14003799c
cmp byte [rbx + 2], al
jne 0x14003a31f
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.140028b1c
mov rax, qword [rbx + 0x30]
mov r11, qword [rbp + 0x250]
xor ebx, ebx
mov qword [rbp - 0x20], rax
mov qword [r14], rax
jmp 0x140036f20
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 0x140036ef5
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.140016338
mov qword [rbx + 0x18], r14
mov byte [rbx], r13b
jmp 0x14003737a
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 - 0x54], eax
cmp r14b, 0x82
jne 0x14003a43f
or dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], al
je 0x140036ef5
lea rdx, [rbp - 0x54]
call fcn.14002937c
xor ecx, ecx
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x54]
mov byte [rbx + 3], cl
mov dword [rbx + 0x28], ecx
mov byte [rbx + 2], al
xor ebx, ebx
test esi, esi
jne 0x14003799c
cmp dword [rdi + 8], ebx
jle 0x140036f19
jmp 0x1400381fc
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.1400290fc
xor r14d, r14d
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003a4ad
mov rcx, rbx
mov dword [rbp - 0x68], r14d
call fcn.14002928c
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a4c9
mov eax, 0x10
cmp esi, eax
jne 0x14003a4c5
xor esi, esi
mov r14d, r13d
mov dword [rbp - 0x68], r13d
mov dword [rsp + 0x30], esi
jmp 0x14003a4c9
mov r14d, dword [rbp - 0x68]
test esi, esi
jne 0x14003799c
test r14d, r14d
jne 0x14003bd44
xor r14d, r14d
cmp byte [rbx], r14b
jne 0x14003737a
mov rax, qword [rbx + 0x88]
cmp byte [rax + 8], r14b
je 0x14003737a
movsx r9d, byte [rbx + 0x54]
movzx ecx, word [rax + 0x18]
mov r8b, r14b
test r9d, r9d
jle 0x14003a528
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 0x14003a508
xor ebx, ebx
test rcx, rcx
js 0x140036f19
call fcn.140019aa8
movsx ecx, ax
cmp ecx, dword [rdi + 0xc]
jge 0x140036f19
mov dword [rbp - 0x68], r13d
jmp 0x14003c430
add dword [r11 + 0xdc], r13d
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r14d, r13d
mov r15, qword [rax + rcx*8]
cmp byte [r15], r13b
jne 0x14003a5bf
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov rbx, qword [r15 + 0x38]
xor eax, eax
cmp byte [rbx + 0x58], al
jne 0x14003a596
lea rdx, [rbx + 0x38]
cmp qword [rdx], rax
je 0x14003a5bb
lea rcx, [rbx + 0x60]
mov r14d, eax
call fcn.14003e108
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a5bb
mov rcx, rbx
call fcn.14003e658
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003a5bb
mov rcx, rbx
call fcn.14003eed0
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov r14d, eax
xor ebx, ebx
jmp 0x14003a5f2
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.1400290fc
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
test esi, esi
jne 0x14003a60b
mov rcx, rbx
mov r14d, eax
call fcn.14002928c
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 0x14003799c
mov byte [r15 + 2], r14b
mov r15, qword [rsp + 0x40]
test r14d, r14d
jmp 0x1400381fe
mov eax, 0x10
cmp esi, eax
jne 0x14003a5e8
xor ebx, ebx
mov esi, ebx
mov dword [rsp + 0x30], ebx
jmp 0x14003a5ea
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r14, qword [rax + rcx*8]
mov rsi, qword [r14 + 0x38]
cmp byte [rsi + 0x58], bl
je 0x14003a657
mov rcx, qword [rsi + 0x18]
lea rdx, [rbp - 0x4c]
mov dword [rbp - 0x4c], ebx
call fcn.14003e4a0
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003a6b6
cmp dword [rbp - 0x4c], ebx
je 0x14003a6b6
lea esi, [rax + 0x65]
jmp 0x14003a694
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 0x14003a686
mov rbx, qword [rdx + 8]
mov rcx, r12
call fcn.140016390
mov rdx, rbx
test rbx, rbx
jne 0x14003a66d
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 0x14003a6b6
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
mov dword [r14 + 0x28], ebx
test esi, esi
jne 0x14003a6da
mov rcx, qword [rbp + 0x250]
mov byte [r14 + 2], bl
movzx eax, word [rdi + 2]
add dword [rcx + rax*4 + 0xd4], r13d
jmp case.0x140036d2f.11
cmp esi, 0x65
jne 0x14003799c
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov byte [r14 + 2], r13b
jmp 0x14003bef0
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r10
test byte [rdi + 2], r13b
je 0x14003a713
add dword [r11 + 0x3c], r13d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003a72f
mov rcx, rbx
call fcn.14002ff78
mov r10, qword [rsp + 0x38]
mov esi, eax
jmp 0x14003a731
xor esi, esi
test esi, esi
jne 0x14003799c
cmp byte [rdi], 0x83
jne 0x14003a74d
mov rdx, rbx
mov rcx, r14
call fcn.14003e774
xor ebx, ebx
jmp 0x14003a7b2
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rdi + 2]
mov qword [rbp + 0x198], rax
mov rax, qword [rbx + 0x10]
xor ebx, ebx
mov qword [rbp + 0x190], rax
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rdi + 0x10]
add rcx, r10
mov word [rbp + 0x1b0], ax
mov eax, 0x10
mov qword [rbp + 0x1a8], rcx
test al, r8b
je 0x14003a797
mov r9d, dword [r14 + 0x2c]
jmp 0x14003a79a
mov r9d, ebx
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x190]
and r8d, 0xa
call fcn.14002d32c
mov dword [r14 + 0x28], ebx
mov dword [rsp + 0x30], eax
mov esi, eax
jmp 0x140037b48
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
lea rdx, [rbp + 0x50]
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 + 0x50], rax
movzx eax, word [rdi + 0xc]
mov word [rbp + 0x60], ax
xor eax, eax
mov byte [rbp + 0x62], al
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 0x28]
add rcx, r10
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x58], rcx
mov rcx, r14
call fcn.1400293d8
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
test esi, esi
jne 0x14003799c
cmp dword [rbp - 0x28], eax
jne 0x14003a83d
lea edx, [rsi + 4]
mov rcx, r14
call fcn.14002d750
xor r14d, r14d
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
mov qword [rbx + 0x28], 0
jmp 0x14003737a
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 0x14003a88b
mov rcx, rbx
call fcn.140033954
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a893
mov esi, r14d
mov dword [rsp + 0x30], r14d
test esi, esi
jne 0x14003799c
cmp byte [rbx + 2], r14b
jne 0x14003a915
mov rdx, qword [rbx + 0x38]
lea r8, [rbp - 0x70]
mov rcx, r12
mov qword [rbp - 0x70], r14
call fcn.1400348a8
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
cmp byte [rdi], 0x86
jne 0x14003a8fa
movsxd rcx, dword [rdi + 0xc]
mov r11, qword [rbp + 0x250]
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 0x140037381
mov rcx, qword [rbp + 0x250]
mov rdx, rdi
call fcn.140036c28
mov rcx, qword [rbp - 0x70]
mov qword [rax], rcx
jmp 0x1400370f4
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
jne 0x1400380cb
mov word [rcx + 8], r13w
jmp 0x140036ef5
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
cmp r14b, 0x27
mov rdx, qword [rax + rcx*8]
lea r9, [rsp + 0x5c]
lea r8, [rbp + 0x38]
mov rax, qword [rdx + 0x40]
mov dword [rsp + 0x5c], ebx
mov qword [rbp + 0x38], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x48], ax
sbb al, al
mov byte [rbp + 0x4a], al
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x40], rcx
mov rcx, r12
call fcn.1400349e0
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x5c]
test byte [rdi], r13b
je 0x14003a995
neg eax
jmp 0x14003a998
add eax, r13d
test esi, esi
jne 0x14003799c
test eax, eax
jg 0x14003c430
jmp 0x140036f19
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
mov rbx, rax
mov word [rax + 8], r13w
mov ecx, dword [r12 + 0xd8]
add ecx, r13d
cmp dword [r12 + 0xcc], ecx
jg 0x14003c644
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 [rax + r14 + 8]
call fcn.14002e044
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 0x14003799c
test edx, edx
je 0x140038df0
mov r8, qword [r12 + 0x20]
mov r9d, dword [rdi + 4]
mov rax, qword [r14 + r8 + 0x18]
mov rcx, qword [rax + 0x10]
jmp 0x14003aa4b
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x38], edx
jne 0x14003aa48
mov dword [rax + 0x38], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003aa3b
mov rax, qword [r14 + r8 + 0x18]
mov rcx, qword [rax + 0x28]
jmp 0x14003aa6b
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x14003aa68
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003aa5b
lea r8d, [r15 + r13]
mov byte [rbp + 0x260], r8b
jmp 0x140038df0
mov eax, dword [rdi + 0xc]
mov rcx, qword [r12 + 0x20]
mov edx, dword [rdi + 4]
neg eax
lea rax, [rbp - 0x60]
mov dword [rbp - 0x60], ebx
sbb r8, r8
and r8, rax
movsxd rax, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002dfc0
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov esi, eax
mov dword [rsp + 0x30], eax
cmp dword [rdi + 0xc], ebx
je 0x14003aadc
movsxd rdx, dword [rbp - 0x60]
add dword [r11 + 0x3c], edx
cmp dword [rdi + 0xc], ebx
jle 0x14003aadc
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r10], rdx
test esi, esi
jne 0x14003799c
jmp 0x14003bf0c
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r13b
jne 0x14003ab0b
mov rdx, qword [rcx + 0x38]
mov rcx, r12
call fcn.14003de30
jmp 0x140036f19
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14002dfc0
jmp 0x1400397e6
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
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.14002db40
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003799c
movsxd rax, dword [rsp + 0x78]
jmp 0x14003794e
add byte [r12 + 0x6a], r13b
mov rdx, qword [rdi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rbx
call fcn.14005be18
dec byte [r12 + 0x6a]
jmp 0x1400397e6
mov rcx, qword [rdi + 0x10]
movsxd rbx, dword [rdi + 4]
xor r14d, r14d
test rcx, rcx
jne 0x14003ac04
mov rcx, qword [r12 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140052f40
mov r8, qword [rbp + 0x250]
and dword [r12 + 0x2c], 0xffffffef
add r8, 0xa8
mov r9d, r13d
mov edx, ebx
mov rcx, r12
call fcn.14005feb4
or dword [r12 + 0x2c], r13d
mov r11, qword [rbp + 0x250]
and dword [r11 + 0xc8], 0xfffffffc
mov r15, qword [rsp + 0x40]
mov esi, eax
xor ebx, ebx
mov dword [rsp + 0x30], eax
jmp 0x14003acc3
mov r8, qword [r12 + 0x20]
lea rax, [r11 + 0xa8]
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x20], ebx
mov dword [rbp + 0x28], 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.140018000
mov rbx, rax
test rax, rax
je 0x14003c65f
lea r9, [rbp + 0x10]
lea r8, [fcn.14005fcc4]
mov rdx, rax
mov rcx, r12
mov byte [r12 + 0xb5], r13b
mov dword [rbp + 0x24], r14d
mov dword [rbp + 0x2c], r14d
mov qword [rsp + 0x20], r14
call fcn.14005be18
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003aca7
mov esi, dword [rbp + 0x24]
mov dword [rsp + 0x30], esi
test esi, esi
jne 0x14003aca7
cmp dword [rbp + 0x2c], r14d
jne 0x14003aca7
mov ecx, 0x15f51
call fcn.140081b58
mov esi, eax
mov dword [rsp + 0x30], eax
mov rdx, rbx
mov rcx, r12
call fcn.140016390
mov r11, qword [rbp + 0x250]
xor ebx, ebx
mov byte [r12 + 0xb5], bl
test esi, esi
jne 0x14003c664
jmp 0x140036f20
mov edx, dword [rdi + 4]
mov rcx, r12
call fcn.14004b678
jmp 0x1400397e6
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.140019e9c
test rax, rax
je 0x14003ad20
cmp qword [r12 + 0x298], rbx
jne 0x14003ad15
dec dword [rax + 0x3c]
jne 0x14003ad20
mov rdx, rax
mov rcx, r12
call fcn.14004ce5c
or dword [r12 + 0x2c], r13d
jmp 0x140036f19
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.140019e9c
mov rdx, rax
test rax, rax
je 0x14003ad20
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x14003ad6b
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x14003ad94
test rcx, rcx
je 0x14003ad94
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x14003ad81
mov rcx, rax
test rax, rax
jne 0x14003ad70
test rcx, rcx
je 0x14003ad94
cmp qword [rcx + 0x28], rdx
jne 0x14003ad94
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, r12
call fcn.14004cb64
jmp 0x14003ad20
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.140019e9c
mov rbx, rax
test rax, rax
je 0x14003737a
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14003ae08
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.140019e00
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14003ae08
add rdx, 0x68
jmp 0x14003adf9
lea rdx, [rax + 0x40]
mov rax, qword [rdx]
cmp rax, rbx
jne 0x14003adf5
mov rcx, qword [rax + 0x40]
mov qword [rdx], rcx
mov rdx, rbx
mov rcx, r12
call fcn.140069af8
or dword [r12 + 0x2c], r13d
jmp 0x14003737a
movsxd rax, dword [rdi + 0xc]
mov rcx, qword [r12 + 0x20]
mov rdx, qword [rdi + 0x10]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 4]
lea r8, [rbp - 0x14]
add r14, r10
mov r9d, dword [r14]
mov qword [rsp + 0x20], r8
mov r8d, dword [rdi + 8]
imul rbx, rax, 0x38
movzx eax, word [rdi + 2]
add r9d, r13d
add rdx, 4
shl rax, 5
add rbx, r10
mov rcx, qword [rax + rcx + 8]
call fcn.14002eea8
mov r15, rax
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003ae7d
mov rcx, rbx
call fcn.1400301b4
jmp 0x14003ae82
mov word [rbx + 8], r13w
mov eax, dword [rbp - 0x14]
test eax, eax
je 0x14003aeb8
test r15, r15
je 0x140038737
dec eax
mov r9b, r13b
or r8d, 0xffffffff
movsxd rcx, eax
lea rax, [fcn.140016338]
mov rdx, r15
sub qword [r14], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140030874
movzx edx, byte [rbp + 0x258]
mov eax, 2
mov ecx, edx
test byte [rbx + 8], al
je 0x140037500
movzx eax, byte [rbx + 0xa]
cmp eax, edx
je 0x140037500
mov dl, cl
mov rcx, rbx
call fcn.14001841c
jmp 0x1400370f4
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
add rbx, r10
mov eax, 0x10
add r14, r10
test byte [rbx + 8], al
jne 0x14003af1a
mov rcx, rbx
call fcn.14003064c
test eax, eax
jne 0x140038737
mov rdx, qword [r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001e2e0
jmp 0x14003737a
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
mov eax, 0x10
add r14, r10
test byte [r14 + 8], al
je 0x14003afd4
mov rbx, qword [r14 + 0x10]
mov eax, 2
test byte [rbx + 0x32], al
jne 0x14003af74
test byte [rbx + 0x32], r13b
jne 0x14003af6b
mov rcx, qword [rbx + 0x10]
call fcn.14001e37c
mov r10, qword [rsp + 0x38]
mov qword [rbx + 0x10], rax
mov eax, 3
or word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14003afd2
mov r14, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x14003af9a
mov rcx, rbx
call fcn.14001e1f8
mov r10, qword [rsp + 0x38]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
je 0x14003afbf
mov rdx, r14
call fcn.1400305b8
xor ebx, ebx
jmp 0x14003bef0
mov eax, 4
mov qword [rcx], r14
xor ebx, ebx
mov word [rcx + 8], ax
jmp 0x14003bef5
xor ebx, ebx
mov eax, 0x2400
test word [r14 + 8], ax
je 0x14003afed
mov rcx, r14
call fcn.1400301b4
jmp case.0x140036d2f.11
mov word [r14 + 8], r13w
jmp case.0x140036d2f.11
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add rbx, r10
imul r14, rax, 0x38
mov eax, 0x10
add r14, r10
test byte [rbx + 8], al
jne 0x14003b02b
mov rcx, rbx
call fcn.14003064c
test eax, eax
jne 0x140038737
test r15d, r15d
je 0x14003b04a
mov r8, qword [r14]
mov rcx, qword [rbx + 0x10]
mov edx, r15d
call fcn.14001e54c
test eax, eax
jne 0x14003bd3f
test r15d, r15d
js 0x1400370f4
mov rdx, qword [r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001e2e0
jmp 0x1400370f4
movsxd rax, dword [rdi + 0xc]
mov r12, qword [rdi + 0x10]
xor r8d, r8d
imul rbx, rax, 0x38
add rbx, r10
cmp word [rdi + 2], r8w
je 0x14003b0a3
mov rax, qword [r11 + 0x100]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x14003b0a3
cmp qword [rax + 0x38], rcx
je 0x14003b09a
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003b08b
test rax, rax
jne 0x140037396
mov r14, qword [rsp + 0x48]
mov eax, dword [r14 + 0xa4]
cmp dword [r11 + 0x110], eax
jge 0x14003c68c
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14003b2dc
mov edx, dword [r12 + 0x10]
mov r15d, dword [r12 + 0xc]
add r15d, edx
test edx, edx
jne 0x14003b0de
add r15d, r13d
lea eax, [r15 + 2]
mov r8d, 7
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
add eax, r8d
cdq
and edx, r8d
add eax, edx
sar eax, 3
lea r13d, [rax + rcx*8]
mov rcx, r14
movsxd rdx, r13d
call fcn.140016584
mov r14, rax
xor eax, eax
test r14, r14
je 0x140038732
mov ecx, 0x2400
test word [rbx + 8], cx
jne 0x14003b12b
cmp dword [rbx + 0x20], eax
je 0x14003b133
mov rcx, rbx
call fcn.1400301f4
mov r11, qword [rbp + 0x250]
sub rdi, qword [rsp + 0x40]
mov qword [rbx + 0x10], r14
mov dword [rbx + 0xc], r13d
mov eax, 0x410
mov word [rbx + 8], ax
lea rax, [0x1400320f0]
mov qword [rbx + 0x30], rax
mov qword [r14], r11
mov dword [r14 + 0x60], r15d
mov eax, dword [r12 + 0x10]
mov dword [r14 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
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 [r12 + 0x20]
mov qword [r14 + 0x38], rax
movsxd rax, r15d
add rax, 2
imul rcx, rax, 0x38
lea rax, [r14 + 0x70]
add rcx, r14
cmp rax, rcx
je 0x14003b1fb
mov r8, qword [rsp + 0x48]
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r8
add rax, 0x38
cmp rax, rcx
jne 0x14003b1ea
mov r13d, 1
add dword [r11 + 0x110], r13d
mov rax, qword [r11 + 0x100]
xor ebx, ebx
mov qword [r14 + 8], rax
mov rax, qword [rsp + 0x48]
lea rdx, [r14 + 0x70]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x38], rdx
lea r8d, [rbx + 7]
mov qword [r14 + 0x40], rax
mov eax, dword [r11 + 0x3c]
mov dword [r14 + 0x68], eax
mov rax, qword [r11]
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 rdx, rcx
mov qword [r11 + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [r14 + 0x30], rcx
mov eax, dword [r12 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400c6610
mov r15, qword [r12]
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov qword [r11 + 0x88], r15
mov eax, dword [r12 + 8]
mov r12, qword [rsp + 0x48]
mov dword [r11 + 0x90], eax
mov qword [rsp + 0x40], r15
lea rdi, [r15 - 0x18]
jmp 0x14003befc
mov r14, qword [rbx + 0x10]
jmp 0x14003b201
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
mov r15, qword [rbp + 0x250]
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]
add r8d, dword [rdi + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.140030750
jmp 0x140038df0
mov eax, dword [r12 + 0x30]
bt rax, 0x13
movsxd rax, dword [rdi + 8]
jae 0x14003b34e
add qword [r12 + 0x290], rax
jmp case.0x140036d2f.86
cmp dword [rdi + 4], ebx
je 0x14003b360
add qword [r12 + 0x288], rax
jmp case.0x140036d2f.86
add qword [r11 + 0x50], rax
jmp case.0x140036d2f.86
cmp dword [rdi + 4], ebx
je 0x14003b378
cmp qword [r12 + 0x288], rbx
jmp 0x14003b37c
cmp qword [r11 + 0x50], rbx
jne case.0x140036d2f.86
cmp qword [r12 + 0x290], rbx
jmp 0x14003824d
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x14003b3bb
mov rax, qword [rcx + 8]
jmp 0x14003b3a8
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003b3a1
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [rcx + 0x20]
jmp 0x14003b3c6
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r10
mov rcx, r14
call fcn.140030298
mov qword [r14], rax
mov eax, 0x3e40
and word [r14 + 8], ax
mov eax, 4
or word [r14 + 8], ax
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.140030298
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
mov ecx, 0x3e40
and word [rbx + 8], cx
mov qword [rbx], rax
mov ecx, 4
or word [rbx + 8], cx
xor ebx, ebx
cmp qword [r14], rax
jge case.0x140036d2f.86
mov qword [r14], rax
jmp case.0x140036d2f.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r10]
test rdx, rdx
jle 0x140036d91
movsxd rax, dword [rdi + 0xc]
sub rdx, rax
mov qword [rcx + r10], rdx
jmp 0x14003c430
movsxd rax, dword [rdi + 4]
mov rdx, rdi
mov rcx, r11
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add rbx, r10
imul r14, rax, 0x38
add r14, r10
call fcn.140036c28
mov rcx, qword [rbx]
xor ebx, ebx
mov r10, rax
mov qword [rsp + 0x70], rcx
test rcx, rcx
jle 0x14003b4b7
cmp qword [r14], rbx
mov edx, ebx
lea rcx, [rsp + 0x70]
cmovg rdx, qword [r14]
call fcn.1400199ec
test eax, eax
jne 0x14003b4b7
mov rax, qword [rsp + 0x70]
mov qword [r10], rax
jmp 0x140036f19
or qword [r10], 0xffffffffffffffff
jmp 0x140036f19
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
test rax, rax
je case.0x140036d2f.86
jle 0x14003c430
dec rax
mov qword [rcx + r10], rax
jmp 0x14003c430
movsxd rax, dword [rdi + 4]
movabs r8, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
cmp rax, r8
jle 0x14003b509
dec rax
mov qword [rcx + r10], rax
cmp qword [rcx + r10], rbx
jmp 0x14003824d
movzx ebx, word [rdi + 2]
mov rcx, r12
lea rdx, [rbx*8 + 0x68]
mov r14d, ebx
call fcn.1400165f4
xor r11d, r11d
mov r8, rax
test rax, rax
je 0x140038737
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 + 0x250]
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 0x14003b5b2
mov r15, qword [rbp + 0x250]
xor r11d, r11d
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
mov r14, qword [rsp + 0x38]
imul rdx, rax, 0x38
add rdx, r10
cmp qword [rbx + 0x10], rdx
je 0x14003b60d
movzx r8d, byte [rbx + 0x29]
mov qword [rbx + 0x10], rdx
sub r8d, r13d
movsxd r9, r8d
js 0x14003b60d
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 rcx, rax, 0x38
add rcx, r14
mov qword [r10], rcx
sub r10, r12
sub r9, r13
jns 0x14003b5eb
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 0x14003b62b
call qword [rax + 0x30]
jmp 0x14003b62e
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
xor edx, edx
test eax, eax
je 0x1400370f4
jle 0x14003b663
mov rcx, qword [rbx]
mov dl, r13b
call fcn.140030c84
lea rdx, [0x1400fff60]
mov rcx, r15
mov r8, rax
call fcn.1400311f4
mov esi, dword [rbx + 0x24]
xor edx, edx
mov dword [rsp + 0x30], esi
cmp byte [rbx + 0x28], dl
je 0x14003b69e
cmp dword [rdi - 0x14], edx
je 0x14003b69b
movsxd rax, dword [rdi - 0x14]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x14003b68f
mov rdx, r13
call fcn.1400305b8
xor edx, edx
jmp 0x14003b69b
mov eax, 4
mov qword [rcx], r13
mov word [rcx + 8], ax
mov byte [rbx + 0x28], dl
mov rcx, qword [rbx]
mov eax, 0x2400
test word [rcx + 8], ax
jne 0x14003b6b1
cmp dword [rcx + 0x20], edx
je 0x14003b6b8
call fcn.1400301f4
xor edx, edx
mov rax, qword [rbx]
mov word [rax + 8], r13w
mov dword [rbx + 0x24], edx
xor ebx, ebx
test esi, esi
jne 0x1400379a3
jmp 0x140038df0
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r10
cmp dword [rdi + 0xc], eax
je 0x14003b758
movsxd rax, dword [rdi + 0xc]
mov r14, qword [rdi + 0x10]
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0x158]
imul rsi, rax, 0x38
add rsi, r10
call fcn.1400c6610
mov eax, 0x2400
test word [rsi + 8], ax
je 0x14003b71a
mov rcx, rsi
call fcn.1400301b4
jmp 0x14003b71f
mov word [rsi + 8], r13w
lea rcx, [rbp + 0x158]
mov qword [rbp + 0x158], rsi
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x160], r14
call qword [r14 + SQLGetData]
movsxd rax, dword [rdi + 0xc]
mov esi, dword [rbp + 0x17c]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x38]
mov dword [rsp + 0x30], esi
jmp 0x14003b76a
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.140030104
mov esi, eax
mov dword [rsp + 0x30], eax
test esi, esi
jne 0x14003c6a3
movzx ecx, byte [rbp + 0x258]
lea eax, [rsi + 2]
test byte [rbx + 8], al
je 0x14003b793
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003b793
mov dl, cl
mov rcx, rbx
call fcn.14001841c
test byte [rbx + 8], 0x12
je 0x14003b7b9
mov edx, dword [rbx + 0xc]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003b7a9
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
xor ebx, ebx
cmp edx, dword [rax + 0x7c]
mov ecx, ebx
setg cl
jmp 0x14003b7bd
xor ebx, ebx
mov ecx, ebx
mov r11, qword [rbp + 0x250]
test ecx, ecx
jne 0x14003c706
jmp 0x140036f20
mov r8d, dword [rdi + 8]
mov edx, dword [rdi + 4]
or dword [rbp - 0x30], 0xffffffff
or dword [rbp - 0x34], 0xffffffff
lea rax, [rbp - 0x30]
lea r9, [rbp - 0x34]
mov rcx, r12
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x38], ebx
call fcn.140080a3c
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x14003b819
mov eax, 5
cmp esi, eax
jne 0x14003799c
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov dword [rbp - 0x38], r13d
movsxd rax, dword [rdi + 0xc]
mov ecx, 0x2400
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x38]
xor eax, eax
lea r15d, [rax + 4]
lea r12d, [rax + 3]
mov r14d, eax
movsxd rax, dword [rbp + r14*4 - 0x38]
test word [rbx + 8], cx
je 0x14003b855
mov rdx, rax
mov rcx, rbx
call fcn.1400305b8
mov ecx, 0x2400
jmp 0x14003b85d
mov qword [rbx], rax
mov word [rbx + 8], r15w
add r14, r13
add rbx, 0x38
cmp r14, r12
jl 0x14003b838
jmp 0x1400377bc
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
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 0x14003b8c4
mov rax, qword [r14 + 0x50]
cmp qword [rax], rdx
je 0x14003b8c7
cmp qword [r14 + 0x60], rdx
jle 0x14003b8c7
mov ebx, r15d
lea rcx, [0x1400ff10c]
cmp byte [r14 + 0x13], dl
jne 0x14003b8db
mov rcx, qword [r14 + 0xd0]
mov r9d, 5
cmp ebx, r9d
jne 0x14003b923
test rcx, rcx
je 0x14003b920
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], dl
jne 0x14003b8ef
and eax, 0x3fffffff
je 0x14003b920
mov rax, qword [r14 + 0x48]
mov rcx, qword [rax]
cmp byte [r14 + 0x11], dl
jne 0x14003b920
cmp byte [r14 + 8], dl
jne 0x14003b923
mov eax, 2
cmp dword [rcx], eax
jl 0x14003b920
cmp qword [rcx + 0x68], rdx
jne 0x14003b923
mov ebx, r15d
cmp ebx, r15d
je 0x14003b9a7
cmp r15d, r9d
je 0x14003b932
cmp ebx, r9d
jne 0x14003b9a7
cmp byte [r8 + 0x5f], dl
je 0x14003c6c9
cmp dword [r8 + 0xcc], 1
jg 0x14003c6c9
cmp r15d, r9d
jne 0x14003b972
mov rdx, r8
mov rcx, r14
call fcn.1400229d8
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x14003b9ab
mov edx, ebx
mov rcx, r14
call fcn.1400227d8
xor edx, edx
jmp 0x14003b98d
mov eax, 4
cmp r15d, eax
jne 0x14003b989
lea edx, [rax - 2]
mov rcx, r14
call fcn.1400227d8
xor edx, edx
test esi, esi
jne 0x14003b9ab
mov eax, 5
mov rcx, r13
cmp ebx, eax
sete dl
inc edx
call fcn.14002f2e0
mov esi, eax
mov dword [rsp + 0x30], eax
test esi, esi
je 0x14003b9ae
mov ebx, r15d
mov edx, ebx
mov rcx, r14
call fcn.1400227d8
mov ecx, 0xa02
xor ebx, ebx
mov word [r12 + 8], cx
cmp eax, 6
jne 0x14003b9ce
mov ecx, ebx
jmp 0x14003b9df
lea rcx, [0x140000000]
cdqe
mov rcx, qword [rcx + rax*8 + 0xe8848]
mov qword [r12 + 0x10], rcx
test rcx, rcx
jne 0x14003b9ed
mov eax, ebx
jmp 0x14003b9fe
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], bl
jne 0x14003b9f1
and eax, 0x3fffffff
movzx edx, byte [rbp + 0x258]
mov r13d, 1
mov dword [r12 + 0xc], eax
mov byte [r12 + 0xa], r13b
mov eax, edx
cmp edx, r13d
je 0x14003ba2c
mov dl, al
mov rcx, r12
call fcn.14001841c
mov dl, byte [rbp + 0x258]
test esi, esi
jne 0x14003799c
mov r11, qword [rbp + 0x250]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
jmp 0x14003bf12
cmp dword [rdi + 8], ebx
je 0x14003ba61
movsxd rax, dword [rdi + 8]
imul r9, rax, 0x38
add r9, r10
jmp 0x14003ba64
mov r9, rbx
mov r8d, dword [rdi + 4]
lea rcx, [r11 + 0xa8]
mov rdx, r12
call fcn.14006c98c
jmp 0x1400397e6
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140028320
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
je 0x140036f19
cmp eax, 0x65
jne 0x14003799c
mov esi, ebx
mov dword [rsp + 0x30], ebx
jmp 0x14003c430
cmp dword [rdi + 4], ebx
jne 0x14003baeb
mov rax, qword [r12 + 8]
mov ecx, dword [rdi + 8]
test rax, rax
je case.0x140036d2f.86
inc ecx
and ecx, 3
and dword [rax + 0xc8], 0xfffffffc
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003bad0
jmp case.0x140036d2f.86
mov eax, dword [rdi + 8]
add eax, r13d
xor eax, dword [r11 + 0xc8]
and eax, 3
xor dword [r11 + 0xc8], eax
jmp case.0x140036d2f.86
mov rbx, qword [rdi + 0x10]
mov rcx, r12
mov rdx, rbx
call fcn.14006ddf8
mov r15, qword [rbp + 0x250]
mov esi, eax
mov dword [rsp + 0x30], eax
test rbx, rbx
je 0x14003b6c3
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.140034aa0
jmp 0x14003b6c3
xor edx, edx
lea rcx, [rbp + 0xe8]
lea r8d, [rdx + 0x38]
call fcn.1400c6610
movsxd rax, dword [rdi + 8]
lea rcx, [rbp + 0xe8]
imul rdx, rax, 0x38
add rdx, qword [rsp + 0x38]
mov qword [rbp + 0x110], r12
call fcn.14003078c
lea rcx, [rbp + 0xe8]
mov dl, r13b
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.140030c84
mov r15, qword [rbp + 0x250]
test rax, rax
je 0x14003bbab
mov edx, dword [rdi + 4]
lea r9, [r15 + 0xa8]
mov r8, rax
mov rcx, r12
call fcn.14006d928
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, 0x2400
test word [rbp + 0xf0], ax
jne 0x14003bbc5
cmp dword [rbp + 0x108], ebx
je 0x14003b6c5
lea rcx, [rbp + 0xe8]
call fcn.1400301f4
jmp 0x14003b6c5
add dword [r12 + 0xd8], r13d
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 4]
mov rcx, r12
call fcn.14006dc48
dec dword [r12 + 0xd8]
jmp 0x1400397e6
mov rax, qword [rdi + 0x10]
mov qword [rbp - 0x80], rbx
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003c6f5
mov r14, qword [rbx]
test r14, r14
je 0x14003c6f5
lea rdx, [rbp - 0x80]
mov rcx, rbx
call qword [r14 + 0x30]
mov r15, qword [rbp + 0x250]
mov rdx, rbx
mov rcx, r15
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.140034aa0
test esi, esi
jne 0x1400379a3
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.1400368f8
mov rcx, qword [rbp - 0x80]
test rax, rax
je 0x14003c6ec
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r13d
jmp 0x1400370f4
mov r8, qword [rbp + 0x250]
movsxd rax, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r8 + 0x78]
mov r14, qword [r8 + 0x70]
lea r11, [r10 + 0x38]
mov r13, qword [rax + rcx*8]
add r11, rdx
mov edx, dword [rdx + r10]
mov rbx, qword [r13 + 0x38]
movsxd r9, dword [r11]
xor eax, eax
mov r12, qword [rbx]
mov qword [rsp + 0x70], r13
mov r8d, eax
mov r15, qword [r12]
test r9d, r9d
jle 0x14003bcec
lea r13d, [rax + 1]
mov r10d, r13d
movsxd rax, r10d
add r10d, r13d
imul rcx, rax, 0x38
add rcx, r11
mov qword [r14 + r8*8], rcx
add r8, r13
cmp r8, r9
jl 0x14003bcce
mov r13, qword [rsp + 0x70]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov qword [rsp + 0x20], r14
call qword [r15 + 0x40]
mov rcx, qword [rbp + 0x250]
mov rdx, r12
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.140034aa0
xor r14d, r14d
test esi, esi
jne 0x14003799c
mov rcx, rbx
call qword [r15 + 0x50]
mov r15, qword [rsp + 0x40]
xor ebx, ebx
mov byte [r13 + 2], bl
lea r13d, [rsi + 1]
test eax, eax
je 0x14003c440
jmp 0x14003c430
mov r15, qword [rsp + 0x40]
xor ebx, ebx
jmp 0x14003c430
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r10
cmp byte [r14 + 2], al
jne 0x1400380bd
mov rax, qword [r14 + 0x38]
xor edx, edx
lea rcx, [rbp + 0x1c0]
mov r15, qword [rax]
lea r8d, [rdx + 0x38]
mov rsi, qword [r15]
call fcn.1400c6610
mov qword [rbp + 0x1c0], rbx
test byte [rdi + 2], r13b
je 0x14003bdc0
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003bdac
mov rcx, rbx
call fcn.1400301b4
jmp 0x14003bdb1
mov word [rbx + 8], r13w
mov eax, 0x4001
mov word [rbx + 8], ax
xor eax, eax
mov dword [rbx], eax
jmp 0x14003bdce
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 + 0x1c0]
call qword [rsi + reloc.WLDAP32.dll_Ordinal_88]
mov rcx, qword [rbp + 0x250]
mov rdx, r15
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.140034aa0
xor eax, eax
cmp dword [rbp + 0x1e4], eax
jle 0x14003be2a
mov dl, r13b
mov rcx, rbx
call fcn.140030c84
mov rcx, qword [rbp + 0x250]
lea rdx, [0x1400fff60]
mov r8, rax
call fcn.1400311f4
mov esi, dword [rbp + 0x1e4]
mov dword [rsp + 0x30], esi
movzx ecx, byte [rbp + 0x258]
mov eax, 2
test byte [rbx + 8], al
je 0x14003be4d
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003be4d
mov dl, cl
mov rcx, rbx
call fcn.14001841c
test byte [rbx + 8], 0x12
je 0x14003be73
mov edx, dword [rbx + 0xc]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003be63
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
xor ebx, ebx
cmp edx, dword [rax + 0x7c]
mov ecx, ebx
setg cl
jmp 0x14003be77
xor ebx, ebx
mov ecx, ebx
test ecx, ecx
jne 0x14003c6ff
test esi, esi
jne 0x14003799c
jmp 0x140038df0
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 2], bl
jne case.0x140036d2f.86
mov rcx, qword [r14 + 0x38]
mov rbx, qword [rcx]
mov r15, qword [rbx]
call qword [r15 + SQLSetEnvAttr]
mov rcx, qword [rbp + 0x250]
mov rdx, rbx
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.140034aa0
xor ebx, ebx
test esi, esi
jne 0x14003799c
mov rcx, qword [r14 + 0x38]
call qword [r15 + 0x50]
mov r15, qword [rsp + 0x40]
test eax, eax
jne 0x14003bef0
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 + 0x250]
mov eax, dword [r12 + 0x160]
test eax, eax
jne 0x14003c950
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
jmp case.0x140036d2f.86
mov r14d, dword [r12 + 0x30]
mov eax, 0x4000000
or qword [r12 + 0x30], rax
and r14d, eax
mov rax, qword [rdi + 0x10]
mov r15, qword [rax + 0x10]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 2
add rbx, r10
test byte [rbx + 8], al
je 0x14003bf62
cmp byte [rbx + 0xa], r13b
je 0x14003bf62
mov dl, r13b
mov rcx, rbx
call fcn.14001841c
mov esi, eax
jmp 0x14003bf64
xor esi, esi
test esi, esi
jne 0x14003799c
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 0x14003bf90
btr qword [r12 + 0x30], 0x1a
mov rcx, qword [rbp + 0x250]
mov rdx, r15
call fcn.140034aa0
mov r11, qword [rbp + 0x250]
and dword [r11 + 0xc8], 0xfffffffc
test esi, esi
jne 0x14003799c
jmp 0x14003885e
cmp byte [r12 + 0x61], bl
jne 0x140038737
mov rax, qword [rdi + 0x10]
xor r14d, r14d
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003c6f5
mov r10, qword [rbx]
test r10, r10
je 0x14003c6f5
movsxd rdx, dword [rdi + 8]
cmp qword [r10 + 0x68], r14
je 0x14003c454
movsxd rax, dword [rdi + 0xc]
mov r8, qword [r11 + 0x70]
mov r14b, byte [r12 + 0x66]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x38]
xor r11d, r11d
mov eax, r11d
test edx, edx
jle 0x14003c024
mov qword [r8 + rax*8], rcx
add rax, r13
add rcx, 0x38
cmp rax, rdx
jl 0x14003c014
mov al, byte [rdi + 2]
lea r9, [rbp + 0x30]
mov rcx, rbx
mov byte [r12 + 0x66], al
call qword [r10 + 0x68]
mov rcx, qword [rbp + 0x250]
mov rdx, rbx
mov esi, eax
mov dword [rsp + 0x30], eax
mov byte [r12 + 0x66], r14b
call fcn.140034aa0
xor ebx, ebx
test esi, esi
jne 0x14003c065
cmp dword [rdi + 4], ebx
je 0x14003c065
mov rax, qword [rbp + 0x30]
mov qword [r12 + 0x38], rax
cmp sil, 0x13
jne 0x14003c0b3
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x1c], bl
je 0x14003c0b3
mov eax, 4
cmp word [rdi + 2], ax
jne 0x14003c08a
mov esi, ebx
mov dword [rsp + 0x30], ebx
jmp 0x140036f19
mov eax, 5
cmp word [rdi + 2], ax
jne 0x14003c09c
mov eax, 2
jmp 0x14003c0a0
movzx eax, word [rdi + 2]
mov r11, qword [rbp + 0x250]
mov byte [r11 + 0xc2], al
jmp 0x140039318
mov r11, qword [rbp + 0x250]
add dword [r11 + 0x3c], r13d
jmp 0x140039318
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
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 0x140036f19
mov rdx, rdi
mov rcx, r11
call fcn.140036c28
mov rcx, qword [r12 + 0x20]
movsxd rdx, dword [rdi + 4]
shl rdx, 5
mov r8, rax
mov rax, qword [rdx + rcx + 8]
mov edx, dword [rdi + 0xc]
mov ecx, ebx
test edx, edx
je 0x14003c124
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 0x14003c135
mov dword [rdx + 0xc0], ecx
movsxd rax, dword [rdx + 0xc0]
mov qword [r8], rax
jmp 0x140036f19
movzx ebx, word [rdi + 2]
mov rcx, r12
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.1400165f4
xor r11d, r11d
mov r8, rax
test rax, rax
je 0x140038737
mov r10, qword [rsp + 0x38]
mov qword [rax], r11
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov dword [r8 + 0x24], r11d
mov byte [r8 + 0x29], bl
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r15
mov r15, qword [rbp + 0x250]
mov qword [r8 + 0x18], r15
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r11 + 2]
mov dword [r8 + 0x20], edx
add byte [rdi], al
mov byte [rdi + 1], 0xf0
mov qword [rdi + 0x10], r8
jmp 0x14003c1cc
mov r15, qword [rbp + 0x250]
movsxd rax, dword [rdi + 0xc]
mov r14, qword [rdi + 0x10]
imul rbx, rax, 0x38
add rbx, r10
cmp qword [r14], rbx
je 0x14003c21f
movzx edx, byte [r14 + 0x29]
mov qword [r14], rbx
sub edx, r13d
movsxd r8, edx
js 0x14003c21f
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 rcx, rax, 0x38
add rcx, r10
mov qword [r9], rcx
sub r9, r12
sub r8, r13
jns 0x14003c1fe
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 0x14003c29c
jle 0x14003c26f
mov dl, r13b
mov rcx, rbx
call fcn.140030c84
lea rdx, [0x1400fff60]
mov rcx, r15
mov r8, rax
call fcn.1400311f4
mov esi, dword [r14 + 0x24]
mov dword [rsp + 0x30], esi
mov rdx, qword [rbp + 0x250]
mov r9d, dword [rdi + 4]
mov r8d, dword [r14 + 0x20]
add rdx, 0x120
mov rcx, r12
call fcn.140033718
xor r15d, r15d
mov dword [r14 + 0x24], r15d
test esi, esi
jne 0x14003799c
test byte [rbx + 8], 0x12
je 0x1400370f4
movzx ecx, byte [rbp + 0x258]
mov eax, 2
test byte [rbx + 8], al
je 0x14003c2c9
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003c2c9
mov dl, cl
mov rcx, rbx
call fcn.14001841c
test byte [rbx + 8], 0x12
je 0x14003c2ef
mov edx, dword [rbx + 0xc]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003c2df
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
xor ebx, ebx
cmp edx, dword [rax + 0x7c]
mov ecx, ebx
setg cl
jmp 0x14003c2f3
xor ebx, ebx
mov ecx, ebx
mov r11, qword [rbp + 0x250]
test ecx, ecx
jne 0x14003c706
jmp 0x14003885e
mov r13d, 1
jmp 0x1400370f4
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
mov r9d, dword [rbp + 0x268]
mov r12, rax
jmp 0x140036d91
test byte [r12 + 0x68], r13b
je 0x14003c3dc
mov eax, 0x10
test byte [r11 + 0xc8], al
jne 0x14003c3dc
mov r9, qword [rdi + 0x10]
test r9, r9
jne 0x14003c35d
mov r9, qword [r11 + 0xf0]
test r9, r9
je 0x14003c3d5
cmp dword [r12 + 0xd4], r13d
jle 0x14003c3ad
lea rdx, str.____s
mov r8, r9
mov rcx, r12
call fcn.140018000
mov r8, qword [rbp + 0x250]
mov rdx, qword [r12 + 0xf0]
mov r9, rax
mov ecx, r13d
mov rbx, rax
call qword [r12 + 0xe8]
test rbx, rbx
je 0x14003c3a9
mov rdx, rbx
mov rcx, r12
call fcn.140016390
xor ebx, ebx
jmp 0x14003c3c3
mov rdx, qword [r12 + 0xf0]
mov r8, r11
mov ecx, r13d
call qword [r12 + 0xe8]
mov dl, byte [rbp + 0x258]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x250]
mov r9d, dword [rbp + 0x268]
mov eax, dword [0x14014cb90]
cmp dword [rdi + 4], eax
jl 0x14003c425
cmp byte [rdi], 0xa8
je case.0x140036d2f.86
mov edx, r13d
cmp dword [r11 + 0x90], r13d
jle 0x14003c422
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r11 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x14003c412
mov dword [rax + rcx + 4], ebx
add edx, r13d
add rax, 0x18
cmp edx, dword [r11 + 0x90]
jl 0x14003c401
mov dword [rdi + 4], ebx
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]
mov r12, qword [rsp + 0x48]
jmp 0x140036f19
mov r12, qword [rsp + 0x48]
jmp 0x14003720a
mov r10, qword [rsp + 0x38]
jmp 0x14003720a
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 0x14003c517
mov rcx, r11
cmp word [rdi + 2], r14w
je 0x14003c4d4
movzx r8d, word [rdi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xe7898]
call fcn.1400311f4
mov r9, qword [rdi + 0x10]
mov rsi, qword [rbp + 0x250]
test r9, r9
je 0x14003c4eb
mov r8, qword [rsi + 0xa8]
lea rdx, str._z:__s
mov rcx, r12
call fcn.140018000
mov qword [rsi + 0xa8], rax
jmp 0x14003c4eb
mov r8, qword [rdi + 0x10]
lea rdx, [0x1400fff60]
call fcn.1400311f4
mov rsi, qword [rbp + 0x250]
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.140018170
mov r11, qword [rbp + 0x250]
mov rcx, r11
call fcn.140033290
mov r15, qword [rbp + 0x250]
mov esi, eax
mov eax, 5
cmp esi, eax
jne 0x14003c53a
mov dword [r15 + 0x38], eax
jmp 0x140037a84
mov rax, qword [rbp + 0x250]
mov eax, dword [rax + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x140037a84
mov ecx, 0x152d5
call fcn.140081b58
mov esi, eax
jmp 0x14003799c
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.1400311f4
mov esi, 5
jmp 0x14003799c
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x14003c56b
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 + 0x250]
mov esi, ecx
mov dword [r15 + 0x38], ecx
jmp 0x140037a84
lea rdx, str.no_such_savepoint:__s
mov r8, r15
mov rcx, r11
call fcn.1400311f4
mov esi, 1
jmp 0x14003799c
mov esi, 8
jmp 0x14003799c
mov eax, 5
cmp sil, al
jne 0x14003799c
sub rdi, r15
mov r15, qword [rbp + 0x250]
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 0x140037a84
mov esi, 0x204
jmp 0x14003799c
mov r15, qword [rbp + 0x250]
mov esi, 7
mov eax, esi
jmp 0x1400379a8
mov r15, qword [rbp + 0x250]
mov esi, 6
lea eax, [rsi - 4]
mov byte [r15 + 0xc2], al
jmp 0x1400379a3
mov esi, 7
mov rcx, r12
call fcn.14004cd48
mov r14b, byte [rbp + 0x260]
mov eax, 7
cmp esi, eax
je 0x14003873e
mov r15, qword [rbp + 0x250]
jmp 0x1400379af
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r11
mov esi, r13d
call fcn.1400311f4
jmp 0x14003799c
mov dl, r13b
mov rcx, rbx
call fcn.140030c84
lea rdx, [0x1400fff60]
mov r8, rax
mov rcx, qword [rbp + 0x250]
call fcn.1400311f4
jmp 0x14003799c
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 0x14003c6b8
call qword [r14 + 0x38]
jmp 0x140038737
mov esi, 6
jmp 0x14003799c
mov r11, qword [rbp + 0x250]
lea rdx, str.string_or_blob_too_big
mov rcx, r11
call fcn.1400311f4
mov esi, 0x12
jmp 0x14003799c
cmp qword [r11 + 0x50], rbx
jle 0x14003c750
mov eax, 2
mov dword [r11 + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov byte [r11 + 0xc2], al
mov rcx, r11
call fcn.1400311f4
mov esi, r13d
jmp 0x14003799c
mov rax, qword [r11]
cmp dword [rax + 0x280], ebx
je 0x14003c778
cmp dword [r11 + 0x40], ebx
je 0x14003c778
mov edx, r13d
mov rcx, r11
call fcn.14003314c
mov r11, qword [rbp + 0x250]
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 rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r10
mov qword [r11 + 0xa0], r14
cmp dword [rdi + 8], ebx
jle 0x14003c7f7
lea rbx, [r14 + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x14003c7c4
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, r14
call fcn.14002ff1c
test eax, eax
jne 0x140038737
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x14003c7e2
lea rcx, [rbx - 8]
call fcn.14002fec0
add esi, r13d
add rbx, 0x38
cmp esi, dword [rdi + 8]
jl 0x14003c7a3
mov r11, qword [rbp + 0x250]
xor ebx, ebx
cmp byte [r12 + 0x61], bl
jne 0x140038737
mov eax, 4
test byte [r12 + 0x68], al
je 0x14003c826
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 + 0x250]
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 0x140037a84
mov ebx, dword [rdi + 4]
movzx eax, byte [r12 + 0x5f]
mov ecx, dword [rdi + 8]
cmp ebx, eax
je 0x14003c91f
xor r14d, r14d
test ecx, ecx
je 0x14003c88b
mov edx, 0x204
mov rcx, r12
call fcn.14007fef4
mov byte [r12 + 0x5f], r13b
jmp 0x14003c8bf
test ebx, ebx
je 0x14003c8a5
cmp dword [r12 + 0xd0], r14d
jle 0x14003c8a5
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14003c56b
mov edx, r13d
mov rcx, r11
call fcn.140033240
mov esi, eax
test eax, eax
jne 0x140037a7d
mov byte [r12 + 0x5f], bl
mov rsi, qword [rbp + 0x250]
mov rcx, rsi
call fcn.140033290
mov ecx, 5
cmp eax, ecx
jne 0x14003c905
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 0x14003c5af
mov rcx, r12
call fcn.14007fa40
mov eax, dword [rsi + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x140037a7d
xor r9d, r9d
test ebx, ebx
lea r8, str.cannot_rollback___no_transaction_is_active
mov eax, r9d
sete al
test ecx, ecx
lea rdx, str.cannot_commit___no_transaction_is_active
lea rcx, str.cannot_start_a_transaction_within_a_transaction
cmovne rdx, r8
test eax, eax
cmovne rdx, rcx
jmp 0x14003c740
mov r14b, byte [rbp + 0x260]
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.14007fffc
lea rdx, [0x1400fff60]
mov rcx, r11
mov r8, rax
call fcn.1400311f4
mov r15, qword [rbp + 0x250]
mov eax, 7
jmp 0x1400379af