Function at 0x1001f0a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov dword [esp + 0x4c], ecx
mov esi, dword [ebp + 8]
mov eax, dword [0x101d2014]
xor eax, ebp
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x90], eax
mov dword [esp + 0x40], edx
je 0x1001face
test edx, edx
mov dword [esp + 0x40], edx
je 0x1001f89f
xor eax, eax
lea ecx, [esp + 0x40]
mov ebx, edx
xor ebx, ebx
cmp dword [edx + 0x18], esi
lea edi, [edx + 0x10]
mov edx, dword [edx + 0x10]
setbe bl
cmovbe ecx, edi
add eax, ebx
test edx, edx
mov dword [ecx], edx
jne 0x1001f0e6
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x4c]
add dword [ebx + 0xc0], eax
mov dword [esp + 0x34], edx
cmp dword [edx + 0x18], 1
je 0x1001f85f
movzx eax, byte [ebx + 0xb]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x98]
mov ebx, dword [ebx + 0xd8]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x20]
mov esi, dword [eax]
lea eax, [ebx + 0x34]
push 0x30
push esi
mov dword [esp + 0x50], eax
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov dword [esp + 0x30], 0
jne 0x1001fad6
cmp word [ebx + 0x28], 0
mov dword [esp + 4], ebx
je 0x1001f4b8
mov edi, dword [ebx + 0x44]
test edi, edi
je 0x1001f510
mov esi, dword [esp + 0x2c]
mov ecx, edi
mov dword [esp + 0x58], ebx
lea edx, [esi + 0x18]
mov eax, edx
mov dword [esp + 0x38], edx
sar eax, 0x1f
mov dword [esp + 0x3c], eax
imul ecx, eax
mov eax, edi
mul edx
add eax, 0x20
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
adc edx, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x5c], eax
mov eax, 0
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x34]
xor eax, eax
test esi, esi
je 0x1001f31b
mov ecx, dword [ebp + 8]
mov edx, esi
cmp dword [esp + 0x30], 0
mov dword [esp + 0x20], edi
mov dword [esp + 8], edx
jne 0x1001f8d8
cmp dword [ebp + 0xc], 0
je 0x1001f924
cmp dword [edx + 0x10], 0
mov eax, 0
cmove eax, ecx
mov edi, dword [edx + 4]
mov edx, dword [edx + 0x18]
lea esi, [esp + 0x70]
mov ecx, ebx
push esi
mov dword [esp + 0x28], edi
push edi
push eax
call fcn.10022b50
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], 0x18
cmp ecx, 0xffffffe8
mov eax, ebx
mov esi, ecx
sbb eax, 0xffffffff
jae 0x1001f92b
mov edi, dword [esp + 0x18]
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
call dword [section..00cfg]
push ebx
push esi
push dword [esp + 0x18]
push dword [esp + 0x28]
push edi
call ecx
add esp, 0x14
mov esi, eax
mov edx, dword [esp + 0x2c]
test esi, esi
jne 0x1001f4a0
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov eax, edx
sar eax, 0x1f
mov edi, ecx
mov esi, ebx
add edi, 0x18
adc esi, 0
mov dword [esp + 0x10], edi
add edi, edx
mov dword [esp + 0x1c], esi
adc eax, esi
mov esi, 0xffffffe7
cmp esi, ecx
mov esi, 0xffffffff
sbb esi, ebx
jge 0x1001f2a6
mov edi, edx
jmp 0x1001f2b2
test eax, eax
jns 0x1001f9ca
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xc]
call dword [section..00cfg]
push dword [esp + 0x1c]
push dword [esp + 0x14]
push edi
push dword [esp + 0x30]
push ebx
call ecx
add esp, 0x14
mov esi, eax
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 8]
test esi, esi
jne 0x1001f4a0
mov eax, dword [esp + 0x14]
inc edi
add eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
adc eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
or byte [edx + 0x1c], 0x40
mov eax, edx
mov edx, dword [edx + 0x10]
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x34]
test edx, edx
jne 0x1001f1da
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x24], eax
mov eax, 0
mov dword [esp + 8], 0
je 0x1001f361
cmp dword [ebx + 0x68], 0
jne 0x1001fae3
mov esi, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 8], 0
and esi, 3
jne 0x1001f8a8
cmp byte [ebx + 0x2f], 0
mov esi, dword [esp + 0x34]
jne 0x1001f63e
mov edi, dword [ebx + 0x44]
test esi, esi
je 0x1001f391
test eax, eax
jne 0x1001f391
test byte [esi + 0x1c], 0x40
je 0x1001f9c3
inc edi
mov ecx, ebx
mov edx, edi
push dword [esi + 0x18]
call fcn.10021230
add esp, 4
test eax, eax
jne 0x1001f391
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x1001f36c
test eax, eax
sete cl
cmp dword [esp + 8], 0
jle 0x1001f3a5
test eax, eax
je 0x1001fcd5
test cl, cl
mov esi, eax
je 0x1001f4a0
mov ecx, dword [esp + 0x2c]
mov eax, ecx
shr ecx, 0x10
and eax, 0xff00
or ecx, eax
cmp dword [ebp + 0xc], 0
mov word [ebx + 0x42], cx
mov dword [ebx + 0x44], edi
je 0x1001f48f
mov edx, dword [ebx + 0x3c]
mov esi, dword [esp + 0x48]
lea eax, [edx + 1]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x48], eax
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x14], ecx
lea ecx, [esi + 8]
mov byte [ebx + 0x40], 1
mov dword [esp + 0xc], eax
lea eax, [ebx + 0x5c]
cmp ecx, eax
mov ecx, 0x2de218
mov dword [ebx + 0x34], ecx
mov ebx, dword [esp + 0x14]
lea eax, [ebx + ecx]
jae 0x1001f43e
add edx, ebx
lea eax, [eax + edx + 0x5bc431]
lea ecx, [edi + edx + 0x5bc431]
add eax, dword [esi + 0xc]
add ecx, eax
add eax, dword [ebp + 8]
add eax, ecx
add ecx, dword [esi + 0x18]
add ecx, eax
add eax, dword [esi + 0x1c]
add eax, ecx
add ecx, dword [esi + 0x20]
add ecx, eax
add eax, dword [esi + 0x24]
add eax, ecx
mov ebx, dword [esp + 4]
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x60], eax
mov eax, dword [esp + 0xc]
add eax, 0x30
push 0x30
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [ebx + 0x2b], 2
je 0x1001f47d
mov eax, dword [esp + 4]
mov ebx, dword [eax + 4]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x3c]
call dword [section..00cfg]
push ebx
mov ebx, dword [esp + 8]
call ecx
add esp, 4
push 0x30
push esi
push dword [esp + 0x14]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [ebx + 0xc], edi
mov eax, dword [esp + 0x4c]
xor esi, esi
mov ecx, dword [eax + 0x58]
test ecx, ecx
jne 0x1001fc86
mov ecx, dword [esp + 0x90]
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esi + 0x60], 0
jne 0x1001f663
cmp byte [ebx + 0x2b], 0
jne 0x1001f4e2
mov esi, dword [ebx + 4]
mov eax, dword [esi]
mov ecx, dword [eax + 0x38]
call dword [section..00cfg]
push 5
push 1
push 3
push esi
call ecx
add esp, 0x10
xor esi, esi
lea edi, [esp + 0x70]
mov word [ebx + 0x28], 0xffff
inc esi
mov ecx, ebx
mov edx, edi
push esi
push 1
call fcn.10021390
add esp, 8
inc esi
cmp eax, 0xffffffff
je 0x1001f4ef
test eax, eax
mov esi, eax
je 0x1001f16a
jmp 0x1001f4a0
mov dword [esp + 0x20], edi
push 0x377f0682
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov esi, eax
mov dword [esp + 0x70], eax
push 0x2de218
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov edi, eax
mov dword [esp + 0x74], eax
push dword [esp + 0x2c]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [esp + 0x78], eax
mov dword [esp + 0xc], eax
mov ebx, dword [ebx + 0x70]
push ebx
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
test ebx, ebx
mov dword [esp + 0x7c], eax
jne 0x1001f656
mov ebx, dword [esp + 4]
lea eax, [ebx + 0x54]
push eax
push 8
call sym.nss3.dll_sqlite3_randomness
add esp, 8
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
add edi, esi
mov ecx, dword [ebx + 0x54]
add esi, edi
add edi, eax
lea eax, [esp + 0x70]
add esi, edx
mov edx, dword [ebx + 0x58]
add edi, esi
add esi, ecx
mov dword [eax + 0x10], ecx
add esi, edi
add edi, edx
mov dword [eax + 0x14], edx
add edi, esi
push esi
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
lea ecx, [esp + 0x70]
mov dword [ecx + 0x18], eax
push edi
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
lea ecx, [esp + 0x70]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x24], eax
mov byte [ebx + 0x41], 0
mov dword [ebx + 0x4c], esi
mov dword [ebx + 0x50], edi
mov byte [ebx + 0x2f], 1
mov esi, dword [ebx + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
call dword [section..00cfg]
xor eax, eax
push eax
push eax
push 0x20
lea eax, [esp + 0x7c]
push eax
push esi
call ecx
add esp, 0x14
test eax, eax
jne 0x1001fe81
cmp byte [ebx + 0x30], 0
je 0x1001f635
mov esi, dword [esp + 0x28]
shr esi, 2
and esi, 3
je 0x1001f635
mov edi, dword [ebx + 8]
mov eax, dword [edi]
mov ecx, dword [eax + 0x14]
call dword [section..00cfg]
push esi
push edi
call ecx
add esp, 8
test eax, eax
jne 0x1001fe81
mov edi, dword [esp + 0x20]
jmp 0x1001f175
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0xc], eax
test ecx, ecx
jns 0x1001f7ca
mov eax, dword [esp + 0xc]
jmp 0x1001f361
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0xc]
jmp 0x1001f588
lea eax, [esp + 0x70]
push eax
push 4
call sym.nss3.dll_sqlite3_randomness
add esp, 8
cmp byte [ebx + 0x2b], 0
jne 0x1001f69d
mov esi, dword [ebx + 4]
mov eax, dword [esi]
mov ecx, dword [eax + 0x38]
call dword [section..00cfg]
mov eax, 4
push 0xa
push eax
push eax
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x1001fd02
mov edi, dword [ebx + 0x20]
mov esi, dword [esp + 0x70]
mov eax, dword [ebx + 0x54]
mov ecx, dword [edi]
mov dword [esp + 0x14], ecx
inc dword [ebx + 0x70]
mov dword [ebx + 0x44], 0
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
inc eax
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x58], esi
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x48]
lea edx, [ebx + 0x5c]
mov ecx, dword [edi]
mov byte [ebx + 0x40], 1
lea edi, [esi + 8]
mov dword [esp + 0xc], ecx
mov ecx, 0x2de218
cmp edi, edx
mov dword [ebx + 0x34], ecx
mov edi, dword [ebx + 0x38]
lea edx, [edi + ecx]
jae 0x1001f724
mov ecx, dword [esi + 8]
add edx, dword [esi + 0xc]
lea ecx, [edi + ecx + 0x5bc430]
add edx, ecx
add ecx, edx
add edx, dword [esi + 0x14]
add edx, ecx
add ecx, dword [esi + 0x18]
add ecx, edx
add edx, dword [esi + 0x1c]
add edx, ecx
add ecx, eax
add ecx, edx
add edx, dword [esp + 0x18]
add edx, ecx
mov ebx, dword [esp + 4]
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x60], edx
add eax, 0x30
push 0x30
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [ebx + 0x2b], 2
je 0x1001f75b
mov edi, dword [ebx + 4]
mov eax, dword [edi]
mov ecx, dword [eax + 0x3c]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
push 0x30
push dword [esp + 0x4c]
push dword [esp + 0x14]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [eax + 0x60], 0
mov dword [eax + 0x80], 0
mov dword [eax + 0x68], 0
mov dword [eax + 0x6c], 0xffffffff
mov dword [eax + 0x70], 0xffffffff
mov dword [eax + 0x74], 0xffffffff
cmp byte [ebx + 0x2b], 0
jne 0x1001f4c2
mov esi, dword [ebx + 4]
mov eax, dword [esi]
mov ecx, dword [eax + 0x38]
call dword [section..00cfg]
mov eax, 4
push 9
push eax
push eax
push esi
call ecx
add esp, 0x10
jmp 0x1001f4c2
mov eax, dword [ebx + 0x10]
add edi, dword [esp + 8]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, edi
imul esi, edi
mul dword [esp + 0x38]
mov edi, edx
mov edx, dword [esp + 0x14]
add eax, 0x20
adc edi, esi
mov esi, eax
cmp eax, edx
mov eax, edi
sbb eax, ecx
cmovl edi, ecx
mov ecx, dword [0x101d4b48]
cmovl esi, edx
test ecx, ecx
jne 0x1001fd12
mov ebx, dword [ebx + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
call dword [section..00cfg]
lea eax, [esp + 0x70]
push eax
push ebx
call ecx
add esp, 8
test eax, eax
jne 0x1001f838
xor eax, eax
cmp esi, dword [esp + 0x70]
mov ecx, edi
sbb ecx, dword [esp + 0x74]
jl 0x1001fd1f
mov ecx, dword [0x101d4b4c]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x1001fd3e
mov esi, dword [esp + 0x34]
test eax, eax
jne 0x1001fd4f
mov byte [ebx + 0x2f], 0
jmp 0x1001f64d
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 0x14]
push dword [eax + 0x68]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov esi, dword [edi + 4]
inc eax
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [esi + 0x18], eax
mov ecx, dword [edi + 4]
mov dword [ecx + 0x5c], eax
mov esi, dword [edi + 4]
push 0x2e4b91
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [esi + 0x60], eax
jmp 0x1001f11b
xor edx, edx
xor eax, eax
jmp 0x1001f103
cmp byte [ebx + 0x31], 0
mov dword [esp + 8], 0
jne 0x1001fd88
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [eax + 0x14]
call dword [section..00cfg]
push esi
push dword [esp + 0x1c]
call ecx
add esp, 8
jmp 0x1001f353
cmp dword [ebp + 0xc], 0
je 0x1001f8e8
cmp dword [edx + 0x10], 0
je 0x1001f1ed
mov dword [esp + 0x70], 0
mov dword [esp + 0x24], eax
mov ecx, ebx
lea eax, [esp + 0x70]
mov edx, dword [edx + 0x18]
push eax
call fcn.10020f60
add esp, 4
mov ecx, dword [esp + 0x70]
cmp ecx, dword [esp + 0x30]
jae 0x1001fa51
mov ecx, dword [ebp + 8]
mov ebx, dword [esp + 4]
mov edx, dword [esp + 8]
jmp 0x1001f1ed
xor eax, eax
jmp 0x1001f203
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov eax, dword [esi]
mov ebx, edi
neg ebx
mov ecx, dword [eax + 0xc]
call dword [section..00cfg]
push dword [esp + 0xc]
push edi
mov edi, ebx
push ebx
lea eax, [esp + 0x7c]
push eax
push esi
call ecx
add esp, 0x14
test eax, eax
jne 0x1001fe81
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x28]
mov ecx, eax
add eax, 0x18
add ecx, edi
mov dword [esp + 0x10], eax
adc ebx, 0
and esi, 3
mov dword [esp + 0x44], ecx
je 0x1001fa4a
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [eax + 0x14]
call dword [section..00cfg]
push esi
push dword [esp + 0x1c]
call ecx
add esp, 8
mov esi, eax
cmp dword [esp + 0x10], 0
je 0x1001f263
test esi, esi
jne 0x1001f263
mov esi, dword [esp + 0x44]
lea eax, [esp + edi + 0x70]
mov dword [esp + 0x1c], eax
jmp 0x1001f242
xor eax, eax
jmp 0x1001f386
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [eax]
mov ebx, esi
neg ebx
mov ecx, dword [eax + 0xc]
call dword [section..00cfg]
push dword [esp + 0x1c]
push esi
push ebx
push dword [esp + 0x30]
push dword [esp + 0x28]
call ecx
add esp, 0x14
test eax, eax
jne 0x1001fe81
mov eax, ebx
mov esi, dword [esp + 0x28]
sar eax, 0x1f
add dword [esp + 0x10], ebx
adc dword [esp + 0x1c], eax
and esi, 3
je 0x1001fac7
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [eax + 0x14]
call dword [section..00cfg]
push esi
push dword [esp + 0x1c]
call ecx
add esp, 8
mov esi, eax
test edi, edi
je 0x1001f2d6
test esi, esi
jne 0x1001f2d6
add dword [esp + 0x24], ebx
jmp 0x1001f2b2
xor esi, esi
jmp 0x1001f99f
lea eax, [ecx - 1]
mov edi, eax
mul dword [esp + 0x38]
imul edi, dword [esp + 0x3c]
add eax, 0x38
mov esi, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 4]
adc esi, edi
mov eax, dword [eax + 0x68]
dec eax
cmp eax, ecx
jb 0x1001fa7d
mov eax, dword [esp + 4]
mov dword [eax + 0x68], ecx
mov eax, dword [esp + 8]
mov edi, dword [eax + 4]
mov eax, dword [esp + 4]
mov ebx, dword [eax + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xc]
call dword [section..00cfg]
push esi
push dword [esp + 0x14]
push dword [esp + 0x34]
push edi
push ebx
call ecx
add esp, 0x14
test eax, eax
jne 0x1001fe81
mov edx, dword [esp + 8]
and byte [edx + 0x1c], 0xbf
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
jmp 0x1001f309
xor esi, esi
jmp 0x1001fa31
xor eax, eax
inc eax
jmp 0x1001f103
mov eax, dword [esi + 0x10]
inc eax
mov dword [esp + 0x30], eax
jmp 0x1001f15b
mov esi, dword [ebx + 0x24]
mov dword [esp + 0x20], edi
call sym.nss3.dll_sqlite3_initialize
cmp esi, 0xffffffe9
jl 0x1001fcb9
test eax, eax
jne 0x1001fcb9
mov ecx, esi
add ecx, 0x18
mov edx, ecx
mov dword [esp + 0x1c], ecx
sar edx, 0x1f
mov dword [esp + 0x50], edx
call fcn.10002c70
test eax, eax
mov dword [esp + 0x10], eax
je 0x1001fcb9
mov eax, dword [esp + 4]
mov ebx, 0x18
mov ecx, dword [eax + 0x68]
mov edi, eax
mov edi, dword [edi + 8]
lea eax, [ecx - 2]
mov esi, eax
mul dword [esp + 0x1c]
imul esi, dword [esp + 0x50]
add eax, 0x30
adc edx, esi
xor esi, esi
cmp ecx, 1
mov ecx, dword [edi]
cmovne esi, edx
cmovne ebx, eax
mov ecx, dword [ecx + 8]
call dword [section..00cfg]
push esi
push ebx
push 8
mov esi, dword [esp + 0x1c]
push esi
push edi
call ecx
add esp, 0x14
mov ebx, eax
push dword [esi]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov edi, dword [esp + 4]
mov dword [edi + 0x4c], eax
push dword [esi + 4]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [edi + 0x50], eax
mov esi, ebx
test ebx, ebx
mov ecx, edi
mov eax, dword [edi + 0x68]
mov dword [edi + 0x68], 0
mov dword [esp + 8], eax
jne 0x1001fd67
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x20]
ja 0x1001fd67
mov eax, dword [esp + 0x10]
inc dword [esp + 8]
add eax, 0x18
mov dword [esp + 0x54], eax
mov eax, dword [esp + 8]
add eax, 0xfffffffe
mov ecx, eax
mul dword [esp + 0x1c]
imul ecx, dword [esp + 0x50]
mov edi, eax
mov eax, dword [esp + 4]
mov ebx, edx
add edi, 0x20
adc ebx, ecx
mov esi, dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 8]
call dword [section..00cfg]
mov dword [esp + 0x44], ebx
push ebx
mov dword [esp + 0x34], edi
push edi
push dword [esp + 0x24]
push dword [esp + 0x1c]
push esi
call ecx
add esp, 0x14
test eax, eax
jne 0x1001fd65
mov ebx, dword [esp + 0x10]
push dword [ebx]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov esi, eax
push dword [ebx + 4]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov ebx, dword [esp + 4]
lea edi, [esp + 0x70]
mov edx, esi
mov ecx, ebx
push edi
push dword [esp + 0x58]
push eax
call fcn.10022b50
add esp, 0xc
mov esi, dword [ebx + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
call dword [section..00cfg]
push dword [esp + 0x44]
push dword [esp + 0x34]
push 0x18
push edi
push esi
call ecx
add esp, 0x14
mov ecx, dword [esp + 8]
mov esi, eax
cmp ecx, dword [esp + 0x20]
ja 0x1001fd67
inc dword [esp + 8]
test esi, esi
je 0x1001fbc4
jmp 0x1001fd67
mov esi, dword [esp + 0x40]
test esi, esi
je 0x1001fcb2
test ecx, ecx
jne 0x1001fca2
mov esi, dword [esi + 0x10]
test esi, esi
je 0x1001fcb2
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x58]
jmp 0x1001fc8e
mov edx, dword [esi + 0x18]
push dword [esi + 4]
call fcn.10022e10
add esp, 4
jmp 0x1001fc92
xor esi, esi
jmp 0x1001f4a0
mov esi, 7
jmp 0x1001f4a0
mov ebx, dword [esp + 4]
dec dword [esp + 8]
mov eax, edx
test edx, edx
jne 0x1001f3a5
mov eax, dword [esp + 0x24]
inc edi
mov ecx, ebx
mov edx, edi
push dword [eax + 0x18]
call fcn.10021230
add esp, 4
test eax, eax
mov edx, eax
sete cl
cmp dword [esp + 8], 2
jge 0x1001fcc3
mov ebx, dword [esp + 4]
mov eax, edx
jmp 0x1001f3a5
cmp eax, 5
je 0x1001f4c2
mov ecx, eax
jmp 0x1001f504
call dword [section..00cfg]
call ecx
jmp 0x1001f809
mov eax, dword [esp + 4]
mov ebx, dword [eax + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x10]
call dword [section..00cfg]
push edi
push esi
push ebx
call ecx
add esp, 0xc
jmp 0x1001f838
mov esi, eax
call dword [section..00cfg]
call ecx
mov eax, esi
jmp 0x1001f84a
push dword [ebx + 0x6c]
push str.cannot_limit_WAL_size:__s
push eax
call sym.nss3.dll_sqlite3_log
add esp, 0xc
jmp 0x1001f856
mov esi, eax
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov ebx, dword [esp + 4]
mov edi, dword [esp + 0x20]
test esi, esi
jne 0x1001f4a0
jmp 0x1001f33c
mov dword [esp + 0x28], esi
mov esi, dword [ebx + 8]
mov dword [esp + 0x20], edi
mov eax, dword [esi]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x1001fdbc
call dword [section..00cfg]
push esi
call ecx
add esp, 4
cmp eax, 0x20
mov edx, 0x10000
setl cl
cmp eax, 0xffff
jle 0x1001fdc3
jmp 0x1001fdc5
mov eax, 0x1000
xor ecx, ecx
mov edx, eax
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
mov eax, edx
xor esi, esi
sar eax, 0x1f
test cl, cl
mov ecx, 0x200
cmove ecx, edx
cmovne eax, esi
add ebx, ecx
mov esi, edi
adc esi, eax
add ebx, 0xffffffff
adc esi, 0xffffffff
push eax
push ecx
push esi
push ebx
call fcn.101931d0
sub ebx, eax
mov dword [esp + 8], 0
sbb esi, edx
cmp dword [esp + 0x14], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], esi
mov dword [esp + 0x10], esi
sbb edi, esi
jge 0x1001fe55
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
mov dword [esp + 8], 0
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x58]
push edi
push esi
push dword [ebp + 8]
call fcn.10021100
add esp, 0xc
test eax, eax
jne 0x1001fe7f
add esi, dword [esp + 0x38]
adc edi, dword [esp + 0x3c]
inc dword [esp + 8]
cmp esi, ebx
mov eax, edi
sbb eax, dword [esp + 0x10]
jl 0x1001fe26
mov eax, dword [esp + 0x10]
xor ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
xor eax, dword [esp + 0xc]
or eax, ebx
mov ebx, dword [esp + 4]
mov eax, 0
jne 0x1001f353
jmp 0x1001f8ba
mov ecx, eax
mov esi, eax
jmp 0x1001f4a0