Function at 0x1401076e0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2c8
mov rbx, rcx
test rcx, rcx
je 0x140107d20
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x140107717
call sym.mdb_txn_commit
mov esi, eax
test eax, eax
jne 0x140107b36
mov r12d, dword [rbx + 0x7c]
mov rdi, qword [rbx + 0x20]
test r12d, 0x20000
jne 0x140107b00
mov rbp, qword [rbx]
and r12d, 3
jne 0x140107b28
test rbp, rbp
je 0x140107b58
mov rdx, qword [rbx + 0x28]
lea rcx, [rbp + 0x28]
call sym.mdb_midl_append_list
mov esi, eax
test eax, eax
jne 0x140107b36
mov rcx, qword [rbx + 0x28]
call sym.mdb_midl_free
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x68]
mov r8d, 1
mov qword [rbp + 0x10], rax
mov eax, dword [rbx + 0x7c]
mov dword [rbp + 0x7c], eax
mov edx, dword [rbx + 0x78]
call sym.mdb_cursors_close.isra.0
mov eax, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x58]
mov rcx, qword [rbp + 0x58]
lea r8, [rax + rax*2]
shl r8, 4
call sym.memcpy
mov eax, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x70]
mov dword [rbp + 0x78], eax
mov rax, qword [rbp + 0x70]
movzx edx, byte [rdx]
mov byte [rax], dl
mov rdx, qword [rbx + 0x70]
mov rax, qword [rbp + 0x70]
movzx edx, byte [rdx + 1]
mov byte [rax + 1], dl
cmp dword [rbx + 0x78], 2
mov edx, 2
jbe 0x1401077f0
nop word [rax + rax]
mov rcx, qword [rbp + 0x70]
mov r8, qword [rbx + 0x70]
add rcx, rdx
movzx eax, byte [rcx]
and eax, 4
or al, byte [r8 + rdx]
add rdx, 1
mov byte [rcx], al
cmp edx, dword [rbx + 0x78]
jb 0x1401077d0
mov r9, qword [rbp + 0x40]
mov r12, qword [rbp + 0x48]
mov rdi, qword [rbx + 0x48]
test r9, r9
je 0x1401078b3
mov r14, qword [r9]
mov edx, r14d
test r14d, r14d
je 0x1401078b3
mov qword [r9], 0xffffffffffffffff
mov rax, qword [rdi]
mov r11d, r14d
mov r13d, eax
test eax, eax
je 0x140107885
mov eax, r14d
mov r10d, 1
nop dword [rax]
mov ecx, r10d
shl rcx, 4
mov r15, qword [rdi + rcx]
mov ecx, eax
lea r8, [r9 + rcx*8]
mov rcx, qword [r8]
add r15, r15
cmp rcx, r15
jae 0x14010786a
nop dword [rax]
lea ecx, [rax - 1]
lea r8, [r9 + rcx*8]
mov rax, rcx
mov rcx, qword [r8]
cmp rcx, r15
jb 0x140107858
cmp r15, rcx
jne 0x14010787c
mov qword [r8], 1
sub eax, 1
mov r11d, eax
add r10d, 1
cmp r13d, r10d
jae 0x140107838
lea eax, [r11 + 1]
cmp r14d, eax
jb 0x1401078ad
nop
mov ecx, eax
mov rcx, qword [r9 + rcx*8]
test cl, 1
jne 0x1401078a6
lea r8d, [r11 + 1]
mov qword [r9 + r8*8], rcx
mov r11, r8
add eax, 1
cmp edx, eax
jae 0x140107890
mov eax, r11d
mov qword [r9], rax
mov rax, qword [rbx + 0x40]
test rax, rax
je 0x140107915
cmp qword [rax], 0
je 0x140107915
mov r13d, 1
mov edx, 1
nop dword [rax]
mov rdx, qword [rax + rdx*8]
test dl, 1
jne 0x140107909
shr rdx, 1
mov rcx, r12
mov r14, rdx
call sym.mdb_mid2l_search
mov r15d, eax
mov eax, eax
cmp qword [r12], rax
jb 0x140107905
mov rdx, rax
shl rdx, 4
add rdx, r12
cmp qword [rdx], r14
je 0x14010816b
mov rax, qword [rbx + 0x40]
lea edx, [r13 + 1]
mov r13, rdx
cmp qword [rax], rdx
jae 0x1401078d0
mov r14, qword [r12]
cmp qword [rbp], 0
mov qword [r12], 0
mov r8d, r14d
je 0x140107d2a
mov eax, r14d
mov r13d, dword [rdi]
mov rcx, rdi
mov dword [rsp + 0x30], r14d
shl rax, 4
mov rdx, qword [r12 + rax]
add r13d, r14d
add rdx, 1
call sym.mdb_mid2l_search
mov r8d, dword [rsp + 0x30]
cmp eax, 1
lea r10d, [rax - 1]
je 0x1401079bd
test r14d, r14d
je 0x1401079bd
mov r9d, r10d
mov edx, r14d
shl r9, 4
add r9, rdi
nop dword [rax]
mov eax, edx
mov rcx, qword [r9]
shl rax, 4
mov rax, qword [r12 + rax]
cmp rcx, rax
jae 0x1401079a3
nop word [rax + rax]
lea eax, [rdx - 1]
mov rdx, rax
shl rax, 4
mov rax, qword [r12 + rax]
cmp rcx, rax
jb 0x140107990
cmp rcx, rax
jne 0x1401079af
sub edx, 1
sub r13d, 1
sub r9, 0x10
sub r10d, 1
je 0x1401079bd
test edx, edx
jne 0x140107978
mov rdx, qword [rdi]
test edx, edx
je 0x140107a5b
mov eax, edx
shl rax, 4
lea r15, [rdi + rax - 0x10]
lea r14, [rdi + rax]
lea eax, [rdx - 1]
mov edx, r13d
shl rax, 4
sub r15, rax
nop dword [rax]
mov eax, r8d
mov rcx, qword [r14]
mov edi, edx
shl rax, 4
add rax, r12
mov r10, qword [rax]
cmp rcx, r10
jae 0x140107a38
lea r9d, [r8 - 1]
mov edi, edx
sub r9d, edx
nop dword [rax + rax]
lea r8d, [rdi + r9]
movdqu xmm1, xmmword [rax]
mov edx, edi
sub edi, 1
mov eax, r8d
shl rdx, 4
shl rax, 4
movups xmmword [r12 + rdx], xmm1
add rax, r12
mov r10, qword [rax]
cmp rcx, r10
jb 0x140107a10
cmp rcx, r10
je 0x140107d40
movdqu xmm2, xmmword [r14]
lea edx, [rdi - 1]
sub r14, 0x10
shl rdi, 4
movups xmmword [r12 + rdi], xmm2
cmp r14, r15
jne 0x1401079e8
mov eax, r13d
mov rcx, qword [rbx + 0x48]
mov qword [r12], rax
call sym.free
mov eax, dword [rbx + 0x80]
mov rdx, qword [rbx + 0x40]
mov dword [rbp + 0x80], eax
test rdx, rdx
je 0x140107ab0
cmp qword [rbp + 0x40], 0
je 0x140107f93
lea rcx, [rbp + 0x40]
call sym.mdb_midl_append_list
mov esi, eax
test eax, eax
je 0x140107a9e
or dword [rbp + 0x7c], 2
mov rcx, qword [rbx + 0x40]
call sym.mdb_midl_free
mov rcx, qword [rbp + 0x40]
call sym.mdb_midl_sort
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x140108162
nop dword [rax]
mov rdx, rax
mov rax, qword [rax + 0x30]
test rax, rax
jne 0x140107ac0
add rdx, 0x30
mov rax, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x88]
mov qword [rdx], rax
mov eax, dword [rbx + 0x38]
add dword [rbp + 0x38], eax
mov qword [rbp + 8], 0
call sym.mdb_midl_free
mov rcx, rbx
call sym.free
jmp 0x140107b0f
mov edx, 0x200031
mov rcx, rbx
xor esi, esi
call sym.mdb_txn_end
mov eax, esi
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rbp, rbp
je 0x140107b31
or dword [rbp + 0x7c], 2
mov esi, 0xffff87c2
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140107b44
call sym.mdb_txn_abort
mov edx, 0x200022
mov rcx, rbx
call sym.mdb_txn_end
jmp 0x140107b0f
mov esi, 0x16
cmp qword [rdi + 0x68], rbx
jne 0x140107b36
mov edx, dword [rbx + 0x78]
mov rcx, qword [rbx + 0x68]
xor r8d, r8d
call sym.mdb_cursors_close.isra.0
mov rax, qword [rbx + 0x48]
cmp qword [rax], 0
jne 0x140107b86
test byte [rbx + 0x7c], 0xc
je 0x140107b00
cmp dword [rbx + 0x78], 2
ja 0x140107f9c
mov r10, qword [rbx + 0x20]
lea rbp, [rsp + 0x130]
mov eax, dword [r10 + 0xe0]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rbp
mov qword [rsp + 0x30], r10
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x70], 0
call sym.mdb_cursor_init
mov r10, qword [rsp + 0x30]
cmp qword [r10 + 0xb8], 0
je 0x14010807c
xor edx, edx
mov r8d, 5
mov rcx, rbp
mov qword [rsp + 0x30], r10
call sym.mdb_page_search
mov r10, qword [rsp + 0x30]
test eax, eax
mov esi, eax
je 0x140107c04
cmp eax, 0xffff87b2
jne 0x140107b36
cmp qword [r10 + 0xb8], 0
je 0x14010807c
movsxd rax, dword [rsp + 0x40]
mov qword [rsp + 0x68], rdi
movabs rdx, 0x7fffffffffffffff
test dword [r10 + 0x18], 0x1080000
mov dword [rsp + 0x64], 1
mov qword [rsp + 0x38], 0
cmove rdx, rax
xor r15d, r15d
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
xor r14d, r14d
mov rsi, r15
xor r13d, r13d
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x50], rdx
mov r15d, r12d
mov rdi, r14
mov qword [rsp + 0x30], rax
mov r12, r10
nop dword [rax]
mov rax, qword [rsp + 0x38]
cmp rax, qword [r12 + 0xc0]
jb 0x140107e70
mov rax, qword [rbx + 0x28]
cmp r13, qword [rax]
jae 0x140107d60
test r13, r13
je 0x140107f6f
lea rdx, [rbx + 0x18]
lea r14, [rsp + 0x80]
mov qword [rsp + 0x80], 8
mov r13, qword [rax]
mov qword [rsp + 0x88], rdx
mov rax, r12
mov r12, rdi
mov rdi, rsi
mov rsi, r13
mov r13, rax
mov r8, qword [rsp + 0x30]
mov r9d, 0x10000
mov rdx, r14
mov rcx, rbp
lea rax, [rsi*8 + 8]
mov qword [rsp + 0xa0], rax
call sym.mdb_cursor_put
test eax, eax
jne 0x140107f50
mov rdx, qword [rbx + 0x28]
mov rax, qword [rdx]
cmp rsi, rax
jae 0x140107ee0
mov rsi, rax
jmp 0x140107cd3
mov esi, 0x16
jmp 0x140107b0f
mov r13d, 0x1ffff
sub r13d, dword [rbx + 0x80]
jmp 0x1401079bd
mov rcx, qword [rax + 8]
sub r8d, 1
mov dword [rsp + 0x30], r8d
call sym.free
mov r8d, dword [rsp + 0x30]
jmp 0x140107a41
mov rdx, qword [r12 + 0xb8]
xor ecx, ecx
test rdx, rdx
je 0x140107d72
mov rcx, qword [rdx]
movsxd rax, dword [rbx + 0x38]
mov r8, rax
add rax, rcx
cmp rax, rsi
jg 0x140107f3a
je 0x14010825e
sub dword [rsp + 0x64], 1
js 0x14010825e
movsxd rcx, dword [rsp + 0x40]
sub rsi, rdi
sub rax, rsi
cmp rax, rcx
jle 0x140107f28
mov r8, qword [rsp + 0x70]
cmp r8, 1
jbe 0x140107f28
xor edx, edx
div r8
mov rdi, rax
mov eax, dword [rsp + 0x40]
lea r9d, [rax + 1]
mov rax, rdi
movsxd r9, r9d
cqo
idiv r9
mov rax, rcx
sub rax, rdx
add rdi, rax
mov rax, qword [rsp + 0x58]
mov r8, qword [rsp + 0x30]
mov r9d, 0x10000
mov rcx, rbp
lea r14, [rsp + 0x80]
mov qword [rsp + 0x80], 8
mov qword [rsp + 0x88], rax
mov rdx, r14
lea rax, [rdi*8 + 8]
mov qword [rsp + 0xa0], rax
call sym.mdb_cursor_put
test eax, eax
jne 0x140107f50
mov rax, qword [rsp + 0x50]
cmp rdi, rax
mov eax, 0
cmovg rax, rdi
xor edx, edx
test rax, rax
cmovns rdx, rax
add rsi, rdi
sub rax, rdx
lea r8, [rdx*8 + 8]
xor edx, edx
lea rcx, [rax*8]
add rcx, qword [rsp + 0xa8]
call sym.memset
jmp 0x140107c78
lea r14, [rsp + 0x80]
xor r8d, r8d
mov rcx, rbp
mov rdx, r14
call sym.mdb_cursor_first
test eax, eax
jne 0x140107f50
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x148]
mov eax, dword [rax + 0x7c]
test eax, 0x20013
jne 0x140107f57
test byte [rsp + 0x174], 1
je 0x140108142
xor edx, edx
mov rcx, rbp
call sym.mdb_cursor_del.part.0
test eax, eax
jne 0x140107f50
xor esi, esi
xor edi, edi
jmp 0x140107c78
mov rax, r13
mov rcx, rdx
mov qword [rsp + 0x48], rdx
mov r13, rsi
mov rsi, rdi
mov rdi, r12
mov r12, rax
call sym.mdb_midl_sort
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xa8]
call sym.memcpy
jmp 0x140107c78
sub rsi, rdi
sub rax, rsi
nop dword [rax]
xor r10d, r10d
test rax, rax
mov rdi, r10
cmovns rdi, rax
jmp 0x140107ddd
movsxd rcx, dword [rsp + 0x40]
cmp rcx, rdi
jle 0x14010805f
sub rsi, rdi
jmp 0x140107d9e
mov esi, eax
jmp 0x140107b36
and eax, 0x20000
cmp eax, 1
sbb esi, esi
and esi, 0xffff87b5
add esi, 0xd
jmp 0x140107b36
xor edx, edx
mov r8d, 9
mov rcx, rbp
call sym.mdb_page_search
test eax, eax
je 0x140107f8a
cmp eax, 0xffff87b2
jne 0x140107f50
mov rax, qword [rbx + 0x28]
jmp 0x140107ca1
mov qword [rbp + 0x40], rdx
jmp 0x140107ab0
lea rbp, [rsp + 0x130]
xor r9d, r9d
mov r8d, 1
mov rdx, rbx
mov qword [rsp + 0xa0], 0x30
mov rcx, rbp
call sym.mdb_cursor_init
cmp dword [rbx + 0x78], 2
jbe 0x1401085fb
mov r10, qword [rbx + 0x20]
mov r15d, 0x60
mov r13d, 2
lea r14, [rsp + 0xa0]
jmp 0x140108035
mov rax, qword [rbx + 0x58]
mov rdx, qword [rbx + 0x50]
mov r8, r14
mov rcx, rbp
mov r9d, 2
add rax, r15
add rdx, r15
mov qword [rsp + 0xa8], rax
call sym.mdb_cursor_put
test eax, eax
jne 0x140107f50
mov r10, qword [rbx + 0x20]
add r13, 1
add r15, 0x30
cmp r13d, dword [rbx + 0x78]
jae 0x140107b9c
mov rax, qword [rbx + 0x70]
test byte [rax + r13], 1
je 0x140108023
mov rax, qword [r10 + 0xa0]
mov rdx, qword [rbx + 0x60]
mov eax, dword [rax + r13*4]
cmp dword [rdx + r13*4], eax
je 0x140107ff0
mov esi, 0xffff87c4
jmp 0x140107b36
mov rdx, qword [rsp + 0x70]
cmp rdx, 1
jbe 0x140107f1b
sub rdx, 1
mov qword [rsp + 0x70], rdx
jmp 0x140107d9e
mov r14, qword [rbx + 0x30]
test r14, r14
je 0x140107c12
mov edx, dword [rbx + 0x38]
lea rcx, [rbx + 0x28]
mov r13, qword [rbx + 0x48]
mov qword [rsp + 0x30], r10
call sym.mdb_midl_need
mov esi, eax
test eax, eax
jne 0x140107b36
mov r15, qword [rsp + 0x30]
jmp 0x1401080f1
mov rcx, r13
call sym.mdb_mid2l_search
mov esi, eax
test byte [r14 + 0xa], 4
je 0x14010814c
cmp dword [r14 + 0xc], 1
je 0x14010814c
mov rcx, r14
call sym.free
shl rsi, 4
mov qword [r13 + rsi + 8], 0
mov r14, qword [r14 + 0x30]
test r14, r14
je 0x1401081bd
mov rcx, qword [rbx + 0x28]
mov rax, qword [rcx]
add rax, 1
mov qword [rcx], rax
mov rdx, qword [r14]
mov qword [rcx + rax*8], rdx
test byte [rbx + 0x7e], 8
je 0x1401080af
mov rcx, qword [r13]
test rcx, rcx
je 0x140108604
mov eax, 1
mov esi, 1
jmp 0x140108133
lea esi, [rax + 1]
mov rax, rsi
cmp rcx, rsi
jb 0x1401080d7
shl rsi, 4
cmp rdx, qword [r13 + rsi]
jne 0x140108128
mov esi, eax
jmp 0x1401080d7
mov esi, 0x16
jmp 0x140107b36
mov rax, qword [r15 + 0xc8]
mov qword [r14], rax
mov qword [r15 + 0xc8], r14
jmp 0x1401080d7
lea rdx, [rbp + 0x30]
jmp 0x140107ad0
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x30], rax
call sym.free
mov rdx, qword [r12]
mov rax, qword [rsp + 0x30]
cmp rax, rdx
jae 0x1401081b0
add r15d, 1
mov rdx, rax
mov eax, r15d
shl rdx, 4
mov rcx, rax
shl rcx, 4
movdqu xmm3, xmmword [r12 + rcx]
movups xmmword [r12 + rdx], xmm3
mov rdx, qword [r12]
cmp rax, rdx
jb 0x140108187
sub rdx, 1
mov qword [r12], rdx
jmp 0x140107905
cmp qword [r13 + 0x18], 0
mov rcx, qword [r13]
mov r10, r15
mov edx, 1
mov eax, 1
jne 0x1401081f5
jmp 0x140108214
lea edx, [rax + 1]
mov r8, rdx
mov rax, rdx
shl r8, 4
cmp qword [r13 + r8 + 8], 0
je 0x140108214
cmp rcx, rdx
jae 0x1401081e0
xor eax, eax
mov qword [r13], rax
mov qword [rbx + 0x30], 0
mov dword [rbx + 0x38], 0
jmp 0x140107c12
cmp rcx, rdx
jb 0x1401081fa
lea r9d, [rax + 2]
jmp 0x14010823f
cmp rcx, r8
jb 0x140108259
mov ecx, eax
movdqu xmm4, xmmword [rdx]
add eax, 1
shl rcx, 4
movups xmmword [r13 + rcx], xmm4
mov rcx, qword [r13]
add r9d, 1
lea r8d, [r9 - 1]
mov rdx, r8
shl rdx, 4
add rdx, r13
cmp qword [rdx + 8], 0
jne 0x14010821f
cmp rcx, r8
jae 0x14010823b
sub eax, 1
jmp 0x1401081fc
mov r13, qword [rbx + 0x30]
mov r10, r12
mov rdi, qword [rsp + 0x68]
mov rsi, rdx
mov r11, rax
mov r12d, r15d
test r13, r13
je 0x1401082f6
lea edx, [r8 + r8 + 1]
lea rcx, [r10 + 0xb8]
mov dword [rsp + 0x38], r8d
mov qword [rsp + 0x30], r10
call sym.mdb_midl_need
mov esi, eax
test eax, eax
jne 0x140107b36
mov r10, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x38]
mov rsi, qword [r10 + 0xb8]
mov rax, qword [rsi - 8]
sub rax, r8
lea r14, [rsi + rax*8]
mov rdx, qword [r13]
mov r13, qword [r13 + 0x30]
lea eax, [r12 + 1]
mov r12, rax
mov qword [r14 + rax*8], rdx
test r13, r13
jne 0x1401082b9
mov qword [r14], rax
mov rcx, r14
call sym.mdb_midl_sort
mov rdx, r14
mov rcx, rsi
call sym.mdb_midl_xmerge
xor eax, eax
xor edx, edx
mov r11, qword [rsi]
mov qword [rbx + 0x30], rax
mov dword [rbx + 0x38], edx
test r11, r11
jne 0x14010860e
mov rcx, qword [rdi + 0xb8]
call sym.mdb_midl_free
lea rcx, [rbx + 0x28]
mov qword [rdi + 0xb8], 0
call sym.mdb_midl_shrink
xor edx, edx
mov rcx, rbx
call sym.mdb_page_flush
mov esi, eax
test eax, eax
jne 0x140107b36
mov eax, dword [rbx + 0x7c]
mov r8, qword [rbx + 0x10]
test eax, 0x10000
jne 0x14010835c
xor edx, edx
mov rcx, rdi
call sym.mdb_env_sync0
mov esi, eax
test eax, eax
jne 0x140107b36
mov eax, dword [rbx + 0x7c]
mov r8, qword [rbx + 0x10]
mov rsi, qword [rbx + 0x18]
mov r14, qword [rbx + 0x20]
mov rdx, rsi
mov ecx, dword [r14 + 0x18]
not rdx
and edx, 1
or eax, ecx
mov rdx, qword [r14 + rdx*8 + 0x50]
mov r11d, eax
mov rax, rsi
and eax, 1
mov r12d, r11d
mov r9, qword [rdx + 0x10]
mov rdx, qword [r14 + 0x78]
mov rax, qword [r14 + rax*8 + 0x50]
cmp r9, rdx
cmovb r9, rdx
sub r8, 1
and r12d, 0x50000
mov rdx, qword [rbx + 0x58]
and r11d, 0x80000
je 0x14010844e
movdqu xmm5, xmmword [rdx]
mov qword [rax + 0x10], r9
movups xmmword [rax + 0x18], xmm5
movdqu xmm5, xmmword [rdx + 0x10]
movups xmmword [rax + 0x28], xmm5
movdqu xmm4, xmmword [rdx + 0x20]
movups xmmword [rax + 0x38], xmm4
movdqu xmm5, xmmword [rdx + 0x30]
movups xmmword [rax + 0x48], xmm5
movdqu xmm0, xmmword [rdx + 0x40]
movups xmmword [rax + 0x58], xmm0
movdqu xmm4, xmmword [rdx + 0x50]
mov qword [rax + 0x78], r8
mov qword [rax + 0x80], rsi
movups xmmword [rax + 0x68], xmm4
test r12d, r12d
jne 0x140108425
shr ecx, 0x14
mov r8d, dword [r14 + 0x1c]
mov edx, ecx
lea rcx, [rax - 0x10]
xor edx, 1
and edx, 1
mov dword [rsp + 0x78], edx
mov edx, r8d
call qword [sym.imp.KERNEL32.dll_FlushViewOfFile]
test eax, eax
je 0x140108716
mov rax, qword [r14 + 0x48]
test rax, rax
je 0x140108436
mov rdx, qword [rbx + 0x18]
mov qword [rax + 8], rdx
mov eax, dword [rdi + 0x18]
test eax, 0x2000000
jne 0x1401085c4
mov edx, 0x10
jmp 0x140107b05
mov rcx, qword [rax + 0x80]
movdqu xmm5, xmmword [rdx]
mov qword [rsp + 0x1b0], rcx
mov rcx, qword [rax + 0x78]
movups xmmword [rsp + 0xb8], xmm5
movdqu xmm0, xmmword [rdx + 0x10]
sub rax, qword [r14 + 0x40]
mov qword [rsp + 0x30], rcx
movups xmmword [rsp + 0xc8], xmm0
movdqu xmm4, xmmword [rdx + 0x20]
mov qword [rsp + 0xb0], r9
movups xmmword [rsp + 0xd8], xmm4
movdqu xmm5, xmmword [rdx + 0x30]
movups xmmword [rsp + 0xe8], xmm5
movdqu xmm0, xmmword [rdx + 0x40]
movups xmmword [rsp + 0xf8], xmm0
movdqu xmm4, xmmword [rdx + 0x50]
mov qword [rsp + 0x120], rsi
lea rsi, [rax + 0x10]
mov qword [rsp + 0x118], r8
movups xmmword [rsp + 0x108], xmm4
test r12d, r12d
je 0x1401085d8
mov rcx, qword [r14]
pxor xmm0, xmm0
lea r13, [rsp + 0x80]
lea r15, [rsp + 0xb0]
mov r12, qword [sym.imp.KERNEL32.dll_WriteFile]
movups xmmword [rsp + 0x90], xmm0
lea r9, [rsp + 0x78]
mov r8d, 0x78
mov rdx, r15
mov dword [rsp + 0x90], esi
mov qword [rsp + 0x20], r13
movups xmmword [rsp + 0x80], xmm0
call r12
test eax, eax
jne 0x1401085a5
mov dword [rsp + 0x78], 0xffffffff
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x30]
pxor xmm0, xmm0
xor r9d, r9d
movups xmmword [rsp + 0x90], xmm0
mov r8d, 0x78
mov rdx, r15
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x1b0]
movups xmmword [rsp + 0x80], xmm0
mov rcx, qword [r14]
mov qword [rsp + 0x120], rax
mov dword [rsp + 0x90], esi
mov qword [rsp + 0x20], r13
call r12
or dword [r14 + 0x18], 0x80000000
mov esi, dword [rsp + 0x78]
test esi, esi
jne 0x140107b36
jmp 0x140108436
mov eax, dword [rsp + 0x78]
cmp eax, 0x78
je 0x140108425
test eax, eax
js 0x140108533
mov eax, 5
jmp 0x140108539
test eax, 0x400000
je 0x1401085e1
xor eax, 0x2000000
mov dword [rdi + 0x18], eax
jmp 0x140108444
mov rcx, qword [r14 + 0x10]
jmp 0x1401084df
mov rdx, rbp
mov rcx, rdi
call fcn.140373f10
mov esi, eax
test eax, eax
jne 0x140107b36
mov eax, dword [rdi + 0x18]
jmp 0x1401085cb
mov r10, qword [rbx + 0x20]
jmp 0x140107b9c
mov esi, 1
jmp 0x1401080d7
lea r14, [rsp + 0xa0]
mov rcx, rbp
lea r15, [rsi + r11*8]
mov qword [rsp + 0x40], r11
lea r13, [rsp + 0x80]
mov r8, r14
mov rdx, r13
call sym.mdb_cursor_first
mov esi, eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
test esi, esi
jne 0x140107b36
mov qword [rsp + 0x38], rdi
mov rdi, r15
mov r15, r14
mov r14, rbx
mov rbx, qword [rsp + 0x40]
jmp 0x140108685
sub rbx, r12
je 0x140108725
mov r9d, 8
mov r8, r15
mov rdx, r13
mov rcx, rbp
call sym.mdb_cursor_next
mov esi, eax
test eax, eax
jne 0x14010870e
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0xa0]
mov rax, qword [rax]
shr r12, 3
sub r12, 1
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x88], rax
cmp r12, rbx
jle 0x1401086ca
lea rax, [rbx*8 + 8]
mov r12, rbx
mov qword [rsp + 0xa0], rax
mov r9d, 0x40
mov r8, r15
mov rdx, r13
mov rcx, rbp
lea rax, [r12*8]
sub rdi, rax
mov r11, qword [rdi]
mov qword [rsp + 0xa8], rdi
mov qword [rdi], r12
mov qword [rsp + 0x40], r11
call sym.mdb_cursor_put
mov r11, qword [rsp + 0x40]
mov esi, eax
mov qword [rdi], r11
test eax, eax
je 0x14010865e
mov rbx, r14
jmp 0x140107b36
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x78], eax
jmp 0x14010858c
mov rdi, qword [rsp + 0x38]
mov rbx, r14
jmp 0x1401082ff