Function at 0x140037494
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1d8
mov rsi, qword [rcx + 0x88]
mov r11, rcx
xor ecx, ecx
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rdi, rsi
mov qword [rsp + 0x38], rsi
mov r12d, ecx
mov r15, qword [r11]
mov bl, cl
mov r10, qword [r11 + 0x68]
lea eax, [rcx + 7]
lea r13d, [rcx + 1]
mov dword [rsp + 0x40], ecx
mov r9d, ecx
mov qword [rsp + 0x50], r15
mov edx, ecx
mov r14b, byte [r15 + 0x5e]
mov byte [rbp + reloc.WLDAP32.dll_Ordinal_304], r14b
mov byte [rbp + 0x128], cl
mov dword [rsp + 0x30], ecx
mov dword [rbp - 0x14], ecx
mov qword [rsp + 0x48], r10
cmp dword [r11 + 0x38], eax
je 0x14003a170
mov qword [r11 + 0x48], rcx
mov qword [r11 + 0xa0], rcx
mov eax, dword [r15 + 0x160]
mov dword [r15 + 0x228], ecx
test eax, eax
jne 0x1400390a6
movsxd rax, dword [r11 + 0x34]
lea r8d, [r13 + 1]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea eax, [r13 + 4]
lea rdi, [rsi + rcx*8]
lea ecx, [rax - 1]
movzx ebx, byte [rdi]
add edx, r13d
mov qword [rbp - 0x68], rdi
mov dword [rbp - 0x14], edx
cmp ebx, 0x52
ja 0x140039abd
je 0x140039a8d
cmp ebx, 0x29
ja 0x140038a64
je 0x1400389e1
cmp ebx, 0x14
ja 0x1400382fe
je 0x1400382d7
cmp ebx, 0xa
ja 0x140038037
je 0x140037f1f
cmp ebx, eax
ja 0x140037bb6
je 0x140037b57
test ebx, ebx
je 0x1400377bf
sub ebx, 1
je 0x14003cbf4
sub ebx, 1
je 0x140037601
sub ebx, 1
je 0x1400375e5
cmp ebx, 1
je 0x140037b57
mov eax, 5
mov ecx, 4
mov edx, dword [rbp - 0x14]
add rdi, 0x18
jmp 0x140037554
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.14003f4b4
jmp 0x140037b6d
mov edx, dword [rdi + 8]
xor ebx, ebx
mov dword [rbp + 0x138], ebx
test edx, edx
je 0x14003761f
mov eax, dword [r15 + 0x30]
bt rax, 0x14
jb 0x14003cb3e
movsxd rcx, dword [rdi + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x140037712
lea r8, [rbp + 0x138]
mov rcx, rbx
call fcn.140027ac8
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cb49
mov r11, qword [rbp + 0x120]
cmp dword [rdi + 8], r10d
je 0x140037702
mov eax, 0x80
test byte [r11 + 0xc8], al
je 0x140037702
cmp byte [r15 + 0x5f], r10b
je 0x14003768c
cmp dword [r15 + 0xcc], r13d
jle 0x140037702
mov r8d, dword [r11 + 0x40]
test r8d, r8d
jne 0x1400376ae
add dword [r15 + 0x280], r13d
mov r8d, dword [r15 + 0x280]
add r8d, dword [r15 + 0x27c]
mov dword [r11 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r15
call fcn.14006f790
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x1400376e5
mov r15, qword [rbp + 0x120]
mov rcx, rbx
mov edx, dword [r15 + 0x40]
call fcn.140028a1c
mov r15, qword [rsp + 0x50]
mov r12d, eax
mov dword [rsp + 0x40], eax
mov rax, qword [r15 + 0x288]
mov r11, qword [rbp + 0x120]
mov qword [r11 + 0x58], rax
mov rax, qword [r15 + 0x290]
mov qword [r11 + 0x60], rax
mov r9d, dword [rsp + 0x30]
mov r8d, 2
mov r10, qword [rsp + 0x48]
xor ebx, ebx
cmp word [rdi + 2], bx
je 0x140037746
mov eax, dword [rdi + 0xc]
cmp dword [rbp + 0x138], eax
jne 0x14003cb80
mov rax, qword [r15 + 0x20]
movsxd rcx, dword [rdi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rdi + 0x10]
cmp dword [rcx + 4], eax
jne 0x14003cb80
test r12d, r12d
je 0x1400375cf
mov r15, qword [rbp + 0x120]
xor r10d, r10d
mov r14, qword [rsp + 0x38]
mov bl, byte [rbp + 0x128]
mov r13, qword [rsp + 0x50]
mov eax, 7
mov esi, 0xc0a
cmp byte [r13 + 0x61], r10b
cmovne r12d, eax
cmp qword [r15 + 0xa8], r10
jne 0x14003cf9c
cmp r12d, esi
je 0x14003cf9c
mov ecx, r12d
call fcn.140081fb8
mov rcx, qword [rbp + 0x120]
lea rdx, [0x1401154b0]
mov r8, rax
call fcn.1400317a4
mov rax, qword [rbp + 0x120]
mov dword [rax + 0x38], r12d
jmp 0x14003cfa5
mov ebx, dword [rdi + 4]
xor r9d, r9d
mov rsi, qword [rdi + 0x10]
mov dword [rsp + 0x70], ebx
test ebx, ebx
jne 0x1400378a7
cmp dword [r15 + 0xd0], r9d
jg 0x14003ccf1
mov rcx, rsi
call fcn.140018ea0
mov r8d, dword [r15 + 0x280]
xor edx, edx
add r8d, dword [r15 + 0x27c]
mov rcx, r15
movsxd r14, eax
call fcn.14006f790
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
lea rdx, [r14 + 0x21]
mov rcx, r15
call fcn.140016930
mov rbx, rax
test rax, rax
je 0x14003787f
lea rcx, [rax + 0x20]
mov rdx, rsi
mov qword [rax], rcx
lea eax, [r14 + 1]
movsxd r8, eax
call fcn.1400c5c20
xor eax, eax
cmp byte [r15 + 0x5f], al
je 0x140037850
mov byte [r15 + 0x5f], al
mov byte [r15 + 0x67], r13b
jmp 0x140037857
add dword [r15 + 0x27c], r13d
mov rax, qword [r15 + 0x270]
mov qword [rbx + 0x18], rax
mov rax, qword [r15 + 0x288]
mov qword [r15 + 0x270], rbx
mov qword [rbx + 8], rax
mov rax, qword [r15 + 0x290]
mov qword [rbx + 0x10], rax
mov r11, qword [rbp + 0x120]
mov r10, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov r9d, dword [rsp + 0x30]
mov r8d, 2
jmp 0x1400375cf
mov r14, qword [r15 + 0x270]
mov r13d, r9d
test r14, r14
je 0x1400378da
mov rcx, qword [r14]
mov rdx, rsi
call fcn.1400190d4
xor ecx, ecx
test eax, eax
je 0x1400378f7
mov r14, qword [r14 + 0x18]
inc r13d
test r14, r14
jne 0x1400378b6
mov r11, qword [rbp + 0x120]
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rcx, r11
call fcn.1400317a4
mov r12d, 1
jmp 0x14003774f
cmp dword [r15 + 0xd0], ecx
jle 0x140037909
cmp ebx, 1
je 0x14003ccfd
lea rax, [r14 + 0x18]
mov qword [rbp - 0x68], rax
cmp qword [rax], rcx
jne 0x140037985
cmp byte [r15 + 0x67], cl
je 0x140037985
mov dword [rsp + 0x58], 1
cmp ebx, 1
jne 0x140037989
mov r15, qword [rbp + 0x120]
mov edx, ebx
mov rcx, r15
call fcn.140033adc
xor esi, esi
mov r12d, eax
test eax, eax
jne 0x14003d035
mov rbx, qword [rsp + 0x50]
mov rcx, r15
mov r12, r15
mov byte [rbx + 0x5f], 1
call fcn.140033b2c
lea ecx, [rsi + 5]
cmp eax, ecx
je 0x14003cd10
mov byte [rbx + 0x67], sil
mov r8, rbx
mov r12d, dword [r15 + 0x38]
lea r15, [rbx + 0x27c]
lea ebx, [rsi + 1]
mov dword [rsp + 0x40], r12d
jmp 0x140037abf
mov dword [rsp + 0x58], ecx
mov r8, qword [rsp + 0x50]
add r15, 0x27c
mov ecx, 2
mov qword [rbp - 0x28], r15
mov eax, dword [r15]
sub eax, r13d
dec eax
mov dword [rbp + 0x138], eax
cmp ebx, ecx
jne 0x140037a11
mov r13d, dword [r8 + 0x2c]
xor ebx, ebx
and r13d, 1
mov r15d, ebx
cmp dword [r8 + 0x28], ebx
jle 0x140037a0b
mov esi, r13d
xor esi, 1
mov rcx, qword [r8 + 0x20]
mov edx, 0x204
mov r8d, esi
mov rcx, qword [rcx + rbx + 8]
call fcn.140028868
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
mov r8, qword [rsp + 0x50]
inc r15d
add rbx, 0x20
cmp r15d, dword [r8 + 0x28]
jl 0x1400379c9
mov eax, dword [rbp + 0x138]
xor ebx, ebx
mov r15, qword [rbp - 0x28]
jmp 0x140037a16
xor ebx, ebx
mov r13d, ebx
mov esi, ebx
cmp dword [r8 + 0x28], ebx
jle 0x140037a5c
mov rcx, qword [r8 + 0x20]
mov r8d, eax
mov edx, dword [rsp + 0x70]
mov rcx, qword [rcx + rbx + 8]
call fcn.140028a40
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
mov r8, qword [rsp + 0x50]
inc esi
mov eax, dword [rbp + 0x138]
add rbx, 0x20
cmp esi, dword [r8 + 0x28]
jl 0x140037a1e
test r13d, r13d
je 0x140037a94
mov rcx, qword [r8 + 8]
jmp 0x140037a7d
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140037a67
mov rcx, r8
call fcn.14004d614
mov r8, qword [rsp + 0x50]
or dword [r8 + 0x2c], 1
mov r13d, dword [rbp + 0x138]
mov ebx, dword [rsp + 0x58]
jmp 0x140037abf
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r8
mov qword [r8 + 0x270], rax
call fcn.1400166bc
dec dword [r15]
mov r8, qword [rsp + 0x50]
mov rcx, qword [r8 + 0x270]
cmp rcx, r14
jne 0x140037aa1
mov esi, dword [rsp + 0x70]
cmp esi, 1
jne 0x140037af6
mov rax, qword [rbp - 0x68]
mov rdx, r14
mov rcx, r8
mov rax, qword [rax]
mov qword [r8 + 0x270], rax
call fcn.1400166bc
test ebx, ebx
jne 0x140037b37
dec dword [r15]
jmp 0x140037b19
mov rax, qword [r14 + 8]
mov qword [r8 + 0x288], rax
mov rax, qword [r14 + 0x10]
mov qword [r8 + 0x290], rax
test ebx, ebx
je 0x140037b19
mov eax, 2
cmp esi, eax
jne 0x140037b37
mov rcx, qword [rsp + 0x50]
mov r8d, r13d
mov edx, esi
call fcn.14006f790
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
test r12d, r12d
jne 0x14003774f
mov r13d, 1
mov r11, qword [rbp + 0x120]
mov r15, qword [rsp + 0x50]
jmp 0x140037886
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov edx, dword [rdi + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [rdi + 0x10]
mov dword [rsp + 0x40], eax
mov r12d, eax
xor r14d, r14d
mov dword [rbx + 0x28], r14d
test eax, eax
jne 0x140037b9b
mov rcx, qword [rbp + 0x120]
mov byte [rbx + 2], r14b
movzx eax, word [rdi + 2]
add dword [rcx + rax*4 + 0xd4], r13d
jmp 0x14003907a
cmp r12d, 0x65
jne 0x14003774f
mov r12d, r14d
mov dword [rsp + 0x40], r14d
mov byte [rbx + 2], r13b
jmp 0x14003908a
sub ebx, 6
je 0x140037e84
sub ebx, 1
je 0x140037cf7
sub ebx, 1
je 0x140037cad
cmp ebx, 1
jne 0x140038236
movsxd rax, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [r11 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rdx, r10
mov r13, qword [rax + rcx*8]
xor eax, eax
mov r12d, dword [rdx]
lea r10, [rdx + 0x38]
movsxd r9, dword [r10]
mov edx, eax
mov qword [rbp + 0x138], r13
mov rbx, qword [r13 + 0x38]
mov r15, qword [rbx]
mov r14, qword [r15]
test r9d, r9d
jle 0x140037c40
lea r13d, [rax + 1]
mov r8d, r13d
movsxd rax, r8d
add r8d, r13d
imul rcx, rax, 0x38
add rcx, r10
mov qword [rsi + rdx*8], rcx
add rdx, r13
cmp rdx, r9
jl 0x140037c20
mov r13, qword [rbp + 0x138]
mov r8, qword [rdi + 0x10]
mov edx, r12d
mov rcx, rbx
mov qword [rsp + 0x20], rsi
call qword [r14 + 0x40]
mov rdx, r15
mov r15, qword [rbp + 0x120]
mov rcx, r15
mov dword [rsp + 0x40], eax
mov r12d, eax
call fcn.1400354ac
xor r10d, r10d
test r12d, r12d
jne 0x140037759
mov rcx, rbx
call qword [r14 + 0x50]
xor ebx, ebx
mov byte [r13 + 2], bl
test eax, eax
lea r13d, [r12 + 1]
mov rsi, qword [rsp + 0x38]
jne 0x140038837
mov r15, qword [rsp + 0x50]
mov r11, qword [rbp + 0x120]
mov r10, qword [rsp + 0x48]
jmp 0x140037890
xor ebx, ebx
cmp dword [rdi + 8], ebx
je 0x140037cc1
movsxd rax, dword [rdi + 8]
imul r9, rax, 0x38
add r9, r10
jmp 0x140037cc4
mov r9, rbx
mov r8d, dword [rdi + 4]
lea rcx, [r11 + 0xa8]
mov rdx, r15
call fcn.14006e130
mov r12d, eax
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x14003774f
mov r11, qword [rbp + 0x120]
mov r10, qword [rsp + 0x48]
jmp 0x140037897
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov r10, qword [rsp + 0x50]
mov r15, rax
movsxd rcx, dword [rdi + 4]
mov ebx, dword [rdi + 0xc]
shl rcx, 5
mov rax, qword [r10 + 0x20]
mov r13, qword [rcx + rax + 8]
mov rcx, r13
call fcn.14002e754
mov rcx, rax
mov r14, rax
call fcn.140022a24
cmp ebx, 0xffffffff
mov rcx, r14
mov esi, eax
cmove ebx, eax
call fcn.140022a2c
test eax, eax
mov edx, 1
mov rcx, r14
cmove ebx, esi
call fcn.14002278c
mov edx, 5
cmp ebx, edx
jne 0x140037d7d
mov rcx, rax
call fcn.140018ea0
test eax, eax
je 0x140037d76
mov rcx, r14
call fcn.140022a50
xor ecx, ecx
test eax, eax
jne 0x140037d81
mov ebx, esi
jmp 0x140037e11
xor ecx, ecx
jmp 0x140037d86
mov edx, 5
cmp ebx, esi
je 0x140037e11
cmp esi, edx
je 0x140037d96
cmp ebx, edx
jne 0x140037e11
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x5f], cl
je 0x14003cd43
cmp dword [rax + 0xcc], 1
jg 0x14003cd43
cmp esi, edx
jne 0x140037dd9
mov rdx, rax
mov rcx, r14
call fcn.140022b70
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x140037e16
mov edx, ebx
mov rcx, r14
call fcn.140022918
xor ecx, ecx
jmp 0x140037df4
mov eax, 4
cmp esi, eax
jne 0x140037def
lea edx, [rax - 2]
mov rcx, r14
call fcn.140022918
xor ecx, ecx
test r12d, r12d
jne 0x140037e16
mov edx, ecx
mov ecx, 5
cmp ebx, ecx
mov rcx, r13
sete dl
inc edx
call fcn.14002f5b4
mov r12d, eax
mov dword [rsp + 0x40], eax
test r12d, r12d
je 0x140037e18
mov ebx, esi
mov edx, ebx
mov rcx, r14
call fcn.140022918
mov ecx, 0xa02
mov word [r15 + 8], cx
mov ecx, eax
call fcn.14005da14
mov rcx, rax
mov qword [r15 + 0x10], rax
call fcn.140018ea0
movzx r14d, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov r13d, 1
mov edx, r14d
mov dword [r15 + 0xc], eax
mov rcx, r15
mov byte [r15 + 0xa], r13b
call fcn.140030038
test r12d, r12d
jne 0x14003774f
mov r15, qword [rsp + 0x50]
mov r11, qword [rbp + 0x120]
mov r10, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
jmp 0x140037897
mov r8d, dword [rdi + 8]
lea rax, [rbp + 0x10]
mov edx, dword [rdi + 4]
lea r9, [rbp + 0xc]
or dword [rbp + 0x10], 0xffffffff
xor ebx, ebx
or dword [rbp + 0xc], 0xffffffff
mov rcx, r15
mov dword [rbp + 8], ebx
mov qword [rsp + 0x20], rax
call fcn.1400829cc
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
je 0x140037ece
lea ecx, [rbx + 5]
cmp eax, ecx
jne 0x14003774f
mov r12d, ebx
mov dword [rsp + 0x40], ebx
mov dword [rbp + 8], r13d
movsxd rax, dword [rdi + 0xc]
mov ecx, 0x2400
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
xor eax, eax
mov esi, eax
lea r14d, [rax + 4]
movsxd rax, dword [rbp + rsi*4 + 8]
test word [rbx + 8], cx
je 0x140037f05
mov rdx, rax
mov rcx, rbx
call fcn.1400309fc
mov ecx, 0x2400
jmp 0x140037f0d
mov qword [rbx], rax
mov word [rbx + 8], r14w
add rsi, r13
add rbx, 0x38
cmp rsi, 3
jl 0x140037ee8
jmp 0x14003787f
xor eax, eax
cmp byte [r15 + 0x61], al
jne 0x14003a16a
mov rax, qword [rdi + 0x10]
xor r10d, r10d
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003cd96
mov r10, qword [rbx]
xor ecx, ecx
test r10, r10
je 0x14003cd96
movsxd r11, dword [rdi + 8]
cmp qword [r10 + 0x68], rcx
je 0x14003cade
movsxd rax, dword [rdi + 0xc]
xor r9d, r9d
mov sil, byte [r15 + 0x66]
mov r15, qword [rbp + 0x120]
imul rcx, rax, 0x38
mov r8, qword [r15 + 0x70]
mov eax, r9d
add rcx, qword [rsp + 0x48]
test r11d, r11d
jle 0x140037f92
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r13
cmp rax, r11
jl 0x140037f82
mov al, byte [rdi + 2]
lea r9, [rbp + 0x48]
mov r14, qword [rsp + 0x50]
mov edx, r11d
mov rcx, rbx
mov byte [r14 + 0x66], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r14 + 0x66], sil
mov rcx, r15
mov dword [rsp + 0x40], eax
mov r12d, eax
call fcn.1400354ac
xor ebx, ebx
test r12d, r12d
jne 0x140037ff2
cmp dword [rdi + 4], ebx
je 0x140037fd6
mov rax, qword [rbp + 0x48]
mov qword [r14 + 0x38], rax
mov r11, qword [rbp + 0x120]
add dword [r11 + 0x3c], r13d
test r12d, r12d
jne 0x14003774f
mov r15, r14
jmp 0x140037886
cmp r12b, 0x13
jne 0x140037fd6
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x1c], bl
je 0x140037fd6
mov ecx, 4
cmp word [rdi + 2], cx
jne 0x14003cd75
mov r12d, ebx
mov dword [rsp + 0x40], ebx
mov r15, r14
mov r11, qword [rbp + 0x120]
mov r10, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
jmp 0x1400394d5
sub ebx, 0xb
je 0x14003907a
sub ebx, 1
je 0x1400382a5
sub ebx, 1
je 0x140038276
sub ebx, 1
je 0x140038240
sub ebx, 1
je 0x1400381cd
sub ebx, 1
je 0x1400381a7
sub ebx, 1
je 0x140038130
sub ebx, 1
je 0x140038110
cmp ebx, 1
jne 0x140038236
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rcx, r10
add rbx, r10
test byte [rcx + 8], r13b
jne 0x1400380ee
xor edx, edx
call fcn.1400306b8
xor r9d, r9d
test eax, eax
mov ecx, r9d
mov eax, 0x2400
sete cl
test word [rbx + 8], ax
je 0x1400380d1
mov rdx, rcx
mov rcx, rbx
call fcn.1400309fc
jmp 0x140037ce6
mov r11, qword [rbp + 0x120]
mov r10, qword [rsp + 0x48]
mov qword [rbx], rcx
mov ecx, 4
mov word [rbx + 8], cx
jmp 0x1400394d5
mov eax, 0x2400
test word [rbx + 8], ax
je 0x140038106
mov rcx, rbx
call fcn.140030538
jmp 0x140037ce6
mov word [rbx + 8], r13w
jmp 0x1400375cf
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
call fcn.1400306b8
test eax, eax
jne 0x140038837
jmp 0x140037ce6
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x140038182
mov r8, qword [rcx + 0x30]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, rdi
sub rax, qword [r11 + 0x88]
sar rax, 3
imul rax, rdx
mov edx, eax
and eax, 7
shr rdx, 3
movzx ecx, byte [rdx + r8]
bt ecx, eax
jb 0x140038837
bts ecx, eax
mov byte [rdx + r8], cl
mov r8d, 2
jmp 0x140038195
mov rcx, qword [r11 + 0x88]
mov eax, dword [rdi + 4]
cmp dword [rcx + 4], eax
je 0x140038837
mov rax, qword [r11 + 0x88]
mov ecx, dword [rax + 4]
mov dword [rdi + 4], ecx
jmp 0x1400375cf
test r9d, r9d
jns 0x1400381c1
mov eax, dword [rdi + 4]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [rsi + rcx*8]
jmp 0x1400375cf
jne 0x1400381c8
mov eax, dword [rdi + 8]
jmp 0x1400381af
mov eax, dword [rdi + 0xc]
jmp 0x1400381af
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r10
movzx eax, word [rbx + 8]
test cl, al
jne 0x140038227
mov r8b, r14b
mov dl, 0x43
mov rcx, rbx
call fcn.1400372f0
movzx eax, word [rbx + 8]
mov ecx, 4
test cl, al
jne 0x140038210
xor r14d, r14d
cmp dword [rdi + 8], r14d
jne 0x140038837
lea r12d, [rcx + 0x10]
jmp 0x14003774f
mov r11, qword [rbp + 0x120]
mov r8d, 2
mov r10, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
mov edx, 0x3e40
and ax, dx
or ax, cx
mov word [rbx + 8], ax
mov eax, 5
jmp 0x1400375d9
movsxd rax, dword [rdi + 4]
sub rdi, rsi
imul rdx, rax, 0x38
sar rdi, 3
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, rdi
mov word [rdx + r10 + 8], cx
movsxd rcx, dword [rdx + r10]
cdqe
mov qword [rdx + r10], rax
lea rcx, [rcx + rcx*2]
jmp 0x1400381b8
movsxd rax, dword [rdi + 4]
xor ebx, ebx
imul rcx, rax, 0x38
mov eax, dword [rdi + 0xc]
sub eax, r13d
cdqe
mov qword [rcx + r10], rax
mov eax, 4
mov word [rcx + r10 + 8], ax
cmp dword [rdi + 8], ebx
jne 0x140038837
jmp 0x1400375cf
movsxd rax, dword [rdi + 4]
movabs rdx, 0xaaaaaaaaaaaaaaab
imul rcx, rax, 0x38
mov eax, 4
mov word [rcx + r10 + 8], ax
mov rax, rdi
sub rax, rsi
sar rax, 3
imul rax, rdx
cdqe
jmp 0x140038ecc
movsxd rax, dword [rdi + 4]
xor ebx, ebx
cmp dword [rdi + 0xc], ebx
mov edx, ebx
sete dl
imul rcx, rax, 0x38
add rcx, r10
call fcn.1400306b8
test eax, eax
je 0x140038837
jmp 0x140037ce6
cmp ebx, 0x1f
ja 0x14003885a
je 0x1400387d1
cmp ebx, 0x1a
ja 0x140038640
je 0x1400385e2
mov ecx, ebx
sub ecx, 0x15
je 0x1400385b6
sub ecx, 1
je 0x14003833f
sub ecx, 1
je 0x14003833f
sub ecx, 1
je 0x14003833f
cmp ecx, 1
jne 0x1400375cf
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r14, qword [rax + rcx*8]
xor ecx, ecx
mov dword [rbp + 0x138], ecx
mov word [r14 + 2], cx
mov dword [r14 + 0x28], ecx
cmp byte [r14 + 4], cl
je 0x14003844a
movsxd rax, dword [rdi + 0xc]
imul rsi, rax, 0x38
add rsi, r10
movzx r15d, word [rsi + 8]
mov al, r15b
and al, 0x2e
cmp al, r8b
jne 0x14003838a
xor edx, edx
mov rcx, rsi
call fcn.140037250
mov rcx, rsi
call fcn.140030634
mov r13, rax
movzx eax, word [rsi + 8]
mov word [rsi + 8], r15w
test al, 0x24
jne 0x140038411
mov ecx, 8
test cl, al
jne 0x1400383e5
lea r13d, [rcx - 7]
test r13b, al
jne 0x140038832
cmp ebx, 0x18
jae 0x140038832
mov rcx, qword [r14 + 0x38]
lea rdx, [rsp + 0x68]
call fcn.1400295a0
xor ebx, ebx
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
jmp 0x14003854f
movsd xmm1, qword [rsi]
xorps xmm0, xmm0
cvtsi2sd xmm0, r13
comisd xmm1, xmm0
jae 0x140038404
mov eax, 1
test al, bl
je 0x140038411
sub ebx, eax
jmp 0x140038411
jbe 0x140038411
mov eax, 1
test al, bl
jne 0x140038411
add ebx, eax
lea rax, [rsp + 0x68]
xor r9d, r9d
lea rsi, [r14 + 0x38]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi]
mov r8, r13
xor edx, edx
call fcn.140029608
mov qword [r14 + 0x58], r13
mov r12d, eax
xor r14d, r14d
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x14003774f
jmp 0x1400384de
mov r13d, ecx
lea rsi, [r14 + 0x38]
mov rax, qword [rsi]
mov edx, 1
mov r15b, byte [rax + 3]
mov rax, qword [r14 + 0x40]
and r15b, r8b
mov qword [rbp - 0x60], rax
movzx eax, word [rdi + 0x10]
setne r13b
mov word [rbp - 0x50], ax
mov eax, ebx
and al, dl
mov dword [rbp + 0x138], r13d
neg al
movsxd rax, dword [rdi + 0xc]
sbb cl, cl
xor r14d, r14d
and cl, 0xfe
mov byte [rbp - 0x4a], r14b
add cl, dl
xor r9d, r9d
mov byte [rbp - 0x4e], cl
lea rdx, [rbp - 0x60]
imul rcx, rax, 0x38
lea rax, [rsp + 0x68]
xor r8d, r8d
add rcx, r10
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x58], rcx
mov rcx, qword [rsi]
call fcn.140029608
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
test r15b, r15b
je 0x1400384de
mov dword [rbp + 0x138], r13d
cmp byte [rbp - 0x4a], r14b
je 0x140038547
mov eax, dword [rsp + 0x68]
cmp ebx, 0x18
jl 0x140038530
test eax, eax
js 0x1400384fa
jne 0x1400384f2
cmp ebx, 0x19
je 0x1400384fa
xor ebx, ebx
mov dword [rsp + 0x68], ebx
jmp 0x140038559
xor ebx, ebx
xor edx, edx
mov dword [rsp + 0x68], ebx
mov rcx, qword [rsi]
call fcn.140029c30
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
je 0x140038549
cmp eax, 0x65
jne 0x14003774f
lea r13d, [rax - 0x64]
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x68], r13d
mov r12d, ebx
jmp 0x14003854f
test eax, eax
jg 0x1400385a1
jne 0x14003853b
cmp ebx, 0x16
je 0x1400385a1
mov rcx, qword [rsi]
call fcn.140029ad0
mov dword [rsp + 0x68], eax
xor ebx, ebx
mov r13d, 1
cmp dword [rsp + 0x68], ebx
jne 0x140038832
mov r13d, 1
mov r11, qword [rbp + 0x120]
mov r15, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
lea eax, [r13 + 4]
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
lea ecx, [rax - 1]
mov r9d, dword [rsp + 0x30]
lea r8d, [r13 + 1]
cmp dword [rbp + 0x138], ebx
je 0x1400375d9
add rdi, 0x18
jmp 0x1400375d9
xor ebx, ebx
xor edx, edx
mov dword [rsp + 0x68], ebx
mov rcx, qword [rsi]
call fcn.140029d80
jmp 0x14003850a
movsxd rcx, dword [rdi + 4]
xor ebx, ebx
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], bl
je 0x1400375cf
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
call fcn.140030990
jmp 0x140038837
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne 0x1400375cf
mov rax, qword [r11 + 0x78]
xor r12d, r12d
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r10
cmp dword [rdi + 0x10], r12d
jle 0x1400386b8
mov rax, qword [r14 + 0x40]
lea rsi, [rbp + 0x60]
mov qword [rbp + 0x60], rax
mov r15d, r12d
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x70], ax
mov qword [rbp + 0x68], rbx
jmp 0x1400386fe
sub ebx, 0x1b
je 0x1400385fc
sub ebx, 1
je 0x1400385fc
sub ebx, 1
je 0x1400385fc
cmp ebx, 1
jne 0x140038236
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 8], 0x24
jne 0x1400387d1
movups xmm0, xmmword [rcx]
mov r8b, r14b
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp - 0x50], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp - 0x60]
movups xmmword [rbp - 0x40], xmm0
movsd qword [rbp - 0x30], xmm1
call fcn.1400372f0
lea eax, [rbx + 3]
test byte [rbp - 0x58], al
je 0x140038837
mov rsi, qword [rbp - 0x60]
mov r11, qword [rbp + 0x120]
jmp 0x1400387dd
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1400386d3
mov rcx, rbx
call fcn.14003027c
test eax, eax
jne 0x14003a16a
mov rcx, qword [r14 + 0x40]
call fcn.140034574
mov rsi, rax
mov r15, rax
test rax, rax
je 0x14003a16a
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [r14 + 0x40]
call fcn.1400345cc
mov byte [rsi + 0x12], r12b
mov ebx, r12d
cmp byte [rdi], 0x1b
jne 0x140038732
movzx edx, word [rsi + 0x10]
mov ecx, r12d
test edx, edx
je 0x140038732
mov rax, qword [rsi + 8]
add rax, 8
test byte [rax], r13b
jne 0x14003872f
add ecx, r13d
add rax, 0x38
cmp ecx, edx
jl 0x14003871d
jmp 0x140038732
mov ebx, r13d
mov rcx, qword [r14 + 0x38]
lea rax, [rbp - 8]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rsi
call fcn.140029608
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test r15, r15
je 0x140038771
mov rdx, r15
mov r15, qword [rsp + 0x50]
mov rcx, r15
call fcn.1400166bc
xor r10d, r10d
jmp 0x140038776
mov r15, qword [rsp + 0x50]
test r12d, r12d
jne 0x14003cd9c
mov eax, dword [rbp - 8]
xor esi, esi
mov dword [r14 + 0x2c], eax
xor eax, eax
mov ecx, eax
mov eax, dword [rbp - 8]
test eax, eax
mov byte [r14 + 3], sil
mov dword [r14 + 0x28], esi
sete cl
test eax, eax
setne al
mov byte [r14 + 2], al
cmp byte [rdi], 0x1d
jne 0x1400387bc
mov rsi, qword [rsp + 0x38]
test ecx, ecx
jne 0x140038837
jmp 0x140037c9c
xor r14d, r14d
test ebx, ebx
jne 0x140038832
mov rsi, qword [rsp + 0x38]
test ecx, ecx
je 0x140038837
jmp 0x140037c9c
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov rsi, qword [rcx + r10]
movsxd rcx, dword [rdi + 4]
xor r9d, r9d
mov rax, qword [r11 + 0x78]
mov r8, rsi
xor edx, edx
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x20], eax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
call fcn.140029608
mov qword [rbx + 0x58], rsi
mov r12d, eax
mov dword [rsp + 0x40], eax
xor eax, eax
mov word [rbx + 2], ax
mov dword [rbx + 0x28], eax
mov eax, dword [rbp - 0x20]
mov dword [rbx + 0x2c], eax
xor ebx, ebx
cmp dword [rbp - 0x20], ebx
je 0x14003884c
cmp dword [rdi + 8], ebx
je 0x14003cda8
mov rsi, qword [rsp + 0x38]
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [rsi + rcx*8]
jmp 0x140037c97
test r12d, r12d
jne 0x14003774f
jmp 0x140037e6e
mov ecx, ebx
sub ecx, 0x20
je 0x14003ba59
sub ecx, 1
je 0x140038977
sub ecx, 1
je 0x140038917
sub ecx, 1
je 0x140038917
sub ecx, 1
je 0x14003891e
sub ecx, 1
je 0x1400388a1
sub ecx, 1
je 0x1400388a1
sub ecx, 1
je 0x1400388a1
cmp ecx, 1
jne 0x1400375cf
movsxd rcx, dword [rdi + 4]
lea r9, [rbp - 0x78]
mov rax, qword [r11 + 0x78]
lea r8, [rbp - 0x60]
cmp bl, 0x27
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp - 0x60], rax
movzx eax, word [rdi + 0x10]
mov word [rbp - 0x50], ax
sbb al, al
mov byte [rbp - 0x4e], al
xor ebx, ebx
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov dword [rbp - 0x78], ebx
add rcx, r10
mov qword [rbp - 0x58], rcx
mov rcx, r15
call fcn.1400353ec
mov r12d, eax
mov dword [rsp + 0x40], eax
mov eax, dword [rbp - 0x78]
test byte [rdi], r13b
je 0x1400388fc
neg eax
jmp 0x1400388fe
inc eax
mov dword [rbp - 0x78], eax
test r12d, r12d
jne 0x14003774f
test eax, eax
jg 0x140038837
jmp 0x140037ce6
add dword [r11 + 0xdc], r13d
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x74]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x74], r13d
cmp byte [rbx], r13b
jne 0x140038944
mov rcx, rbx
call fcn.14003f44c
xor r10d, r10d
jmp 0x140038958
mov rcx, qword [rbx + 0x38]
call fcn.140029560
xor r10d, r10d
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
mov al, byte [rbp - 0x74]
mov byte [rbx + 2], al
xor ebx, ebx
cmp dword [rbp - 0x74], ebx
jmp 0x140038125
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x70]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140029560
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
cmp dword [rbp - 0x70], r10d
jne 0x140038837
mov rcx, rbx
call fcn.140029ad8
test rax, rax
js 0x1400389d9
mov rcx, rax
call fcn.140019f8c
movsx ecx, ax
mov eax, dword [rbp - 0x70]
cmp ecx, dword [rdi + 0xc]
cmovl eax, r13d
mov dword [rbp - 0x70], eax
jmp 0x140038123
mov eax, dword [rbp - 0x70]
jmp 0x140038123
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r10
test byte [rbx + 8], al
je 0x140038a42
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x40]
call fcn.14001e56c
test eax, eax
je 0x140038a42
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, qword [rsp + 0x48]
test word [rcx + 8], ax
je 0x140038a2d
mov rdx, qword [rbp + 0x40]
call fcn.1400309fc
jmp 0x14003908a
mov rax, qword [rbp + 0x40]
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
jmp 0x14003908a
mov eax, 0x2400
test word [rbx + 8], ax
je 0x140038a5a
mov rcx, rbx
call fcn.140030538
jmp 0x14003907a
mov word [rbx + 8], r13w
jmp 0x14003907a
cmp ebx, 0x3e
ja 0x14003939a
je 0x140039527
cmp ebx, 0x34
ja 0x140038ed5
je 0x140039128
cmp ebx, 0x2f
ja 0x140038e45
je 0x140038e20
sub ebx, 0x2a
je 0x140038dba
sub ebx, 1
je 0x140038d1f
sub ebx, 1
je 0x140038d1f
sub ebx, 1
je 0x140038ae6
cmp ebx, 1
jne 0x140038236
xor ebx, ebx
cmp dword [rdi + 4], ebx
je 0x140038aca
cmp qword [r15 + 0x288], rbx
jmp 0x140038ace
cmp qword [r11 + 0x50], rbx
jne 0x140038236
cmp qword [r15 + 0x290], rbx
je 0x140038837
jmp 0x140038236
movsxd rax, dword [rdi + 0xc]
xor ebx, ebx
mov r13, qword [rdi + 0x10]
imul rsi, rax, 0x38
add rsi, r10
cmp word [rdi + 2], bx
je 0x140038b1d
mov rcx, qword [r13 + 0x20]
mov rax, qword [r11 + 0x100]
jmp 0x140038b18
cmp qword [rax + 0x38], rcx
je 0x14003cb33
mov rax, qword [rax + 8]
test rax, rax
jne 0x140038b0a
mov eax, dword [r15 + 0xa4]
cmp dword [r11 + 0x110], eax
jge 0x14003cddc
mov eax, 0x10
test byte [rsi + 8], al
jne 0x140038c4d
mov edx, dword [r13 + 0x10]
mov ecx, dword [r13 + 0xc]
add ecx, edx
test edx, edx
lea r15d, [rcx + 1]
cmovne r15d, ecx
lea eax, [r15 + 2]
imul ecx, eax, 7
mov eax, dword [r13 + 8]
add ecx, edx
mov edx, 7
add eax, edx
jns 0x140038b6b
add eax, edx
sar eax, 3
lea r14d, [rax + rcx*8]
mov rcx, qword [rsp + 0x50]
movsxd rdx, r14d
call fcn.1400168c0
mov rbx, rax
test rax, rax
je 0x14003a16a
mov rcx, rsi
call fcn.1400305b4
mov r11, qword [rbp + 0x120]
mov eax, 0x410
sub rdi, qword [rsp + 0x38]
mov word [rsi + 8], ax
lea rax, [0x1400328ec]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0xc], r14d
mov dword [rbx + 0x60], r15d
mov qword [rbx], r11
mov eax, dword [r13 + 0x10]
mov dword [rbx + 0x64], eax
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
mov dword [rbx + 0x54], edi
mov rax, qword [r11 + 0x68]
mov qword [rbx + 0x20], rax
mov eax, dword [r11 + 0x28]
mov dword [rbx + 0x5c], eax
mov rax, qword [r11 + 0x78]
mov qword [rbx + 0x28], rax
mov eax, dword [r11 + 0x2c]
mov dword [rbx + 0x50], eax
mov rax, qword [r11 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r11 + 0x90]
mov dword [rbx + 0x58], eax
mov rax, qword [r13 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, r15d
mov r15, qword [rsp + 0x50]
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x140038c51
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r15
add rax, 0x38
cmp rax, rcx
jne 0x140038c3a
jmp 0x140038c51
mov rbx, qword [rsi + 0x10]
inc dword [r11 + 0x110]
lea rdx, [rbx + 0x70]
mov rax, qword [r11 + 0x100]
mov r8d, 7
mov qword [rbx + 8], rax
mov rax, qword [r15 + 0x38]
mov qword [rbx + 0x40], rax
mov eax, dword [r11 + 0x3c]
mov dword [rbx + 0x68], eax
mov rax, qword [r11]
mov qword [rsp + 0x48], rdx
mov ecx, dword [rax + 0x74]
mov dword [rbx + 0x6c], ecx
mov rax, qword [r11 + 0x120]
mov qword [rbx + 0x48], rax
xor eax, eax
mov qword [r11 + 0x120], rax
mov dword [r11 + 0x3c], eax
mov qword [r11 + 0x68], rdx
mov qword [r11 + 0x100], rbx
movsxd rcx, dword [rbx + 0x60]
mov dword [r11 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r11 + 0x2c], eax
imul rcx, rcx, 0x38
add rcx, rdx
mov qword [r11 + 0x78], rcx
movsxd rax, dword [r13 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [rbx + 0x30], rcx
mov eax, dword [r13 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400c57e0
mov rsi, qword [r13]
mov r11, qword [rbp + 0x120]
mov qword [rsp + 0x38], rsi
lea rdi, [rsi - 0x18]
mov qword [r11 + 0x88], rsi
mov eax, dword [r13 + 8]
mov r13d, 1
mov dword [r11 + 0x90], eax
jmp 0x140039091
movsxd rax, dword [rdi + 4]
mov edx, r8d
imul rcx, rax, 0x38
add rcx, r10
call fcn.1400306b8
mov ebx, eax
mov edx, 2
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x48]
call fcn.1400306b8
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [rdi], 0x2c
movsxd rcx, eax
lea rax, [0x140000000]
jne 0x140038d69
mov r8b, byte [rcx + rax + 0xfad70]
jmp 0x140038d71
mov r8b, byte [rcx + rax + 0xfefc8]
movsxd rax, dword [rdi + 0xc]
mov r10, qword [rsp + 0x48]
imul rdx, rax, 0x38
mov eax, 0x3e40
movzx ecx, word [rdx + r10 + 8]
and cx, ax
mov eax, 2
cmp r8b, al
jne 0x140038d9c
or cx, r13w
jmp 0x140038da8
movzx eax, r8b
or cx, 4
mov qword [rdx + r10], rax
mov r11, qword [rbp + 0x120]
mov word [rdx + r10 + 8], cx
jmp 0x140037897
movsxd rax, dword [rdi + 4]
mov esi, dword [rdi + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r14, rax, 0x38
add rbx, r10
mov eax, 0x10
add r14, r10
test byte [rbx + 8], al
jne 0x140038ded
mov rcx, rbx
call fcn.140030ac0
test eax, eax
jne 0x14003a16a
test esi, esi
je 0x140038e09
mov r8, qword [r14]
mov edx, esi
mov rcx, qword [rbx + 0x10]
call fcn.14001e5d4
test eax, eax
jne 0x140038832
test esi, esi
js 0x14003787f
mov rdx, qword [r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001e2fc
jmp 0x14003787f
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r10]
test rdx, rdx
jle 0x1400375cf
movsxd rax, dword [rdi + 0xc]
sub rdx, rax
mov qword [rcx + r10], rdx
jmp 0x140038837
sub ebx, 0x30
je 0x140038eae
sub ebx, 1
je 0x140038e87
sub ebx, 1
je 0x140038e75
cmp ebx, 1
jne 0x140038236
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 8], r13b
je 0x140038837
jmp 0x1400375cf
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 8], r13b
jmp 0x14003829a
movsxd rax, dword [rdi + 4]
movabs rdx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
cmp rax, rdx
jle 0x140038ea9
dec rax
mov qword [rcx + r10], rax
test rax, rax
jmp 0x140038e6a
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
test rax, rax
je 0x1400375cf
jle 0x140038837
dec rax
mov qword [rcx + r10], rax
jmp 0x140038837
sub ebx, 0x35
je 0x140039128
sub ebx, 1
je 0x140039128
sub ebx, 1
je 0x140039128
sub ebx, 1
je 0x140039128
sub ebx, 1
je 0x140039128
sub ebx, 1
je 0x14003911a
sub ebx, 1
je 0x1400390de
sub ebx, 1
je 0x14003901d
cmp ebx, 1
jne 0x140038236
test byte [r15 + 0x68], r13b
je 0x140038fc2
lea eax, [rbx + 0xf]
xor ebx, ebx
test byte [r11 + 0xc8], al
jne 0x140038fc4
mov r9, qword [rdi + 0x10]
test r9, r9
jne 0x140038f5b
mov r9, qword [r11 + 0xf0]
test r9, r9
je 0x14003c763
cmp dword [r15 + 0xd4], r13d
jle 0x14003c730
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.1400184a4
mov r8, qword [rbp + 0x120]
mov r9, rax
mov rdx, qword [r15 + 0xf0]
mov ecx, r13d
mov rbx, rax
call qword [r15 + 0xe8]
test rbx, rbx
je 0x140038fa8
mov rdx, rbx
mov rcx, r15
call fcn.1400166bc
mov r11, qword [rbp + 0x120]
mov ecx, 4
mov r10, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
lea r8d, [rcx - 2]
xor ebx, ebx
mov eax, dword [rdi + 4]
cmp eax, dword [0x14015ecf0]
jl 0x14003900c
cmp byte [rdi], 0xa8
je 0x140038236
mov edx, r13d
cmp dword [r11 + 0x90], r13d
jle 0x14003900a
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r11 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x140038ffa
mov dword [rax + rcx + 4], ebx
add edx, r13d
add rax, 0x18
cmp edx, dword [r11 + 0x90]
jl 0x140038fe9
mov eax, ebx
inc eax
mov dword [rdi + 4], eax
add dword [r11 + 0xec], r13d
jmp 0x140038837
movsxd rcx, dword [rdi + 4]
xor ebx, ebx
mov rax, qword [r11 + 0x78]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 2], bl
jne 0x14003aba4
mov rcx, qword [rsi + 0x38]
mov rbx, qword [rcx]
mov r14, qword [rbx]
call qword [r14 + Ordinal_73]
mov r15, qword [rbp + 0x120]
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x40], eax
mov r12d, eax
call fcn.1400354ac
test r12d, r12d
jne 0x140037756
mov rcx, qword [rsi + 0x38]
call qword [r14 + 0x50]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x38]
test eax, eax
jne 0x14003908a
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [rsi + rcx*8]
mov r11, qword [rbp + 0x120]
mov eax, dword [r15 + 0x160]
test eax, eax
je 0x140037ca3
mov bl, byte [rbp + 0x128]
mov al, byte [r15 + 0x61]
neg al
sbb r12d, r12d
and r12d, 0xfffffffe
add r12d, 9
mov ecx, r12d
mov dword [r11 + 0x38], r12d
call fcn.140081fb8
mov rcx, qword [rbp + 0x120]
lea rdx, [0x1401154b0]
mov r8, rax
call fcn.1400317a4
jmp 0x14003cf5b
movsxd rcx, dword [rdi + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14002844c
xor ebx, ebx
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
je 0x140037ce6
cmp eax, 0x65
jne 0x14003774f
mov r12d, ebx
mov dword [rsp + 0x40], ebx
jmp 0x140038837
test r9d, r9d
jne 0x140038837
jmp 0x140038236
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul rsi, rax, 0x38
add r14, r10
add rsi, r10
movzx r15d, word [r14 + 8]
movzx ebx, word [rsi + 8]
movzx ecx, bx
or cx, r15w
test r13b, cl
je 0x140039204
mov eax, 0x80
test byte [rdi + 2], al
je 0x1400391ac
mov al, bl
and al, r15b
test r13b, al
je 0x140039197
mov eax, 0x100
test ax, bx
jne 0x140039197
xor eax, eax
mov ecx, eax
movzx eax, byte [rdi]
lea rdx, [0x140000000]
test ecx, ecx
jne 0x140039309
mov dl, byte [rax + rdx + 0xfe774]
jmp 0x140039310
movzx eax, bx
not ax
and eax, r13d
lea ecx, [rax*2 - 1]
jmp 0x1400392ee
mov eax, Ordinal_36
test byte [rdi + 2], al
je 0x1400391f4
movsxd rax, dword [rdi + 8]
mov edx, 0x3e40
imul rcx, rax, 0x38
mov r9d, r13d
mov dword [rsp + 0x30], r13d
movzx eax, word [rcx + r10 + 8]
and ax, dx
or ax, r13w
mov word [rcx + r10 + 8], ax
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x38]
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
jmp 0x1400375cf
mov eax, 0x10
test byte [rdi + 2], al
jne 0x140038832
jmp 0x1400391de
mov al, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jb 0x140039275
test r8b, cl
je 0x140039243
mov al, r15b
and al, 0x2e
cmp al, r8b
jne 0x140039230
xor edx, edx
mov rcx, r14
call fcn.140037250
movzx ebx, word [rsi + 8]
mov r8d, 2
mov al, bl
and al, 0x2e
cmp al, r8b
jne 0x140039243
xor edx, edx
mov rcx, rsi
call fcn.140037250
mov al, byte [r14 + 8]
mov edx, 4
and al, byte [rsi + 8]
test dl, al
je 0x1400392dd
mov rax, qword [r14]
cmp qword [rsi], rax
jle 0x140039267
mov ecx, r13d
jmp 0x140039179
jge 0x140039175
or ecx, 0xffffffff
jmp 0x1400392f6
cmp al, 0x42
jne 0x1400392dd
test r8b, r15b
jne 0x1400392b0
test r15b, 0x2c
je 0x1400392b0
mov dl, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov r8b, r13b
mov rcx, r14
call fcn.1400302e0
movzx eax, r15w
mov ecx, 0x3e40
xor ax, word [r14 + 8]
mov r8d, 2
and ax, cx
xor r15w, ax
test r8b, bl
jne 0x1400392dd
test bl, 0x2c
je 0x1400392dd
mov dl, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov r8b, r13b
mov rcx, rsi
call fcn.1400302e0
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [rsi + 8]
and ax, cx
xor bx, ax
mov r8, qword [rdi + 0x10]
mov rdx, r14
mov rcx, rsi
call fcn.14003493c
mov ecx, eax
test ecx, ecx
jns 0x140039179
movzx eax, byte [rdi]
lea rdx, [0x140000000]
mov dl, byte [rax + rdx + 0xfbd30]
jmp 0x140039310
mov dl, byte [rax + rdx + 0xf7d94]
mov word [r14 + 8], r15w
mov eax, Ordinal_36
mov word [rsi + 8], bx
movzx r8d, dl
test byte [rdi + 2], al
je 0x140039393
movsxd rax, dword [rdi + 8]
mov r9d, ecx
mov r10, qword [rsp + 0x48]
imul rdx, rax, 0x38
mov eax, 8
mov dword [rsp + 0x30], ecx
test byte [rdi + 2], al
je 0x140039356
xor eax, eax
cmp byte [rdi], 0x35
sete al
cmp eax, r8d
je 0x14003caef
movzx eax, word [rdx + r10 + 8]
mov ecx, 0x3e40
mov r11, qword [rbp + 0x120]
and ax, cx
mov r15, qword [rsp + 0x50]
mov ecx, 4
mov rsi, qword [rsp + 0x38]
or ax, cx
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov word [rdx + r10 + 8], ax
mov qword [rdx + r10], r8
jmp 0x1400394da
test dl, dl
jmp 0x140037c8c
cmp ebx, 0x48
ja 0x1400396c6
je 0x14003b19b
sub ebx, 0x3f
je 0x140039527
sub ebx, 1
je 0x140039597
sub ebx, 1
je 0x140039597
sub ebx, 1
je 0x140039519
sub ebx, 1
je 0x1400394e8
sub ebx, 1
je 0x140039425
sub ebx, 1
je 0x140039438
sub ebx, 1
je 0x14003940b
cmp ebx, 1
jne 0x140038236
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov rdx, rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140037ce6
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov rcx, rax
movsxd rax, dword [rdi + 4]
mov qword [rcx], rax
jmp 0x140037ce6
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 8], r13b
je 0x1400375cf
mov edx, dword [rdi + 4]
mov rbx, rdi
sub rbx, rsi
movabs rax, 0xaaaaaaaaaaaaaaab
sar rbx, 3
xor esi, esi
imul rbx, rax
test edx, edx
jne 0x14003cdf6
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x14003cdf6
mov rax, qword [rcx + 8]
dec dword [r11 + 0x110]
mov qword [r11 + 0x100], rax
mov eax, dword [r11 + 0x3c]
add dword [r15 + 0x78], eax
mov dword [r15 + 0x74], eax
call fcn.1400331b4
mov r11, qword [rbp + 0x120]
lea edx, [rsi + 4]
cmp dword [rdi + 8], edx
jne 0x1400394b3
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r13d
mov rsi, qword [r11 + 0x88]
mov r10, qword [r11 + 0x68]
cdqe
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], r10
lea rcx, [rax + rax*2]
lea rdi, [rsi + rcx*8]
mov rcx, rdx
mov r9d, dword [rsp + 0x30]
mov eax, 5
lea r8d, [rax - 3]
jmp 0x1400375d9
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r10]
lea rcx, [rax + rax*2]
mov eax, dword [rsi + rcx*8 + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r10 + 8], ax
lea rdi, [rsi + rcx*8]
jmp 0x1400375cf
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r10]
jmp 0x140039501
movzx ebx, word [rdi + 2]
mov rcx, r15
lea rdx, [rbx*8 + 0x30]
call fcn.140016930
xor r11d, r11d
mov rcx, rax
test rax, rax
je 0x14003a16a
mov r15, qword [rbp + 0x120]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov r10, qword [rsp + 0x48]
mov qword [rax], r11
mov rax, qword [rdi + 0x10]
mov qword [rcx + 8], rax
mov rax, rdi
sub rax, rsi
mov qword [rcx + 0x18], r15
sar rax, 3
imul rax, rdx
mov dword [rcx + 0x24], r11d
mov dword [rcx + 0x20], eax
lea eax, [r11 + 2]
mov byte [rcx + 0x29], bl
add byte [rdi], al
mov byte [rdi + 1], 0xf0
mov qword [rdi + 0x10], rcx
jmp 0x14003959e
mov r15, qword [rbp + 0x120]
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
imul rsi, rax, 0x38
add rsi, r10
cmp qword [rbx], rsi
je 0x1400395f7
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx], rsi
sub rdx, 1
lea r9d, [rax - 1]
js 0x1400395f7
lea r8, [rdx + 6]
mov r14d, 8
lea r8, [rbx + r8*8]
mov eax, dword [rdi + 8]
add eax, r9d
sub r9d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r10
mov qword [r8], rcx
sub r8, r14
sub rdx, r13
jns 0x1400395d3
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
movzx eax, word [rsi + 8]
lea r8, [rbx + 0x30]
mov ecx, 0x3e40
and ax, cx
mov rcx, rbx
or ax, r13w
mov word [rsi + 8], ax
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140039673
jle 0x14003964c
mov dl, r13b
mov rcx, rsi
call fcn.1400311e8
mov r8, rax
lea rdx, [0x1401154b0]
mov rcx, r15
call fcn.1400317a4
mov r12d, dword [rbx + 0x24]
mov dword [rsp + 0x40], r12d
mov r9d, dword [rdi + 4]
lea rdx, [r15 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x50]
call fcn.140033fe8
xor eax, eax
mov dword [rbx + 0x24], eax
test r12d, r12d
jne 0x140037756
test byte [rsi + 8], 0x12
je 0x140037e69
mov eax, 2
test byte [rsi + 8], al
je 0x140039698
cmp byte [rsi + 0xa], r14b
je 0x140039698
mov dl, r14b
mov rcx, rsi
call fcn.1400188c4
mov rcx, rsi
call fcn.140030ba8
test eax, eax
je 0x140037e69
mov rcx, qword [rbp + 0x120]
lea rdx, str.string_or_blob_too_big
call fcn.1400317a4
mov r12d, 0x12
jmp 0x14003774f
sub ebx, 0x49
je 0x140039a17
sub ebx, 1
je 0x1400399f2
sub ebx, 1
je 0x1400399c1
sub ebx, 1
je 0x140039944
sub ebx, 1
je 0x1400398f2
sub ebx, 1
je 0x140039894
sub ebx, 1
je 0x14003986e
sub ebx, 1
je 0x140039833
cmp ebx, 1
jne 0x140038236
xor edx, edx
mov rcx, r11
call fcn.140033adc
mov r12d, eax
test eax, eax
jne 0x14003774f
mov r8, qword [rbp + 0x120]
xor r12d, r12d
mov rax, qword [r8]
cmp dword [rax + 0x280], r12d
je 0x14003975a
cmp dword [r8 + 0x40], r12d
je 0x14003975a
mov edx, r13d
mov rcx, r8
call fcn.1400339e8
mov r8, qword [rbp + 0x120]
mov eax, dword [r8 + 0x30]
mov esi, r12d
add eax, 2
or eax, r13d
mov dword [r8 + 0x30], eax
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [rsp + 0x48]
mov qword [r8 + 0xa0], r14
cmp dword [rdi + 8], r12d
jle 0x1400397db
lea rbx, [r14 + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x1400397aa
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030224
test eax, eax
jne 0x14003a16a
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x1400397c8
lea rcx, [rbx - 8]
call fcn.1400301c8
add esi, r13d
add rbx, 0x38
cmp esi, dword [rdi + 8]
jl 0x140039789
mov r8, qword [rbp + 0x120]
cmp byte [r15 + 0x61], r12b
jne 0x14003a16a
mov eax, 4
test byte [r15 + 0x68], al
je 0x140039803
mov rdx, qword [r15 + 0xf0]
xor r9d, r9d
mov ecx, eax
call qword [r15 + 0xe8]
sub rdi, qword [rsp + 0x38]
movabs rax, 0xaaaaaaaaaaaaaaab
mov r15, qword [rbp + 0x120]
mov r12d, 0x64
sar rdi, 3
imul rdi, rax
add edi, r13d
mov dword [r15 + 0x34], edi
jmp 0x14003d035
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
add rcx, r10
mov rax, qword [rdx + r10]
mov edx, 0x2400
test word [rcx + 8], dx
je 0x14003985d
mov rdx, rax
jmp 0x1400380c7
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
jmp 0x1400375cf
movsxd rax, dword [rdi + 4]
mov r8d, 0x1000
imul rdx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rdx, r10
add rcx, r10
call fcn.140030c0c
jmp 0x140037ce6
movsxd rax, dword [rdi + 4]
mov r14d, dword [rdi + 0xc]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rsi, r10
add rbx, r10
mov r8d, 0x1000
mov rdx, rsi
mov rcx, rbx
call fcn.140030c0c
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1400398da
mov rcx, rbx
call fcn.140030224
test eax, eax
jne 0x14003a16a
mov eax, r14d
sub r14d, r13d
test eax, eax
je 0x14003787f
add rbx, 0x38
add rsi, 0x38
jmp 0x1400398ae
movsxd rax, dword [rdi + 4]
mov r14d, dword [rdi + 0xc]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rsi, r10
add rbx, r10
mov rdx, rsi
mov rcx, rbx
call fcn.140030cd0
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140039932
mov rcx, rbx
call fcn.140030224
test eax, eax
jne 0x14003a16a
add rsi, 0x38
add rbx, 0x38
sub r14d, r13d
jne 0x14003990c
jmp 0x14003787f
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
add rsi, qword [r11 + 0x80]
lea rcx, [rsi - 0x38]
call fcn.140030ba8
test eax, eax
jne 0x1400396a8
movsxd rax, dword [rdi + 8]
mov r10, qword [rsp + 0x48]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r10
test word [rbx + 8], ax
je 0x14003998c
mov rcx, rbx
call fcn.140030538
mov r10, qword [rsp + 0x48]
movups xmm0, xmmword [rsi - 0x38]
mov r11, qword [rbp + 0x120]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rsi - 0x28]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
jmp 0x140037e7a
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov r8d, dword [rdi + 4]
mov rbx, rax
mov rdx, qword [rdi + 0x10]
xor eax, eax
mov rcx, rbx
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.140030d30
mov byte [rbx + 0xa], r14b
jmp 0x140037ce6
movsxd rax, dword [rdi + 4]
mov edx, 0xff41
imul rcx, rax, 0x38
movzx eax, word [rcx + r10 + 8]
and ax, dx
or ax, r13w
mov word [rcx + r10 + 8], ax
jmp 0x1400375cf
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov esi, dword [rdi + 0xc]
mov rcx, rax
mov eax, dword [rdi + 4]
mov edx, dword [rdi + 8]
neg eax
mov eax, 0x100
sbb r14w, r14w
lea rbx, [rcx + 8]
and r14w, ax
xor r9d, r9d
add r14w, r13w
mov dword [rcx + 0xc], r9d
sub esi, edx
mov word [rbx], r14w
test esi, esi
jle 0x14003787f
mov eax, 0x2400
lea rbx, [rbx + 0x38]
test word [rbx], ax
je 0x140039a79
lea rcx, [rbx - 8]
call fcn.140030538
xor r9d, r9d
mov eax, 0x2400
sub esi, r13d
mov word [rbx], r14w
mov dword [rbx + 4], r9d
test esi, esi
jg 0x140039a5f
jmp 0x14003787f
xor ebx, ebx
cmp dword [rdi + 4], ebx
je 0x1400375d9
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
je 0x140039ab5
xor edx, edx
jmp 0x1400380c7
mov qword [rcx], rbx
jmp 0x140039860
cmp ebx, 0x7f
ja 0x14003b93c
je 0x14003b8b6
cmp ebx, 0x69
ja 0x14003abae
je 0x14003a841
cmp ebx, 0x5f
ja 0x14003a7f2
je 0x14003a74d
cmp ebx, 0x5a
ja 0x14003a270
je 0x140039d22
sub ebx, 0x53
je 0x140039d03
sub ebx, 1
je 0x140039ce4
sub ebx, 1
je 0x140039ca5
sub ebx, r8d
je 0x140039b56
cmp ebx, 1
jne 0x140038236
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
call fcn.1400306b8
movsxd rdx, dword [rdi + 0x10]
movsxd rcx, eax
movsxd rax, dword [rdi + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x48]
call fcn.140030a34
jmp 0x140037ce6
test byte [rdi + 2], r13b
jne 0x140039b62
xor ecx, ecx
mov esi, ecx
jmp 0x140039b6b
mov rsi, qword [rdi - 8]
add rsi, rcx
xor ecx, ecx
mov rax, qword [rdi + 0x10]
mov r14d, ecx
mov r8d, dword [rdi + 4]
mov rbx, rcx
movsxd rcx, dword [rdi + 0xc]
mov r9d, dword [rdi + 8]
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x138], r8d
mov dword [rsp + 0x70], r9d
mov qword [rbp - 0x28], rcx
test rcx, rcx
jle 0x14003788b
lea r15, [rax + 0x20]
test rsi, rsi
je 0x140039bac
mov edx, dword [rsi + rbx*4]
jmp 0x140039baf
mov edx, r14d
mov rax, qword [rax + 0x18]
movzx eax, byte [rbx + rax]
and eax, r13d
mov dword [rsp + 0x58], eax
lea eax, [rdx + r9]
movsxd rcx, eax
lea eax, [rdx + r8]
mov r8, qword [r15]
imul r9, rcx, 0x38
movsxd rcx, eax
imul r13, rcx, 0x38
add r9, r10
add r13, r10
mov qword [rbp - 0x80], r9
mov rcx, r13
mov rdx, r9
call fcn.14003493c
xor r10d, r10d
mov dword [rsp + 0x30], eax
test eax, eax
mov r9d, eax
mov rax, qword [rbp - 0x68]
jne 0x140039c38
mov r8d, dword [rbp + 0x138]
lea r13d, [r10 + 1]
mov r9d, dword [rsp + 0x70]
add r14d, r13d
mov r10, qword [rsp + 0x48]
add rbx, r13
add r15, 8
cmp rbx, qword [rbp - 0x28]
jl 0x140039ba2
mov r11, qword [rbp + 0x120]
mov r15, qword [rsp + 0x50]
jmp 0x14003788b
mov rax, qword [rax + 0x18]
mov r8d, 2
test byte [rbx + rax], r8b
je 0x140039c63
lea ecx, [r8 - 1]
test byte [r13 + 8], cl
jne 0x140039c5b
mov rax, qword [rbp - 0x80]
test byte [rax + 8], cl
je 0x140039c63
neg r9d
mov dword [rsp + 0x30], r9d
cmp dword [rsp + 0x58], r10d
mov r13d, 1
mov r11, qword [rbp + 0x120]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x38]
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
lea eax, [r13 + 4]
mov r10, qword [rsp + 0x48]
lea ecx, [rax - 1]
je 0x1400375d9
neg r9d
mov dword [rsp + 0x30], r9d
jmp 0x1400375d9
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r10
test word [rbx + 8], ax
je 0x140039cc5
mov rcx, rbx
call fcn.14003027c
jmp 0x140039cc7
xor eax, eax
mov dl, byte [rdi + 8]
mov r8b, r14b
mov rcx, rbx
mov dword [rsp + 0x40], eax
mov r12d, eax
call fcn.140030890
test r12d, r12d
jmp 0x140037ce0
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 8], 0x24
je 0x1400375cf
call fcn.140030778
jmp 0x140037ce6
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.140030748
movsxd rax, dword [rdi + 8]
add qword [rbx], rax
jmp 0x140037ce6
movsxd rcx, dword [rdi + 4]
lea rdx, [rsp + 0x78]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x60], rcx
lea rcx, [rsp + 0x60]
mov eax, dword [rdi + 8]
mov dword [rsp + 0x78], eax
call fcn.140034284
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
movsxd rax, dword [rdi + 0xc]
mov r10, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
imul rsi, rax, 0x38
mov rax, qword [rbp + 0x120]
mov rbx, qword [r10 + 0x60]
add rsi, rcx
mov qword [rsp + 0x70], rsi
mov qword [rbp + 0x138], rbx
mov eax, dword [rax + 0x30]
cmp dword [r10 + 0x28], eax
je 0x140039ea4
xor eax, eax
cmp byte [r10 + 2], al
je 0x140039dda
cmp byte [r10], 3
jne 0x140039dcd
movsxd rax, dword [r10 + 0x2c]
imul rdx, rax, 0x38
add rdx, rcx
mov ecx, dword [rdx + 0xc]
mov dword [r10 + 0x74], ecx
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + 0x10]
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x60]
jmp 0x140039e21
mov rcx, rsi
call fcn.140030990
jmp 0x140037e6e
mov rbx, qword [r10 + 0x38]
mov rcx, rbx
call fcn.140028ce0
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
mov dword [rdx + 0x70], eax
mov rdx, qword [rsp + 0x60]
add rdx, 0x74
call fcn.1400291f8
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x68], rax
mov rcx, qword [rsp + 0x60]
mov eax, dword [r15 + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x1400396a8
mov rbx, qword [rbp + 0x138]
mov rax, qword [rbp + 0x120]
mov eax, dword [rax + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x68]
mov eax, 0x80
cmp byte [rcx], al
jae 0x140039e4a
movzx eax, byte [rcx]
mov dword [rbx], eax
mov al, r13b
jmp 0x140039e52
mov rdx, rbx
call fcn.140019c80
movzx ecx, al
xor r8d, r8d
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x48], ecx
mov rax, qword [rsp + 0x60]
mov word [rax + 0x52], r8w
mov r10, qword [rsp + 0x60]
mov eax, dword [rbx]
cmp dword [r10 + 0x74], eax
jae 0x140039f76
mov qword [r10 + 0x68], r8
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x74], r8d
mov eax, dword [rbx]
cmp eax, 0x18003
ja 0x14003a08a
mov r10, qword [rsp + 0x60]
cmp eax, dword [r10 + 0x70]
ja 0x14003a08a
movzx eax, word [r10 + 0x52]
movsxd r8, dword [rsp + 0x78]
cmp eax, r8d
jg 0x14003a0df
mov eax, dword [rbx]
cmp dword [r10 + 0x48], eax
jae 0x14003a0ac
mov rax, qword [r10 + 0x68]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x140039f1d
xorps xmm0, xmm0
mov qword [rbp + 0xa8], rax
movups xmmword [rbp + 0x78], xmm0
lea r9, [rbp + 0x78]
xor edx, edx
movups xmmword [rbp + 0x88], xmm0
movups xmmword [rbp + 0x98], xmm0
mov r8d, dword [rbx]
mov rcx, qword [r10 + 0x38]
call fcn.1400310d8
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
mov rax, qword [rbp + 0x88]
mov r10, qword [rsp + 0x60]
mov qword [rbp - 0x80], rax
movzx r13d, word [r10 + 0x52]
lea rdi, [0x140000000]
mov r8, qword [rbp + 0x138]
mov esi, 1
mov r14d, r13d
mov r15d, dword [rbx + r13*4]
mov ebx, dword [r10 + 0x48]
lea r12d, [rsi + 0x7f]
mov edx, dword [r8]
add rbx, rax
add rdx, rax
mov qword [rbp - 0x28], rdx
movzx eax, byte [rbx]
mov dword [rsp + 0x5c], eax
mov dword [r10 + r14*4 + 0x78], eax
cmp dword [rsp + 0x5c], r12d
jae 0x140039f7c
movzx eax, byte [rsp + 0x5c]
add rbx, rsi
movzx eax, byte [rax + rdi + 0xfb2e0]
jmp 0x140039fc0
mov rax, qword [r10 + 0x68]
jmp 0x140039f19
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call fcn.140019c80
mov rcx, qword [rsp + 0x60]
movzx eax, al
add rbx, rax
mov eax, dword [rsp + 0x5c]
mov dword [rcx + r14*4 + 0x78], eax
mov eax, dword [rsp + 0x5c]
cmp eax, r12d
jb 0x140039fad
add eax, 0xfffffff4
shr eax, 1
jmp 0x140039fb5
movzx eax, byte [rax + rdi + 0xfb2e0]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp + 0x138]
add r13d, esi
add r15, rax
movsxd r14, r13d
mov dword [r8 + r14*4], r15d
cmp r13d, dword [rsp + 0x78]
jg 0x140039fe3
cmp rbx, rdx
jae 0x140039fe3
mov r10, qword [rsp + 0x60]
jmp 0x140039f51
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rbp - 0x68]
mov rsi, qword [rsp + 0x70]
mov r12d, dword [rsp + 0x40]
cmp rbx, rdx
jb 0x14003a005
ja 0x14003a00d
mov eax, dword [rcx + 0x70]
cmp r15, rax
jne 0x14003a00d
mov eax, dword [rcx + 0x70]
cmp r15, rax
jbe 0x14003a01a
xor ebx, ebx
cmp dword [r8], ebx
jne 0x14003a069
mov r13d, ebx
mov rbx, rdx
sub ebx, dword [rbp - 0x80]
mov word [rcx + 0x52], r13w
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x48], ebx
xor eax, eax
mov r10, qword [rsp + 0x60]
cmp qword [r10 + 0x68], rax
jne 0x14003a045
lea rcx, [rbp + 0x78]
call fcn.1400305b4
mov r10, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x78]
mov r13d, 1
mov edx, dword [rsp + 0x5c]
mov rbx, qword [rbp + 0x138]
mov r15, qword [rsp + 0x50]
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
jmp 0x14003a0b4
cmp qword [rcx + 0x68], rbx
jne 0x14003a078
lea rcx, [rbp + 0x78]
call fcn.1400305b4
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov r13d, 1
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x38]
mov eax, dword [rsi + 0xc]
test eax, eax
jle 0x14003ceec
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [rsi + rax*8]
jmp 0x140037ce6
xor eax, eax
mov edx, eax
mov dword [rsp + 0x5c], eax
movzx eax, word [r10 + 0x52]
cmp eax, r8d
jg 0x14003a0e8
cmp byte [rdi + 1], 0xf5
mov rcx, rsi
jne 0x140039dd0
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
call fcn.140030c0c
jmp 0x140037e6e
mov edx, dword [r10 + r8*4 + 0x78]
mov dword [rsp + 0x5c], edx
mov eax, 0x2400
test word [rsi + 8], ax
je 0x14003a109
mov rcx, rsi
call fcn.140030990
mov r10, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x78]
mov edx, dword [rsp + 0x5c]
lea eax, [r8 + 1]
movsxd rcx, eax
mov eax, dword [rbx + rcx*4]
cmp dword [r10 + 0x74], eax
jb 0x14003a1e2
movsxd rax, r8d
mov r14d, dword [rbx + rax*4]
add r14, qword [r10 + 0x68]
cmp edx, 0xc
jae 0x14003a13d
mov r8, rsi
mov rcx, r14
call fcn.140034348
jmp 0x14003787f
mov al, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [rsi + 0xc], ebx
mov byte [rsi + 0xa], al
lea edx, [rbx + 2]
cmp dword [rsi + 0x20], edx
jge 0x14003a198
xor r8d, r8d
mov word [rsi + 8], r13w
mov rcx, rsi
call fcn.140030050
test eax, eax
je 0x14003a1a0
mov bl, byte [rbp + 0x128]
mov rcx, qword [rsp + 0x50]
call fcn.140016bf8
mov rcx, qword [rbp + 0x120]
lea rdx, str.out_of_memory
call fcn.1400317a4
mov r12d, 7
jmp 0x14003cf5b
mov rax, qword [rsi + 0x18]
mov qword [rsi + 0x10], rax
mov rcx, qword [rsi + 0x10]
mov r8, rbx
mov rdx, r14
call fcn.1400c5c20
mov rax, qword [rsi + 0x10]
lea rcx, [0x140000000]
xor r9d, r9d
mov byte [rbx + rax], r9b
mov rax, qword [rsi + 0x10]
mov byte [rbx + rax + 1], r9b
mov eax, dword [rsp + 0x5c]
and rax, r13
movzx eax, word [rcx + rax*2 + 0xf6374]
mov word [rsi + 8], ax
jmp 0x14003787f
mov byte [rsi + 0xa], r14b
test byte [rdi + 2], 0xc0
mov edx, dword [rsp + 0x5c]
je 0x14003a204
cmp edx, 0xc
jb 0x14003a1fa
test r13b, dl
je 0x14003a216
mov eax, 0x80
test byte [rdi + 2], al
jne 0x14003a216
mov ecx, edx
call fcn.1400342cc
mov r8d, eax
test eax, eax
jne 0x14003a22a
mov edx, dword [rsp + 0x5c]
mov r8, rsi
lea rcx, [0x140165bf8]
call fcn.140034348
jmp 0x140037e6e
movsxd rax, dword [rsp + 0x78]
mov r9, rsi
mov rcx, qword [rsp + 0x60]
mov edx, dword [rbx + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.1400310d8
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
mov edx, dword [rsp + 0x5c]
mov r8, rsi
mov rcx, qword [rsi + 0x10]
call fcn.140034348
mov eax, 0xefff
and word [rsi + 8], ax
jmp 0x140037e6e
sub ebx, 0x5b
je 0x14003a6c6
sub ebx, 1
je 0x14003a30b
sub ebx, 1
je 0x14003a2c8
cmp ebx, 1
jne 0x140038236
movsxd rax, dword [rdi + 4]
lea r8, [rbp + 0x30]
mov rcx, qword [r15 + 0x20]
mov edx, dword [rdi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002e55c
mov rcx, qword [rbp + 0x120]
mov rdx, rdi
call fcn.140037468
movsxd rcx, dword [rbp + 0x30]
mov qword [rax], rcx
jmp 0x140037ce6
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp + 0x38]
mov rax, qword [r11 + 0x78]
xor ebx, ebx
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 0x38], rbx
call fcn.14002e624
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
mov rcx, qword [rbp + 0x120]
mov rdx, rdi
call fcn.140037468
mov rcx, qword [rbp + 0x38]
jmp 0x14003a2c0
movsxd rax, dword [rdi + 4]
xor ebx, ebx
mov rsi, qword [rdi + 0x10]
mov r13d, ebx
mov r9b, byte [r11 + 0xc3]
mov r14d, ebx
imul rdx, rax, 0x38
mov eax, dword [rdi + 8]
mov r8d, ebx
add rdx, r10
mov dword [rsp + 0x58], ebx
lea r10d, [rbx + 1]
mov qword [rsp + 0x70], rbx
sub eax, r10d
mov qword [rbp - 0x80], rdx
cdqe
imul r15, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add r15, rdx
mov byte [rbp + 0x138], r9b
add rcx, qword [rsp + 0x48]
mov qword [rbp - 0x28], r15
mov qword [rbp + 0x58], rcx
test rsi, rsi
je 0x14003a3e6
mov al, byte [rsi]
lea rbx, [rdx + 8]
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
lea edi, [r8 + 4]
xor r15d, r15d
lea r12d, [r8 + 0x20]
mov r13d, 0xfffb
lea rcx, [rbx - 8]
mov r8b, r14b
mov dl, al
call fcn.1400372f0
cmp byte [rsi], 0x45
jne 0x14003a3b1
movzx eax, word [rbx]
test dil, al
je 0x14003a3b1
and ax, r13w
or ax, r12w
mov word [rbx], ax
mov r10d, 1
add rbx, 0x38
add rsi, r10
mov al, byte [rsi]
test al, al
jne 0x14003a38b
mov rdi, qword [rbp - 0x68]
mov r13, r15
mov r15, qword [rbp - 0x28]
xor ebx, ebx
mov r14d, dword [rsp + 0x58]
mov rdx, qword [rbp - 0x80]
mov r9b, byte [rbp + 0x138]
mov r8, qword [rsp + 0x70]
add r15, 0x24
movzx ecx, word [r15 - 0x1c]
test r10b, cl
je 0x14003a414
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
add r14d, r10d
mov dword [r15], eax
mov dword [rsp + 0x58], r14d
jmp 0x14003a585
test cl, 0x24
je 0x14003a4f2
mov r8, qword [r15 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14003a42c
not rdx
add r14d, r10d
mov dword [rsp + 0x58], r14d
cmp rdx, 0x7f
ja 0x14003a462
mov rax, r8
and rax, r10
cmp rax, r8
jne 0x14003a457
mov eax, 4
cmp r9b, al
jb 0x14003a457
lea eax, [rdx + 8]
jmp 0x14003a4ea
add r13, r10
mov eax, r10d
jmp 0x14003a4ea
cmp rdx, 0x7fff
ja 0x14003a472
mov eax, 2
jmp 0x14003a494
cmp rdx, 0x7fffff
ja 0x14003a486
add r13, 3
mov eax, 3
jmp 0x14003a4ea
cmp rdx, 0x7fffffff
ja 0x14003a499
mov eax, 4
add r13, rax
jmp 0x14003a4ea
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14003a4b3
add r13, 6
mov eax, 5
jmp 0x14003a4ea
mov edx, 8
add r13, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x14003a4e5
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r15 - 0x1c], cx
movsd qword [r15 - 0x24], xmm0
jmp 0x14003a4ea
mov eax, 6
mov dword [r15], eax
jmp 0x14003a581
mov eax, 8
test al, cl
je 0x14003a510
add r14d, r10d
add r13, rax
mov dword [rsp + 0x58], r14d
mov eax, 7
mov dword [r15], eax
jmp 0x14003a585
mov esi, dword [r15 - 0x18]
mov eax, ecx
shr eax, 1
and eax, r10d
bt cx, 0xe
lea r14d, [rsi + 6]
lea r14d, [rax + r14*2]
jae 0x14003a55c
lea rbx, [r15 - 0x24]
movsxd rax, dword [rbx]
lea r14d, [r14 + rax*2]
test r13, r13
je 0x14003a552
mov rcx, rbx
call fcn.14003027c
test eax, eax
jne 0x14003a16a
add esi, dword [rbx]
lea r10d, [rax + 1]
jmp 0x14003a55a
add r8, rax
mov qword [rsp + 0x70], r8
xor ebx, ebx
mov eax, esi
mov ecx, r10d
add r13, rax
mov eax, r14d
jmp 0x14003a56c
add ecx, r10d
shr rax, 7
test rax, rax
jne 0x14003a569
add dword [rsp + 0x58], ecx
mov dword [r15], r14d
mov r14d, dword [rsp + 0x58]
mov rdx, qword [rbp - 0x80]
lea rax, [r15 - 0x24]
cmp rax, rdx
je 0x14003a5a3
mov r9b, byte [rbp + 0x138]
sub r15, 0x38
mov r8, qword [rsp + 0x70]
jmp 0x14003a3ea
cmp r14d, 0x7e
jg 0x14003a5ae
add r14d, r10d
jmp 0x14003a5cf
movsxd rcx, r14d
call fcn.140019cf0
add r14d, eax
mov ebx, eax
movsxd rcx, r14d
mov dword [rsp + 0x58], r14d
call fcn.140019cf0
cmp ebx, eax
jge 0x14003a5d4
inc r14d
mov dword [rsp + 0x58], r14d
mov r15, qword [rsp + 0x70]
movsxd rsi, r14d
mov r14, qword [rbp + 0x58]
lea rbx, [rsi + r13]
movsxd rax, dword [r14 + 0x20]
lea rcx, [rbx + r15]
cmp rcx, rax
jg 0x14003a5fb
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
jmp 0x14003a61f
mov r10, qword [rsp + 0x50]
movsxd rax, dword [r10 + 0x7c]
cmp rcx, rax
jg 0x1400396a8
mov edx, ebx
mov rcx, r14
call fcn.1400301a8
test eax, eax
jne 0x14003a16a
mov dword [r14 + 0xc], ebx
mov eax, 0x10
mov word [r14 + 8], ax
test r15, r15
je 0x14003a63f
mov eax, 0x4010
mov dword [r14], r15d
mov word [r14 + 8], ax
mov rbx, qword [r14 + 0x10]
mov r12d, Ordinal_133
mov eax, dword [rsp + 0x58]
lea r14, [rbx + rsi]
cmp eax, r12d
jae 0x14003a65f
mov byte [rbx], al
lea eax, [r12 - 0x7f]
jmp 0x14003a66a
mov rdx, rsi
mov rcx, rbx
call fcn.140019a8c
mov r15, qword [rbp - 0x80]
mov r13, qword [rbp - 0x28]
movzx eax, al
add rbx, rax
mov esi, dword [r15 + 0x24]
cmp esi, r12d
jae 0x14003a68b
mov byte [rbx], sil
mov eax, 1
jmp 0x14003a696
mov rdx, rsi
mov rcx, rbx
call fcn.140019a8c
movzx eax, al
mov r8d, esi
mov rdx, r15
mov rcx, r14
add rbx, rax
call fcn.1400342e8
mov eax, eax
add r15, 0x38
add r14, rax
cmp r15, r13
jbe 0x14003a678
mov rdi, qword [rbp - 0x68]
mov r12d, dword [rsp + 0x40]
jmp 0x140037b40
movsxd rax, dword [rdi + 4]
mov rsi, qword [rdi + 0x10]
imul rbx, rax, 0x38
mov al, byte [rsi]
add rbx, r10
mov r8b, r14b
mov dl, al
mov rcx, rbx
call fcn.1400372f0
cmp byte [rsi], 0x45
jne 0x14003a73a
movzx ecx, word [rbx + 8]
mov eax, 4
test al, cl
je 0x14003a73a
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x14003a723
and cx, ax
or cx, 0x20
jmp 0x14003a736
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
add rsi, r13
mov al, byte [rsi]
test al, al
je 0x140037e6e
add rbx, 0x38
jmp 0x14003a6d7
movsxd rbx, dword [rdi + 4]
mov r8d, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
shl rbx, 5
add rbx, qword [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002e5a8
mov r12d, eax
mov dword [rsp + 0x40], eax
mov r8d, 2
cmp dword [rdi + 8], r13d
jne 0x14003a78b
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdi + 0xc]
mov dword [rcx], eax
or dword [r15 + 0x2c], r13d
jmp 0x14003a79b
cmp dword [rdi + 8], r8d
jne 0x14003a79b
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rdi + 4], r13d
jne 0x14003a7d3
mov rcx, qword [r15 + 8]
jmp 0x14003a7bd
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, r13d
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x14003a7a7
mov r11, qword [rbp + 0x120]
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x14003a7da
mov r11, qword [rbp + 0x120]
test r12d, r12d
jne 0x14003774f
mov r10, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
jmp 0x1400375cf
mov ecx, ebx
sub ecx, 0x60
je 0x14003a9ff
sub ecx, 1
je 0x14003aa1c
sub ecx, 1
je 0x14003aa1c
sub ecx, 1
je 0x14003a8e7
sub ecx, 1
je 0x14003a8e7
sub ecx, 1
je 0x14003a8e7
sub ecx, 1
je 0x14003a8e7
sub ecx, 1
je 0x14003a841
cmp ecx, 1
jne 0x1400375cf
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
add rsi, r10
mov rcx, rsi
call fcn.140037424
movsxd rcx, dword [rdi + 8]
movzx ebx, ax
imul r14, rcx, 0x38
add r14, qword [rsp + 0x48]
mov rcx, r14
call fcn.140037424
movsxd rcx, dword [rdi + 0xc]
and al, bl
mov r10, qword [rsp + 0x48]
mov edx, 4
imul r15, rcx, 0x38
movzx ecx, word [r14 + 8]
or cx, word [rsi + 8]
add r15, r10
test dl, al
je 0x14003af59
movzx ecx, byte [rdi]
mov rdx, qword [r14]
mov r8, qword [rsi]
mov qword [rbp - 0x10], rdx
sub ecx, 0x67
je 0x14003aef7
sub ecx, 1
je 0x14003aee5
sub ecx, 1
je 0x14003aed7
cmp ecx, 1
je 0x14003aeab
test r8, r8
je 0x14003b03a
cmp r8, 0xffffffffffffffff
mov rax, rdx
cqo
cmove r8, r13
idiv r8
mov qword [rbp - 0x10], rdx
jmp 0x14003af38
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add rsi, r10
imul r14, rax, 0x38
add rcx, r10
add r14, r10
mov al, byte [rcx + 8]
or al, byte [rsi + 8]
test r13b, al
je 0x14003a936
mov eax, 0x2400
test word [r14 + 8], ax
je 0x14003a92c
mov rcx, r14
call fcn.140030538
jmp 0x14003787f
mov word [r14 + 8], r13w
jmp 0x1400391e3
call fcn.140030634
mov rcx, rsi
mov rbx, rax
call fcn.140030634
mov r8b, byte [rdi]
mov rdx, rax
cmp r8b, 0x63
jne 0x14003a95a
and rbx, rax
jmp 0x14003a9dd
cmp r8b, 0x64
jne 0x14003a965
or rbx, rdx
jmp 0x14003a9dd
xor eax, eax
test rdx, rdx
je 0x14003a9dd
jns 0x14003a991
mov rcx, rdx
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
cmp rax, 0xffffffffffffffc0
mov edx, 0x40
cmovg rdx, rcx
xor eax, eax
cmp rdx, 0x40
jl 0x14003a9ad
test rbx, rbx
jns 0x14003a9a8
cmp r8b, 0x65
je 0x14003a9a8
or rbx, 0xffffffffffffffff
jmp 0x14003a9dd
mov rbx, rax
jmp 0x14003a9dd
mov rcx, rdx
cmp r8b, 0x65
jne 0x14003a9be
shl rbx, cl
mov r8, rbx
jmp 0x14003a9da
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14003a9da
mov ecx, 0x40
sub cl, dl
or rdx, 0xffffffffffffffff
shl rdx, cl
or r8, rdx
mov rbx, r8
movzx eax, word [r14 + 8]
mov ecx, 0x3e40
and ax, cx
mov qword [r14], rbx
mov ecx, 4
or ax, cx
mov word [r14 + 8], ax
jmp 0x14003801a
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rsi, qword [rax + rcx*8]
test rsi, rsi
je 0x14003aa1c
mov eax, dword [rdi + 8]
cmp dword [rsi + 0x4c], eax
je 0x14003ab8e
mov eax, dword [r11 + 0xc8]
and al, 3
cmp al, r13b
je 0x14003cf0b
movsxd r12, dword [rdi + 0xc]
xor r9d, r9d
mov r10, qword [rsp + 0x50]
mov rax, r12
movsxd r15, dword [rdi + 8]
mov esi, r9d
shl rax, 5
mov r13d, r9d
add rax, qword [r10 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x138], rcx
cmp bl, 0x62
jne 0x14003aa85
mov rax, qword [rax + 0x18]
movzx r14d, word [rdi + 2]
and r14d, 8
or r14d, 4
mov cl, byte [rax + 0x70]
cmp cl, byte [r11 + 0xc3]
jae 0x14003aa88
mov byte [r11 + 0xc3], cl
jmp 0x14003aa88
mov r14d, r9d
mov eax, 0x10
test byte [rdi + 2], al
je 0x14003aaad
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140030748
mov r11, qword [rbp + 0x120]
mov r15d, dword [rbx]
mov al, byte [rdi + 1]
cmp al, 0xf7
jne 0x14003aabf
mov r13, qword [rdi + 0x10]
movzx esi, word [r13 + 8]
jmp 0x14003aac6
cmp al, 0xfd
jne 0x14003aac6
mov esi, dword [rdi + 0x10]
mov edx, dword [rdi + 4]
xor ebx, ebx
mov r9d, r12d
mov byte [rsp + 0x20], bl
mov r8d, esi
mov rcx, r11
call fcn.140037124
mov rsi, rax
test rax, rax
je 0x14003a16a
lea ecx, [rbx + 1]
mov dword [rsi + 0x4c], r15d
mov byte [rax + 2], cl
lea eax, [rbx + 4]
or dword [rsi + 8], eax
mov rax, qword [rsi + 0x38]
cmp r15d, ecx
jge 0x14003ab38
lea rax, [0x14011a574]
mov r9d, 0x108ea
lea r14d, [rbx + 0xb]
mov qword [rsp + 0x20], rax
mov ecx, r14d
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140018614
mov r12d, r14d
mov dword [rsp + 0x40], r14d
jmp 0x14003ab59
mov rcx, qword [rbp + 0x138]
mov r9, r13
mov r8d, r14d
mov qword [rsp + 0x20], rax
mov edx, r15d
call fcn.140028b00
mov r12d, eax
mov dword [rsp + 0x40], eax
mov r11, qword [rbp + 0x120]
mov r15, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov r9d, dword [rsp + 0x30]
mov qword [rsi + 0x40], r13
mov r13d, 1
cmp byte [rdi + 1], 0xf7
setne al
mov byte [rsi + 4], al
lea r8d, [r13 + 1]
mov cl, byte [rdi + 2]
mov rax, qword [rsi + 0x38]
and cl, 3
mov byte [rax + 3], cl
test r12d, r12d
jne 0x14003774f
mov rsi, qword [rsp + 0x38]
jmp 0x1400375cf
cmp ebx, 0x74
ja 0x14003b392
je 0x14003b353
cmp ebx, 0x6f
ja 0x14003b05d
je 0x14003b1c6
sub ebx, 0x6a
je 0x14003a841
sub ebx, 1
je 0x14003a841
sub ebx, 1
je 0x14003acec
sub ebx, 1
je 0x14003ac60
cmp ebx, 1
jne 0x140038236
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rsi, r10
mov eax, 0x2400
add rbx, r10
test word [rbx + 8], ax
je 0x14003ac3a
mov rcx, rbx
call fcn.140030538
mov r11, qword [rbp + 0x120]
mov ecx, 4
mov r10, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
lea r8d, [rcx - 2]
jmp 0x14003ac3f
mov word [rbx + 8], r13w
test byte [rsi + 8], r13b
jne 0x14003c59e
mov word [rbx + 8], cx
mov rcx, rsi
call fcn.140030634
not rax
mov qword [rbx], rax
jmp 0x140037e6e
movsxd rcx, dword [rdi + 8]
xor r12d, r12d
mov rax, qword [r11 + 0x78]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], r12b
mov rbx, qword [rax + rcx*8]
mov rcx, r11
movsx r8d, word [rbx + 0x50]
call fcn.140037124
mov r10, rax
test rax, rax
je 0x14003a16a
mov r8d, dword [rax + 8]
mov byte [rax + 2], r13b
or r8d, r13d
mov dword [rax + 8], r8d
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
lea ecx, [r12 + 4]
mov edx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], edx
mov eax, r8d
xor eax, dword [rbx + 8]
and eax, ecx
xor eax, r8d
mov r8d, ecx
mov dword [r10 + 8], eax
mov rax, qword [r10 + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140028be8
mov r12d, eax
mov dword [rsp + 0x40], eax
jmp 0x140037ce6
movsxd rax, dword [rdi + 4]
imul r13, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r13, r10
imul r14, rax, 0x38
movzx r15d, word [r13 + 8]
add rbx, r10
mov al, r15b
add r14, r10
or al, byte [rbx + 8]
test al, 1
je 0x14003ad2f
mov rcx, r14
call fcn.140030990
mov r13d, 1
jmp 0x140037c97
test r15b, 0x12
jne 0x14003ad48
mov dl, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
xor r8d, r8d
mov rcx, r13
call fcn.1400302e0
jmp 0x14003ad5b
mov eax, 0x4000
test ax, r15w
je 0x14003ad76
mov rcx, r13
call fcn.14003027c
test eax, eax
jne 0x14003a16a
movzx r15d, word [r13 + 8]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x4000
movzx esi, word [rbx + 8]
test sil, 0x12
jne 0x14003adaa
mov dl, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
xor r8d, r8d
mov rcx, rbx
call fcn.1400302e0
xor r8d, r8d
test eax, eax
jne 0x14003a16a
movzx esi, word [rbx + 8]
mov eax, 0xfffd
and si, ax
jmp 0x14003adbc
test ax, si
je 0x14003adb9
mov rcx, rbx
call fcn.14003027c
jmp 0x14003ad91
xor r8d, r8d
mov r10, qword [rsp + 0x50]
mov edx, dword [r13 + 0xc]
add edx, dword [rbx + 0xc]
mov dword [rbp + 0x138], edx
cmp edx, dword [r10 + 0x7c]
jg 0x1400396a8
cmp r14, rbx
mov rcx, r14
sete r8b
add edx, 3
call fcn.140030050
test eax, eax
jne 0x14003a16a
movzx eax, word [r14 + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 2
mov word [r14 + 8], ax
cmp r14, rbx
je 0x14003ae22
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [r14 + 0x10]
call fcn.1400c5c20
mov word [rbx + 8], si
movsxd rcx, dword [rbx + 0xc]
add rcx, qword [r14 + 0x10]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
call fcn.1400c5c20
movsxd r9, dword [rbp + 0x138]
xor ebx, ebx
mov word [r13 + 8], r15w
mov r8, r9
mov rax, qword [r14 + 0x10]
mov edx, ebx
lea r13d, [rbx + 1]
mov byte [r9 + rax], bl
lea r9d, [rbx + 2]
mov rcx, qword [r14 + 0x10]
add rcx, rdx
add rdx, r13
mov byte [rcx + r8 + 1], bl
cmp rdx, r9
jl 0x14003ae5a
mov r9d, dword [rbp + 0x138]
mov eax, 0x200
or word [r14 + 8], ax
mov al, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov r11, qword [rbp + 0x120]
mov r15, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
mov byte [r14 + 0xa], al
mov dword [r14 + 0xc], r9d
mov r14b, al
jmp 0x140037897
test r8, r8
je 0x14003b03a
cmp r8, 0xffffffffffffffff
jne 0x14003aecd
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14003af62
mov rax, rdx
cqo
idiv r8
jmp 0x14003af34
mov rdx, r8
lea rcx, [rbp - 0x10]
call fcn.140019e80
jmp 0x14003aef1
mov rdx, r8
lea rcx, [rbp - 0x10]
call fcn.140019e50
test eax, eax
jne 0x14003af62
jmp 0x14003af38
test r8, r8
js 0x14003af15
test rdx, rdx
jle 0x14003af30
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x14003af30
jmp 0x14003af62
test rdx, rdx
jns 0x14003af30
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x14003af62
lea rax, [rdx + r8]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov ecx, 0x3e40
mov qword [r15], rax
movzx eax, word [r15 + 8]
and ax, cx
mov ecx, 4
or ax, cx
jmp 0x14003b026
test r13b, cl
jne 0x14003b03a
mov rcx, rsi
call fcn.14003068c
mov rcx, r14
movaps xmm6, xmm0
call fcn.14003068c
movzx edx, byte [rdi]
sub edx, 0x67
je 0x14003afdb
sub edx, 1
je 0x14003afd5
sub edx, 1
je 0x14003afcf
cmp edx, 1
je 0x14003afc3
mov rcx, rsi
call fcn.140030634
mov rcx, r14
mov rbx, rax
call fcn.140030634
mov qword [rbp - 0x10], rax
test rbx, rbx
je 0x14003b035
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14003afdf
ucomisd xmm6, xmm7
je 0x14003b035
divsd xmm0, xmm6
jmp 0x14003afdf
mulsd xmm0, xmm6
jmp 0x14003afdf
subsd xmm0, xmm6
jmp 0x14003afdf
addsd xmm0, xmm6
movq rax, xmm0
movabs rcx, 0xfffffffffffff
test rcx, rax
movabs rdx, 0x7ff0000000000000
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x14003b035
movzx eax, word [r15 + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [r15], xmm0
or ax, 8
mov ecx, 4
mov word [r15 + 8], ax
mov r15, qword [rsp + 0x50]
jmp 0x14003801a
mov r10, qword [rsp + 0x48]
mov eax, 0x2400
test word [r15 + 8], ax
je 0x14003b053
mov rcx, r15
call fcn.140030538
jmp 0x140037b46
mov word [r15 + 8], r13w
jmp 0x140039c27
sub ebx, 0x70
je 0x14003b1c6
sub ebx, 1
je 0x14003b0d5
sub ebx, 1
je 0x14003b099
cmp ebx, 1
jne 0x140038236
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
jmp 0x140038e6a
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r11
mov byte [rsp + 0x20], r13b
call fcn.140037124
test rax, rax
je 0x14003a16a
mov rcx, qword [rdi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, r15
mov edx, dword [rdi + 0xc]
call fcn.14003e074
jmp 0x140037cd7
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov rdx, qword [rdi + 0x10]
mov rbx, rax
xor eax, eax
test rdx, rdx
jne 0x14003b0f2
mov ecx, eax
jmp 0x14003b104
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], al
jne 0x14003b0f6
and ecx, 0x3fffffff
mov dword [rdi + 4], ecx
cmp r14b, r13b
je 0x14003b187
mov r9b, r13b
mov qword [rsp + 0x20], rax
or r8d, 0xffffffff
mov rcx, rbx
call fcn.140030d30
mov r12d, eax
mov dword [rsp + 0x40], eax
xor eax, eax
test r12d, r12d
jne 0x1400396a8
lea ecx, [rax + 2]
test byte [rbx + 8], cl
je 0x14003b155
cmp byte [rbx + 0xa], r14b
je 0x14003b155
mov dl, r14b
mov rcx, rbx
call fcn.1400188c4
test eax, eax
jne 0x14003a16a
xor eax, eax
mov dword [rbx + 0x20], eax
mov eax, 0x800
or word [rbx + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x14003b173
mov rdx, qword [rdi + 0x10]
mov rcx, r15
call fcn.1400166fc
mov byte [rdi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov ecx, eax
mov dword [rdi + 4], eax
cmp ecx, dword [r15 + 0x7c]
jg 0x1400396a8
mov r11, qword [rbp + 0x120]
mov byte [rdi], Ordinal_73
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov ecx, 0xa02
mov word [rax + 8], cx
mov rcx, qword [rdi + 0x10]
mov qword [rax + 0x10], rcx
mov ecx, dword [rdi + 4]
mov dword [rax + 0xc], ecx
mov byte [rax + 0xa], r14b
jmp 0x140037ce6
movsxd rdx, dword [rdi + 4]
xor ecx, ecx
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14003b204
mov qword [rbx + 0x18], rcx
mov dword [rbx + 0x28], ecx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14003b341
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.14002e2cc
mov r12d, eax
mov dword [rsp + 0x40], eax
jmp 0x14003b32a
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov byte [rsp + 0x20], cl
mov rcx, r11
call fcn.140037124
mov rbx, rax
test rax, rax
je 0x14003a16a
or dword [rax + 8], r13d
lea rsi, [rax + 0x10]
movzx ecx, word [rdi + 2]
mov r9, rsi
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov r8, r15
mov rcx, qword [r15]
xor edx, edx
call fcn.1400270d4
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003b30a
mov rcx, qword [rsi]
xor r8d, r8d
mov edx, r13d
call fcn.140027ac8
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003b30a
mov r15, qword [rdi + 0x10]
lea r14, [rbx + 0x4c]
mov rcx, qword [rsi]
mov qword [rbx + 0x40], r15
test r15, r15
je 0x14003b2d8
movzx r8d, word [rdi + 2]
mov rdx, r14
or r8d, 2
call fcn.14002e0e0
mov r12d, eax
mov dword [rsp + 0x40], eax
xor eax, eax
test r12d, r12d
jne 0x14003b2d3
mov rax, qword [rbx + 0x38]
lea r8d, [r12 + 4]
mov edx, dword [r14]
mov r9, r15
mov rcx, qword [rsi]
mov qword [rsp + 0x20], rax
call fcn.140028be8
mov r12d, eax
mov dword [rsp + 0x40], eax
xor eax, eax
mov byte [rbx + 4], al
jmp 0x14003b2fe
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov edx, r13d
mov dword [r14], r13d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.140028be8
mov r12d, eax
mov dword [rsp + 0x40], eax
mov byte [rbx + 4], r13b
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov r15, qword [rsp + 0x50]
movzx eax, word [rdi + 2]
mov rsi, qword [rsp + 0x38]
sub ax, 8
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, 4
or ecx, eax
mov dword [rbx + 8], ecx
mov r9d, dword [rsp + 0x30]
mov r8d, 2
mov r10, qword [rsp + 0x48]
mov r11, qword [rbp + 0x120]
test r12d, r12d
jne 0x14003774f
mov byte [rbx + 2], r13b
jmp 0x1400375cf
mov r8d, dword [rdi + 0xc]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r11
mov byte [rsp + 0x20], 3
call fcn.140037124
test rax, rax
je 0x14003a16a
mov byte [rax + 2], r13b
mov ecx, dword [rdi + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x140165c08]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r13b
jmp 0x140037ce6
sub ebx, 0x75
je 0x14003b887
sub ebx, r8d
je 0x14003b867
sub ebx, 1
je 0x14003b82d
sub ebx, 1
je 0x14003b666
sub ebx, 1
je 0x14003b555
sub ebx, 1
je 0x14003b47e
sub ebx, 1
je 0x14003b467
sub ebx, 1
je 0x14003b427
cmp ebx, 1
jne 0x140038236
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rdx, r10
mov rcx, qword [rax + rcx*8]
call fcn.14003f544
xor ebx, ebx
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
movsxd rcx, dword [rdi + 0xc]
mov r11, qword [rbp + 0x120]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], ebx
jmp 0x140037ced
mov rax, qword [r11 + 0x78]
lea r9, [rbp - 4]
movsxd rcx, dword [rdi + 4]
xor ebx, ebx
mov r8d, dword [rdi + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdx, rax, 0x38
mov dword [rbp - 4], ebx
add rdx, r10
call fcn.14003f5f8
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
cmp dword [rbp - 4], ebx
jmp 0x140038125
mov eax, dword [r11 + 0x3c]
add dword [r15 + 0x78], eax
xor ebx, ebx
mov dword [r15 + 0x74], eax
mov dword [r11 + 0x3c], ebx
jmp 0x140038236
movsxd rcx, dword [rdi + 4]
lea rsi, [r15 + 0x120]
mov rax, qword [r11 + 0x78]
xor edx, edx
cmp byte [rdi + 1], 0xfa
mov r13d, dword [rdi + 8]
mov rbx, qword [rax + rcx*8]
jne 0x14003b4d1
cmp qword [rsi], rdx
je 0x14003b4d1
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov r14, qword [rdi + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
test byte [rdi + 2], r8b
je 0x14003b4d7
cmp byte [rbx + 4], dl
je 0x14003b4d7
mov rcx, qword [rbx + 0x38]
call fcn.140028cc8
mov qword [rbx + 0x58], rax
jmp 0x14003b4d7
mov r15, rdx
mov r14, rdx
mov dl, byte [rdi + 2]
mov rcx, qword [rbx + 0x38]
call fcn.14002da80
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov qword [rbx + 0x28], r10
mov r12d, eax
test eax, eax
jne 0x14003cd9c
mov r11, qword [rbp + 0x120]
test r13b, 1
lea r13d, [rax + 1]
je 0x140037b4d
add dword [r11 + 0x3c], r13d
mov r10, qword [rsi]
test r10, r10
je 0x140037b4d
lea eax, [r12 + 0x20]
test byte [r14 + 0x40], al
jne 0x140037b4d
mov rax, qword [rbx + 0x58]
lea edx, [r12 + 9]
mov r9, qword [r14]
mov r8, r15
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov rcx, qword [r15 + 0x118]
call r10
jmp 0x14003787f
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rdx, r10
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r10]
xor ecx, ecx
cmp byte [rdi + 1], 0xfa
mov qword [rbp - 0x58], r8
jne 0x14003b5a6
cmp qword [r15 + 0x120], rcx
je 0x14003b5a6
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rsi, qword [rdi + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax]
xor ecx, ecx
jmp 0x14003b5ac
mov rsi, rcx
mov r14, rcx
test byte [rdi + 2], r13b
je 0x14003b5b6
add dword [r11 + 0x3c], r13d
mov eax, Ordinal_36
test byte [rdi + 2], al
je 0x14003b5c4
mov qword [r15 + 0x38], r8
mov rax, qword [rdx + 0x10]
movzx r8d, word [rdi + 2]
mov qword [rbp - 0x50], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp - 0x3c], eax
mov eax, 0x10
test al, r8b
je 0x14003b5e7
mov r9d, dword [rbx + 0x2c]
jmp 0x14003b5ea
mov r9d, ecx
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14003b5fc
mov eax, dword [rdx]
mov dword [rbp - 0x38], eax
jmp 0x14003b5ff
mov dword [rbp - 0x38], ecx
mov qword [rbp - 0x60], rcx
lea rdx, [rbp - 0x60]
mov rcx, qword [rbx + 0x38]
and r8d, 0xa
call fcn.14002d678
mov r12d, eax
mov dword [rsp + 0x40], eax
xor eax, eax
mov byte [rbx + 3], al
mov dword [rbx + 0x28], eax
test r12d, r12d
jne 0x14003774f
test rsi, rsi
je 0x14003787f
mov al, byte [rdi + 2]
mov r8, r14
mov r9, qword [rsi]
and al, 4
mov rcx, qword [r15 + 0x118]
neg al
mov rax, qword [rbp - 0x58]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r15 + pe_nt_image_headers64]
jmp 0x14003787f
xor ebx, ebx
mov rdx, rdi
mov rcx, r11
mov qword [rsp + 0x70], rbx
mov dword [rbp + 0x138], ebx
call fcn.140037468
movsxd rdx, dword [rdi + 4]
lea r8d, [rbx + 2]
mov r14, rax
mov rax, qword [rbp + 0x120]
mov rcx, qword [rax + 0x78]
mov rsi, qword [rcx + rdx*8]
test byte [rsi + 8], r8b
jne 0x14003b70a
mov rcx, qword [rsi + 0x38]
lea rdx, [rbp + 0x138]
call fcn.1400295a0
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
cmp dword [rbp + 0x138], ebx
je 0x14003b6cc
mov qword [rsp + 0x70], r13
jmp 0x14003b6fd
mov rcx, qword [rsi + 0x38]
call fcn.140028cc8
movabs rcx, 0x7fffffffffffffff
mov qword [rsp + 0x70], rax
cmp rax, rcx
jl 0x14003b6f5
mov r8d, 2
or dword [rsi + 8], r8d
jmp 0x14003b703
add rax, r13
mov qword [rsp + 0x70], rax
mov r8d, 2
mov rax, qword [rbp + 0x120]
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x14003b78a
mov rcx, qword [rax + 0x100]
test rcx, rcx
je 0x14003b73a
mov rax, qword [rcx + 8]
jmp 0x14003b72b
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003b724
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x14003b743
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140030748
mov rax, qword [rbx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14003cf16
mov r8d, 2
test byte [rsi + 8], r8b
jne 0x14003cf16
mov rcx, qword [rsp + 0x70]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rsp + 0x70], rcx
mov qword [rbx], rcx
xor ebx, ebx
test byte [rsi + 8], r8b
je 0x14003b805
lea rdx, [rsp + 0x70]
mov ecx, 8
call fcn.1400186e4
mov r8, qword [rsp + 0x70]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
add r8, r13
lea rax, [rbp + 0x138]
mov qword [rsp + 0x70], r8
xor edx, edx
mov rcx, qword [rsi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.140029608
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
cmp dword [rbp + 0x138], r10d
jne 0x14003b7ff
add ebx, r13d
cmp ebx, 0x64
jl 0x14003b790
lea r12d, [rax + 0xd]
jmp 0x14003cd9c
mov r8d, 2
mov r11, qword [rbp + 0x120]
xor ebx, ebx
mov byte [rsi + 3], bl
mov dword [rsi + 0x28], ebx
mov rax, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x38]
mov qword [r14], rax
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
jmp 0x14003a7e3
mov rdx, rdi
mov rcx, r11
call fcn.140037468
movsxd rdx, dword [rdi + 4]
mov r11, qword [rbp + 0x120]
mov rcx, qword [r11 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r13
jmp 0x140037ced
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdi + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp 0x1400375cf
movsxd rax, dword [rdi + 4]
mov rcx, r11
mov rdx, qword [r11 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.1400330b8
mov r11, qword [rbp + 0x120]
xor r9d, r9d
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov qword [rax + rcx*8], r9
jmp 0x140037ced
mov rdx, rdi
mov rcx, r11
call fcn.140037468
movsxd rdx, dword [rdi + 4]
mov rsi, rax
mov rax, qword [rbp + 0x120]
mov rcx, qword [rax + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x38]
mov rcx, rbx
call fcn.140028c78
mov r8d, dword [rbx + 0x40]
cmp r8d, dword [r15 + 0x7c]
ja 0x1400396a8
mov r9, rsi
xor edx, edx
mov rcx, rbx
call fcn.1400310d8
xor ebx, ebx
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003774f
cmp dword [rdi + 0xc], ebx
jne 0x140037e6e
mov eax, 0x1000
test word [rsi + 8], ax
je 0x140037e6e
mov rcx, rsi
call fcn.140030224
test eax, eax
jne 0x14003a16a
jmp 0x140037e6e
mov edx, 0x94
cmp ebx, edx
ja 0x14003c221
je 0x14003c1fe
lea eax, [rdx - 0xa]
cmp ebx, eax
ja 0x14003beac
je 0x14003be73
lea eax, [rdx - 0xf]
cmp ebx, eax
ja 0x14003bc4e
je 0x14003bbc0
mov ecx, ebx
sub ecx, 0x80
je 0x14003baf1
sub ecx, 1
je 0x14003bac6
sub ecx, 1
je 0x14003ba59
sub ecx, 1
je 0x14003b99f
cmp ecx, 1
jne 0x1400375cf
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r10
test byte [rdi + 2], r13b
je 0x14003b9c0
add dword [r11 + 0x3c], r13d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003b9e6
mov rcx, rbx
call fcn.14003027c
xor r10d, r10d
mov r12d, eax
test eax, eax
jne 0x14003cd9c
mov r10, qword [rsp + 0x48]
cmp byte [rdi], 0x83
jne 0x14003b9f8
mov rdx, rbx
mov rcx, rsi
call fcn.14003eb5c
jmp 0x14003ba4d
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rdi + 2]
mov qword [rbp - 0x58], rax
mov rax, qword [rbx + 0x10]
xor ebx, ebx
mov qword [rbp - 0x60], rax
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rdi + 0x10]
add rcx, r10
mov word [rbp - 0x40], ax
mov eax, 0x10
mov qword [rbp - 0x48], rcx
test al, r8b
je 0x14003ba36
mov r9d, dword [rsi + 0x2c]
jmp 0x14003ba39
mov r9d, ebx
mov rcx, qword [rsi + 0x38]
lea rdx, [rbp - 0x60]
and r8d, 0xa
call fcn.14002d678
mov dword [rsi + 0x28], ebx
mov dword [rsp + 0x40], eax
mov r12d, eax
jmp 0x14003884c
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rsi, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rsi + 0x38]
mov dword [rbp - 0x1c], eax
cmp bl, 0x82
jne 0x14003ba83
or dword [rsi + 0x2c], 0xffffffff
xor ebx, ebx
cmp byte [rcx], bl
je 0x14003aba4
jmp 0x14003ba85
xor ebx, ebx
lea rdx, [rbp - 0x1c]
call fcn.1400295a0
mov r12d, eax
mov dword [rsp + 0x40], eax
mov al, byte [rbp - 0x1c]
mov byte [rsi + 2], al
mov byte [rsi + 3], bl
mov dword [rsi + 0x28], ebx
test r12d, r12d
jne 0x14003774f
mov rsi, qword [rsp + 0x38]
cmp dword [rdi + 8], ebx
jle 0x140037ce6
cmp dword [rbp - 0x1c], ebx
je 0x140037ce6
jmp 0x140038837
movsxd rcx, dword [rdi + 4]
xor ebx, ebx
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov byte [rcx + 2], r13b
mov dword [rcx + 0x28], ebx
cmp byte [rcx], bl
jne 0x1400375cf
mov rcx, qword [rcx + 0x38]
call fcn.140025a10
jmp 0x140037ce6
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov r11, qword [rbp + 0x120]
xor r9d, r9d
movsxd rdx, dword [rdi + 4]
mov rsi, rax
mov rcx, qword [r11 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r9b
je 0x14003bb25
mov word [rax + 8], r13w
jmp 0x140037e75
cmp byte [rbx + 3], r9b
je 0x14003bb34
mov rax, qword [rbx + 0x58]
jmp 0x14003bbb4
mov eax, 2
cmp byte [rbx], al
jne 0x14003bb7a
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x18]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov rcx, qword [rbp + 0x120]
mov rdx, rbx
mov r12d, eax
mov dword [rsp + 0x40], eax
call fcn.1400354ac
test r12d, r12d
jne 0x14003774f
mov rax, qword [rbp + 0x18]
mov r11, qword [rbp + 0x120]
jmp 0x14003bbb8
mov rcx, rbx
call fcn.140034274
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
cmp byte [rbx + 2], r10b
je 0x14003bba4
mov word [rsi + 8], r13w
jmp 0x140037e6e
mov rcx, qword [rbx + 0x38]
call fcn.140028cc8
mov r11, qword [rbp + 0x120]
mov qword [rbp + 0x18], rax
mov qword [rsi], rax
jmp 0x140037e75
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x60]
mov rax, qword [r11 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov rsi, qword [rbx + 0x38]
mov qword [rbp - 0x60], rax
movzx eax, word [rdi + 0xc]
mov word [rbp - 0x50], ax
xor eax, eax
mov byte [rbp - 0x4e], al
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x28]
add rcx, r10
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x58], rcx
mov rcx, rsi
call fcn.140029608
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
cmp dword [rbp + 0x28], r10d
jne 0x14003bc44
lea edx, [rax + 4]
mov rcx, rsi
call fcn.14002da80
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
and qword [rbx + 0x28], 0
jmp 0x140037e6e
sub ebx, 0x86
je 0x14003bd7f
sub ebx, 1
je 0x14003bd7f
sub ebx, 1
je 0x14003bce6
cmp ebx, 1
jne 0x140038236
mov eax, dword [rdi + 0xc]
xor ebx, ebx
mov rcx, qword [r15 + 0x20]
neg eax
mov edx, dword [rdi + 4]
lea rax, [rbp + 0x138]
sbb r8, r8
mov dword [rbp + 0x138], ebx
and r8, rax
movsxd rax, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002e2cc
mov r12d, eax
mov r11, qword [rbp + 0x120]
mov r10, qword [rsp + 0x48]
mov dword [rsp + 0x40], eax
cmp dword [rdi + 0xc], ebx
je 0x14003bcd8
movsxd rdx, dword [rbp + 0x138]
add dword [r11 + 0x3c], edx
cmp dword [rdi + 0xc], ebx
jle 0x14003bcd8
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r10], rdx
test r12d, r12d
jne 0x14003774f
jmp 0x140037897
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov rbx, rax
mov word [rax + 8], r13w
mov ecx, dword [r15 + 0xd8]
add ecx, r13d
cmp dword [r15 + 0xcc], ecx
jg 0x14003cf21
movsxd rsi, dword [rdi + 0xc]
lea r8, [rbp - 0x18]
mov edx, dword [rdi + 4]
xor eax, eax
mov dword [rbp - 0x18], eax
mov rcx, rsi
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14002e350
mov r12d, eax
mov dword [rsp + 0x40], eax
mov ecx, 4
mov word [rbx + 8], cx
movsxd rax, dword [rbp - 0x18]
mov qword [rbx], rax
test r12d, r12d
jne 0x14003774f
mov r8d, dword [rbp - 0x18]
test r8d, r8d
je 0x14003cb0c
mov r9d, dword [rdi + 4]
mov edx, esi
mov rcx, r15
call fcn.14004fe88
lea edx, [rsi + r13]
mov byte [rbp + 0x128], dl
jmp 0x140037e6e
mov rax, qword [r11 + 0x78]
xor r12d, r12d
movsxd rcx, dword [rdi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r12b
je 0x14003bdc8
mov rcx, rbx
call fcn.140034224
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
mov r11, qword [rbp + 0x120]
lea r8d, [rax + 2]
mov r10, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
jmp 0x14003bdcd
mov dword [rsp + 0x40], r12d
xor eax, eax
cmp byte [rbx + 2], al
jne 0x14003be4f
xor r9d, r9d
lea r8, [rbp + 0x20]
mov qword [rbp + 0x20], r9
mov rcx, r15
mov rdx, qword [rbx + 0x38]
call fcn.1400352b4
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
cmp byte [rdi], 0x86
jne 0x14003be37
movsxd rcx, dword [rdi + 0xc]
mov r11, qword [rbp + 0x120]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
xor eax, eax
mov byte [rdx + 2], al
mov rax, qword [rbp + 0x20]
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r13b
mov rax, qword [rdi + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x140037ced
mov rcx, qword [rbp + 0x120]
mov rdx, rdi
call fcn.140037468
mov rcx, qword [rbp + 0x20]
jmp 0x14003a2c0
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
jne 0x1400380fc
mov word [rcx + 8], r13w
jmp 0x1400375cf
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x38]
cmp byte [rdx], r13b
jne 0x14003be98
mov rdx, rcx
mov rcx, r15
call fcn.14003e274
jmp 0x140037ce6
mov edx, dword [rcx + 0x50]
xor r8d, r8d
mov rcx, qword [rcx + 8]
call fcn.14002e2cc
jmp 0x140037cd7
sub ebx, 0x8b
je 0x14003c1af
sub ebx, 1
je 0x14003c189
sub ebx, 1
je 0x14003c054
sub ebx, 1
je 0x14003c044
sub ebx, 1
je 0x14003c030
sub ebx, 1
je 0x14003c01c
sub ebx, 1
je 0x14003c008
sub ebx, 1
je 0x14003bf3d
cmp ebx, 1
jne 0x140038236
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
add rbx, r10
mov eax, 0x10
add rsi, r10
test byte [rbx + 8], al
jne 0x14003bf2c
mov rcx, rbx
call fcn.140030ac0
test eax, eax
jne 0x14003a16a
mov rdx, qword [rsi]
mov rcx, qword [rbx + 0x10]
call fcn.14001e2fc
jmp 0x140037e6e
movsxd rax, dword [rdi + 0xc]
lea r8, [rbp + 0x2c]
mov rcx, qword [r15 + 0x20]
mov rdx, qword [rdi + 0x10]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 4]
add rdx, 4
imul rbx, rax, 0x38
movzx eax, word [rdi + 2]
add rsi, r10
shl rax, 5
add rbx, r10
mov qword [rsp + 0x20], r8
mov r8d, dword [rdi + 8]
mov r9d, dword [rsi]
mov rcx, qword [rax + rcx + 8]
add r9d, r13d
call fcn.14002f1a0
mov r14, rax
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003bf9c
mov rcx, rbx
call fcn.140030538
jmp 0x14003bfa1
mov word [rbx + 8], r13w
mov eax, dword [rbp + 0x2c]
test eax, eax
je 0x14003bfd7
test r14, r14
je 0x14003a16a
dec eax
mov r9b, r13b
movsxd rcx, eax
or r8d, 0xffffffff
sub qword [rsi], rcx
lea rax, [fcn.14001663c]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, r14
call fcn.140030d30
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov r8d, 2
test byte [rbx + 8], r8b
je 0x14003cb22
cmp byte [rbx + 0xa], r14b
je 0x14003cb22
mov dl, r14b
mov rcx, rbx
call fcn.1400188c4
jmp 0x140037e6e
mov r8, qword [rdi + 0x10]
mov rcx, r15
mov edx, dword [rdi + 4]
call fcn.14006b5b4
jmp 0x140037ce6
mov r8, qword [rdi + 0x10]
mov rcx, r15
mov edx, dword [rdi + 4]
call fcn.14004d40c
jmp 0x140037ce6
mov r8, qword [rdi + 0x10]
mov rcx, r15
mov edx, dword [rdi + 4]
call fcn.14004d8e4
jmp 0x140037ce6
mov edx, dword [rdi + 4]
mov rcx, r15
call fcn.14004bdfc
jmp 0x140037cd7
mov rcx, qword [rdi + 0x10]
xor r12d, r12d
movsxd rbx, dword [rdi + 4]
test rcx, rcx
jne 0x14003c0b8
mov rcx, qword [r15 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140053b30
mov r8, qword [rbp + 0x120]
mov r9d, r13d
and dword [r15 + 0x2c], 0xffffffef
add r8, 0xa8
mov edx, ebx
mov rcx, r15
call fcn.140061268
mov r11, qword [rbp + 0x120]
mov r12d, eax
or dword [r15 + 0x2c], r13d
mov dword [rsp + 0x40], eax
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x14003c17b
mov r8, qword [r15 + 0x20]
lea rax, [r11 + 0xa8]
mov qword [rbp - 0x58], rax
lea r9, str.sqlite_master
mov qword [rbp - 0x60], r15
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp - 0x50], ebx
mov rax, rbx
shl rax, 5
mov dword [rbp - 0x48], r12d
mov qword [rsp + 0x20], rcx
mov rcx, r15
mov r8, qword [rax + r8]
call fcn.1400184a4
mov rbx, rax
test rax, rax
je 0x14003cf38
lea r9, [rbp - 0x60]
mov byte [r15 + 0xb5], r13b
lea r8, [fcn.140061064]
mov dword [rbp - 0x4c], r12d
mov rdx, rax
mov dword [rbp - 0x44], r12d
mov rcx, r15
mov qword [rsp + 0x20], r12
call fcn.14005cbfc
mov r12d, eax
mov dword [rsp + 0x40], eax
xor eax, eax
test r12d, r12d
jne 0x14003c160
mov r12d, dword [rbp - 0x4c]
mov dword [rsp + 0x40], r12d
test r12d, r12d
jne 0x14003c160
cmp dword [rbp - 0x44], eax
jne 0x14003c160
mov ecx, 0x15f51
call fcn.140083bd0
mov r12d, eax
mov dword [rsp + 0x40], eax
mov rdx, rbx
mov rcx, r15
call fcn.1400166bc
mov r11, qword [rbp + 0x120]
xor ebx, ebx
mov byte [r15 + 0xb5], bl
test r12d, r12d
jne 0x14003cf3e
jmp 0x140037ced
add byte [r15 + 0x6a], r13b
xor ebx, ebx
mov rdx, qword [rdi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rcx, r15
call fcn.14005cbfc
dec byte [r15 + 0x6a]
jmp 0x140037cd7
mov rdx, rdi
mov rcx, r11
call fcn.140037468
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov rcx, qword [r15 + 0x20]
xor eax, eax
mov r8d, dword [rdi + 0xc]
shl rdx, 5
mov dword [rbp], eax
mov rcx, qword [rdx + rcx + 8]
lea rdx, [rbp]
call fcn.14002de68
xor r10d, r10d
mov dword [rsp + 0x40], eax
mov r12d, eax
test eax, eax
jne 0x14003cd9c
movsxd rax, dword [rbp]
mov qword [rbx], rax
jmp 0x140037ce6
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov ecx, 8
mov word [rax + 8], cx
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x140037ce6
mov edx, 0x9e
cmp ebx, edx
ja 0x14003c68b
je 0x14003c634
sub ebx, 0x95
je 0x14003c5e3
sub ebx, 1
je 0x14003c5a8
sub ebx, 1
je 0x14003c525
sub ebx, 1
je 0x14003c4c8
sub ebx, 1
je 0x14003c30c
sub ebx, 1
je 0x14003c30c
sub ebx, 1
je 0x14003c399
sub ebx, 1
je 0x14003c284
cmp ebx, 1
jne 0x140038236
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r10
mov rcx, rbx
cmp dword [rdi + 0xc], eax
je 0x14003c2c3
movsxd rax, dword [rdi + 0xc]
mov r8, qword [rdi + 0x10]
imul rdx, rax, 0x38
add rdx, r10
call fcn.1400304c4
mov r12d, eax
mov dword [rsp + 0x40], eax
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
jmp 0x14003c2d3
mov rdx, qword [rdi + 0x10]
call fcn.14003041c
mov r12d, eax
mov dword [rsp + 0x40], eax
test r12d, r12d
jne 0x14003cf6f
lea eax, [r12 + 2]
test byte [rbx + 8], al
je 0x14003c2f7
cmp byte [rbx + 0xa], r14b
je 0x14003c2f7
mov dl, r14b
mov rcx, rbx
call fcn.1400188c4
mov rcx, rbx
call fcn.140030ba8
test eax, eax
jne 0x1400396a8
jmp 0x140037ce6
movzx ebx, word [rdi + 2]
mov rcx, r15
lea rdx, [rbx*8 + 0x68]
call fcn.140016930
xor r11d, r11d
mov rdx, rax
test rax, rax
je 0x14003a16a
mov r14, qword [rsp + 0x38]
lea rcx, [rbx + 6]
mov r10, qword [rsp + 0x48]
lea rcx, [rax + rcx*8]
mov qword [rax], rcx
mov qword [rax + 0x10], r11
mov word [rcx + 8], r13w
mov qword [rcx + 0x28], r15
mov dword [rcx + 0x20], r11d
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov rax, rdi
sub rax, r14
mov byte [rdx + 0x28], r11b
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rax, rcx
mov dword [rdx + 0x24], r11d
mov dword [rdx + 0x20], eax
mov rax, qword [rbp + 0x120]
mov qword [rdx + 0x18], rax
mov byte [rdx + 0x29], bl
mov word [rdi], 0xf09b
mov qword [rdi + 0x10], rdx
jmp 0x14003c3a1
mov r14, qword [rsp + 0x38]
xor r11d, r11d
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rsp + 0x48]
imul rdx, rax, 0x38
add rdx, r10
cmp qword [rbx + 0x10], rdx
je 0x14003c400
movzx eax, byte [rbx + 0x29]
mov r8d, eax
mov qword [rbx + 0x10], rdx
sub r8, 1
lea r10d, [rax - 1]
js 0x14003c400
lea r9, [r8 + 6]
mov r15d, 8
lea r9, [rbx + r9*8]
mov eax, dword [rdi + 8]
add eax, r10d
sub r10d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r9], rcx
sub r9, r15
sub r8, r13
jns 0x14003c3de
mov r15, qword [rsp + 0x50]
add dword [rdx + 0xc], r13d
lea r8, [rbx + 0x30]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [rdi + 4], r11d
je 0x14003c41e
call qword [rax + 0x30]
jmp 0x14003c421
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14003787f
jle 0x14003c458
mov rcx, qword [rbx]
mov dl, r13b
call fcn.1400311e8
mov rcx, qword [rbp + 0x120]
lea rdx, [0x1401154b0]
mov r8, rax
call fcn.1400317a4
mov r12d, dword [rbx + 0x24]
mov dword [rsp + 0x40], r12d
xor eax, eax
cmp byte [rbx + 0x28], al
je 0x14003c495
cmp dword [rdi - 0x14], eax
je 0x14003c492
movsxd rax, dword [rdi - 0x14]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, rsi
test word [rcx + 8], ax
je 0x14003c484
mov rdx, r13
call fcn.1400309fc
jmp 0x14003c490
mov eax, 4
mov qword [rcx], r13
mov word [rcx + 8], ax
xor eax, eax
mov byte [rbx + 0x28], al
mov rcx, qword [rbx]
mov edx, 0x2400
test word [rcx + 8], dx
jne 0x14003c4a8
cmp dword [rcx + 0x20], eax
je 0x14003c4ad
call fcn.140030578
mov rax, qword [rbx]
mov word [rax + 8], r13w
xor eax, eax
mov dword [rbx + 0x24], eax
test r12d, r12d
jne 0x14003cefc
jmp 0x14003787f
movsxd rax, dword [rdi + 4]
mov rdx, rdi
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
mov rcx, r11
imul rsi, rax, 0x38
add rbx, r10
add rsi, r10
call fcn.140037468
mov r8, qword [rbx]
xor ebx, ebx
test r8, r8
jle 0x14003c519
mov rdx, qword [rsi]
test rdx, rdx
cmovle rdx, rbx
test rdx, rdx
js 0x14003c514
movabs rcx, 0x7fffffffffffffff
sub rcx, r8
cmp rcx, rdx
jl 0x14003c519
add r8, rdx
jmp 0x14003c51d
or r8, 0xffffffffffffffff
mov qword [rax], r8
jmp 0x140037e6e
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x14003c551
mov rax, qword [rcx + 8]
jmp 0x14003c53e
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003c537
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
add rsi, qword [rcx + 0x20]
jmp 0x14003c55c
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
add rsi, r10
mov rcx, rsi
call fcn.140030748
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140030748
mov rax, qword [rbx]
mov ecx, 4
mov r11, qword [rbp + 0x120]
mov r10, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
lea r8d, [rcx - 2]
cmp qword [rsi], rax
jge 0x14003c59e
mov qword [rsi], rax
mov rsi, qword [rsp + 0x38]
jmp 0x140038236
mov eax, dword [r15 + 0x30]
bt rax, 0x13
jae 0x14003c5c3
movsxd rax, dword [rdi + 8]
add qword [r15 + 0x290], rax
jmp 0x140038236
xor eax, eax
cmp dword [rdi + 4], eax
movsxd rax, dword [rdi + 8]
je 0x14003c5da
add qword [r15 + 0x288], rax
jmp 0x140038236
add qword [r11 + 0x50], rax
jmp 0x140038236
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov r15, qword [rbp + 0x120]
mov r9, qword [r15 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [rdi + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.140030c0c
mov r15, qword [rsp + 0x50]
jmp 0x140037ce6
xor ebx, ebx
cmp dword [rdi + 4], ebx
jne 0x14003c66f
mov rcx, qword [r15 + 8]
mov edx, dword [rdi + 8]
test rcx, rcx
je 0x1400375d4
inc edx
and edx, 3
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffc
or eax, edx
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x14003c650
jmp 0x1400375cf
mov eax, dword [rdi + 8]
add eax, r13d
xor eax, dword [r11 + 0xc8]
and eax, 3
xor dword [r11 + 0xc8], eax
jmp 0x140038236
sub ebx, 0xa0
je 0x14003caaa
sub ebx, 1
je 0x14003ca17
sub ebx, 1
je 0x14003c9f5
sub ebx, 1
je 0x14003c959
sub ebx, 1
je 0x14003c829
sub ebx, 1
je 0x14003c795
sub ebx, 1
je 0x14003c76d
sub ebx, 1
jne 0x140038f1d
mov rdx, rdi
mov rcx, r11
call fcn.140037468
movsxd rdx, dword [rdi + 4]
xor ebx, ebx
mov rcx, qword [r15 + 0x20]
mov r9, rax
mov r8d, dword [rdi + 0xc]
shl rdx, 5
mov rax, qword [rdx + rcx + 8]
mov edx, ebx
test r8d, r8d
je 0x14003c710
mov rcx, qword [rax + 8]
mov edx, dword [rcx + 0x3c]
cmp edx, r8d
cmovb edx, r8d
mov rax, qword [rax + 8]
mov rcx, qword [rax]
test edx, edx
jle 0x14003c721
mov dword [rcx + 0xc0], edx
movsxd rax, dword [rcx + 0xc0]
mov qword [r9], rax
jmp 0x140037ce6
mov rdx, qword [r15 + 0xf0]
mov r8, r11
mov ecx, r13d
call qword [r15 + 0xe8]
mov r11, qword [rbp + 0x120]
mov ecx, 4
mov r10, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
lea r8d, [rcx - 2]
jmp 0x140038fc4
mov r9d, dword [rsp + 0x30]
jmp 0x140038fc4
mov rdx, rdi
mov rcx, r11
call fcn.140037468
mov rcx, qword [r15 + 0x20]
movsxd rdx, dword [rdi + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x3c]
jmp 0x14003c219
mov esi, dword [r15 + 0x30]
mov eax, 0x4000000
or qword [r15 + 0x30], rax
and esi, eax
mov rax, qword [rdi + 0x10]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r10
test byte [rbx + 8], r8b
je 0x14003c7dc
cmp byte [rbx + 0xa], r13b
je 0x14003c7dc
mov dl, r13b
mov rcx, rbx
call fcn.1400188c4
xor r10d, r10d
mov r12d, eax
test eax, eax
jne 0x14003cd9c
mov rax, qword [r14]
mov rcx, r14
mov rdx, qword [rbx + 0x10]
call qword [rax + Ordinal_157]
mov dword [rsp + 0x40], eax
mov r12d, eax
test esi, esi
jne 0x14003c7fd
btr qword [r15 + 0x30], 0x1a
mov rcx, qword [rbp + 0x120]
mov rdx, r14
call fcn.1400354ac
mov r11, qword [rbp + 0x120]
and dword [r11 + 0xc8], 0xfffffffc
test r12d, r12d
jne 0x14003774f
jmp 0x140037886
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r10
cmp byte [rsi + 2], al
je 0x14003c869
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003c85f
mov rcx, rbx
call fcn.140030538
jmp 0x140037e6e
mov word [rbx + 8], r13w
jmp 0x14003aba4
mov rax, qword [rsi + 0x38]
xorps xmm0, xmm0
mov r14, qword [rax]
xor eax, eax
mov r15, qword [r14]
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x60], rbx
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x30], rax
movups xmmword [rbp - 0x40], xmm0
test byte [rdi + 2], r13b
je 0x14003c8b7
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003c8a7
mov rcx, rbx
call fcn.140030538
jmp 0x14003c8ac
mov word [rbx + 8], r13w
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x14003c8c7
movzx eax, word [rbx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, r13w
mov word [rbx + 8], ax
lea rdx, [rbp - 0x60]
mov r8d, dword [rdi + 8]
mov rcx, qword [rsi + 0x38]
call qword [r15 + reloc.WLDAP32.dll_Ordinal_88]
mov rcx, qword [rbp + 0x120]
mov rdx, r14
mov r12d, eax
mov dword [rsp + 0x40], eax
call fcn.1400354ac
xor eax, eax
cmp dword [rbp - 0x3c], eax
jle 0x14003c922
mov dl, r13b
mov rcx, rbx
call fcn.1400311e8
mov rcx, qword [rbp + 0x120]
lea rdx, [0x1401154b0]
mov r8, rax
call fcn.1400317a4
mov r12d, dword [rbp - 0x3c]
mov dword [rsp + 0x40], r12d
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
mov eax, 2
test byte [rbx + 8], al
je 0x14003c944
cmp byte [rbx + 0xa], r14b
je 0x14003c944
mov dl, r14b
mov rcx, rbx
call fcn.1400188c4
mov rcx, rbx
call fcn.140030ba8
test eax, eax
jne 0x1400396a8
jmp 0x140037e60
mov rax, qword [rdi + 0x10]
xor r12d, r12d
mov qword [rbp + 0x138], r12
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003cf91
mov rsi, qword [rbx]
test rsi, rsi
je 0x14003cf91
lea rdx, [rbp + 0x138]
mov rcx, rbx
call qword [rsi + 0x30]
mov rcx, qword [rbp + 0x120]
mov rdx, rbx
mov r12d, eax
mov dword [rsp + 0x40], eax
call fcn.1400354ac
xor r10d, r10d
test r12d, r12d
jne 0x14003cd9c
mov rax, qword [rbp + 0x138]
or r9d, 0xffffffff
mov rcx, qword [rbp + 0x120]
xor r8d, r8d
mov qword [rax], rbx
lea eax, [r12 + 2]
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], al
call fcn.140037124
mov rcx, qword [rbp + 0x138]
test rax, rax
je 0x14003cf89
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r13d
jmp 0x140037e6e
add dword [r15 + 0xd8], r13d
mov rcx, r15
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 4]
call fcn.14006f534
dec dword [r15 + 0xd8]
jmp 0x140037cd7
xorps xmm0, xmm0
lea rcx, [rbp - 0x60]
xor eax, eax
mov qword [rbp - 0x30], rax
movsxd rax, dword [rdi + 8]
imul rdx, rax, 0x38
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
add rdx, r10
mov qword [rbp - 0x38], r15
call fcn.140030c48
mov dl, r13b
mov dword [rsp + 0x40], eax
lea rcx, [rbp - 0x60]
mov r12d, eax
call fcn.1400311e8
mov r15, qword [rbp + 0x120]
xor ebx, ebx
test rax, rax
je 0x14003ca83
mov edx, dword [rdi + 4]
lea r9, [r15 + 0xa8]
mov rcx, qword [rsp + 0x50]
mov r8, rax
call fcn.14006f220
mov r12d, eax
mov dword [rsp + 0x40], eax
mov eax, 0x2400
test word [rbp - 0x58], ax
jne 0x14003ca93
cmp dword [rbp - 0x40], ebx
je 0x14003ca9c
lea rcx, [rbp - 0x60]
call fcn.140030578
test r12d, r12d
jne 0x140037756
jmp 0x14003c62a
mov rbx, qword [rdi + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.14006f6a4
mov dword [rsp + 0x40], eax
mov r12d, eax
test rbx, rbx
je 0x140039cdc
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbp + 0x120]
call fcn.1400354ac
jmp 0x140039cdc
mov r11, qword [rbp + 0x120]
mov r10, qword [rsp + 0x48]
jmp 0x1400375cf
mov r11, qword [rbp + 0x120]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x38]
mov r14b, byte [rbp + reloc.WLDAP32.dll_Ordinal_304]
jmp 0x14003789c
mov r11, qword [rbp + 0x120]
mov r10, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x38]
jmp 0x1400394d5
mov r11, qword [rbp + 0x120]
mov rsi, qword [rsp + 0x38]
jmp 0x14003a7e3
mov r13d, 1
jmp 0x14003aba4
mov r12d, 8
jmp 0x14003774f
mov r15, qword [rbp + 0x120]
mov eax, 5
cmp r12b, al
jne 0x140037759
sub rdi, rsi
mov dword [r15 + 0x38], r12d
sar rdi, 3
movabs rax, 0xaaaaaaaaaaaaaaab
imul rdi, rax
mov dword [r15 + 0x34], edi
jmp 0x14003d035
mov rdx, qword [r11 + 0xa8]
mov rcx, r15
call fcn.1400166fc
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.140016aa8
mov r12, qword [rbp + 0x120]
mov qword [r12 + 0xa8], rax
mov rax, qword [r15 + 0x20]
movsxd rdx, dword [rdi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x138]
cmp dword [rcx], eax
je 0x14003cbd3
mov rcx, r15
call fcn.14004d58c
mov eax, dword [r12 + 0xc8]
and eax, 0xfffffffd
or eax, r13d
mov dword [r12 + 0xc8], eax
mov r12d, 0x11
jmp 0x14003774f
movzx eax, byte [r15 + 0x5f]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
cmp ebx, eax
je 0x14003ccc0
xor r14d, r14d
test ecx, ecx
je 0x14003cc20
mov edx, 0x204
mov rcx, r15
call fcn.140081eb0
mov al, r13b
jmp 0x14003cc5f
test ebx, ebx
je 0x14003cc47
cmp dword [r15 + 0xd0], r14d
jle 0x14003cc47
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r11
call fcn.1400317a4
mov r12d, 5
jmp 0x14003774f
mov edx, r13d
mov rcx, r11
call fcn.140033adc
mov r12d, eax
test eax, eax
jne 0x14003d02e
mov al, bl
mov byte [r15 + 0x5f], al
mov r12, qword [rbp + 0x120]
mov rcx, r12
call fcn.140033b2c
mov ecx, 5
cmp eax, ecx
jne 0x14003cca1
sub rdi, rsi
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
sub r13b, bl
mov dword [r12 + 0x34], edi
mov byte [r15 + 0x5f], r13b
jmp 0x14003cd30
mov rcx, r15
call fcn.140081a10
mov eax, dword [r12 + 0x38]
neg eax
sbb r12d, r12d
and r12d, 0xffffff9c
add r12d, 0x65
jmp 0x14003d02e
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r11
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.1400317a4
mov r12d, r13d
jmp 0x14003774f
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x14003cc34
mov rcx, qword [rbp + 0x120]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x14003cc37
sub rdi, qword [rsp + 0x38]
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
mov dword [r12 + 0x34], edi
mov byte [rbx + 0x5f], sil
mov r15, qword [rbp + 0x120]
mov r12d, ecx
mov dword [r15 + 0x38], ecx
jmp 0x14003d035
cmp ebx, edx
lea rax, str.into
lea r8, str.out_of
mov r12d, 1
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, qword [rbp + 0x120]
call fcn.1400317a4
jmp 0x14003774f
movzx eax, byte [rdi + 2]
mov ecx, 5
cmp word [rdi + 2], cx
mov ecx, 2
cmove eax, ecx
mov byte [r15 + 0xc2], al
jmp 0x140037756
mov r12d, 6
mov r15, qword [rbp + 0x120]
jmp 0x140037759
lea rax, [0x14011a574]
mov ebx, reloc.Cabinet.dll_FCIAddFile
mov ecx, ebx
mov qword [rsp + 0x20], rax
mov r9d, 0x159cf
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140018614
mov r12d, ebx
jmp 0x14003774f
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r11
mov r12d, 1
call fcn.1400317a4
jmp 0x14003774f
mov dword [r11 + 0x38], edx
mov al, byte [rdi + 8]
mov byte [r11 + 0xc2], al
mov dword [r11 + 0x34], ebx
test edx, edx
je 0x14003ceab
mov rcx, r11
cmp word [rdi + 2], si
je 0x14003ce68
movzx r8d, word [rdi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xfa9d0]
call fcn.1400317a4
mov r9, qword [rdi + 0x10]
mov rsi, qword [rbp + 0x120]
test r9, r9
je 0x14003ce7f
mov r8, qword [rsi + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.1400184a4
mov qword [rsi + 0xa8], rax
jmp 0x14003ce7f
mov r8, qword [rdi + 0x10]
lea rdx, [0x1401154b0]
call fcn.1400317a4
mov rsi, qword [rbp + 0x120]
mov rax, qword [rsi + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [rsi + 0xf0]
mov r8d, ebx
mov ecx, dword [rdi + 4]
mov qword [rsp + 0x20], rax
call fcn.140018614
mov r11, qword [rbp + 0x120]
mov rcx, r11
call fcn.140033b2c
mov r15, qword [rbp + 0x120]
mov r12d, eax
mov eax, 5
cmp r12d, eax
jne 0x14003ced0
mov dword [r15 + 0x38], eax
jmp 0x14003d035
mov rax, qword [rbp + 0x120]
mov eax, dword [rax + 0x38]
neg eax
sbb r12d, r12d
and r12d, 0xffffff9c
add r12d, 0x65
jmp 0x14003d035
mov ecx, 0x152d5
call fcn.140083bd0
mov r12d, eax
mov r14, rsi
mov r15, qword [rbp + 0x120]
xor r10d, r10d
jmp 0x14003775e
mov r12d, 0x204
jmp 0x14003774f
mov r12d, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x14003774f
mov r15, qword [rbp + 0x120]
mov r12d, 6
lea eax, [r12 - 4]
jmp 0x14003cd8a
mov r12d, 7
mov rcx, r15
call fcn.14004d614
mov bl, byte [rbp + 0x128]
mov r10d, 7
cmp r12d, r10d
je 0x14003a170
mov r15, qword [rbp + 0x120]
xor r10d, r10d
mov r14, qword [rsp + 0x38]
jmp 0x140037764
mov dl, r13b
mov rcx, rbx
call fcn.1400311e8
mov r8, rax
lea rdx, [0x1401154b0]
jmp 0x14003cd64
call qword [rsi + 0x38]
jmp 0x14003a16a
mov r12d, 6
jmp 0x14003774f
mov dword [r15 + 0x38], r12d
cmp r12d, esi
je 0x14003cfc0
movzx eax, r12b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x14003cfc0
mov rcx, qword [r13]
call fcn.14001616c
mov dword [r13 + 0x58], eax
mov rcx, qword [rbp + 0x120]
lea rdx, str.statement_aborts_at__d:___s___s
sub rdi, r14
movabs r8, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul r8, rdi
mov rax, qword [rcx + 0xa8]
mov r9, qword [rcx + 0xf0]
mov ecx, r12d
mov qword [rsp + 0x20], rax
call fcn.140018614
mov rcx, qword [rbp + 0x120]
call fcn.140033b2c
cmp r12d, esi
jne 0x14003d017
mov rcx, r13
call fcn.140016bf8
mov r12d, 1
test bl, bl
je 0x14003d02e
movzx edx, bl
mov rcx, r13
dec edx
call fcn.14004d58c
mov r15, qword [rbp + 0x120]
mov eax, dword [rbp - 0x14]
lea r11, [rsp + 0x1d8]
add dword [r15 + 0xe4], eax
mov eax, r12d
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret