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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2f8
mov r13, qword [rcx]
mov r12, qword [rcx + 0x88]
mov r14, qword [rcx + 0x68]
mov dl, byte [r13 + 0x5e]
xor r10d, r10d
mov r11, rcx
lea eax, [r10 + 7]
mov qword [rsp + 0x38], r12
mov rsi, r12
mov byte [rsp + 0x348], dl
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x350], r10b
mov r9d, r10d
mov dword [rsp + 0x358], r10d
mov r8d, r10d
mov dword [rsp + 0x88], r10d
mov qword [rsp + 0x48], r14
lea r15d, [r10 + 1]
cmp dword [rcx + 0x38], eax
je 0x14003969b
mov qword [rcx + 0x48], r10
mov qword [rcx + 0xa0], r10
mov eax, dword [r13 + 0x160]
mov dword [r13 + 0x228], r10d
cmp eax, r10d
jne 0x14003c351
movsxd rax, dword [rcx + 0x34]
lea ebx, [r10 + 4]
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
lea rcx, [0x140000000]
movzx ebp, byte [rsi]
add r8d, r15d
mov qword [rsp + 0x80], rsi
mov dword [rsp + 0x88], r8d
cmp ebp, 0xa8
ja case.default.0x140037cd4
mov ecx, dword [rcx + rbp*4 + 0x3dce0]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
movsxd r8, dword [rsi + 4]
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r12
imul r8, r8, 0x38
imul rcx
mov word [r8 + r14 + 8], bx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edx
mov qword [r8 + r14], rax
jmp 0x14003d79a
movsxd rdx, dword [rsi + 4]
imul rdx, rdx, 0x38
add rdx, r14
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + 8], ax
lea rsi, [r12 + rcx*8]
mov dl, byte [rsp + 0x348]
jmp case.0x140037cd4.86
mov eax, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
sub eax, r15d
cdqe
imul rcx, rcx, 0x38
mov qword [rcx + r14], rax
mov word [rcx + r14 + 8], bx
cmp dword [rsi + 8], r10d
jne 0x14003d79a
jmp case.0x140037cd4.86
movsxd rdx, dword [rsi + 4]
imul rdx, rdx, 0x38
add rdx, r14
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + rcx*8 + 8]
sub eax, r15d
cdqe
jmp 0x140037d1f
movsxd r8, dword [rsi + 4]
sub rsi, r12
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
imul r8, r8, 0x38
movsxd rcx, dword [r8 + r14]
add rdx, rax
mov word [r8 + r14 + 8], bx
movsxd rax, edx
lea rcx, [rcx + rcx*2]
mov qword [r8 + r14], rax
jmp 0x140037d2c
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
je case.0x140037cd4.86
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r12
imul rcx
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rsi + 4], r10d
jne 0x14003d7cf
mov rcx, qword [r11 + 0x100]
cmp rcx, r10
je 0x14003d7cf
mov rax, qword [rcx + 8]
dec dword [r11 + 0x110]
mov qword [r11 + 0x100], rax
mov eax, dword [r11 + 0x3c]
add dword [r13 + 0x78], eax
mov dword [r13 + 0x74], eax
call fcn.1400339f8
mov r11, qword [rsp + 0x340]
mov ebx, 4
cmp dword [rsi + 8], ebx
jne 0x140037e5d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r15d
mov r12, qword [r11 + 0x88]
mov r14, qword [r11 + 0x68]
cdqe
lea rcx, [rax + rax*2]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x48], r14
lea rsi, [r12 + rcx*8]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
jmp case.0x140037cd4.86
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov r11, rax
movsxd rax, dword [rsi + 4]
mov qword [r11], rax
mov r11, qword [rsp + 0x340]
jmp 0x140037e7c
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov r11, rax
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
mov qword [r11], rcx
jmp 0x140037ea8
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov r11, rax
mov eax, 8
mov word [r11 + 8], ax
jmp 0x140037ec0
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov rdx, qword [rsi + 0x10]
mov rcx, rdx
mov rbx, rax
call fcn.140019074
mov bpl, byte [rsp + 0x348]
mov dword [rsi + 4], eax
cmp bpl, r15b
je 0x140037f9f
xor eax, eax
mov r9b, r15b
or r8d, 0xffffffff
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140031820
xor r15d, r15d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r15d
jne 0x14003d1e1
lea eax, [r15 + 2]
movzx ecx, bpl
test byte [rbx + 8], al
je 0x140037f5d
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x140037f5d
mov dl, cl
mov rcx, rbx
call fcn.140018a98
jmp 0x140037f60
mov eax, r15d
cmp eax, r15d
jne 0x14003969b
mov eax, 0x800
mov dword [rbx + 0x20], r15d
or word [rbx + 8], ax
cmp byte [rsi + 1], 0xf9
jne 0x140037f8d
mov rdx, qword [rsi + 0x10]
cmp rdx, r15
je 0x140037f8d
mov rcx, r13
call fcn.1400169a8
mov byte [rsi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rsi + 4], eax
mov eax, dword [r13 + 0x7c]
mov r11, qword [rsp + 0x340]
cmp dword [rsi + 4], eax
jg 0x14003d1e9
mov byte [rsi], Ordinal_73
mov ebx, 4
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov dl, byte [rsp + 0x348]
mov r11, rax
mov eax, 0xa02
mov word [r11 + 8], ax
mov rax, qword [rsi + 0x10]
mov qword [r11 + 0x10], rax
mov eax, dword [rsi + 4]
mov byte [r11 + 0xa], dl
mov dword [r11 + 0xc], eax
mov r11, qword [rsp + 0x340]
jmp 0x140037e83
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov ebp, dword [rsi + 0xc]
sub ebp, dword [rsi + 8]
mov rbx, rax
mov eax, dword [rsi + 4]
neg eax
mov eax, 0x100
sbb r12w, r12w
and r12w, ax
add r12w, r15w
xor r10d, r10d
jmp 0x14003803c
add rbx, 0x38
mov rcx, rbx
call fcn.140031524
xor r10d, r10d
sub ebp, r15d
cmp ebp, r10d
mov dword [rbx + 0xc], r10d
mov word [rbx + 8], r12w
jg 0x14003802a
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov ebx, 4
lea rcx, [0x140000000]
mov r8d, dword [rsp + 0x88]
add rsi, 0x18
mov r15d, 1
jmp 0x140037ca1
movsxd rax, dword [rsi + 4]
mov ecx, 0xff41
imul rax, rax, 0x38
add rax, r14
and word [rax + 8], cx
or word [rax + 8], r15w
jmp case.0x140037cd4.86
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov r8d, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
mov rbx, rax
xor eax, eax
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140031820
mov dl, byte [rsp + 0x348]
mov byte [rbx + 0xa], dl
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
jmp 0x140038066
mov eax, dword [rsi + 4]
sub eax, r15d
movsxd rbp, eax
imul rbp, rbp, 0x38
add rbp, qword [r11 + 0x80]
test byte [rbp + 8], 0x12
je 0x140038128
mov ecx, dword [rbp + 0xc]
mov eax, 0x4000
test word [rbp + 8], ax
je 0x140038119
add ecx, dword [rbp]
mov rax, qword [rbp + 0x28]
mov edx, r10d
cmp ecx, dword [rax + 0x7c]
setg dl
jmp 0x14003812b
mov edx, r10d
cmp edx, r10d
jne 0x14003d1e9
movsxd rbx, dword [rsi + 8]
mov eax, 0x2400
imul rbx, rbx, 0x38
add rbx, r14
test word [rbx + 8], ax
je 0x140038165
mov rcx, rbx
call fcn.140031524
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
mov rax, qword [rbp]
mov ecx, 0xebff
mov qword [rbx], rax
mov rax, qword [rbp + 8]
mov qword [rbx + 8], rax
mov rax, qword [rbp + 0x10]
mov qword [rbx + 0x10], rax
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
mov dl, byte [rsp + 0x348]
jmp 0x140038066
movsxd rbp, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
mov r12d, dword [rsi + 0xc]
imul rbp, rbp, 0x38
imul rbx, rbx, 0x38
add rbp, r14
add rbx, r14
mov rdx, rbp
mov rcx, rbx
call fcn.1400317cc
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1400381e6
mov rcx, rbx
call fcn.140030eb4
xor r10d, r10d
cmp eax, r10d
jne 0x14003969b
jmp 0x1400381e9
xor r10d, r10d
add rbp, 0x38
add rbx, 0x38
sub r12d, r15d
jne 0x1400381ba
jmp 0x14003804a
movsxd rbp, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
mov r12d, dword [rsi + 0xc]
imul rbp, rbp, 0x38
imul rbx, rbx, 0x38
add rbp, r14
add rbx, r14
mov r8d, 0x1000
mov rdx, rbp
mov rcx, rbx
call fcn.1400316f8
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140038247
mov rcx, rbx
call fcn.140030eb4
xor r10d, r10d
cmp eax, r10d
jne 0x14003969b
jmp 0x14003824a
xor r10d, r10d
mov eax, r12d
sub r12d, r15d
cmp eax, r10d
je 0x14003804a
add rbx, 0x38
add rbp, 0x38
jmp 0x140038215
movsxd rdx, dword [rsi + 4]
movsxd rcx, dword [rsi + 8]
mov r8d, 0x1000
imul rdx, rdx, 0x38
imul rcx, rcx, 0x38
add rdx, r14
add rcx, r14
call fcn.1400316f8
jmp 0x140037ea8
movsxd rax, dword [rsi + 4]
movsxd rcx, dword [rsi + 8]
imul rax, rax, 0x38
imul rcx, rcx, 0x38
add rcx, r14
mov rdx, qword [rax + r14]
mov eax, 0x2400
test word [rcx + 8], ax
je 0x1400382b5
call fcn.1400315a0
jmp 0x140037ea8
mov qword [rcx], rdx
mov word [rcx + 8], bx
jmp 0x140037d30
movsxd r13, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
movsxd rbp, dword [rsi + 0xc]
imul r13, r13, 0x38
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
add rbx, r14
add r13, r14
add rbp, r14
movzx r14d, word [r13 + 8]
mov al, byte [rbx + 8]
or al, r14b
test r15b, al
je 0x140038310
mov rcx, rbp
call fcn.140031524
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
mov dl, byte [rsp + 0x348]
jmp 0x1400380d6
test r14b, 0x12
jne 0x140038349
xor r8d, r8d
mov rcx, r13
call fcn.140030f6c
xor r15d, r15d
cmp eax, r15d
jne 0x140039696
mov r14w, word [r13 + 8]
mov dl, byte [rsp + 0x348]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
jmp 0x140038361
mov eax, 0x4000
test ax, r14w
je 0x14003835e
mov rcx, r13
call fcn.140030f10
jmp 0x140038321
xor r15d, r15d
movzx r12d, word [rbx + 8]
test r12b, 0x12
jne 0x140038379
xor r8d, r8d
mov rcx, rbx
call fcn.140030f6c
jmp 0x140038387
test ax, r12w
je 0x14003839e
mov rcx, rbx
call fcn.140030f10
cmp eax, r15d
jne 0x140039696
mov r12w, word [rbx + 8]
mov eax, 0xfffd
and r12w, ax
mov eax, dword [r13 + 0xc]
mov r8, qword [rsp + 0x40]
add eax, dword [rbx + 0xc]
movsxd r15, eax
movsxd rax, dword [r8 + 0x7c]
cmp r15, rax
jg 0x14003d1e1
xor eax, eax
cmp rbp, rbx
lea edx, [r15 + 3]
mov r8d, eax
sete r8b
mov rcx, rbp
call fcn.140030d38
xor r11d, r11d
cmp eax, r11d
jne 0x140039696
mov eax, 0x3e40
and word [rbp + 8], ax
lea eax, [r11 + 2]
or word [rbp + 8], ax
cmp rbp, rbx
je 0x14003840a
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbp + 0x10]
call sub.msvcrt.dll_memcpy
mov word [rbx + 8], r12w
movsxd rcx, dword [rbx + 0xc]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
add rcx, qword [rbp + 0x10]
call sub.msvcrt.dll_memcpy
mov dl, byte [rsp + 0x348]
mov word [r13 + 8], r14w
mov rax, qword [rbp + 0x10]
xor r10d, r10d
mov byte [r15 + rax], r10b
mov rax, qword [rbp + 0x10]
mov byte [rax + r15 + 1], r10b
mov rax, qword [rbp + 0x10]
mov byte [rax + r15 + 2], r10b
mov eax, 0x200
mov dword [rbp + 0xc], r15d
or word [rbp + 8], ax
mov byte [rbp + 0xa], dl
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
jmp 0x14003805e
movsxd r13, dword [rsi + 4]
imul r13, r13, 0x38
add r13, r14
mov bx, word [r13 + 8]
and bx, 0x2c
jne 0x1400384a4
test byte [r13 + 8], 0x12
je 0x1400384a1
mov rcx, r13
call fcn.140037b08
xor r10d, r10d
mov bx, ax
jmp 0x1400384a4
mov ebx, r10d
movsxd rbp, dword [rsi + 8]
imul rbp, rbp, 0x38
add rbp, r14
mov ax, word [rbp + 8]
and ax, 0x2c
jne 0x1400384cc
test byte [rbp + 8], 0x12
je 0x1400384c9
mov rcx, rbp
call fcn.140037b08
jmp 0x1400384cc
mov eax, r10d
movsxd r12, dword [rsi + 0xc]
movzx ecx, word [rbp + 8]
and al, bl
or cx, word [r13 + 8]
mov ebx, 4
imul r12, r12, 0x38
add r12, r14
test bl, al
je 0x140038685
movzx ecx, byte [rsi]
mov r9, qword [rbp]
mov r8, qword [r13]
sub ecx, 0x67
mov qword [rsp + 0x80], r9
je 0x14003862a
sub ecx, r15d
je 0x14003860b
xor r10d, r10d
sub ecx, r15d
je 0x140038574
cmp ecx, r15d
je 0x140038542
cmp r8, r10
je 0x14003873e
cmp r8, 0xffffffffffffffff
mov rax, r9
cmove r8, r15
cqo
idiv r8
mov r9, rdx
jmp 0x14003864a
cmp r8, r10
je 0x14003873e
cmp r8, 0xffffffffffffffff
jne 0x140038564
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x14003868e
mov rax, r9
cqo
idiv r8
mov r9, rax
jmp 0x14003864a
cmp r8, r10
jle 0x1400385a5
movabs rax, 0x7fffffffffffffff
cqo
idiv r8
cmp r9, rax
jg 0x14003868e
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jmp 0x1400385be
jge 0x140038605
cmp r9, r10
jle 0x1400385c6
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x14003868e
jmp 0x140038605
jge 0x140038605
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14003868e
cmp r9, rax
je 0x14003868e
movabs rax, 0x8000000000000001
cqo
idiv r8
mov rcx, rax
mov rax, r9
neg rax
cmp rax, rcx
jg 0x14003868e
imul r9, r8
jmp 0x14003864a
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x140038627
xor r10d, r10d
cmp r9, r10
jge 0x14003868e
sub r9, rax
jmp 0x14003864a
neg r8
lea rcx, [rsp + 0x80]
mov rdx, r8
call fcn.140019ffc
xor r10d, r10d
cmp eax, r10d
jne 0x14003868e
mov r9, qword [rsp + 0x80]
mov eax, 0x3e40
mov qword [r12], r9
and word [r12 + 8], ax
or word [r12 + 8], bx
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
jmp case.0x140037cd4.86
test r15b, cl
jne 0x14003873e
mov rcx, r13
call fcn.140031294
mov rcx, rbp
movapd xmm2, xmm0
call fcn.140031294
movzx edx, byte [rsi]
sub edx, 0x67
je 0x14003870c
sub edx, r15d
je 0x140038706
sub edx, r15d
je 0x140038700
sub edx, r15d
je 0x1400386f0
mov rcx, r13
call fcn.140031230
mov rcx, rbp
mov rbx, rax
call fcn.140031230
xor r10d, r10d
cmp rbx, r10
je 0x14003873e
cmp rbx, 0xffffffffffffffff
cqo
pxor xmm0, xmm0
cmove rbx, r15
idiv rbx
lea ebx, [r10 + 4]
cvtsi2sd xmm0, rdx
jmp 0x140038713
ucomisd xmm2, qword [0x1401300f0]
je 0x14003873e
divsd xmm0, xmm2
jmp 0x140038710
mulsd xmm0, xmm2
jmp 0x140038710
subsd xmm0, xmm2
jmp 0x140038710
addsd xmm0, xmm2
xor r10d, r10d
call fcn.14001903c
cmp eax, r10d
jne 0x14003873e
mov eax, 0x3e40
movsd qword [r12], xmm0
and word [r12 + 8], ax
mov eax, 8
or word [r12 + 8], ax
jmp 0x14003865f
mov rcx, r12
call fcn.140031524
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
jmp 0x140038304
cmp dword [rsi + 4], r10d
je case.0x140037cd4.86
movsxd rax, dword [rsi + 4]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], cx
je 0x14003877f
xor edx, edx
mov rcx, rax
jmp 0x1400382ab
mov qword [rax], r10
mov word [rax + 8], bx
jmp case.0x140037cd4.86
movsxd rcx, dword [rsi + 8]
movsxd rbp, dword [rsi + 4]
movsxd r12, dword [rsi + 0xc]
imul rcx, rcx, 0x38
imul rbp, rbp, 0x38
imul r12, r12, 0x38
add rcx, r14
add rbp, r14
add r12, r14
mov al, byte [rcx + 8]
or al, byte [rbp + 8]
test r15b, al
je 0x1400387d1
mov rcx, r12
call fcn.140031524
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
jmp 0x140037e7c
call fcn.140031230
mov rcx, rbp
mov rbx, rax
call fcn.140031230
mov dl, byte [rsi]
mov r11, rax
cmp dl, 0x63
jne 0x1400387f0
and rbx, rax
jmp 0x1400387f8
cmp dl, 0x64
jne 0x1400387fd
or rbx, rax
xor r10d, r10d
jmp 0x140038872
xor r10d, r10d
cmp rax, r10
je 0x140038872
jge 0x140038825
mov rcx, r11
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, dl
neg rcx
mov dl, al
mov rax, r11
lea r11d, [r10 + 0x40]
cmp rax, 0xffffffffffffffc0
cmovg r11, rcx
cmp r11, 0x40
jl 0x140038842
cmp rbx, r10
jge 0x14003883a
cmp dl, 0x65
je 0x14003883a
or eax, 0xffffffff
jmp 0x14003883d
mov eax, r10d
movsxd rbx, eax
jmp 0x140038872
mov rcx, r11
cmp dl, 0x65
jne 0x140038852
shl rbx, cl
mov r8, rbx
jmp 0x14003886f
mov r8, rbx
shr r8, cl
cmp rbx, r10
jge 0x14003886f
or rdx, 0xffffffffffffffff
mov ecx, 0x40
sub cl, r11b
shl rdx, cl
or r8, rdx
mov rbx, r8
mov qword [r12], rbx
mov eax, 0x3e40
mov ebx, 4
and word [r12 + 8], ax
or word [r12 + 8], bx
jmp 0x140038664
movsxd rbx, dword [rsi + 4]
imul rbx, rbx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140031230
mov r11, rax
mov qword [rbx], rax
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 4
or word [rbx + 8], ax
movsxd rax, dword [rsi + 8]
add rax, r11
mov qword [rbx], rax
jmp 0x140038304
movsxd rbx, dword [rsi + 4]
mov ebp, 4
imul rbx, rbx, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test bpl, al
jne 0x140038a57
lea ecx, [rbp + 4]
test cl, al
jne 0x140038916
lea ecx, [rbp - 2]
test cl, al
je 0x140038925
mov edx, r15d
mov rcx, rbx
call fcn.1400379cc
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
jmp 0x14003891e
mov rcx, rbx
call fcn.14003130c
mov dl, byte [rsp + 0x348]
mov ax, word [rbx + 8]
test bpl, al
jne 0x140038a57
cmp dword [rsi + 8], r10d
jne 0x14003d79a
mov edi, SQLAllocHandle
mov r12, qword [rsp + 0x340]
mov ebx, 1
mov r14d, 7
mov rbp, qword [rsp + 0x40]
mov r13d, 0xc0a
cmp byte [rbp + 0x61], r10b
cmovne edi, r14d
cmp qword [r12 + 0xa8], r10
jne 0x14003899c
cmp edi, r13d
je 0x14003899c
mov ecx, edi
call fcn.14008335c
mov rcx, qword [rsp + 0x340]
lea rdx, [0x1400f38e8]
mov r8, rax
call fcn.140032200
mov r12, qword [rsp + 0x340]
mov edx, edi
mov rcx, rbp
mov dword [r12 + 0x38], edi
call fcn.1400190d4
mov rcx, qword [rsp + 0x340]
sub rsi, qword [rsp + 0x38]
mov r9, qword [rcx + 0xf0]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov rax, qword [rcx + 0xa8]
mov ecx, edi
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.1400187fc
mov rcx, qword [rsp + 0x340]
call fcn.1400342d4
cmp edi, r13d
jne 0x140038a0e
mov rcx, rbp
call fcn.140016efc
mov al, byte [rsp + 0x350]
xor ecx, ecx
mov edi, ebx
cmp al, cl
jbe 0x140038a2a
movzx edx, al
mov rcx, rbp
sub edx, ebx
call fcn.14004e2cc
mov r12, qword [rsp + 0x340]
mov eax, dword [rsp + 0x88]
add dword [r12 + 0xe4], eax
mov eax, edi
add rsp, 0x2f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x3e40
and ax, cx
or ax, bp
mov word [rbx + 8], ax
mov rbx, rbp
jmp case.0x140037cd4.86
movsxd rbx, dword [rsi + 4]
imul rbx, rbx, 0x38
add rbx, r14
test byte [rbx + 8], 0x24
je 0x140038066
mov rcx, rbx
call fcn.140031294
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 8
or word [rbx + 8], ax
movsd qword [rbx], xmm0
jmp 0x140038304
movsxd rbx, dword [rsi + 4]
mov eax, 0x4000
imul rbx, rbx, 0x38
add rbx, r14
test word [rbx + 8], ax
je 0x140038ad3
mov rcx, rbx
call fcn.140030f10
mov dl, byte [rsp + 0x348]
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x140038adb
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov r8b, dl
mov dl, byte [rsi + 8]
mov rcx, rbx
call fcn.14003143c
xor r10d, r10d
cmp edi, r10d
jne 0x140038941
mov r11, qword [rsp + 0x340]
jmp 0x140038057
movsxd rbp, dword [rsi + 0xc]
movsxd r12, dword [rsi + 4]
imul rbp, rbp, 0x38
imul r12, r12, 0x38
add rbp, r14
add r12, r14
movzx ebx, word [rbp + 8]
movzx r13d, word [r12 + 8]
movzx ecx, bx
or cx, r13w
test r15b, cl
je 0x140038bb9
mov eax, 0x80
test byte [rsi + 2], al
je 0x140038b6c
mov al, bl
and al, r13b
test r15b, al
je 0x140038b58
mov eax, 0x100
test ax, bx
jne 0x140038b58
mov ecx, r10d
jmp 0x140038d64
mov al, bl
and al, r15b
neg al
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, r15d
jmp 0x140038d41
mov r12, qword [rsp + 0x38]
mov eax, Ordinal_36
test byte [rsi + 2], al
je 0x140038ba9
movsxd rax, dword [rsi + 8]
mov ecx, 0x3e40
mov r9d, r15d
mov dword [rsp + 0x358], r15d
imul rax, rax, 0x38
add rax, r14
and word [rax + 8], cx
or word [rax + 8], r15w
mov r13, qword [rsp + 0x40]
jmp 0x140038066
mov eax, 0x10
test byte [rsi + 2], al
jne 0x14003d79a
jmp 0x140038b9f
mov al, byte [rsi + 2]
and al, 0x47
cmp al, 0x43
jl 0x140038cc1
mov edx, 2
test dl, cl
je 0x140038bfd
mov al, r13b
and al, 0x2e
cmp al, dl
jne 0x140038beb
xor edx, edx
mov rcx, r12
call fcn.1400379cc
mov bx, word [rbp + 8]
mov edx, 2
mov al, bl
and al, 0x2e
cmp al, dl
jne 0x140038bfd
xor edx, edx
mov rcx, rbp
call fcn.1400379cc
mov al, byte [r12 + 8]
and al, byte [rbp + 8]
test al, 4
je 0x140038d2d
mov rax, qword [r12]
cmp qword [rbp], rax
jle 0x140038cac
mov ecx, r15d
xor r10d, r10d
movzx eax, byte [rsi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xd7204]
mov word [r12 + 8], r13w
mov eax, Ordinal_36
mov word [rbp + 8], bx
test byte [rsi + 2], al
je 0x140038d7c
movsxd rdx, dword [rsi + 8]
mov eax, 8
mov r9d, ecx
mov dword [rsp + 0x358], ecx
imul rdx, rdx, 0x38
add rdx, r14
test byte [rsi + 2], al
je 0x140038c7d
cmp byte [rsi], 0x35
mov eax, r10d
sete al
cmp eax, r8d
je 0x140038e60
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov eax, 0x3e40
mov ebx, 4
and word [rdx + 8], ax
or word [rdx + 8], bx
movsxd rax, r8d
mov qword [rdx], rax
jmp 0x140037d30
jge 0x140038cb9
or ecx, 0xffffffff
xor r10d, r10d
jmp 0x140038d46
xor r10d, r10d
jmp 0x140038b50
cmp al, 0x42
jne 0x140038d2d
mov eax, 2
test al, r13b
jne 0x140038d03
test r13b, 0x2c
je 0x140038d03
mov r8b, r15b
mov rcx, r12
call fcn.140030f6c
mov dl, byte [rsp + 0x348]
movzx r11d, r13w
xor r11w, word [r12 + 8]
mov eax, 0x3e40
and r11w, ax
mov eax, 2
xor r13w, r11w
test al, bl
jne 0x140038d2d
test bl, 0x2c
je 0x140038d2d
mov r8b, r15b
mov rcx, rbp
call fcn.140030f6c
movzx r11d, bx
mov eax, 0x3e40
xor r11w, word [rbp + 8]
and r11w, ax
xor bx, r11w
mov r8, qword [rsi + 0x10]
mov rdx, r12
mov rcx, rbp
call fcn.140034f80
xor r10d, r10d
mov ecx, eax
cmp ecx, r10d
jge 0x140038d5e
movzx eax, byte [rsi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xd71f4]
jmp 0x140038c34
jne 0x140038c21
movzx eax, byte [rsi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xd71fc]
jmp 0x140038c34
mov r12, qword [rsp + 0x38]
cmp r8d, r10d
jne 0x14003d79a
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
jmp 0x140038057
cmp r9d, r10d
jmp 0x140037d5a
test byte [rsi + 2], r15b
jne 0x140038daf
mov rbp, r10
jmp 0x140038db6
mov rbp, qword [rsi - 8]
add rbp, rbx
cmp dword [rsi + 0xc], r10d
mov ecx, dword [rsi + 4]
mov edx, dword [rsi + 8]
mov r15, qword [rsi + 0x10]
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x6c], edx
mov r13d, r10d
mov rbx, r10
jle 0x14003d7af
movsxd rax, dword [rsi + 0xc]
lea r14, [r15 + 0x20]
mov qword [rsp + 0x70], rax
cmp rbp, r10
je 0x140038df1
mov r12d, dword [rbp + rbx*4]
jmp 0x140038df4
mov r12d, r13d
mov rax, qword [r15 + 0x18]
mov r8, qword [rsp + 0x48]
movzx eax, byte [rbx + rax]
and eax, 1
mov dword [rsp + 0x68], eax
lea eax, [r12 + rdx]
movsxd rdx, eax
lea eax, [r12 + rcx]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, r8
imul rcx, rcx, 0x38
add rcx, r8
mov r8, qword [r14]
call fcn.140034f80
xor r10d, r10d
mov r9d, eax
mov dword [rsp + 0x358], eax
cmp eax, r10d
jne 0x140038e77
mov ecx, dword [rsp + 0x58]
mov edx, dword [rsp + 0x6c]
lea eax, [r10 + 1]
add rbx, rax
add r13d, eax
add r14, 8
cmp rbx, qword [rsp + 0x70]
jl 0x140038de5
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
jmp 0x140038194
mov rax, qword [r15 + 0x18]
mov r14, qword [rsp + 0x48]
mov ecx, 2
test byte [rbx + rax], cl
je 0x140038ec4
movsxd rax, dword [rsp + 0x58]
movsxd rcx, r12d
mov r15d, 1
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
jne 0x140038eb9
movsxd rax, dword [rsp + 0x6c]
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
je 0x140038ec4
neg r9d
mov dword [rsp + 0x358], r9d
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
cmp dword [rsp + 0x68], r10d
je 0x140038066
neg r9d
mov dword [rsp + 0x358], r9d
jmp 0x140038066
cmp r9d, r10d
jge 0x140038f12
mov eax, dword [rsi + 4]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
jmp case.0x140037cd4.86
jne 0x140038f19
mov eax, dword [rsi + 8]
jmp 0x140038f00
mov eax, dword [rsi + 0xc]
jmp 0x140038f00
movsxd rcx, dword [rsi + 4]
mov ebp, 2
mov edx, ebp
imul rcx, rcx, 0x38
add rcx, r14
call fcn.1400312cc
movsxd rcx, dword [rsi + 8]
mov edx, ebp
movsxd rbx, eax
imul rcx, rcx, 0x38
add rcx, r14
call fcn.1400312cc
cmp byte [rsi], 0x2c
movsxd r11, eax
lea rax, [0x140000000]
jne 0x140038f6a
lea rdx, [rbx + rbx*2]
add rdx, r11
movzx eax, byte [rdx + rax + 0xd7240]
jmp 0x140038f79
lea rcx, [rbx + rbx*2]
add rcx, r11
movzx eax, byte [rcx + rax + 0xd7250]
movsxd rcx, dword [rsi + 0xc]
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
imul rcx, rcx, 0x38
mov r9d, dword [rsp + 0x358]
add rcx, r14
mov ebx, 4
cmp eax, ebp
jne 0x140038fb7
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], r15w
jmp 0x140037e8b
cdqe
mov qword [rcx], rax
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], bx
jmp 0x140037e8b
movsxd rcx, dword [rsi + 4]
mov edx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add rcx, r14
call fcn.1400312cc
mov edx, 0x2400
movsxd rcx, eax
movsxd rax, dword [rsi + 0x10]
xor rcx, rax
movsxd rax, dword [rsi + 8]
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], dx
je 0x140039009
mov rdx, rcx
jmp 0x140038777
mov qword [rax], rcx
mov word [rax + 8], bx
jmp 0x140037ea8
movsxd rcx, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
imul rcx, rcx, 0x38
imul rbx, rbx, 0x38
add rcx, r14
add rbx, r14
test byte [rcx + 8], r15b
jne 0x14003908a
xor edx, edx
call fcn.1400312cc
xor r10d, r10d
cmp eax, r10d
mov eax, 0x2400
mov rcx, r10
sete cl
test word [rbx + 8], ax
je 0x14003905f
mov rdx, rcx
mov rcx, rbx
call fcn.1400315a0
jmp 0x140038304
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
mov rbx, rax
jmp case.0x140037cd4.86
mov rcx, rbx
call fcn.140031524
jmp 0x140038304
movsxd rbx, dword [rsi + 8]
movsxd rbp, dword [rsi + 4]
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
add rbx, r14
add rbp, r14
mov rcx, rbx
call fcn.140031524
test byte [rbp + 8], r15b
jne 0x14003d673
mov eax, 4
mov rcx, rbp
mov word [rbx + 8], ax
call fcn.140031230
not rax
jmp 0x1400388c3
mov r10, qword [r11 + 0x100]
xor eax, eax
cmp r10, rax
je 0x14003914f
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r11 + 0x88]
imul rcx
mov r8, rdx
sar r8, 2
mov rax, r8
shr rax, 0x3f
add r8, rax
mov rax, qword [r10 + 0x30]
mov r9d, r8d
and r8d, 7
shr r9, 3
mov ecx, r8d
mov dl, byte [r9 + rax]
mov eax, r15d
shl eax, cl
test al, dl
jne 0x14003d79a
mov rdx, qword [r10 + 0x30]
mov eax, r15d
shl al, cl
or byte [r9 + rdx], al
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
jmp 0x140039162
mov rcx, qword [r11 + 0x88]
mov eax, dword [rsi + 4]
cmp dword [rcx + 4], eax
je 0x14003d79a
mov rax, qword [r11 + 0x88]
mov ecx, dword [rax + 4]
mov dword [rsi + 4], ecx
jmp 0x140037e8b
movsxd rcx, dword [rsi + 4]
mov edx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add rcx, r14
call fcn.1400312cc
xor r10d, r10d
cmp eax, r10d
jne 0x14003d79a
jmp 0x140038669
cmp dword [rsi + 0xc], r10d
movsxd rcx, dword [rsi + 4]
mov edx, r10d
sete dl
imul rcx, rcx, 0x38
add rcx, r14
call fcn.1400312cc
xor r10d, r10d
cmp eax, r10d
je 0x14003d79a
jmp 0x140038669
movsxd rax, dword [rsi + 4]
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
jmp 0x140037d5a
movsxd rax, dword [rsi + 4]
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
je 0x14003d79a
jmp case.0x140037cd4.86
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je case.0x140037cd4.86
movsxd rcx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add rcx, r14
call fcn.140031524
jmp 0x14003d79a
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
movsxd r13, dword [rsi + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rsp + 0x50], r13d
cmp byte [rbx + 3], r10b
je 0x140039278
mov rcx, qword [rbx + 0x20]
cmp rcx, r10
je 0x14003925d
mov edx, dword [rcx + r13*4 + 4]
cmp edx, r10d
jle 0x14003925d
mov rbx, qword [rbx + 0x30]
lea r13d, [rdx - 1]
mov edi, r10d
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x30], r10d
jmp 0x14003929c
mov rcx, rbx
call fcn.140034914
mov r11, qword [rsp + 0x340]
mov edi, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
jmp 0x140039293
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x14003928b
mov rcx, rbx
call fcn.140034960
jmp 0x140039265
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp edi, r10d
jne 0x140038941
movsxd r14, dword [rsi + 0xc]
mov rdx, qword [rsp + 0x48]
mov eax, dword [r11 + 0x30]
imul r14, r14, 0x38
mov r12, qword [rbx + 0x60]
add r14, rdx
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0x60], r12
cmp dword [rbx + 0x28], eax
je 0x1400393c6
cmp byte [rbx + 2], r10b
je 0x140039308
mov eax, 3
cmp byte [rbx], al
jne 0x1400392f6
movsxd rcx, dword [rbx + 0x2c]
imul rcx, rcx, 0x38
mov eax, dword [rcx + rdx + 0xc]
mov dword [rbx + 0x74], eax
mov dword [rbx + 0x70], eax
mov rax, qword [rcx + rdx + 0x10]
mov qword [rbx + 0x68], rax
jmp 0x140039360
mov rcx, r14
call fcn.140031524
mov r14, qword [rsp + 0x48]
jmp 0x140038746
mov rbp, qword [rbx + 0x38]
mov rcx, rbp
call fcn.1400296c8
mov eax, dword [rbp + 0x40]
xor r10d, r10d
mov dword [rbx + 0x70], eax
mov rax, qword [rbp + 0x88]
movzx ecx, word [rbp + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbp + 0x38]
cmp ecx, edx
jle 0x14003933b
mov ecx, edx
cmp edx, r10d
cmovl ecx, r10d
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 0x340]
mov dword [rbx + 0x74], ecx
mov rax, qword [rbp + 0x38]
mov qword [rbx + 0x68], rax
mov eax, dword [r8 + 0x7c]
cmp dword [rbx + 0x70], eax
ja 0x14003d1e9
mov eax, dword [r11 + 0x30]
mov rcx, qword [rbx + 0x68]
mov dword [rbx + 0x28], eax
mov eax, 0x80
cmp byte [rcx], al
jae 0x140039380
movzx eax, byte [rcx]
mov dword [r12], eax
mov eax, r15d
jmp 0x14003938e
mov rdx, r12
call fcn.140019e28
xor r10d, r10d
movzx eax, al
movzx eax, al
mov word [rbx + 0x52], r10w
mov dword [rbx + 0x48], eax
mov eax, dword [r12]
cmp dword [rbx + 0x74], eax
jae 0x140039490
mov qword [rbx + 0x68], r10
mov dword [rbx + 0x74], r10d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x140039564
cmp eax, dword [rbx + 0x70]
ja 0x140039564
movzx eax, word [rbx + 0x52]
cmp eax, r13d
jg 0x140039616
mov eax, dword [r12]
cmp dword [rbx + 0x48], eax
jae 0x140039611
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x78], rax
cmp rax, r10
jne 0x140039437
xor edx, edx
lea rcx, [rsp + 0x1a8]
lea r8d, [rdx + 0x38]
call sub.msvcrt.dll_memset
mov r8d, dword [r12]
mov rcx, qword [rbx + 0x38]
lea r9, [rsp + 0x1a8]
xor edx, edx
call fcn.140031b74
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x78], rax
movzx ecx, word [rbx + 0x52]
mov r8, qword [rsp + 0x60]
mov r14d, 1
mov r15d, dword [r12 + rcx*4]
mov r12d, dword [rbx + 0x48]
mov edx, dword [r8]
add r12, rax
add rdx, rax
mov dword [rsp + 0x58], ecx
mov r13, rcx
lea rdi, [0x140000000]
lea esi, [r14 + 0x7f]
mov qword [rsp + 0x70], rdx
movzx ebp, byte [r12]
mov dword [rsp + 0x9c], ebp
mov dword [rbx + r13*4 + 0x78], ebp
cmp ebp, esi
jae 0x140039496
movzx eax, byte [rbp + rdi + 0xd7110]
add r12, r14
jmp 0x1400394da
mov rax, qword [rbx + 0x68]
jmp 0x140039432
lea rdx, [rsp + 0x9c]
mov rcx, r12
call fcn.140019e28
mov ebp, dword [rsp + 0x9c]
movzx r11d, al
mov dword [rbx + r13*4 + 0x78], ebp
add r12, r11
cmp ebp, esi
jb 0x1400394c4
lea eax, [rbp - 0xc]
shr eax, 1
jmp 0x1400394cc
movzx eax, byte [rbp + rdi + 0xd7110]
mov ecx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
add ecx, r14d
add r15, rax
cmp ecx, dword [rsp + 0x50]
movsxd r13, ecx
mov dword [rsp + 0x58], ecx
mov dword [r8 + r13*4], r15d
jg 0x1400394fa
cmp r12, rdx
jb 0x14003946e
mov rsi, qword [rsp + 0x80]
mov edi, dword [rsp + 0x30]
mov r14, qword [rsp + 0xb8]
cmp r12, rdx
jb 0x14003951d
ja 0x140039525
mov eax, dword [rbx + 0x70]
cmp r15, rax
jne 0x140039525
mov eax, dword [rbx + 0x70]
cmp r15, rax
jbe 0x14003959b
xor r10d, r10d
cmp dword [r8], r10d
jne 0x140039535
mov ecx, r10d
mov r12, rdx
jmp 0x14003959e
cmp qword [rbx + 0x68], r10
jne 0x140039564
mov eax, 0x2400
test word [rsp + 0x1b0], ax
jne 0x140039554
cmp dword [rsp + 0x1c8], r10d
je 0x140039564
lea rcx, [rsp + 0x1a8]
call fcn.14003118c
xor r10d, r10d
mov r12, qword [rsp + 0x38]
mov eax, dword [r12 + 0xc]
cmp eax, r10d
jle 0x14003d8cd
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rsi, [r12 + rax*8]
jmp 0x140038057
xor r10d, r10d
sub r12d, dword [rsp + 0x78]
mov word [rbx + 0x52], cx
mov dword [rbx + 0x48], r12d
cmp qword [rbx + 0x68], r10
jne 0x1400395d7
mov eax, 0x2400
test word [rsp + 0x1b0], ax
jne 0x1400395ca
cmp dword [rsp + 0x1c8], r10d
je 0x1400395d7
lea rcx, [rsp + 0x1a8]
call fcn.14003118c
mov r12, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x50]
mov r15d, 1
movzx eax, word [rbx + 0x52]
cmp eax, r13d
jg 0x14003961d
cmp byte [rsi + 1], 0xf5
mov rcx, r14
jne 0x1400392f9
mov rdx, qword [rsi + 0x10]
mov r8d, 0x800
call fcn.1400316f8
jmp 0x1400392fe
mov ebp, r10d
jmp 0x1400395e7
movsxd rax, r13d
mov ebp, dword [rbx + rax*4 + 0x78]
mov eax, 0x2400
test word [r14 + 8], ax
je 0x140039631
mov rcx, r14
call fcn.140031524
movsxd rcx, r13d
mov eax, dword [r12 + rcx*4 + 4]
cmp dword [rbx + 0x74], eax
jb 0x140039738
mov r12d, dword [r12 + rcx*4]
add r12, qword [rbx + 0x68]
cmp ebp, 0xc
jae 0x140039661
mov rcx, r12
mov edx, ebp
mov r8, r14
call fcn.1400349b0
jmp 0x1400392fe
mov al, byte [rsp + 0x348]
lea ebx, [rbp - 0xc]
shr ebx, 1
mov byte [r14 + 0xa], al
lea edx, [rbx + 2]
mov dword [r14 + 0xc], ebx
cmp dword [r14 + 0x20], edx
jge 0x1400396c5
xor r8d, r8d
mov rcx, r14
mov word [r14 + 8], r15w
call fcn.140030d38
xor r11d, r11d
cmp eax, r11d
je 0x1400396cd
mov r13, qword [rsp + 0x40]
mov r14d, 7
mov rcx, r13
call fcn.140016efc
mov rcx, qword [rsp + 0x340]
lea rdx, str.out_of_memory
call fcn.140032200
mov edi, r14d
jmp 0x14003da2b
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov rcx, qword [r14 + 0x10]
mov r8, rbx
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov r11, qword [r14 + 0x10]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
lea rcx, [0x140000000]
mov byte [rbx + r11], r10b
mov rax, qword [r14 + 0x10]
mov r11, qword [rsp + 0x340]
mov byte [rax + rbx + 1], r10b
mov eax, ebp
lea ebx, [r10 + 4]
and rax, r15
movzx eax, word [rcx + rax*2 + 0xd413c]
mov word [r14 + 8], ax
mov r14, qword [rsp + 0x48]
jmp case.default.0x140037cd4
mov al, byte [rsp + 0x348]
mov byte [r14 + 0xa], al
test byte [rsi + 2], 0xc0
je 0x14003975f
cmp ebp, 0xc
jb 0x140039753
test r15b, bpl
je 0x14003978a
mov eax, 0x80
test byte [rsi + 2], al
jne 0x14003978a
jmp 0x140039764
mov eax, 0x80
cmp ebp, eax
jb 0x140039771
lea r8d, [rbp - 0xc]
shr r8d, 1
jmp 0x140039783
lea rdx, [0x140000000]
mov eax, ebp
movzx r8d, byte [rax + rdx + 0xd7110]
xor eax, eax
cmp r8d, eax
jne 0x140039796
lea rcx, [0x14013ff78]
jmp 0x140039652
mov edx, dword [r12 + rcx*4]
mov rcx, qword [rbx + 0x38]
mov r9, r14
call fcn.140031b74
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, ebp
call fcn.1400349b0
mov r8d, 0xefff
and word [r14 + 8], r8w
jmp 0x1400392fe
movsxd rbx, dword [rsi + 4]
mov rbp, qword [rsi + 0x10]
imul rbx, rbx, 0x38
add rbx, r14
mov r8b, dl
mov dl, byte [rbp]
mov rcx, rbx
call fcn.140037a64
cmp byte [rbp], 0x45
jne 0x14003984f
movzx eax, word [rbx + 8]
mov ecx, 4
test cl, al
je 0x14003984f
movabs rcx, 0x7fffffffffff
cmp qword [rbx], rcx
jg 0x140039832
movabs rcx, 0xffff800000000000
cmp qword [rbx], rcx
jl 0x140039832
mov ecx, 0xfffb
and ax, cx
or ax, 0x20
jmp 0x14003984b
pxor xmm0, xmm0
mov ecx, 0xfffb
cvtsi2sd xmm0, qword [rbx]
and ax, cx
or ax, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], ax
mov dl, byte [rsp + 0x348]
add rbp, r15
xor r10d, r10d
cmp byte [rbp], r10b
je 0x14003d666
add rbx, 0x38
jmp 0x1400397e5
mov eax, dword [rsi + 8]
mov rcx, qword [rsp + 0x48]
movsxd r11, dword [rsi + 4]
imul r11, r11, 0x38
mov r12, qword [rsp + 0x340]
mov rbp, qword [rsi + 0x10]
add r11, rcx
movzx r12d, byte [r12 + 0xc3]
mov r14, r10
mov r15d, r10d
mov qword [rsp + 0x78], r10
mov r10d, 1
xor r8d, r8d
sub eax, r10d
mov qword [rsp + 0x60], r11
mov dword [rsp + 0x68], r12d
movsxd r13, eax
movsxd rax, dword [rsi + 0xc]
imul r13, r13, 0x38
imul rax, rax, 0x38
add r13, r11
mov qword [rsp + 0xb0], r13
add rax, rcx
mov qword [rsp + 0x90], rax
cmp rbp, r8
je 0x140039953
lea rbx, [r11 + 8]
xor r13d, r13d
lea esi, [r10 + 0x1f]
mov edi, 0xfffb
lea r12d, [r10 + 3]
mov r8b, dl
mov dl, byte [rbp]
lea rcx, [rbx - 8]
call fcn.140037a64
cmp byte [rbp], 0x45
jne 0x14003991c
movzx eax, word [rbx]
test r12b, al
je 0x14003991c
and ax, di
or ax, si
mov word [rbx], ax
mov dl, byte [rsp + 0x348]
mov r10d, 1
add rbx, 0x38
add rbp, r10
cmp byte [rbp], r13b
jne 0x1400398f6
mov rsi, qword [rsp + 0x80]
mov r12d, dword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov r13, qword [rsp + 0xb0]
xor r8d, r8d
movsxd r9, r12d
lea rbx, [r13 + 0x24]
mov qword [rsp + 0x70], r9
mov cx, word [rbx - 0x1c]
test r10b, cl
je 0x140039980
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
add r15d, r10d
jmp 0x140039a6c
test cl, 0x24
je 0x140039a5a
mov r8, qword [rbx - 0x24]
xor r12d, r12d
cmp r8, r12
mov rdx, r8
jge 0x14003999b
not rdx
add r15d, r10d
cmp rdx, 0x7f
ja 0x1400399cc
mov rax, r8
and rax, r10
cmp rax, r8
jne 0x1400399c1
mov eax, 4
cmp r9, rax
jl 0x1400399c1
lea eax, [rdx + 8]
jmp 0x140039a48
add r14, r10
mov dword [rbx], r10d
jmp 0x140039af0
cmp rdx, 0x7fff
ja 0x1400399dc
mov eax, 2
jmp 0x1400399fa
cmp rdx, 0x7fffff
ja 0x1400399ec
mov eax, 3
jmp 0x1400399fa
cmp rdx, 0x7fffffff
ja 0x1400399ff
mov eax, 4
add r14, rax
jmp 0x140039a48
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x140039a19
add r14, 6
mov eax, 5
jmp 0x140039a48
mov edx, 8
add r14, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x140039a4f
mov eax, 0xffdf
pxor xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, r8
lea eax, [rdx - 1]
or cx, dx
mov word [rbx - 0x1c], cx
movsd qword [rbx - 0x24], xmm0
mov dword [rbx], eax
jmp 0x140039af0
mov dword [rbx], 6
jmp 0x140039af0
mov edx, 8
test dl, cl
je 0x140039a73
add r15d, r10d
lea eax, [rdx - 1]
add r14, rdx
mov dword [rbx], eax
xor r12d, r12d
jmp 0x140039af0
mov r12d, dword [rbx - 0x18]
mov eax, ecx
shr eax, 1
and eax, r10d
lea r13d, [rax + r12*2 + 0xc]
mov eax, 0x4000
test ax, cx
je 0x140039ac4
movsxd rax, dword [rbx - 0x24]
lea r13d, [r13 + rax*2]
cmp r14, r8
je 0x140039abf
lea rcx, [rbx - 0x24]
call fcn.140030f10
xor r11d, r11d
cmp eax, r11d
jne 0x140039696
add r12d, dword [rbx - 0x24]
mov r9, qword [rsp + 0x70]
lea r10d, [r11 + 1]
jmp 0x140039ac4
add qword [rsp + 0x78], rax
mov eax, r12d
mov ecx, r10d
add r14, rax
mov eax, r13d
shr rax, 7
xor r12d, r12d
jmp 0x140039ae0
add ecx, r10d
shr rax, 7
cmp rax, r12
jne 0x140039ad9
mov r11, qword [rsp + 0x60]
add r15d, ecx
mov dword [rbx], r13d
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x140039b05
sub rbx, 0x38
xor r8d, r8d
jmp 0x14003995f
cmp r15d, 0x7e
jle 0x140039b3a
mov edx, r10d
movsxd rax, r15d
jmp 0x140039b16
add edx, r10d
shr rax, 7
cmp rax, r12
jne 0x140039b13
add r15d, edx
mov ecx, r10d
movsxd rax, r15d
jmp 0x140039b2d
add ecx, r10d
shr rax, 7
cmp rax, r12
jne 0x140039b2a
cmp edx, ecx
jge 0x140039b3d
add r15d, r10d
mov r9, qword [rsp + 0x90]
mov r13, qword [rsp + 0x78]
movsxd rbx, r15d
movsxd rax, dword [r9 + 0x20]
lea rbp, [r14 + rbx]
lea rcx, [r13 + rbp]
cmp rcx, rax
jg 0x140039b69
mov rax, qword [r9 + 0x18]
mov qword [r9 + 0x10], rax
jmp 0x140039bbd
mov r8, qword [rsp + 0x40]
movsxd rax, dword [r8 + 0x7c]
cmp rcx, rax
jg 0x14003d1e1
cmp dword [r9 + 0x20], ebp
jge 0x140039ba3
xor r8d, r8d
mov edx, ebp
mov rcx, r9
call fcn.140030d38
mov r9, qword [rsp + 0x90]
mov r11, qword [rsp + 0x60]
mov r10d, 1
jmp 0x140039bb4
mov rax, qword [r9 + 0x18]
and word [r9 + 8], 0x2d
mov qword [r9 + 0x10], rax
mov eax, r12d
cmp eax, r12d
jne 0x140039696
mov eax, 0x10
mov dword [r9 + 0xc], ebp
mov word [r9 + 8], ax
cmp r13, r12
je 0x140039bdd
mov eax, 0x4010
mov dword [r9], r13d
mov word [r9 + 8], ax
mov rbp, qword [r9 + 0x10]
mov ecx, 0x80
lea r12, [rbx + rbp]
cmp r15d, ecx
jae 0x140039bf5
mov byte [rbp], r15b
jmp 0x140039c01
cmp rbx, 0x7f
ja 0x140039c06
and bl, 0x7f
mov byte [rbp], bl
mov eax, r10d
jmp 0x140039c16
mov rdx, rbx
mov rcx, rbp
call fcn.140019c64
mov ecx, 0x80
mov r13, qword [rsp + 0xb0]
movzx eax, al
mov esi, 7
add rbp, rax
lea rdi, [0x140000000]
mov r10d, dword [r11 + 0x24]
cmp r10d, ecx
jae 0x140039c3f
mov byte [rbp], r10b
jmp 0x140039c4e
mov rdx, r10
cmp r10, 0x7f
ja 0x140039c55
and dl, 0x7f
mov byte [rbp], dl
mov eax, 1
jmp 0x140039c5d
mov rcx, rbp
call fcn.140019c64
movzx eax, al
add rbp, rax
lea eax, [r10 - 1]
cmp eax, 6
ja 0x140039c94
movzx ecx, byte [r10 + rdi + 0xd7110]
mov rdx, qword [r11]
xor r10d, r10d
lea r8, [r12 + rcx]
mov ebx, ecx
dec r8
dec ecx
mov byte [r8], dl
shr rdx, 8
cmp ecx, r10d
jne 0x140039c81
jmp 0x140039cc5
cmp r10d, 0xc
jb 0x140039cbf
mov ebx, dword [r11 + 0xc]
xor r10d, r10d
cmp ebx, r10d
jbe 0x140039cc5
mov rdx, qword [r11 + 0x10]
mov r8, rbx
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov r11, qword [rsp + 0x60]
xor r10d, r10d
jmp 0x140039cc5
xor r10d, r10d
mov ebx, r10d
add r11, 0x38
mov eax, ebx
mov ecx, 0x80
add r12, rax
mov qword [rsp + 0x60], r11
cmp r11, r13
jbe 0x140039c30
mov rsi, qword [rsp + 0x80]
mov edi, dword [rsp + 0x30]
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x140038052
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
lea rdx, [rsp + 0xb8]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], r10
mov rcx, qword [rcx + 0x38]
call fcn.14002f07c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
mov rcx, qword [rsp + 0x340]
mov rdx, rsi
call fcn.140037bb4
mov rcx, qword [rsp + 0xb8]
mov qword [rax], rcx
jmp 0x1400387bf
mov r15d, dword [rsi + 4]
mov rbp, qword [rsi + 0x10]
cmp r15d, r10d
jne 0x140039e29
cmp dword [r13 + 0xd0], r10d
jg 0x14003d8e9
mov rcx, rbp
call fcn.140019074
mov r8d, dword [r13 + 0x280]
xor edx, edx
add r8d, dword [r13 + 0x27c]
mov rcx, r13
movsxd r12, eax
call fcn.140070818
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
lea rdx, [r12 + 0x21]
mov rcx, r13
call fcn.140016c18
xor r10d, r10d
mov rbx, rax
cmp rax, r10
je 0x14003a0aa
lea edx, [r12 + 1]
lea rcx, [rax + 0x20]
movsxd r8, edx
mov rdx, rbp
mov qword [rax], rcx
call sub.msvcrt.dll_memcpy
xor r10d, r10d
cmp byte [r13 + 0x5f], r10b
je 0x140039df5
mov byte [r13 + 0x5f], r10b
mov byte [r13 + 0x67], 1
jmp 0x140039dfc
inc dword [r13 + 0x27c]
mov rax, qword [r13 + 0x270]
mov qword [rbx + 0x18], rax
mov rax, qword [r13 + 0x288]
mov qword [r13 + 0x270], rbx
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x290]
mov qword [rbx + 0x10], rax
jmp 0x14003a0aa
mov r12, qword [rsp + 0x40]
mov r13d, r10d
mov ebx, 1
mov r14, qword [r12 + 0x270]
cmp r14, r10
je 0x14003d961
mov rcx, qword [r14]
mov rdx, rbp
call fcn.1400192b0
xor r10d, r10d
cmp eax, r10d
je 0x140039e66
mov r14, qword [r14 + 0x18]
add r13d, ebx
cmp r14, r10
jne 0x140039e47
cmp r14, r10
je 0x14003d961
cmp dword [r12 + 0xd0], r10d
jle 0x140039e82
cmp r15d, ebx
je 0x14003d8ff
cmp qword [r14 + 0x18], r10
jne 0x140039ee6
cmp byte [r12 + 0x67], r10b
je 0x140039ee6
mov rbp, rbx
mov dword [rsp + 0x50], ebx
cmp r15d, ebp
jne 0x140039eee
mov edx, ebp
mov rcx, r11
call fcn.140034284
mov edi, eax
xor eax, eax
cmp edi, eax
jne 0x140038a2a
mov rdi, qword [rsp + 0x340]
mov byte [r12 + 0x5f], bpl
mov rcx, rdi
call fcn.1400342d4
mov ecx, 5
cmp eax, ecx
je 0x14003d923
xor eax, eax
mov byte [r12 + 0x67], al
mov edi, dword [rdi + 0x38]
mov dword [rsp + 0x30], edi
jmp 0x14003a018
mov dword [rsp + 0x50], r10d
mov rbp, rbx
mov eax, dword [r12 + 0x27c]
sub eax, r13d
mov r13d, eax
mov eax, 2
sub r13d, ebp
cmp r15d, eax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x68], r13d
jne 0x140039f70
mov r12d, dword [r12 + 0x2c]
and r12d, ebp
cmp dword [rax + 0x28], r10d
mov ebp, r10d
jle 0x140039f73
cmp r12d, r10d
mov r13d, r10d
mov rbx, r10
sete r13b
mov rcx, qword [rax + 0x20]
mov r8d, r13d
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.140029308
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
mov rax, qword [rsp + 0x40]
inc ebp
add rbx, 0x20
cmp ebp, dword [rax + 0x28]
jl 0x140039f31
mov r13d, dword [rsp + 0x68]
jmp 0x140039f73
mov r12d, r10d
cmp dword [rax + 0x28], r10d
mov ebp, r10d
jle 0x140039fb5
mov rbx, r10
mov rcx, qword [rax + 0x20]
mov r8d, r13d
mov edx, r15d
mov rcx, qword [rcx + rbx + 8]
call fcn.1400294b4
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
mov rax, qword [rsp + 0x40]
inc ebp
add rbx, 0x20
cmp ebp, dword [rax + 0x28]
jl 0x140039f7f
cmp r12d, r10d
mov r12, qword [rsp + 0x40]
mov ebp, 1
je 0x140039fee
mov rax, qword [r12 + 8]
cmp rax, r10
je 0x140039fe1
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], ebp
mov rax, qword [rax + 0x10]
jmp 0x140039fc9
mov rcx, r12
call fcn.14004e348
or dword [r12 + 0x2c], ebp
mov ebx, dword [rsp + 0x50]
jmp 0x14003a018
mov rdx, qword [r12 + 0x270]
mov rcx, r12
mov rax, qword [rdx + 0x18]
mov qword [r12 + 0x270], rax
call fcn.1400169a8
dec dword [r12 + 0x27c]
cmp qword [r12 + 0x270], r14
jne 0x140039ff4
cmp r15d, ebp
jne 0x14003a050
mov rax, qword [r14 + 0x18]
mov rdx, r14
mov rcx, r12
mov qword [r12 + 0x270], rax
call fcn.1400169a8
xor r10d, r10d
cmp ebx, r10d
jne 0x14003a0a0
dec dword [r12 + 0x27c]
jmp 0x14003a079
mov rax, qword [r14 + 8]
xor r10d, r10d
mov qword [r12 + 0x288], rax
mov rax, qword [r14 + 0x10]
mov qword [r12 + 0x290], rax
cmp ebx, r10d
je 0x14003a079
lea eax, [r10 + 2]
cmp r15d, eax
jne 0x14003a0a0
mov r8d, r13d
mov r13, qword [rsp + 0x40]
mov edx, r15d
mov rcx, r13
call fcn.140070818
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
jmp 0x14003a0a5
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
cmp edi, r10d
jne 0x140038941
jmp 0x14003804a
mov edx, dword [rsi + 8]
mov ebx, r10d
mov dword [rsp + 0x6c], ebx
cmp edx, r10d
je 0x14003a0d6
mov eax, dword [r13 + 0x30]
bt rax, 0x14
jb 0x14003d977
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbp, qword [rcx + rax + 8]
cmp rbp, r10
je 0x14003a1e5
lea r8, [rsp + 0x6c]
mov rcx, rbp
call fcn.140028524
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003d981
mov r11, qword [rsp + 0x340]
cmp dword [rsi + 8], r10d
je 0x14003a1e1
mov eax, 0x80
test byte [r11 + 0xc8], al
je 0x14003a1e1
cmp byte [r13 + 0x5f], r10b
je 0x14003a146
cmp dword [r13 + 0xcc], r15d
jle 0x14003a1e1
cmp dword [r11 + 0x40], r10d
jne 0x14003a165
add dword [r13 + 0x280], r15d
mov ecx, dword [r13 + 0x280]
add ecx, dword [r13 + 0x27c]
mov dword [r11 + 0x40], ecx
mov r8d, dword [r11 + 0x40]
xor edx, edx
mov rcx, r13
sub r8d, r15d
call fcn.140070818
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003a1c3
mov rax, qword [rbp + 8]
mov r12, qword [rsp + 0x340]
mov rcx, qword [rax]
mov edx, dword [r12 + 0x40]
cmp edx, dword [rcx + 0x80]
jle 0x14003a1b6
cmp byte [rcx + 0xa], r10b
je 0x14003a1b6
call fcn.140022dc0
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a1be
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov r12, qword [rsp + 0x38]
mov rax, qword [r13 + 0x288]
mov r11, qword [rsp + 0x340]
mov qword [r11 + 0x58], rax
mov rax, qword [r13 + 0x290]
mov qword [r11 + 0x60], rax
mov ebx, dword [rsp + 0x6c]
cmp word [rsi + 2], r10w
je 0x14003a283
cmp ebx, dword [rsi + 0xc]
jne 0x14003a20e
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [rsi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsi + 0x10]
cmp dword [rcx + 4], eax
je 0x14003a283
mov rdx, qword [r11 + 0xa8]
cmp rdx, r10
je 0x14003a222
mov rcx, r13
call fcn.1400169a8
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.140016dac
mov r11, qword [rsp + 0x340]
mov qword [r11 + 0xa8], rax
movsxd rdx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x14003a268
mov rcx, r13
call fcn.14004e2cc
mov r11, qword [rsp + 0x340]
and dword [r11 + 0xc8], 0xfffffffd
or dword [r11 + 0xc8], r15d
mov edi, 0x11
mov dword [rsp + 0x30], edi
xor r10d, r10d
cmp edi, r10d
jne 0x140038941
jmp 0x140038057
movsxd rax, dword [rsi + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 0xc]
shl rax, 5
lea r8, [rsp + 0xd0]
mov rcx, qword [rax + rcx + 8]
call fcn.14002efb0
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
movsxd rcx, dword [rsp + 0xd0]
mov qword [rax], rcx
jmp 0x140037ea8
movsxd rbx, dword [rsi + 4]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002f000
mov edi, eax
mov dword [rsp + 0x30], eax
cmp dword [rsi + 8], r15d
jne 0x14003a304
mov rcx, qword [rbx + 0x18]
mov eax, dword [rsi + 0xc]
mov dword [rcx], eax
or dword [r13 + 0x2c], r15d
jmp 0x14003a318
mov eax, 2
cmp dword [rsi + 8], eax
jne 0x14003a318
mov rcx, qword [rbx + 0x18]
mov al, byte [rsi + 0xc]
mov byte [rcx + 0x70], al
xor r10d, r10d
cmp dword [rsi + 4], r15d
jne 0x14003a353
mov rax, qword [r13 + 8]
jmp 0x14003a339
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r15d
mov rax, qword [rax + 0x10]
cmp rax, r10
jne 0x14003a327
mov r11, qword [rsp + 0x340]
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x14003a283
mov r11, qword [rsp + 0x340]
jmp 0x14003a283
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp rbx, r10
je 0x14003a37d
mov eax, dword [rsi + 8]
cmp dword [rbx + 0x4c], eax
je 0x14003a4e7
mov ebx, 4
mov eax, dword [r11 + 0xc8]
and al, 3
cmp al, r15b
je 0x14003d9c4
movsxd r15, dword [rsi + 0xc]
mov r8, qword [rsp + 0x40]
movsxd r13, dword [rsi + 8]
mov rax, r15
mov r12d, r10d
mov r14, r10
shl rax, 5
add rax, qword [r8 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
cmp bpl, 0x62
jne 0x14003a3e7
movzx edi, word [rsi + 2]
mov rax, qword [rax + 0x18]
mov ecx, 8
and edi, ecx
mov cl, byte [rax + 0x70]
or edi, ebx
cmp cl, byte [r11 + 0xc3]
jae 0x14003a3ea
mov byte [r11 + 0xc3], cl
jmp 0x14003a3ea
mov edi, r10d
mov eax, 0x10
test byte [rsi + 2], al
je 0x14003a42d
mov rbx, r13
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140031230
mov r11, qword [rsp + 0x340]
mov ebp, 4
mov qword [rbx], rax
mov r13d, dword [rbx]
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], bp
xor r10d, r10d
jmp 0x14003a432
mov ebp, 4
mov al, byte [rsi + 1]
cmp al, 0xf7
jne 0x14003a444
mov r14, qword [rsi + 0x10]
movzx r12d, word [r14 + 8]
jmp 0x14003a44c
cmp al, 0xfd
jne 0x14003a44c
mov r12d, dword [rsi + 0x10]
mov edx, dword [rsi + 4]
mov r9d, r15d
mov r8d, r12d
mov rcx, r11
mov byte [rsp + 0x20], r10b
call fcn.14003789c
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x140039696
or dword [rbx + 8], ebp
lea ecx, [rax + 1]
mov rax, qword [rbx + 0x38]
cmp r13d, ecx
mov byte [rbx + 2], cl
mov dword [rbx + 0x4c], r13d
jge 0x14003a492
mov ecx, 0x108ea
call fcn.140084e38
jmp 0x14003a4aa
mov rcx, qword [rsp + 0x70]
mov r9, r14
mov r8d, edi
mov edx, r13d
mov qword [rsp + 0x20], rax
call fcn.140029568
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov qword [rbx + 0x40], r14
cmp byte [rsi + 1], 0xf7
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x30], eax
mov edi, eax
setne al
xor r10d, r10d
mov byte [rbx + 4], al
mov cl, byte [rsi + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
cmp edi, r10d
jne 0x140038941
jmp 0x140038066
movsxd rcx, dword [rsi + 8]
mov rax, qword [r11 + 0x78]
mov edx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
or r9d, 0xffffffff
mov rcx, r11
movsx r8d, word [rbx + 0x50]
mov byte [rsp + 0x20], r10b
call fcn.14003789c
xor r10d, r10d
mov r11, rax
cmp rax, r10
je 0x14003969b
or dword [rax + 8], r15d
mov rdi, qword [r11 + 0x38]
mov byte [rax + 2], r15b
mov r13, qword [rbx + 0x40]
mov qword [rax + 0x40], r13
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov eax, dword [rbx + 8]
mov ebp, ecx
xor eax, dword [r11 + 8]
and eax, 4
xor eax, dword [r11 + 8]
cmp ecx, r15d
mov dword [r11 + 8], eax
mov r12, qword [rbx + 0x10]
jge 0x14003a58b
mov ecx, 0x108ea
call fcn.140084e38
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a636
mov rbx, qword [r12 + 8]
cmp qword [rbx + 0x60], r10
jne 0x14003a5c9
mov ecx, dword [rbx + 0x30]
call fcn.14001e150
xor r10d, r10d
mov qword [rbx + 0x60], rax
cmp rax, r10
je 0x14003a5b6
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx + 4]
add qword [rbx + 0x60], rax
cmp qword [rbx + 0x60], r10
jne 0x14003a5c9
mov eax, 7
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a636
cmp ebp, r15d
jne 0x14003a5d7
mov eax, dword [rbx + 0x3c]
neg eax
sbb ecx, ecx
and ebp, ecx
mov dword [rdi + 0x50], ebp
mov byte [rdi + 0x54], 0xff
mov qword [rdi + 0x80], r13
mov qword [rdi + 8], r12
mov qword [rdi + 0x20], rbx
mov byte [rdi + 1], r15b
mov byte [rdi + 2], r10b
mov rax, qword [rbx + 0x10]
cmp rax, r10
je 0x14003a61f
mov r14d, Ordinal_36
cmp dword [rax + 0x50], ebp
jne 0x14003a611
or byte [rax + 1], r14b
or byte [rdi + 1], r14b
mov rax, qword [rax + 0x28]
cmp rax, r10
jne 0x14003a604
mov r14, qword [rsp + 0x48]
mov rax, qword [rbx + 0x10]
mov dword [rsp + 0x30], r10d
mov qword [rdi + 0x28], rax
mov qword [rbx + 0x10], rdi
mov byte [rdi], r15b
mov edi, r10d
mov r13, qword [rsp + 0x40]
jmp 0x14003804a
movsxd rdx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rdx*8]
cmp rbx, r10
je 0x14003a67f
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r10
mov dword [rbx + 0x28], r10d
cmp rcx, r10
je 0x14003a90d
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.14002ed34
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a8fd
mov r8d, dword [rsi + 8]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], r10b
call fcn.14003789c
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x14003969b
or dword [rbx + 8], r15d
movzx ecx, word [rsi + 2]
mov dword [rsp + 0x28], 0x41e
or ecx, 5
lea r9, [rbx + 0x10]
mov r8, r13
mov dword [rsp + 0x20], ecx
mov rcx, qword [r13]
xor edx, edx
call fcn.140027a84
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003a8dd
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov edx, r15d
call fcn.140028524
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003a8dd
mov r14, qword [rsi + 0x10]
mov qword [rbx + 0x40], r14
cmp r14, r10
je 0x14003a821
movzx r8d, word [rsi + 2]
mov rcx, qword [rbx + 0x10]
lea rdx, [rbx + 0x4c]
or r8d, 2
call fcn.14002e86c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003a813
mov r13d, dword [rbx + 0x4c]
mov rbp, qword [rbx + 0x38]
mov r12, qword [rbx + 0x10]
cmp r13d, r15d
jge 0x14003a760
mov ecx, 0x108ea
call fcn.140084e38
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a813
mov rdi, qword [r12 + 8]
mov qword [rsp + 0x70], rdi
cmp qword [rdi + 0x60], r10
jne 0x14003a7a3
mov ecx, dword [rdi + 0x30]
call fcn.14001e150
xor r10d, r10d
mov qword [rdi + 0x60], rax
cmp rax, r10
je 0x14003a790
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx + 4]
add qword [rdi + 0x60], rax
cmp qword [rdi + 0x60], r10
jne 0x14003a7a3
mov eax, 7
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a813
cmp r13d, r15d
jne 0x14003a7b2
mov eax, dword [rdi + 0x3c]
neg eax
sbb ecx, ecx
and r13d, ecx
mov dword [rbp + 0x50], r13d
mov byte [rbp + 0x54], 0xff
mov qword [rbp + 0x80], r14
mov qword [rbp + 8], r12
mov qword [rbp + 0x20], rdi
mov byte [rbp + 1], r15b
mov byte [rbp + 2], r10b
mov rax, qword [rdi + 0x10]
cmp rax, r10
je 0x14003a7fb
mov edi, Ordinal_36
cmp dword [rax + 0x50], r13d
jne 0x14003a7ed
or byte [rax + 1], dil
or byte [rbp + 1], dil
mov rax, qword [rax + 0x28]
cmp rax, r10
jne 0x14003a7df
mov rdi, qword [rsp + 0x70]
mov rax, qword [rdi + 0x10]
mov dword [rsp + 0x30], r10d
mov qword [rbp + 0x28], rax
mov qword [rdi + 0x10], rbp
mov byte [rbp], r15b
mov edi, r10d
mov r13, qword [rsp + 0x40]
mov byte [rbx + 4], r10b
jmp 0x14003a8d8
mov r12, qword [rbx + 0x10]
mov rdi, qword [rbx + 0x38]
mov dword [rbx + 0x4c], r15d
mov rbp, qword [r12 + 8]
cmp qword [rbp + 0x60], r10
jne 0x14003a86b
mov ecx, dword [rbp + 0x30]
call fcn.14001e150
xor r10d, r10d
mov qword [rbp + 0x60], rax
cmp rax, r10
je 0x14003a858
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx + 4]
add qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], r10
jne 0x14003a86b
mov eax, 7
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a8d4
mov eax, dword [rbp + 0x3c]
mov byte [rdi + 0x54], 0xff
mov qword [rdi + 0x80], r10
neg eax
mov qword [rdi + 8], r12
mov qword [rdi + 0x20], rbp
sbb ecx, ecx
mov byte [rdi + 1], r15b
mov byte [rdi + 2], r10b
and ecx, r15d
mov dword [rdi + 0x50], ecx
mov rax, qword [rbp + 0x10]
cmp rax, r10
je 0x14003a8bd
mov r13d, Ordinal_36
cmp dword [rax + 0x50], ecx
jne 0x14003a8af
or byte [rax + 1], r13b
or byte [rdi + 1], r13b
mov rax, qword [rax + 0x28]
cmp rax, r10
jne 0x14003a8a2
mov r13, qword [rsp + 0x40]
mov rax, qword [rbp + 0x10]
mov dword [rsp + 0x30], r10d
mov qword [rdi + 0x28], rax
mov qword [rbp + 0x10], rdi
mov byte [rdi], r15b
mov edi, r10d
mov byte [rbx + 4], r15b
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x38]
mov eax, r10d
mov ecx, 8
cmp word [rsi + 2], cx
setne al
shl eax, 2
xor eax, dword [rbx + 8]
and eax, 4
xor dword [rbx + 8], eax
mov r9d, dword [rsp + 0x358]
mov r11, qword [rsp + 0x340]
cmp edi, r10d
jne 0x140038941
mov byte [rbx + 2], r15b
jmp 0x140038194
mov r8d, dword [rsi + 8]
mov edx, dword [rsi + 4]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], r15b
call fcn.14003789c
xor r11d, r11d
cmp rax, r11
je 0x14003969b
mov rcx, qword [rsi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov edx, dword [rsi + 0xc]
mov rcx, r13
call fcn.14003efa8
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
jmp 0x140038669
movsxd rcx, dword [rsi + 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
cmp rcx, r10
je 0x14003d79a
jmp 0x140037d30
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
mov eax, 3
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], al
call fcn.14003789c
xor r10d, r10d
cmp rax, r10
je 0x14003969b
mov byte [rax + 2], r15b
mov ecx, dword [rsi + 8]
mov byte [rax + 4], r15b
mov dword [rax + 0x2c], ecx
lea rcx, [0x140140364]
mov qword [rax + 0x38], rcx
jmp 0x140038669
movsxd rax, dword [rsi + 4]
mov rdx, qword [r11 + 0x78]
mov rcx, r11
mov rdx, qword [rdx + rax*8]
call fcn.1400338fc
mov r12, qword [rsp + 0x340]
movsxd r11, dword [rsi + 4]
mov rax, qword [r12 + 0x78]
xor r10d, r10d
mov qword [rax + r11*8], r10
jmp 0x140038664
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov r15d, r10d
mov r12, qword [rax + rcx*8]
mov ecx, 2
mov byte [r12 + 2], r10b
mov byte [r12 + 3], r10b
mov dword [r12 + 0x28], r10d
cmp byte [r12 + 4], r10b
je 0x14003ab30
movsxd rbx, dword [rsi + 0xc]
imul rbx, rbx, 0x38
add rbx, r14
movzx r13d, word [rbx + 8]
mov al, r13b
and al, 0x2e
cmp al, cl
jne 0x14003aa5e
xor edx, edx
mov rcx, rbx
call fcn.1400379cc
mov rcx, rbx
call fcn.140031230
movzx edx, word [rbx + 8]
mov word [rbx + 8], r13w
mov r14, rax
test dl, 0x24
jne 0x14003aaf2
mov eax, 8
test al, dl
jne 0x14003aac2
lea ebx, [rax - 7]
test bl, dl
jne 0x14003d0c3
cmp ebp, 0x18
jge 0x14003d0c3
mov rcx, qword [r12 + 0x38]
lea rdx, [rsp + 0x54]
call fcn.140029f40
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x14003ac8a
mov r12, qword [rsp + 0x340]
jmp 0x14003894e
movsd xmm1, qword [rbx]
pxor xmm0, xmm0
mov ebx, 1
cvtsi2sd xmm0, r14
comisd xmm1, xmm0
jae 0x14003aae3
test bl, bpl
je 0x14003aaf7
sub ebp, ebx
jmp 0x14003aaf7
comisd xmm1, xmm0
jbe 0x14003aaf7
test bl, bpl
jne 0x14003aaf7
add ebp, ebx
jmp 0x14003aaf7
mov ebx, 1
mov rcx, qword [r12 + 0x38]
lea rax, [rsp + 0x54]
xor r9d, r9d
mov r8, r14
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.140029f9c
xor r10d, r10d
mov qword [r12 + 0x58], r14
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003aab5
mov r14, qword [rsp + 0x48]
jmp 0x14003abd0
mov rax, qword [r12 + 0x38]
mov ebx, 1
lea rdx, [rsp + 0xf0]
test byte [rax + 3], cl
mov rax, qword [r12 + 0x40]
mov byte [rsp + 0x106], r10b
mov qword [rsp + 0xf0], rax
movzx eax, word [rsi + 0x10]
cmovne r15d, ebx
mov word [rsp + 0x100], ax
mov eax, ebp
and al, bl
neg al
movsxd rax, dword [rsi + 0xc]
sbb cl, cl
xor r9d, r9d
xor r8d, r8d
and cl, 0xfe
add cl, bl
imul rax, rax, 0x38
add rax, r14
mov byte [rsp + 0x102], cl
mov qword [rsp + 0xf8], rax
mov rcx, qword [r12 + 0x38]
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
call fcn.140029f9c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003aab5
cmp r15d, r10d
je 0x14003abd0
cmp byte [rsp + 0x106], r10b
je 0x14003ac8a
cmp ebp, 0x18
mov eax, dword [rsp + 0x54]
jl 0x14003ac36
cmp eax, r10d
jl 0x14003abef
jne 0x14003abe5
cmp ebp, 0x19
je 0x14003abef
mov dword [rsp + 0x54], r10d
jmp 0x14003ac95
mov rcx, qword [r12 + 0x38]
xor edx, edx
mov dword [rsp + 0x54], r10d
call fcn.14002a57c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x14003ac95
cmp eax, 0x65
jne 0x14003aab5
lea r15d, [rax - 0x64]
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x54], r15d
mov r12, qword [rsp + 0x38]
jmp 0x14003d79a
cmp eax, r10d
jg 0x14003ac56
jne 0x14003ac42
cmp ebp, 0x16
je 0x14003ac56
mov rax, qword [r12 + 0x38]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rsp + 0x54], ecx
jmp 0x14003ac8a
mov rcx, qword [r12 + 0x38]
xor edx, edx
mov dword [rsp + 0x54], r10d
call fcn.14002a6d8
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x14003ac95
cmp eax, 0x65
jne 0x14003aab5
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x54], ebx
cmp dword [rsp + 0x54], r10d
jne 0x14003d0d0
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
cmp r15d, r10d
je 0x140038066
add rsi, 0x18
jmp 0x140038066
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rsi + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp 0x140037d30
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne case.0x140037cd4.86
movsxd rbx, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
imul rbx, rbx, 0x38
mov rbp, qword [rax + rcx*8]
add rbx, r14
cmp dword [rsi + 0x10], r10d
jle 0x14003ad51
mov rax, qword [rbp + 0x40]
lea rdi, [rsp + 0x160]
mov r12, r10
mov qword [rsp + 0x160], rax
movzx eax, word [rsi + 0x10]
mov qword [rsp + 0x168], rbx
mov word [rsp + 0x170], ax
jmp 0x14003ada5
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003ad69
mov rcx, rbx
call fcn.140030f10
xor r10d, r10d
jmp 0x14003ad6c
mov eax, r10d
cmp eax, r10d
jne 0x14003969b
mov rcx, qword [rbp + 0x40]
call fcn.140034bdc
mov r12, rax
mov rdi, rax
xor eax, eax
cmp r12, rax
je 0x14003969b
mov r8, qword [rbx + 0x10]
mov edx, dword [rbx + 0xc]
mov rcx, qword [rbp + 0x40]
mov r9, r12
call fcn.140034c34
xor r10d, r10d
mov byte [rdi + 0x12], r10b
cmp byte [rsi], 0x1b
mov ebx, r10d
jne 0x14003addc
mov edx, r10d
cmp r10w, word [rdi + 0x10]
jae 0x14003addc
mov rcx, qword [rdi + 8]
add rcx, 8
test byte [rcx], r15b
jne 0x14003add9
movzx eax, word [rdi + 0x10]
add edx, r15d
add rcx, 0x38
cmp edx, eax
jl 0x14003adc3
jmp 0x14003addc
mov ebx, r15d
mov rcx, qword [rbp + 0x38]
lea rax, [rsp + 0xd4]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.140029f9c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp r12, r10
je 0x14003ae17
mov rdx, r12
mov rcx, r13
call fcn.1400169a8
xor r10d, r10d
cmp edi, r10d
jne 0x140038941
mov eax, dword [rsp + 0xd4]
mov ecx, r10d
mov byte [rbp + 3], r10b
cmp eax, r10d
mov dword [rbp + 0x2c], eax
mov eax, r15d
sete cl
mov dword [rbp + 0x28], r10d
sub al, cl
mov byte [rbp + 2], al
cmp byte [rsi], 0x1d
jne 0x14003ae5b
cmp ecx, r10d
mov r12, qword [rsp + 0x38]
jne 0x14003d79a
jmp 0x140038af5
cmp ebx, r10d
jne 0x14003ac2c
mov r12, qword [rsp + 0x38]
cmp ecx, r10d
je 0x14003d79a
jmp 0x140038af5
movsxd rdx, dword [rsi + 0xc]
imul rdx, rdx, 0x38
add rdx, r14
test byte [rdx + 8], 0x24
jne case.0x140037cd4.31
lea rcx, [rsp + 0x218]
mov r8d, 0x38
call sub.msvcrt.dll_memcpy
movzx r11d, word [rsp + 0x220]
test bl, r11b
jne 0x14003aeee
mov eax, 8
test al, r11b
jne 0x14003aecf
mov eax, 2
test al, r11b
je 0x14003aee5
lea rcx, [rsp + 0x218]
mov edx, r15d
call fcn.1400379cc
jmp 0x14003aedc
lea rcx, [rsp + 0x218]
call fcn.14003130c
mov r11w, word [rsp + 0x220]
test bl, r11b
je 0x14003d79a
mov rbp, qword [rsp + 0x218]
mov r11, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x14003af0f
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
mov rbp, qword [rax + r14]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
xor r9d, r9d
mov rbx, qword [rax + rcx*8]
lea rax, [rsp + 0xa8]
mov r8, rbp
mov rcx, qword [rbx + 0x38]
xor edx, edx
mov dword [rsp + 0xa8], r10d
mov qword [rsp + 0x20], rax
call fcn.140029f9c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xa8]
mov qword [rbx + 0x58], rbp
mov byte [rbx + 2], r10b
mov dword [rbx + 0x28], r10d
mov byte [rbx + 3], r10b
mov dword [rbx + 0x2c], eax
cmp eax, r10d
je 0x140038aec
cmp dword [rsi + 8], r10d
jne 0x14003d79a
mov ecx, 0x159cf
call fcn.140084e38
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov edi, eax
jmp 0x140038aec
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
movsxd rdx, dword [rsi + 4]
mov r11, qword [rsp + 0x340]
mov rcx, qword [r11 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r15
jmp 0x140037e7c
mov rbx, r10
mov rdx, rsi
mov rcx, r11
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x50], r10d
call fcn.140037bb4
movsxd rdx, dword [rsi + 4]
mov r13, rax
mov rax, qword [rsp + 0x340]
mov rcx, qword [rax + 0x78]
mov ebp, 2
mov r12, qword [rcx + rdx*8]
test byte [r12 + 8], bpl
jne 0x14003b07b
mov rcx, qword [r12 + 0x38]
lea rdx, [rsp + 0x50]
call fcn.140029f40
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
cmp dword [rsp + 0x50], r10d
je 0x14003b03f
mov rax, qword [rsp + 0x340]
mov rbx, r15
mov qword [rsp + 0x60], rbx
jmp 0x14003b07e
mov rbx, qword [r12 + 0x38]
mov rcx, rbx
call fcn.1400296c8
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0x60], rbx
jl 0x14003b073
or dword [r12 + 8], ebp
jmp 0x14003b07b
add rbx, r15
mov qword [rsp + 0x60], rbx
xor r10d, r10d
movsxd rdx, dword [rsi + 0xc]
cmp edx, r10d
je 0x14003b11a
mov rax, qword [rax + 0x100]
cmp rax, r10
je 0x14003b0b6
mov rcx, qword [rax + 8]
jmp 0x14003b0a4
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp rcx, r10
jne 0x14003b09d
mov rbp, rdx
imul rbp, rbp, 0x38
add rbp, qword [rax + 0x20]
jmp 0x14003b0c0
mov rbp, rdx
imul rbp, rbp, 0x38
add rbp, r14
mov rcx, rbp
call fcn.140031230
mov ecx, 0x3e40
and word [rbp + 8], cx
mov ecx, 4
mov qword [rbp], rax
or word [rbp + 8], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14003d9ce
mov ecx, 2
test byte [r12 + 8], cl
jne 0x14003d9ce
inc rax
cmp rbx, rax
cmovl rbx, rax
xor r10d, r10d
mov qword [rbp], rbx
mov rbp, rcx
mov qword [rsp + 0x60], rbx
test byte [r12 + 8], bpl
je 0x14003b193
mov ebp, r10d
lea rdx, [rsp + 0x60]
mov ecx, 8
call fcn.1400188ac
mov rbx, qword [rsp + 0x60]
mov rcx, qword [r12 + 0x38]
movabs rax, 0x3fffffffffffffff
xor r9d, r9d
xor edx, edx
and rbx, rax
lea rax, [rsp + 0x50]
add rbx, r15
mov qword [rsp + 0x20], rax
mov r8, rbx
mov qword [rsp + 0x60], rbx
call fcn.140029f9c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
cmp dword [rsp + 0x50], r10d
jne 0x14003b193
add ebp, r15d
cmp ebp, 0x64
jl 0x14003b124
lea edi, [r10 + 0xd]
jmp 0x140038941
mov byte [r12 + 3], r10b
mov dword [r12 + 0x28], r10d
mov qword [r13], rbx
jmp 0x14003a636
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
movsxd rdx, dword [rsi + 8]
imul rdx, rdx, 0x38
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
add rdx, r14
imul rax, rax, 0x38
cmp byte [rsi + 1], 0xfa
mov r8, qword [rax + r14]
mov qword [rsp + 0x180], r8
jne 0x14003b1f7
cmp qword [r13 + 0x120], r10
je 0x14003b1f7
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rbp, qword [rsi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
jmp 0x14003b1fd
mov rbp, r10
mov r12, r10
test byte [rsi + 2], r15b
je 0x14003b207
add dword [r11 + 0x3c], r15d
mov eax, Ordinal_36
test byte [rsi + 2], al
je 0x14003b215
mov qword [r13 + 0x38], r8
mov rax, qword [rdx + 0x10]
mov r8w, word [rsi + 2]
mov qword [rsp + 0x188], rax
mov eax, dword [rdx + 0xc]
mov dword [rsp + 0x19c], eax
mov eax, 0x10
test al, r8b
je 0x14003b240
mov r9d, dword [rbx + 0x2c]
jmp 0x14003b243
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14003b259
mov eax, dword [rdx]
mov dword [rsp + 0x1a0], eax
jmp 0x14003b261
mov dword [rsp + 0x1a0], r10d
mov qword [rsp + 0x178], r10
mov rcx, qword [rbx + 0x38]
lea rdx, [rsp + 0x178]
and r8d, 0xa
call fcn.14002dfd8
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
cmp eax, r10d
jne 0x140038941
cmp rbp, r10
je 0x14003804a
mov al, byte [rsi + 2]
mov r9, qword [rbp]
mov rcx, qword [r13 + 0x118]
lea ebx, [r10 + 4]
mov r8, r12
and al, bl
neg al
mov rax, qword [rsp + 0x180]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r13 + pe_nt_image_headers64]
jmp 0x1400387bf
cmp byte [rsi + 1], 0xfa
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbp, qword [rax + rcx*8]
mov r14d, dword [rsi + 8]
jne 0x14003b33a
cmp qword [r13 + 0x120], r10
je 0x14003b33a
mov rax, qword [r13 + 0x20]
movsx rcx, byte [rbp + 1]
mov r12, qword [rsi + 0x10]
shl rcx, 5
mov r13, qword [rcx + rax]
mov eax, 2
test byte [rsi + 2], al
je 0x14003b340
cmp byte [rbp + 4], r10b
je 0x14003b340
mov rbx, qword [rbp + 0x38]
mov rcx, rbx
call fcn.1400296c8
mov r11, qword [rbx + 0x30]
mov ebx, 4
mov qword [rbp + 0x58], r11
jmp 0x14003b340
mov r13, r10
mov r12, r10
mov dl, byte [rsi + 2]
mov rcx, qword [rbp + 0x38]
call fcn.14002e468
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov dword [rbp + 0x28], r10d
mov dword [rbp + 0x2c], r10d
cmp eax, r10d
jne 0x140038941
mov r11, qword [rsp + 0x340]
test r15b, r14b
je 0x140039cf5
add dword [r11 + 0x3c], r15d
mov r8, qword [rsp + 0x40]
xor eax, eax
mov r10, qword [r8 + 0x120]
cmp r10, rax
je 0x14003d683
mov eax, Ordinal_36
test byte [r12 + 0x40], al
jne 0x14003d683
mov rax, qword [rbp + 0x58]
mov r9, qword [r12]
mov r8, r13
mov r13, qword [rsp + 0x40]
mov edx, 9
mov qword [rsp + 0x20], rax
mov rcx, qword [r13 + 0x118]
call r10
mov r14, qword [rsp + 0x48]
jmp 0x1400387bf
mov eax, dword [r11 + 0x3c]
add dword [r13 + 0x78], eax
mov dword [r13 + 0x74], eax
mov dword [r11 + 0x3c], r10d
jmp case.0x140037cd4.86
movsxd rdx, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
imul rdx, rdx, 0x38
mov r8d, dword [rsi + 0x10]
mov rcx, qword [rax + rcx*8]
lea r9, [rsp + 0x98]
add rdx, r14
mov dword [rsp + 0x98], r10d
call fcn.1400403e4
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
cmp dword [rsp + 0x98], r10d
jmp 0x14003918d
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
imul rbx, rbx, 0x38
mov rcx, qword [rax + rcx*8]
add rbx, r14
mov rax, qword [rcx + 0x38]
cmp byte [rax + 0x58], r10b
je 0x14003b476
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 edi, dword [rax + 0x14]
mov rbp, qword [rax + 0x28]
jmp 0x14003b480
mov rax, qword [rax + 0x38]
mov edi, dword [rax]
lea rbp, [rax + 0x10]
cmp dword [rbx + 0x20], edi
jge 0x14003b497
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.140030d38
xor r10d, r10d
jmp 0x14003b4a7
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0x2d
mov qword [rbx + 0x10], rax
mov eax, r10d
cmp eax, r10d
jne 0x14003d9d8
mov rcx, qword [rbx + 0x10]
mov eax, 0x3e40
movsxd r8, edi
and word [rbx + 8], ax
mov eax, 0x10
mov rdx, rbp
or word [rbx + 8], ax
mov dword [rbx + 0xc], edi
call sub.msvcrt.dll_memcpy
movsxd rcx, dword [rsi + 0xc]
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov rax, qword [r11 + 0x78]
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r10d
jmp 0x140038057
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
movsxd rdx, dword [rsi + 4]
mov r12, qword [rsp + 0x340]
mov rcx, qword [r12 + 0x78]
mov rbx, rax
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x38]
mov rcx, rdi
call fcn.1400296c8
mov r8d, dword [rdi + 0x40]
cmp r8d, dword [r13 + 0x7c]
ja 0x14003d1e1
mov r9, rbx
xor edx, edx
mov rcx, rdi
call fcn.140031b74
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038949
cmp dword [rsi + 0xc], r10d
jne 0x14003804a
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14003804a
mov rcx, rbx
call fcn.140030eb4
xor r10d, r10d
cmp eax, r10d
jne 0x14003969b
jmp 0x14003804a
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov r11, qword [rsp + 0x340]
movsxd rdx, dword [rsi + 4]
mov rcx, qword [r11 + 0x78]
xor r10d, r10d
mov rbp, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r10b
je 0x14003b5bf
mov word [rax + 8], r15w
jmp 0x140038057
cmp byte [rbx + 3], r10b
je 0x14003b5ce
mov rax, qword [rbx + 0x58]
jmp 0x14003b683
mov eax, 2
cmp byte [rbx], al
jne 0x14003b623
mov rcx, qword [rbx + 0x38]
lea rdx, [rsp + 0xe0]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov r12, qword [rsp + 0x340]
mov rdx, rbx
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140035b88
xor r10d, r10d
cmp edi, r10d
jne 0x140038949
mov rax, qword [rsp + 0xe0]
mov r11, r12
mov r12, qword [rsp + 0x38]
jmp 0x14003b68b
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x14003b647
mov rcx, rbx
call fcn.140034960
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b64f
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp edi, r10d
jne 0x140038941
cmp byte [rbx + 2], r10b
je 0x14003b668
mov word [rbp + 8], r15w
jmp 0x140038057
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.1400296c8
mov rax, qword [rbx + 0x30]
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov qword [rsp + 0xe0], rax
mov qword [rbp], rax
jmp 0x140038057
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r15b
mov dword [rbx + 0x28], r10d
cmp byte [rbx], r10b
jne 0x140038066
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.140016950
xor r10d, r10d
mov byte [rbx], r15b
mov qword [rbx + 0x18], r10
jmp 0x140038af5
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov dword [rsp + 0xa4], r10d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
cmp bpl, 0x82
jne 0x14003b6f8
or dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], r10b
je 0x140038066
lea rdx, [rsp + 0xa4]
call fcn.140029f40
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xa4]
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
mov byte [rbx + 2], al
cmp edi, r10d
jne 0x140038941
cmp dword [rsi + 8], r10d
jle 0x140038af5
cmp eax, r10d
jmp 0x14003ae50
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140029cbc
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003b77f
mov rcx, rbx
mov ebp, r10d
mov dword [rsp + 0x8c], r10d
call fcn.140029e50
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b7a4
mov eax, 0x10
cmp edi, eax
jne 0x14003b79d
mov ebp, r15d
mov dword [rsp + 0x8c], r15d
mov edi, r10d
mov dword [rsp + 0x30], r10d
jmp 0x14003b7a4
mov ebp, dword [rsp + 0x8c]
cmp edi, r10d
jne 0x140038941
cmp ebp, r10d
jne 0x14003d79a
cmp byte [rbx], r10b
jne 0x140038af5
mov rax, qword [rbx + 0x88]
cmp byte [rax + 8], r10b
je 0x140038af5
movsx r9d, byte [rbx + 0x54]
movzx ecx, word [rax + 0x18]
mov r8b, r10b
cmp r9d, r10d
jle 0x14003b801
movzx eax, r8b
add r8b, r15b
mov rdx, qword [rbx + rax*8 + 0x90]
movzx eax, word [rdx + 0x18]
imul rcx, rax
movzx eax, r8b
cmp eax, r9d
jl 0x14003b7e1
cmp rcx, r10
jl 0x140038af5
call fcn.14001a0b8
movsx ecx, ax
cmp ecx, dword [rsi + 0xc]
jge 0x140038af5
mov dword [rsp + 0x8c], r15d
jmp 0x14003d79a
add dword [r11 + 0xdc], r15d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov ebp, r15d
mov r12, qword [rax + rcx*8]
mov rbx, qword [r12 + 0x38]
cmp byte [r12], r15b
jne 0x14003b8a7
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp byte [rbx + 0x58], r10b
jne 0x14003b87b
lea rdx, [rbx + 0x38]
cmp qword [rdx], r10
je 0x14003b8ee
lea rcx, [rbx + 0x60]
mov ebp, r10d
call fcn.14003f48c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b8ee
mov rcx, rbx
call fcn.14003f984
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003b8ee
mov rcx, rbx
call fcn.140040270
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov ebp, r10d
jmp 0x14003b8ee
mov rcx, rbx
call fcn.140029cbc
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003b8d3
mov rcx, rbx
mov ebp, r10d
call fcn.140029e50
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b8e4
mov eax, 0x10
cmp edi, eax
jne 0x14003b8e4
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov byte [r12 + 3], r10b
mov dword [r12 + 0x28], r10d
cmp edi, r10d
jne 0x140038941
mov byte [r12 + 2], bpl
cmp ebp, r10d
jmp 0x14003ae4b
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbp, qword [rax + rcx*8]
mov rdi, qword [rbp + 0x38]
cmp byte [rdi + 0x58], r10b
je 0x14003b951
mov rcx, qword [rdi + 0x18]
lea rdx, [rsp + 0xa0]
mov dword [rsp + 0xa0], r10d
call fcn.14003f7cc
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003b9b5
cmp dword [rsp + 0xa0], r10d
je 0x14003b9b5
lea edi, [r10 + 0x65]
jmp 0x14003b990
mov rdx, qword [rdi + 0x38]
mov rax, qword [rdx + 8]
mov qword [rdi + 0x38], rax
mov qword [rdx + 8], r10
cmp qword [rdi + 0x40], r10
jne 0x14003b982
mov rbx, qword [rdx + 8]
mov rcx, r13
call fcn.1400169a8
xor r10d, r10d
mov rdx, rbx
cmp rbx, r10
jne 0x14003b967
lea ebx, [r10 + 4]
mov rax, qword [rdi + 0x38]
neg rax
sbb edi, edi
not edi
and edi, 0x65
mov dword [rsp + 0x30], edi
jmp 0x14003b9b5
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov edx, dword [rsi + 0xc]
mov rbp, qword [rax + rcx*8]
mov rcx, qword [rbp + 0x38]
call qword [rsi + 0x10]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov dword [rbp + 0x28], r10d
cmp edi, r10d
jne 0x14003b9db
mov r11, qword [rsp + 0x340]
mov byte [rbp + 2], r10b
movzx eax, word [rsi + 2]
add dword [r11 + rax*4 + 0xd4], r15d
jmp case.0x140037cd4.11
cmp edi, 0x65
jne 0x140038941
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov byte [rbp + 2], r15b
jmp 0x14003c339
movsxd rbx, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
imul rbx, rbx, 0x38
mov rbp, qword [rax + rcx*8]
add rbx, r14
test byte [rsi + 2], r15b
je 0x14003ba16
add dword [r11 + 0x3c], r15d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003ba30
mov rcx, rbx
call fcn.140030f10
xor r10d, r10d
mov edi, eax
jmp 0x14003ba33
mov edi, r10d
cmp edi, r10d
jne 0x140038941
cmp byte [rsi], 0x83
jne 0x14003ba51
mov rdx, rbx
mov rcx, rbp
call fcn.14003faf0
jmp 0x14003af81
movsxd rax, dword [rbx + 0xc]
mov r8w, word [rsi + 2]
mov qword [rsp + 0x290], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x288], rax
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
add rax, r14
mov qword [rsp + 0x2a0], rax
movzx eax, word [rsi + 0x10]
mov word [rsp + 0x2a8], ax
mov eax, 0x10
test al, r8b
je 0x14003ba9d
mov r9d, dword [rbp + 0x2c]
jmp 0x14003baa0
mov r9d, r10d
mov rcx, qword [rbp + 0x38]
lea rdx, [rsp + 0x288]
and r8d, 0xa
call fcn.14002dfd8
xor r10d, r10d
mov dword [rbp + 0x28], r10d
jmp 0x14003af84
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
lea rdx, [rsp + 0x148]
mov rbx, qword [rax + rcx*8]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rbx + 0x40]
mov rbp, qword [rbx + 0x38]
mov byte [rsp + 0x15a], r10b
mov qword [rsp + 0x148], rax
movzx eax, word [rsi + 0xc]
mov rcx, rbp
mov word [rsp + 0x158], ax
movsxd rax, dword [rsi + 8]
imul rax, rax, 0x38
add rax, r14
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
call fcn.140029f9c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
cmp dword [rsp + 0xe8], r10d
jne 0x14003bb5f
mov dl, 4
mov rcx, rbp
call fcn.14002e468
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
mov dword [rbx + 0x28], r10d
mov dword [rbx + 0x2c], r10d
jmp 0x140038af5
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x14003bb94
mov rcx, rbx
call fcn.140034960
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003bb9c
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp edi, r10d
jne 0x140038941
cmp byte [rbx + 2], r10b
jne 0x14003bc3b
mov rdx, qword [rbx + 0x38]
lea r8, [rsp + 0x90]
mov rcx, r13
mov qword [rsp + 0x90], r10
call fcn.14003594c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
cmp byte [rsi], 0x86
jne 0x14003bc1b
movsxd rcx, dword [rsi + 0xc]
mov r11, qword [rsp + 0x340]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x90]
mov byte [rdx + 2], r10b
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r15b
mov rax, qword [rsi + 0x10]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x20], rax
jmp 0x140038057
mov rcx, qword [rsp + 0x340]
mov rdx, rsi
call fcn.140037bb4
mov rcx, qword [rsp + 0x90]
mov qword [rax], rcx
jmp 0x14003874b
movsxd rcx, dword [rsi + 8]
imul rcx, rcx, 0x38
add rcx, r14
jmp 0x14003908d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
cmp bpl, 0x27
mov rdx, qword [rax + rcx*8]
lea r9, [rsp + 0x58]
lea r8, [rsp + reloc.WLDAP32.dll_Ordinal_304]
mov rax, qword [rdx + 0x40]
mov rcx, r13
mov dword [rsp + 0x58], r10d
mov qword [rsp + reloc.WLDAP32.dll_Ordinal_304], rax
movzx eax, word [rsi + 0x10]
mov word [rsp + 0x140], ax
sbb al, al
mov byte [rsp + 0x142], al
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
add rax, r14
mov qword [rsp + 0x138], rax
call fcn.140035a9c
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x58]
test byte [rsi], r15b
je 0x14003bcbc
neg eax
jmp 0x14003bcbf
add eax, r15d
xor r10d, r10d
cmp edi, r10d
jne 0x140038941
cmp eax, r10d
jg 0x14003d79a
jmp 0x140038669
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov rbx, rax
mov word [rax + 8], r15w
mov ecx, dword [r13 + 0xd8]
add ecx, r15d
cmp dword [r13 + 0xcc], ecx
jg 0x14003d9f2
movsxd r12, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
xor eax, eax
mov dword [rsp + 0xac], eax
mov rax, qword [r13 + 0x20]
mov rbp, r12
shl rbp, 5
lea r8, [rsp + 0xac]
mov rcx, qword [rax + rbp + 8]
call fcn.14002edb8
movsxd r8, dword [rsp + 0xac]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, 4
mov word [rbx + 8], ax
mov qword [rbx], r8
cmp edi, r10d
jne 0x140038941
cmp r8d, r10d
je 0x14003804a
mov rdx, qword [r13 + 0x20]
mov r9d, dword [rsi + 4]
mov rax, qword [rdx + rbp + 0x18]
mov rcx, qword [rax + 0x10]
jmp 0x14003bd83
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x38], r8d
jne 0x14003bd80
mov dword [rax + 0x38], r9d
mov rcx, qword [rcx]
cmp rcx, r10
jne 0x14003bd72
mov rax, qword [rdx + rbp + 0x18]
mov rcx, qword [rax + 0x28]
jmp 0x14003bda4
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], r8d
jne 0x14003bda1
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
cmp rcx, r10
jne 0x14003bd93
lea r8d, [r15 + r12]
mov byte [rsp + 0x350], r8b
jmp 0x14003804a
mov eax, dword [rsi + 0xc]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 4]
neg eax
lea rax, [rsp + 0xb0]
mov dword [rsp + 0xb0], r10d
sbb r8, r8
and r8, rax
movsxd rax, dword [rsi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002ed34
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp dword [rsi + 0xc], r10d
je 0x14003be23
movsxd rax, dword [rsp + 0xb0]
add dword [r11 + 0x3c], eax
cmp dword [rsi + 0xc], r10d
jle 0x14003be23
movsxd rcx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add qword [rcx + r14], rax
cmp edi, r10d
jne 0x140038941
jmp 0x140038671
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r15b
jne 0x14003be53
mov rdx, qword [rcx + 0x38]
mov rcx, r13
call fcn.14003f1b4
jmp 0x140037ea8
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14002ed34
jmp 0x14003a959
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
movsxd rdx, dword [rsi + 4]
mov rcx, qword [r13 + 0x20]
mov r8d, dword [rsi + 0xc]
shl rdx, 5
mov rbx, rax
mov rcx, qword [rdx + rcx + 8]
xor eax, eax
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], eax
call fcn.14002e86c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038941
movsxd rax, dword [rsp + 0x68]
mov qword [rbx], rax
jmp 0x140038af5
add byte [r13 + 0x6a], r15b
mov rdx, qword [rsi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], r10
call fcn.14005db80
dec byte [r13 + 0x6a]
jmp 0x14003a959
mov rcx, qword [rsi + 0x10]
movsxd rbx, dword [rsi + 4]
cmp rcx, r10
jne 0x14003bf4b
mov rcx, qword [r13 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140054800
mov r8, qword [rsp + 0x340]
and dword [r13 + 0x2c], 0xffffffef
add r8, 0xa8
mov r9d, r15d
mov edx, ebx
mov rcx, r13
call fcn.140061ea0
or dword [r13 + 0x2c], r15d
mov r11, qword [rsp + 0x340]
and dword [r11 + 0xc8], 0xfffffffc
mov r12, qword [rsp + 0x38]
mov edi, eax
xor r10d, r10d
mov dword [rsp + 0x30], eax
jmp 0x14003c02c
mov r8, qword [r13 + 0x20]
lea rax, [r11 + 0xa8]
mov qword [rsp + 0x108], r13
mov qword [rsp + 0x110], rax
mov dword [rsp + 0x118], ebx
mov dword [rsp + 0x120], r10d
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, r13
mov r8, qword [rax + r8]
call fcn.140018698
xor ebp, ebp
mov rbx, rax
cmp rax, rbp
je 0x14003da0f
lea r9, [rsp + 0x108]
lea r8, [fcn.140061ca8]
mov rdx, rax
mov rcx, r13
mov byte [r13 + 0xb5], r15b
mov dword [rsp + 0x11c], ebp
mov dword [rsp + 0x124], ebp
mov qword [rsp + 0x20], rbp
call fcn.14005db80
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, ebp
jne 0x14003c00f
mov edi, dword [rsp + 0x11c]
mov dword [rsp + 0x30], edi
cmp edi, ebp
jne 0x14003c00f
cmp dword [rsp + 0x124], ebp
jne 0x14003c00f
mov ecx, 0x15f51
call fcn.140084e38
mov edi, eax
mov dword [rsp + 0x30], eax
mov rdx, rbx
mov rcx, r13
call fcn.1400169a8
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov byte [r13 + 0xb5], r10b
cmp edi, r10d
jne 0x14003da14
jmp 0x140038057
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.14004cd04
jmp 0x14003a959
movsxd rcx, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
xor r8d, r8d
shl rcx, 5
add rcx, qword [r13 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.14001a4ac
xor r10d, r10d
cmp rax, r10
je 0x14003c08f
cmp qword [r13 + 0x298], r10
jne 0x14003c081
add dword [rax + 0x3c], 0xffffffff
jne 0x14003c08f
mov rdx, rax
mov rcx, r13
call fcn.14004e45c
xor r10d, r10d
or dword [r13 + 0x2c], r15d
jmp 0x140038669
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
mov rdx, qword [rsi + 0x10]
shl rcx, 5
xor r8d, r8d
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.14001a4ac
xor r10d, r10d
mov rdx, rax
cmp rax, r10
je 0x14003c08f
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x14003c0db
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x14003c104
cmp rcx, r10
je 0x14003c104
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x14003c0f1
mov rcx, rax
cmp rax, r10
jne 0x14003c0e0
cmp rcx, r10
je 0x14003c104
cmp qword [rcx + 0x28], rdx
jne 0x14003c104
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, r13
call fcn.14004e174
jmp 0x14003c08c
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
mov rdx, qword [rsi + 0x10]
shl rcx, 5
xor r8d, r8d
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.14001a4ac
xor r10d, r10d
mov rbx, rax
cmp rax, r10
je 0x140038af5
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14003c17f
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.14001a410
mov rdx, qword [rax + 0x10]
xor eax, eax
cmp rdx, rax
je 0x14003c17f
add rdx, 0x68
jmp 0x14003c170
lea rdx, [rax + 0x40]
mov rax, qword [rdx]
cmp rax, rbx
jne 0x14003c16c
mov rcx, qword [rax + 0x40]
mov qword [rdx], rcx
mov rdx, rbx
mov rcx, r13
call fcn.14006bfac
or dword [r13 + 0x2c], r15d
jmp 0x140038304
movsxd rbp, dword [rsi + 0xc]
movzx eax, word [rsi + 2]
movsxd rbx, dword [rsi + 4]
imul rbp, rbp, 0x38
imul rbx, rbx, 0x38
mov rcx, qword [r13 + 0x20]
mov rdx, qword [rsi + 0x10]
mov r9d, dword [rbp + r14]
lea r8, [rsp + 0xd8]
shl rax, 5
add r9d, r15d
mov rcx, qword [rax + rcx + 8]
mov qword [rsp + 0x20], r8
mov r8d, dword [rsi + 8]
add rdx, 4
add rbx, r14
call fcn.14002fce4
mov rcx, rbx
mov r12, rax
call fcn.140031524
mov ecx, dword [rsp + 0xd8]
xor r10d, r10d
cmp ecx, r10d
je 0x14003c22b
cmp r12, r10
je 0x14003969b
dec ecx
lea rax, [fcn.140016950]
mov r9b, r15b
movsxd rdx, ecx
or r8d, 0xffffffff
mov rcx, rbx
sub qword [rbp + r14], rdx
mov rdx, r12
mov qword [rsp + 0x20], rax
call fcn.140031820
xor r10d, r10d
movzx edx, byte [rsp + 0x348]
mov eax, 2
mov ecx, edx
test byte [rbx + 8], al
je 0x140038462
movzx eax, byte [rbx + 0xa]
cmp eax, edx
je 0x140038462
mov dl, cl
mov rcx, rbx
call fcn.140018a98
jmp 0x14003874b
movsxd rbx, dword [rsi + 4]
movsxd rbp, dword [rsi + 8]
mov eax, 0x10
imul rbx, rbx, 0x38
add rbx, r14
imul rbp, rbp, 0x38
test byte [rbx + 8], al
jne 0x14003c28f
mov rcx, rbx
call fcn.1400315cc
xor r11d, r11d
cmp eax, r11d
jne 0x14003969b
mov rdx, qword [rbp + r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001ebb0
jmp 0x140038304
movsxd rbp, dword [rsi + 4]
mov eax, 0x10
imul rbp, rbp, 0x38
add rbp, r14
test byte [rbp + 8], al
je 0x14003c38a
mov rbx, qword [rbp + 0x10]
mov eax, 2
test byte [rbx + 0x32], al
jne 0x14003c2e8
test byte [rbx + 0x32], r15b
jne 0x14003c2df
mov rcx, qword [rbx + 0x10]
call fcn.14001ec4c
xor r10d, r10d
mov qword [rbx + 0x10], rax
mov eax, 3
or word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
cmp rax, r10
je 0x14003c38a
mov rbp, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
cmp rax, r10
jne 0x14003c310
mov rcx, rbx
call fcn.14001eac0
xor r10d, r10d
movsxd rax, dword [rsi + 0xc]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], cx
je 0x14003c37c
mov rdx, rbp
mov rcx, rax
call fcn.1400315a0
xor r10d, r10d
mov ebx, 4
mov r11, qword [rsp + 0x340]
mov eax, dword [r13 + 0x160]
cmp eax, r10d
je 0x140038671
mov al, byte [r13 + 0x61]
neg al
sbb edi, edi
and edi, 0xfffffffe
add edi, 9
mov ecx, edi
mov dword [r11 + 0x38], edi
call fcn.14008335c
lea rdx, [0x1400f38e8]
mov rcx, r11
mov r8, rax
jmp 0x14003da74
mov ebx, 4
mov qword [rax], rbp
mov word [rax + 8], bx
jmp 0x14003c339
mov rcx, rbp
call fcn.140031524
xor r10d, r10d
jmp 0x14003d263
movsxd rbx, dword [rsi + 4]
movsxd rbp, dword [rsi + 0xc]
mov r12d, dword [rsi + 0x10]
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
add rbx, r14
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14003c3cf
mov rcx, rbx
call fcn.1400315cc
xor r10d, r10d
cmp eax, r10d
jne 0x14003969b
cmp r12d, r10d
je 0x14003c3fa
mov r8, qword [rbp + r14]
mov rcx, qword [rbx + 0x10]
mov edx, r12d
call fcn.14001ee18
xor r10d, r10d
cmp eax, r10d
jne 0x14003ac2c
cmp r12d, r10d
jl 0x14003804a
mov rdx, qword [rbp + r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001ebb0
jmp 0x14003874b
movsxd rbx, dword [rsi + 0xc]
mov r14, qword [rsi + 0x10]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x48]
cmp word [rsi + 2], r10w
je 0x14003c44d
mov rax, qword [r11 + 0x100]
mov rcx, qword [r14 + 0x20]
cmp rax, r10
je 0x14003c44d
cmp qword [rax + 0x38], rcx
je 0x14003c444
mov rax, qword [rax + 8]
cmp rax, r10
jne 0x14003c435
cmp rax, r10
jne 0x14003d7b9
mov eax, dword [r13 + 0xa4]
cmp dword [r11 + 0x110], eax
jge 0x14003da40
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14003c5b3
mov ecx, dword [r14 + 0x10]
mov eax, dword [r14 + 0xc]
lea ebp, [rcx + rax]
cmp ecx, r10d
jne 0x14003c482
add ebp, r15d
mov eax, dword [r14 + 8]
mov r8d, 7
lea ecx, [rbp + 2]
add eax, r8d
cdq
imul ecx, ecx, 7
add ecx, dword [r14 + 0x10]
and edx, r8d
add eax, edx
sar eax, 3
lea r13d, [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rdx, r13d
call fcn.140016ba8
xor r10d, r10d
mov r12, rax
cmp rax, r10
je 0x140039696
mov eax, 0x2400
test word [rbx + 8], ax
jne 0x14003c4d3
cmp dword [rbx + 0x20], r10d
je 0x14003c4de
mov rcx, rbx
call fcn.14003118c
xor r10d, r10d
mov r11, qword [rsp + 0x340]
sub rsi, qword [rsp + 0x38]
mov dword [rbx + 0xc], r13d
mov r13, qword [rsp + 0x40]
mov qword [rbx + 0x10], r12
mov eax, 0x410
mov word [rbx + 8], ax
lea rax, [0x140033118]
movsxd rcx, ebp
mov qword [rbx + 0x30], rax
mov qword [r12], r11
mov dword [r12 + 0x60], ebp
mov eax, dword [r14 + 0x10]
add rcx, 2
mov dword [r12 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx, rcx, 0x38
add rcx, r12
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x54], edx
mov rax, qword [r11 + 0x68]
mov qword [r12 + 0x20], rax
mov eax, dword [r11 + 0x28]
mov dword [r12 + 0x5c], eax
mov rax, qword [r11 + 0x78]
mov qword [r12 + 0x28], rax
mov eax, dword [r11 + 0x2c]
mov dword [r12 + 0x50], eax
mov rax, qword [r11 + 0x88]
mov qword [r12 + 0x10], rax
mov eax, dword [r11 + 0x90]
mov dword [r12 + 0x58], eax
mov rax, qword [r14 + 0x20]
mov qword [r12 + 0x38], rax
lea rax, [r12 + 0x70]
cmp rax, rcx
je 0x14003c5b7
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r13
add rax, 0x38
cmp rax, rcx
jne 0x14003c5a0
jmp 0x14003c5b7
mov r12, qword [rbx + 0x10]
add dword [r11 + 0x110], r15d
mov rax, qword [r11 + 0x100]
lea rdx, [r12 + 0x70]
mov qword [r12 + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0x48], rdx
mov qword [r12 + 0x40], rax
mov eax, dword [r11 + 0x3c]
mov r8d, 7
mov dword [r12 + 0x68], eax
mov rax, qword [r11]
mov ecx, dword [rax + 0x74]
mov dword [r12 + 0x6c], ecx
mov rax, qword [r11 + 0x120]
mov qword [r12 + 0x48], rax
mov qword [r11 + 0x68], rdx
mov qword [r11 + 0x120], r10
mov dword [r11 + 0x3c], r10d
mov qword [r11 + 0x100], r12
movsxd rcx, dword [r12 + 0x60]
mov dword [r11 + 0x28], ecx
movzx eax, word [r12 + 0x64]
mov dword [r11 + 0x2c], eax
imul rcx, rcx, 0x38
add rcx, rdx
mov qword [r11 + 0x78], rcx
movsxd rax, dword [r14 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [r12 + 0x30], rcx
mov eax, dword [r14 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.msvcrt.dll_memset
mov r12, qword [r14]
mov r11, qword [rsp + 0x340]
mov qword [r11 + 0x88], r12
mov eax, dword [r14 + 8]
mov r14, qword [rsp + 0x48]
mov dword [r11 + 0x90], eax
mov qword [rsp + 0x38], r12
lea rsi, [r12 - 0x18]
xor r10d, r10d
mov ebx, 4
jmp 0x14003c341
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov r12, qword [rsp + 0x340]
mov r9, qword [r12 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, rax
add r8d, dword [rsi + 4]
movsxd rdx, r8d
mov r8d, 0x1000
imul rdx, rdx, 0x38
add rdx, qword [r9 + 0x20]
call fcn.1400316f8
jmp 0x1400387bf
mov eax, dword [r13 + 0x30]
bt rax, 0x13
movsxd rax, dword [rsi + 8]
jae 0x14003c700
add qword [r13 + 0x290], rax
jmp case.0x140037cd4.86
lea rcx, [0x140000000]
cmp dword [rsi + 4], r10d
je 0x14003c719
add qword [r13 + 0x288], rax
jmp case.default.0x140037cd4
add qword [r11 + 0x50], rax
jmp case.default.0x140037cd4
cmp dword [rsi + 4], r10d
je 0x14003c741
cmp qword [r13 + 0x288], r10
jne case.0x140037cd4.86
cmp qword [r13 + 0x290], r10
jmp 0x1400391e2
cmp qword [r11 + 0x50], r10
jmp 0x14003c72f
mov rax, qword [r11 + 0x100]
cmp rax, r10
je 0x14003c773
mov rcx, qword [rax + 8]
jmp 0x14003c760
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp rcx, r10
jne 0x14003c759
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, qword [rax + 0x20]
jmp 0x14003c77e
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, r14
mov rcx, rbp
call fcn.140031230
mov r15d, 0x3e40
and word [rbp + 8], r15w
or word [rbp + 8], bx
mov qword [rbp], rax
movsxd rbx, dword [rsi + 8]
imul rbx, rbx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140031230
and word [rbx + 8], r15w
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov ecx, 4
or word [rbx + 8], cx
mov qword [rbx], rax
xor r10d, r10d
cmp qword [rbp], rax
jge 0x140038066
mov qword [rbp], rax
mov rbx, rcx
jmp case.0x140037cd4.86
movsxd rcx, dword [rsi + 4]
imul rcx, rcx, 0x38
mov rdx, qword [rcx + r14]
cmp rdx, r10
jle 0x140037d30
movsxd rax, dword [rsi + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14003d79a
movsxd rbx, dword [rsi + 4]
movsxd rbp, dword [rsi + 0xc]
mov rdx, rsi
mov rcx, r11
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
call fcn.140037bb4
mov rcx, qword [rbx + r14]
xor r10d, r10d
mov r11, rax
cmp rcx, r10
mov qword [rsp + 0x70], rcx
jle 0x14003c86b
cmp qword [rbp + r14], r10
mov rdx, r10
lea rcx, [rsp + 0x70]
cmovg rdx, qword [rbp + r14]
call fcn.140019ffc
cmp eax, r10d
jne 0x14003c86b
mov rax, qword [rsp + 0x70]
mov qword [r11], rax
jmp 0x140038af5
or qword [r11], 0xffffffffffffffff
jmp 0x140038af5
movsxd rcx, dword [rsi + 4]
imul rcx, rcx, 0x38
mov rax, qword [rcx + r14]
cmp rax, r10
je case.0x140037cd4.86
jle 0x14003d79a
dec rax
mov qword [rcx + r14], rax
jmp 0x14003d79a
movsxd rcx, dword [rsi + 4]
movabs r8, 0x8000000000000000
imul rcx, rcx, 0x38
mov rax, qword [rcx + r14]
cmp rax, r8
jle 0x14003c8bd
dec rax
mov qword [rcx + r14], rax
cmp qword [rcx + r14], r10
jmp 0x1400391e2
movzx ebx, word [rsi + 2]
mov rcx, r13
lea rdx, [rbx*8 + 0x68]
call fcn.140016c18
xor r10d, r10d
mov r11, rax
cmp rax, r10
je 0x14003969b
mov qword [rax + 0x10], r10
lea rcx, [rax + rbx*8 + 0x30]
mov qword [rax], rcx
mov word [rcx + 8], r15w
mov qword [rcx + 0x28], r13
mov dword [rcx + 0x20], r10d
mov rcx, qword [rsi + 0x10]
mov byte [r11 + 0x28], r10b
mov qword [rax + 8], rcx
mov dword [r11 + 0x24], r10d
mov byte [r11 + 0x29], bl
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r12
mov r12, qword [rsp + 0x340]
mov qword [r11 + 0x18], r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r11 + 0x20], edx
mov byte [rsi + 1], 0xf0
mov qword [rsi + 0x10], r11
mov byte [rsi], Ordinal_157
jmp 0x14003c95c
mov r12, qword [rsp + 0x340]
movsxd rdx, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
imul rdx, rdx, 0x38
add rdx, r14
cmp qword [rbx + 0x10], rdx
je 0x14003c9b5
movzx r8d, byte [rbx + 0x29]
mov qword [rbx + 0x10], rdx
sub r8d, r15d
movsxd r9, r8d
js 0x14003c9b5
xor r11d, r11d
lea r10, [rbx + r9*8 + 0x30]
lea r13d, [r11 + 8]
mov eax, dword [rsi + 8]
sub r9, r15
add eax, r8d
sub r8d, r15d
cdqe
imul rax, rax, 0x38
add rax, r14
mov qword [r10], rax
sub r10, r13
cmp r9, r11
jge 0x14003c98e
mov r13, qword [rsp + 0x40]
jmp 0x14003c9b8
xor r11d, r11d
add dword [rdx + 0xc], r15d
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
lea r8, [rbx + 0x30]
mov rcx, rbx
cmp dword [rsi + 4], r11d
je 0x14003c9d6
call qword [rax + 0x30]
jmp 0x14003c9d9
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
cmp eax, r10d
je 0x14003804a
jle 0x14003ca11
mov rcx, qword [rbx]
mov dl, r15b
call fcn.140031c84
lea rdx, [0x1400f38e8]
mov rcx, r12
mov r8, rax
call fcn.140032200
mov edi, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x30], edi
cmp byte [rbx + 0x28], r10b
je 0x14003ca53
cmp dword [rsi - 0x14], r10d
je 0x14003ca4f
movsxd rax, dword [rsi - 0x14]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], cx
je 0x14003ca43
mov rdx, r15
mov rcx, rax
call fcn.1400315a0
xor r10d, r10d
jmp 0x14003ca4f
mov ecx, 4
mov qword [rax], r15
mov word [rax + 8], cx
mov byte [rbx + 0x28], r10b
mov rcx, qword [rbx]
mov eax, 0x2400
test word [rcx + 8], ax
jne 0x14003ca67
cmp dword [rcx + 0x20], r10d
je 0x14003ca6f
call fcn.14003118c
xor r10d, r10d
mov rax, qword [rbx]
mov word [rax + 8], r15w
mov dword [rbx + 0x24], r10d
cmp edi, r10d
jne 0x140038949
jmp 0x14003804a
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, r14
cmp dword [rsi + 0xc], r10d
je 0x14003cb04
movsxd rbx, dword [rsi + 0xc]
mov rdi, qword [rsi + 0x10]
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rsp + 0x250]
imul rbx, rbx, 0x38
add rbx, r14
call sub.msvcrt.dll_memset
mov rcx, rbx
call fcn.140031524
lea rcx, [rsp + 0x250]
mov qword [rsp + 0x250], rbx
mov qword [rsp + 0x260], rbp
mov qword [rsp + 0x258], rdi
call qword [rdi + Ordinal_41]
movsxd rbp, dword [rsi + 0xc]
mov edi, dword [rsp + 0x274]
mov ebx, 4
mov dword [rsp + 0x30], edi
imul rbp, rbp, 0x38
add rbp, r14
jmp 0x14003cb16
mov rdx, qword [rsi + 0x10]
mov rcx, rbp
call fcn.1400310a0
mov edi, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
cmp edi, r10d
jne 0x14003da57
movzx ecx, byte [rsp + 0x348]
lea eax, [r10 + 2]
test byte [rbp + 8], al
je 0x14003cb48
movzx eax, byte [rbp + 0xa]
cmp eax, ecx
je 0x14003cb48
mov dl, cl
mov rcx, rbp
call fcn.140018a98
xor r10d, r10d
test byte [rbp + 8], 0x12
je 0x14003cb6e
mov edx, dword [rbp + 0xc]
mov eax, 0x4000
test word [rbp + 8], ax
je 0x14003cb5f
add edx, dword [rbp]
mov rax, qword [rbp + 0x28]
mov ecx, r10d
cmp edx, dword [rax + 0x7c]
setg cl
jmp 0x14003cb71
mov ecx, r10d
mov r11, qword [rsp + 0x340]
cmp ecx, r10d
jne 0x14003d1e9
jmp 0x140038671
mov r8d, dword [rsi + 8]
mov edx, dword [rsi + 4]
or dword [rsp + 0xc8], 0xffffffff
or dword [rsp + 0xc4], 0xffffffff
lea rax, [rsp + 0xc8]
lea r9, [rsp + 0xc4]
mov rcx, r13
mov qword [rsp + 0x20], rax
mov dword [rsp + 0xc0], r10d
call fcn.140083d94
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x14003cbed
lea eax, [r10 + 5]
cmp edi, eax
jne 0x140038941
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0xc0], r15d
movsxd rbx, dword [rsi + 0xc]
mov r12d, 4
mov rbp, r10
mov ecx, 0x2400
lea r13d, [r12 - 1]
imul rbx, rbx, 0x38
add rbx, r14
movsxd rax, dword [rsp + rbp*4 + 0xc0]
test word [rbx + 8], cx
je 0x14003cc2b
mov rdx, rax
mov rcx, rbx
call fcn.1400315a0
mov ecx, 0x2400
jmp 0x14003cc33
mov qword [rbx], rax
mov word [rbx + 8], r12w
add rbp, r15
add rbx, 0x38
cmp rbp, r13
jl 0x14003cc0b
jmp 0x140038746
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov r8, qword [rsp + 0x40]
mov ebx, dword [rsi + 0xc]
mov rcx, qword [r8 + 0x20]
movsxd rdx, dword [rsi + 4]
mov r13, rax
shl rdx, 5
cmp ebx, 0xffffffff
mov eax, 3
mov r14, qword [rdx + rcx + 8]
mov rcx, qword [r14 + 8]
mov rbp, qword [rcx]
movzx r12d, byte [rbp + 9]
cmove ebx, r12d
xor edx, edx
cmp byte [rbp + 0x14], al
jae 0x14003cc99
mov rax, qword [rbp + 0x50]
cmp qword [rax], rdx
je 0x14003cc9c
cmp qword [rbp + 0x60], rdx
jle 0x14003cc9c
mov ebx, r12d
lea rcx, [0x1400f386c]
cmp byte [rbp + 0x13], dl
jne 0x14003ccaf
mov rcx, qword [rbp + 0xd0]
mov r9d, 5
cmp ebx, r9d
jne 0x14003cce5
call fcn.140019074
cmp eax, edx
je 0x14003cce2
mov rax, qword [rbp + 0x48]
mov rcx, qword [rax]
cmp byte [rbp + 0x11], dl
jne 0x14003cce2
cmp byte [rbp + 8], dl
jne 0x14003cce5
lea eax, [r9 - 3]
cmp dword [rcx], eax
jl 0x14003cce2
cmp qword [rcx + 0x68], rdx
jne 0x14003cce5
mov ebx, r12d
cmp ebx, r12d
je 0x14003cd65
cmp r12d, r9d
je 0x14003ccf4
cmp ebx, r9d
jne 0x14003cd65
cmp byte [r8 + 0x5f], dl
je 0x14003da7e
cmp dword [r8 + 0xcc], r15d
jg 0x14003da7e
cmp r12d, r9d
jne 0x14003cd2b
mov rdx, r8
mov rcx, rbp
call fcn.140023370
mov edi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
cmp edi, eax
jne 0x14003cd69
mov edx, ebx
jmp 0x14003cd38
mov eax, 4
cmp r12d, eax
jne 0x14003cd48
lea edx, [rax - 2]
mov rcx, rbp
call fcn.140023170
mov r9d, 5
xor edx, edx
cmp edi, edx
jne 0x14003cd69
cmp ebx, r9d
mov rcx, r14
sete dl
add edx, r15d
call fcn.140030114
xor edx, edx
mov edi, eax
mov dword [rsp + 0x30], eax
cmp edi, edx
je 0x14003cd6c
mov ebx, r12d
mov edx, ebx
mov rcx, rbp
call fcn.140023170
mov ecx, 0xa02
mov word [r13 + 8], cx
cmp eax, 6
jne 0x14003cd8c
xor eax, eax
mov rcx, rax
jmp 0x14003cd9d
lea rcx, [0x140000000]
cdqe
mov rcx, qword [rcx + rax*8 + 0xd84c8]
mov qword [r13 + 0x10], rcx
call fcn.140019074
movzx edx, byte [rsp + 0x348]
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], r15b
mov eax, edx
cmp edx, r15d
je 0x14003cdce
mov dl, al
mov rcx, r13
call fcn.140018a98
mov dl, byte [rsp + 0x348]
xor r10d, r10d
cmp edi, r10d
jne 0x140038941
jmp 0x140038458
cmp dword [rsi + 8], r10d
je 0x14003cdf2
movsxd r9, dword [rsi + 8]
imul r9, r9, 0x38
add r9, r14
jmp 0x14003cdf5
mov r9, r10
mov r8d, dword [rsi + 4]
lea rcx, [r11 + 0xa8]
mov rdx, r13
call fcn.14006f2cc
jmp 0x14003a959
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140028efc
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x140038af5
cmp eax, 0x65
jne 0x140038941
mov edi, r10d
mov dword [rsp + 0x30], r10d
jmp 0x14003d79a
cmp dword [rsi + 4], r10d
jne 0x14003ce61
mov edx, dword [rsi + 8]
mov rcx, r13
call fcn.140035b60
jmp 0x140037d30
mov eax, dword [rsi + 8]
add eax, r15d
xor eax, dword [r11 + 0xc8]
and eax, 3
xor dword [r11 + 0xc8], eax
jmp case.0x140037cd4.86
mov rbx, qword [rsi + 0x10]
mov rcx, r13
mov rdx, rbx
call fcn.140070734
mov r12, qword [rsp + 0x340]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp rbx, r10
je 0x14003ca7b
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.140035b88
xor r10d, r10d
jmp 0x14003ca7b
xor edx, edx
lea rcx, [rsp + 0x1e0]
lea r8d, [rdx + 0x38]
call sub.msvcrt.dll_memset
movsxd rdx, dword [rsi + 8]
lea rcx, [rsp + 0x1e0]
imul rdx, rdx, 0x38
add rdx, r14
mov qword [rsp + 0x208], r13
call fcn.140031744
lea rcx, [rsp + 0x1e0]
mov dl, r15b
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140031c84
mov r12, qword [rsp + 0x340]
xor r10d, r10d
cmp rax, r10
je 0x14003cf32
mov edx, dword [rsi + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, r13
call fcn.140070298
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, 0x2400
test word [rsp + 0x1e8], ax
jne 0x14003cf4b
cmp dword [rsp + 0x200], r10d
je 0x14003cf5b
lea rcx, [rsp + 0x1e0]
call fcn.14003118c
xor r10d, r10d
cmp edi, r10d
jne 0x140038949
jmp 0x140038664
add dword [r13 + 0xd8], r15d
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.1400705bc
dec dword [r13 + 0xd8]
jmp 0x14003a959
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x78], r10
mov rbx, qword [rax + 0x10]
cmp rbx, r10
je 0x14003daaa
mov rbp, qword [rbx]
cmp rbp, r10
je 0x14003daaa
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [rbp + 0x30]
mov r12, qword [rsp + 0x340]
mov rdx, rbx
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140035b88
xor r10d, r10d
cmp edi, r10d
jne 0x140038949
mov rax, qword [rsp + 0x78]
or r9d, 0xffffffff
xor r8d, r8d
mov qword [rax], rbx
mov edx, dword [rsi + 4]
lea eax, [r10 + 2]
mov rcx, r12
mov byte [rsp + 0x20], al
call fcn.14003789c
mov rcx, qword [rsp + 0x78]
xor r10d, r10d
cmp rax, r10
je 0x14003da9f
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r15d
jmp 0x14003804a
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
movsxd rdx, dword [rsi + 0xc]
imul rdx, rdx, 0x38
mov r13, qword [rax + rcx*8]
mov edi, dword [rdx + r14]
lea r10, [rdx + r14 + 0x38]
mov rbx, qword [r13 + 0x38]
movsxd r9, dword [r10]
mov rdx, qword [r11 + 0x70]
mov r12, qword [rbx]
xor eax, eax
cmp r9d, eax
mov rbp, qword [r12]
mov rcx, rax
jle 0x14003d072
mov r8d, r15d
movsxd rax, r8d
add r8d, r15d
imul rax, rax, 0x38
add rax, r10
mov qword [rdx + rcx*8], rax
add rcx, r15
cmp rcx, r9
jl 0x14003d059
mov r8, qword [rsi + 0x10]
mov qword [rsp + 0x20], rdx
mov rcx, rbx
mov edx, edi
call qword [rbp + 0x40]
mov rdx, r12
mov r12, qword [rsp + 0x340]
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140035b88
xor r10d, r10d
cmp edi, r10d
jne 0x140038949
mov rcx, rbx
call qword [rbp + 0x50]
xor r10d, r10d
mov byte [r13 + 2], r10b
cmp eax, r10d
je 0x14003a636
jmp 0x14003ac2c
mov r15, rbx
mov r14, qword [rsp + 0x48]
jmp 0x14003ac2c
mov r15d, 1
jmp 0x14003d0c6
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
movsxd rbx, dword [rsi + 0xc]
imul rbx, rbx, 0x38
mov rbp, qword [rax + rcx*8]
add rbx, r14
cmp byte [rbp + 2], r10b
jne 0x14003908a
mov rax, qword [rbp + 0x38]
xor edx, edx
lea rcx, [rsp + 0x2b8]
mov r12, qword [rax]
lea r8d, [rdx + 0x38]
mov rdi, qword [r12]
call sub.msvcrt.dll_memset
mov qword [rsp + 0x2b8], rbx
test byte [rsi + 2], r15b
je 0x14003d13c
mov rcx, rbx
call fcn.140031524
mov eax, 0x4001
mov word [rbx + 8], ax
xor eax, eax
mov dword [rbx], eax
jmp 0x14003d14a
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], r15w
mov r8d, dword [rsi + 8]
mov rcx, qword [rbp + 0x38]
lea rdx, [rsp + 0x2b8]
call qword [rdi + reloc.WLDAP32.dll_Ordinal_88]
mov rdx, r12
mov r12, qword [rsp + 0x340]
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140035b88
xor eax, eax
cmp dword [rsp + 0x2dc], eax
jle 0x14003d1a9
mov dl, r15b
mov rcx, rbx
call fcn.140031c84
lea rdx, [0x1400f38e8]
mov rcx, r12
mov r8, rax
call fcn.140032200
mov edi, dword [rsp + 0x2dc]
mov dword [rsp + 0x30], edi
movzx ecx, byte [rsp + 0x348]
mov eax, 2
test byte [rbx + 8], al
je 0x14003d1cd
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003d1cd
mov dl, cl
mov rcx, rbx
call fcn.140018a98
mov rcx, rbx
call fcn.140031694
xor r10d, r10d
cmp eax, r10d
je 0x14003ca7b
mov r11, qword [rsp + 0x340]
lea rdx, str.string_or_blob_too_big
mov rcx, r11
call fcn.140032200
mov edi, 0x12
jmp 0x14003d8d9
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbp, qword [rax + rcx*8]
cmp byte [rbp + 2], r10b
jne case.0x140037cd4.86
mov rcx, qword [rbp + 0x38]
mov rbx, qword [rcx]
mov r12, qword [rbx]
call qword [r12 + SQLSetEnvAttr]
mov rcx, qword [rsp + 0x340]
mov rdx, rbx
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140035b88
xor r10d, r10d
cmp edi, r10d
jne 0x140038941
mov rcx, qword [rbp + 0x38]
call qword [r12 + 0x50]
mov r12, qword [rsp + 0x38]
xor r10d, r10d
cmp eax, r10d
jne 0x14003c334
mov r11, qword [rsp + 0x340]
mov eax, dword [rsi + 8]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
jmp 0x14003c68d
mov ebp, dword [r13 + 0x30]
bts qword [r13 + 0x30], 0x1a
mov rax, qword [rsi + 0x10]
movsxd rbx, dword [rsi + 4]
mov r12, qword [rax + 0x10]
mov eax, 2
and ebp, 0x4000000
imul rbx, rbx, 0x38
add rbx, r14
test byte [rbx + 8], al
je 0x14003d2c5
cmp byte [rbx + 0xa], r15b
je 0x14003d2c5
mov dl, r15b
mov rcx, rbx
call fcn.140018a98
xor r10d, r10d
mov edi, eax
jmp 0x14003d2c8
mov edi, r10d
cmp edi, r10d
jne 0x140038941
mov rax, qword [r12]
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call qword [rax + Ordinal_157]
mov edi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
cmp ebp, eax
jne 0x14003d2f4
btr qword [r13 + 0x30], 0x1a
mov rcx, qword [rsp + 0x340]
mov rdx, r12
call fcn.140035b88
mov r11, qword [rsp + 0x340]
xor r10d, r10d
and dword [r11 + 0xc8], 0xfffffffc
cmp edi, r10d
jne 0x140038941
jmp 0x140038052
cmp byte [r13 + 0x61], r10b
jne 0x14003969b
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + 0x10]
cmp rbx, r10
je 0x14003daaa
mov r10, qword [rbx]
xor ecx, ecx
cmp r10, rcx
je 0x14003daa7
movsxd rdx, dword [rsi + 8]
cmp qword [r10 + 0x68], rcx
je 0x14003d7c3
movsxd rax, dword [rsi + 0xc]
mov r8, qword [r11 + 0x70]
mov bpl, byte [r13 + 0x66]
imul rax, rax, 0x38
xor r11d, r11d
add rax, r14
cmp edx, r11d
jle 0x14003d387
mov qword [r8 + rcx*8], rax
add rcx, r15
add rax, 0x38
cmp rcx, rdx
jl 0x14003d377
mov al, byte [rsi + 2]
lea r9, [rsp + 0x128]
mov rcx, rbx
mov byte [r13 + 0x66], al
call qword [r10 + 0x68]
mov rcx, qword [rsp + 0x340]
mov rdx, rbx
mov edi, eax
mov dword [rsp + 0x30], eax
mov byte [r13 + 0x66], bpl
call fcn.140035b88
xor r10d, r10d
cmp edi, r10d
jne 0x14003d3d1
cmp dword [rsi + 4], r10d
je 0x14003d3d1
mov rax, qword [rsp + 0x128]
mov qword [r13 + 0x38], rax
cmp dil, 0x13
jne 0x14003d423
mov rax, qword [rsi + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x14003d423
mov ebx, 4
cmp word [rsi + 2], bx
jne 0x14003d3f9
mov edi, r10d
mov dword [rsp + 0x30], r10d
jmp 0x140038669
mov eax, 5
cmp word [rsi + 2], ax
jne 0x14003d40b
mov eax, 2
jmp 0x14003d40f
movzx eax, word [rsi + 2]
mov r11, qword [rsp + 0x340]
mov byte [r11 + 0xc2], al
jmp 0x14003be23
mov r11, qword [rsp + 0x340]
mov ebx, 4
add dword [r11 + 0x3c], r15d
jmp 0x14003be23
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov rcx, qword [r13 + 0x20]
movsxd rdx, dword [rsi + 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 0x140037ea8
mov rdx, rsi
mov rcx, r11
call fcn.140037bb4
mov rcx, qword [r13 + 0x20]
movsxd rdx, dword [rsi + 4]
shl rdx, 5
xor r10d, r10d
mov r11, rax
mov rax, qword [rdx + rcx + 8]
mov edx, dword [rsi + 0xc]
mov ecx, r10d
cmp edx, r10d
je 0x14003d49d
mov rcx, qword [rax + 8]
mov ecx, dword [rcx + 0x3c]
cmp ecx, edx
cmovb ecx, edx
cmp ecx, r10d
mov rax, qword [rax + 8]
mov rdx, qword [rax]
jle 0x14003d4af
mov dword [rdx + 0xc0], ecx
movsxd rax, dword [rdx + 0xc0]
mov qword [r11], rax
jmp 0x140038669
movzx ebx, word [rsi + 2]
mov rcx, r13
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.140016c18
xor r10d, r10d
mov r11, rax
cmp rax, r10
je 0x14003969b
mov qword [rax], r10
mov rcx, qword [rsi + 0x10]
mov dword [r11 + 0x24], r10d
mov qword [rax + 8], rcx
mov byte [r11 + 0x29], bl
mov rcx, rsi
sub rcx, r12
mov r12, qword [rsp + 0x340]
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [r11 + 0x18], r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r10 + 2]
mov dword [r11 + 0x20], edx
add byte [rsi], al
mov byte [rsi + 1], 0xf0
mov qword [rsi + 0x10], r11
jmp 0x14003d543
mov r12, qword [rsp + 0x340]
movsxd rbx, dword [rsi + 0xc]
mov rbp, qword [rsi + 0x10]
imul rbx, rbx, 0x38
add rbx, r14
cmp qword [rbp], rbx
je 0x14003d597
movzx edx, byte [rbp + 0x29]
mov qword [rbp], rbx
sub edx, r15d
movsxd r8, edx
js 0x14003d597
lea r9, [rbp + r8*8 + 0x30]
mov r13d, 8
mov eax, dword [rsi + 8]
sub r8, r15
add eax, edx
sub edx, r15d
cdqe
imul rax, rax, 0x38
add rax, r14
mov qword [r9], rax
sub r9, r13
cmp r8, r10
jge 0x14003d573
mov r13, qword [rsp + 0x40]
mov eax, 0x3e40
lea r8, [rbp + 0x30]
mov rcx, rbp
and word [rbx + 8], ax
or word [rbx + 8], r15w
mov rax, qword [rbp + 8]
movzx edx, byte [rbp + 0x29]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbp + 0x24]
xor r10d, r10d
cmp eax, r10d
je 0x14003d617
jle 0x14003d5e8
mov dl, r15b
mov rcx, rbx
call fcn.140031c84
lea rdx, [0x1400f38e8]
mov rcx, r12
mov r8, rax
call fcn.140032200
mov edi, dword [rbp + 0x24]
mov dword [rsp + 0x30], edi
mov rdx, qword [rsp + 0x340]
mov r9d, dword [rsi + 4]
mov r8d, dword [rbp + 0x20]
add rdx, 0x120
mov rcx, r13
call fcn.14003472c
xor r10d, r10d
mov dword [rbp + 0x24], r10d
cmp edi, r10d
jne 0x140038941
test byte [rbx + 8], 0x12
je 0x14003804a
movzx ecx, byte [rsp + 0x348]
mov eax, 2
test byte [rbx + 8], al
je 0x14003d648
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003d648
mov dl, cl
mov rcx, rbx
call fcn.140018a98
xor r10d, r10d
mov rcx, rbx
call fcn.140031694
mov r11, qword [rsp + 0x340]
cmp eax, r10d
jne 0x14003d1e9
jmp 0x140038052
mov r11, qword [rsp + 0x340]
jmp 0x14003805e
mov r11, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x140038057
xor r10d, r10d
mov r13, r8
jmp 0x140039cfa
test byte [r13 + 0x68], r15b
je 0x14003d744
mov eax, 0x10
test byte [r11 + 0xc8], al
jne 0x14003d744
mov r9, qword [rsi + 0x10]
cmp r9, r10
jne 0x14003d6bf
mov r9, qword [r11 + 0xf0]
cmp r9, r10
je 0x14003d73c
cmp dword [r13 + 0xd4], r15d
jle 0x14003d716
lea rdx, str.____s
mov r8, r9
mov rcx, r13
call fcn.140018698
mov r8, qword [rsp + 0x340]
mov rdx, qword [r13 + 0xf0]
mov r9, rax
mov ecx, r15d
mov rbx, rax
call qword [r13 + 0xe8]
xor r10d, r10d
cmp rbx, r10
je 0x14003d70f
mov rdx, rbx
mov rcx, r13
call fcn.1400169a8
xor r10d, r10d
mov ebx, 4
jmp 0x14003d72d
mov rdx, qword [r13 + 0xf0]
mov r8, r11
mov ecx, r15d
call qword [r13 + 0xe8]
xor r10d, r10d
mov dl, byte [rsp + 0x348]
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
mov eax, dword [0x14013d1e0]
cmp dword [rsi + 4], eax
jl 0x14003d78f
cmp byte [rsi], 0xa8
je case.0x140037cd4.86
cmp dword [r11 + 0x90], r15d
mov edx, r15d
jle 0x14003d78b
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r11 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x14003d77b
mov dword [rax + rcx + 4], r10d
add edx, r15d
add rax, 0x18
cmp edx, dword [r11 + 0x90]
jl 0x14003d769
mov dword [rsi + 4], r10d
add dword [rsi + 4], r15d
add dword [r11 + 0xec], r15d
mov eax, dword [rsi + 8]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
jmp 0x1400382ff
mov r13, qword [rsp + 0x40]
jmp 0x140038194
mov r14, qword [rsp + 0x48]
jmp 0x140038066
mov dl, byte [rsp + 0x348]
jmp 0x1400380e6
mov ecx, dword [rsi + 4]
mov dword [r11 + 0x38], ecx
mov al, byte [rsi + 8]
mov dword [r11 + 0x34], ebx
mov byte [r11 + 0xc2], al
cmp ecx, r10d
je 0x14003d88e
mov rcx, r11
cmp word [rsi + 2], r10w
je 0x14003d849
movzx r8d, word [rsi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xd7200]
call fcn.140032200
mov r9, qword [rsi + 0x10]
mov rdi, qword [rsp + 0x340]
xor eax, eax
cmp r9, rax
je 0x14003d861
mov r8, qword [rdi + 0xa8]
lea rdx, str._z:__s
mov rcx, r13
call fcn.140018698
mov qword [rdi + 0xa8], rax
jmp 0x14003d861
mov r8, qword [rsi + 0x10]
lea rdx, [0x1400f38e8]
call fcn.140032200
mov rdi, qword [rsp + 0x340]
mov rax, qword [rdi + 0xa8]
mov r9, qword [rdi + 0xf0]
mov ecx, dword [rsi + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov qword [rsp + 0x20], rax
call fcn.1400187fc
mov r11, qword [rsp + 0x340]
mov rcx, r11
call fcn.1400342d4
mov r12, qword [rsp + 0x340]
mov edi, eax
mov eax, 5
cmp edi, eax
jne 0x14003d8b3
mov dword [r12 + 0x38], eax
jmp 0x140038a32
mov rax, qword [rsp + 0x340]
mov eax, dword [rax + 0x38]
neg eax
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x140038a32
mov ecx, 0x152d5
call fcn.140084e38
mov edi, eax
mov r12, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x140038949
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.140032200
mov edi, 5
jmp 0x14003d8d9
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.140032200
mov edi, 5
mov r12, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x14003894e
sub rsi, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor eax, eax
mov dword [rdi + 0x34], edx
mov byte [r12 + 0x5f], al
mov r12, qword [rsp + 0x340]
mov edi, ecx
mov dword [r12 + 0x38], ecx
jmp 0x140038a32
lea rdx, str.no_such_savepoint:__s
mov r8, rbp
mov rcx, r11
call fcn.140032200
mov edi, ebx
jmp 0x14003d913
mov edi, 8
jmp 0x140038941
mov eax, 5
cmp dil, al
jne 0x140038941
sub rsi, r12
mov r12, qword [rsp + 0x340]
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [r12 + 0x38], edi
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x34], edx
jmp 0x140038a32
mov edi, 0x204
jmp 0x140038941
mov edi, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x14003d8d9
mov r12, qword [rsp + 0x340]
mov r14d, 7
lea ebx, [r14 - 6]
mov edi, r14d
jmp 0x140038954
mov r12, qword [rsp + 0x340]
mov edi, 6
lea eax, [rdi - 4]
mov byte [r12 + 0xc2], al
jmp 0x14003d8e1
mov edi, 7
mov rcx, r13
call fcn.14004e348
mov r14d, 7
cmp edi, r14d
je 0x1400396a1
mov r12, qword [rsp + 0x340]
mov ebx, 1
xor r10d, r10d
jmp 0x140038954
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r11
mov edi, r15d
call fcn.140032200
jmp 0x14003d8d9
mov dl, r15b
mov rcx, rbp
call fcn.140031c84
lea rdx, [0x1400f38e8]
mov r8, rax
mov rcx, qword [rsp + 0x340]
call fcn.140032200
jmp 0x14003d8d9
lea rax, str.into
lea r8, str.out_of
cmp ebx, r9d
mov edi, r15d
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
jmp 0x14003da6c
call qword [rbp + 0x38]
jmp 0x14003969b
xor r10d, r10d
mov edi, 6
jmp 0x140038941
cmp qword [r11 + 0x50], r10
jle 0x14003dae5
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.140032200
mov edi, r15d
jmp 0x14003d8d9
mov rax, qword [r11]
cmp dword [rax + 0x280], r10d
je 0x14003db0d
cmp dword [r11 + 0x40], r10d
je 0x14003db0d
mov edx, r15d
mov rcx, r11
call fcn.140034190
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov eax, dword [r11 + 0x30]
mov edi, r10d
add eax, 2
or eax, r15d
mov dword [r11 + 0x30], eax
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, r14
mov qword [r11 + 0xa0], rbp
cmp dword [rsi + 8], r10d
jle 0x14003db96
lea rbx, [rbp + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x14003db5d
movsxd rcx, edi
imul rcx, rcx, 0x38
add rcx, rbp
call fcn.140030eb4
xor ecx, ecx
cmp eax, ecx
jne 0x14003969b
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x14003db7b
lea rcx, [rbx - 8]
call fcn.140030e58
add edi, r15d
add rbx, 0x38
cmp edi, dword [rsi + 8]
jl 0x14003db3a
mov r11, qword [rsp + 0x340]
xor r10d, r10d
lea ebx, [r10 + 4]
cmp byte [r13 + 0x61], r10b
jne 0x14003969b
test byte [r13 + 0x68], bl
je 0x14003dbbc
mov rdx, qword [r13 + 0xf0]
xor r9d, r9d
mov r8, r11
mov ecx, ebx
call qword [r13 + 0xe8]
sub rsi, r12
mov r12, qword [rsp + 0x340]
movabs rax, 0x2aaaaaaaaaaaaaab
mov edi, 0x64
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r15d
mov dword [r12 + 0x34], edx
jmp 0x140038a32
mov ebx, dword [rsi + 4]
movzx eax, byte [r13 + 0x5f]
mov ecx, dword [rsi + 8]
cmp ebx, eax
je 0x14003dcb6
cmp ecx, r10d
je 0x14003dc1f
mov edx, 0x204
mov rcx, r13
call fcn.140083254
mov byte [r13 + 0x5f], r15b
jmp 0x14003dc54
cmp ebx, r10d
je 0x14003dc39
cmp dword [r13 + 0xd0], r10d
jle 0x14003dc39
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14003d8f0
mov edx, r15d
mov rcx, r11
call fcn.140034284
mov edi, eax
xor eax, eax
cmp edi, eax
jne 0x140038a2a
mov byte [r13 + 0x5f], bl
mov rdi, qword [rsp + 0x340]
mov rcx, rdi
call fcn.1400342d4
mov ecx, 5
cmp eax, ecx
jne 0x14003dc9a
sub rsi, r12
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r15b, bl
mov dword [rdi + 0x34], edx
mov byte [r13 + 0x5f], r15b
jmp 0x14003d94d
mov rcx, r13
call fcn.140082dd4
mov r11d, dword [rdi + 0x38]
neg r11d
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x140038a2a
lea rax, str.cannot_rollback___no_transaction_is_active
cmp ecx, r10d
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmp ebx, r10d
cmove rdx, rax
jmp 0x14003dad5