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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov esi, edx
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0x80], eax
mov ebx, dword [ecx]
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 8]
mov dword [esp + 8], eax
test eax, eax
jne 0x10029efd
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x74], 0
jne 0x10029ee8
test byte [ebx + 0x4c], 8
jne 0x10029ee8
mov eax, dword [esp + 0xc]
mov byte [eax + 0x17], 1
mov ecx, dword [esp + 0xc]
call fcn.10035540
mov dword [esp + 8], eax
test eax, eax
je 0x1002a847
mov edx, dword [ebp + 8]
mov eax, dword [esp + 8]
or byte [eax + 0x98], 0x20
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 2
mov ecx, dword [eax]
cmp dword [edx + 4], 0
jne 0x1002afe8
movzx eax, byte [ecx + 0xa8]
mov edi, esi
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], eax
cmp eax, 1
je 0x1002cee7
test edi, edi
je 0x1002a847
mov eax, dword [edi]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1002a847
mov edi, dword [edi + 4]
xor eax, eax
mov edx, edi
inc edx
sete byte [esp + 0x28]
mov dword [esp + 4], ebx
movzx ebx, word [ebx + 0x11c]
cmp edi, ebx
jae 0x10029f94
cmp edi, 0x7f
mov ecx, dword [esp + 4]
ja 0x10029fbe
mov ebx, dword [ecx + 0x140]
test ebx, ebx
je 0x10029fb0
mov eax, dword [ebx]
mov dword [ecx + 0x140], eax
inc dword [ecx + 0x128]
jmp 0x10029ff9
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x118], 0
je 0x1002b37f
cmp byte [ecx + 0x53], 0
je 0x10029fe0
jmp 0x1002a847
mov ebx, dword [ecx + 0x13c]
test ebx, ebx
jne 0x1002ab33
mov ebx, dword [ecx + 0x138]
test ebx, ebx
jne 0x1002a8b9
mov ebx, dword [ecx + 0x134]
test ebx, ebx
jne 0x1002af5c
inc dword [ecx + 0x130]
mov bl, byte [esp + 0x28]
mov al, bl
push eax
call fcn.10143c10
add esp, 4
mov ebx, eax
test eax, eax
je 0x1002a847
mov esi, dword [ebp + 0x10]
push edi
push dword [esp + 0x20]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebx + edi], 0
mov dword [esp + 0x28], ebx
movzx eax, byte [ebx]
cmp byte [eax + 0x1019c89a], 0
js 0x1002cf05
mov eax, dword [ebp + 0xc]
test esi, esi
jne 0x1002a61a
mov dword [esp + 0x14], 0
test eax, eax
mov ecx, dword [esp + 4]
je 0x1002a10b
mov edi, dword [eax]
test edi, edi
je 0x1002a10b
mov esi, dword [eax + 4]
xor eax, eax
mov edx, esi
inc edx
sete byte [esp + 0x1c]
movzx ebx, word [ecx + 0x11c]
cmp esi, ebx
jae 0x1002a086
cmp esi, 0x7f
ja 0x1002a0ad
mov ecx, dword [esp + 4]
mov ebx, dword [ecx + 0x140]
test ebx, ebx
je 0x1002a09f
mov eax, dword [ebx]
mov dword [ecx + 0x140], eax
inc dword [ecx + 0x128]
jmp 0x1002a0e8
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x118], 0
je 0x1002b3c2
cmp byte [ecx + 0x53], 0
je 0x1002a0d3
jmp 0x1002a10b
mov ebx, dword [ecx + 0x13c]
test ebx, ebx
jne 0x1002ab40
mov ecx, dword [esp + 4]
mov ebx, dword [ecx + 0x138]
test ebx, ebx
jne 0x1002ab26
mov ebx, dword [ecx + 0x134]
test ebx, ebx
jne 0x1002b01e
inc dword [ecx + 0x130]
mov bl, byte [esp + 0x1c]
mov al, bl
push eax
call fcn.10143c10
add esp, 4
mov ebx, eax
test eax, eax
je 0x1002a10b
push esi
push edi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebx + esi], 0
movzx eax, byte [ebx]
cmp byte [eax + 0x1019c89a], 0
js 0x1002d2f4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x1002af80
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x150]
test ecx, ecx
jne 0x1002cf3d
xor edi, edi
lea eax, [esp + 0x70]
mov dword [eax], edi
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov ecx, dword [esp + 4]
mov dword [ecx + 0x1ac], edi
push eax
push 0xe
push dword [esp + 0x28]
push ecx
call sym.nss3.dll_sqlite3_file_control
add esp, 0x10
cmp eax, 0xc
jne 0x1002cfad
mov esi, 0x40
lea eax, [edi + esi]
mov ecx, eax
shr ecx, 0x1f
mov dword [esp + 0x24], eax
add ecx, eax
sar ecx, 1
mov eax, ecx
shl eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x1019d968]
mov dword [esp + 0x1c], eax
xor edx, edx
mov eax, dword [esp + 0x28]
movzx ebx, byte [eax + edx]
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + edx]
cmp bl, al
jne 0x1002a1b5
test bl, bl
je 0x1002a1dc
inc edx
jmp 0x1002a19a
movzx ebx, byte [ebx + 0x1019c728]
movzx eax, byte [eax + 0x1019c728]
sub ebx, eax
je 0x1002a1b2
lea eax, [ecx - 1]
inc ecx
test ebx, ebx
cmovns edi, ecx
cmovs esi, eax
cmp edi, esi
jle 0x1002a175
jmp 0x1002a827
mov eax, dword [esp + 0x18]
movzx ebx, byte [eax + 0x1019d96d]
test bl, 1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 8]
je 0x1002a207
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
cmp byte [ecx + 0xa9], 0
je 0x1002a6e7
test bl, 2
jne 0x1002a21d
test edi, edi
je 0x1002a361
and ebx, 4
je 0x1002a361
mov eax, dword [esp + 0x18]
mov al, byte [eax + 0x1019d96c]
dec al
cmp al, 0x29
ja case.0x1002a234.5
movzx eax, al
jmp dword [eax*4 + 0x101a3d58]
test edi, edi
je 0x1002d796
mov eax, dword [esp + 4]
cmp byte [eax + 0x51], 0
je 0x1002d7ac
cmp dword [esp + 0x10], 1
je 0x1002a606
movzx eax, byte [edi]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x1002d7c2
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, eax
and edi, 0x3fffffff
lea eax, [edi + 1]
mov dword [esp + 0x18], eax
xor ecx, ecx
movzx eax, byte [ecx + 0x101a150d]
cmp edi, eax
je 0x1002a29b
inc ecx
cmp ecx, 8
jne 0x1002a285
jmp 0x1002ab1f
test edi, edi
je 0x1002a2e7
movzx eax, byte [ecx + 0x101a1505]
mov dword [esp + 0x1c], eax
xor esi, esi
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + esi + str.onoffalseyestruextrafull]
test eax, eax
je 0x1002d636
mov al, byte [eax + 0x1019c728]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + esi]
mov dl, byte [edx + 0x1019c728]
cmp al, dl
jne 0x1002d646
dec ebx
inc esi
cmp ebx, 1
jg 0x1002a2b0
mov al, byte [ecx + 0x101a1515]
inc al
and al, 7
xor ecx, ecx
inc ecx
test al, al
movzx eax, al
cmove eax, ecx
mov ecx, dword [esp + 0x10]
shl ecx, 4
mov edx, dword [esp + 0x2c]
mov byte [edx + ecx + 8], al
mov byte [edx + ecx + 9], 1
mov eax, dword [esp + 4]
cmp byte [eax + 0x51], 0
je 0x1002a827
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x14]
test esi, esi
jle 0x1002a827
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x10]
inc esi
add edi, 8
mov ecx, dword [edi - 4]
test ecx, ecx
je 0x1002a353
movzx eax, byte [edi]
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x20]
and edx, 0x38
or edx, eax
call fcn.1002ea20
dec esi
add edi, 0x10
cmp esi, 1
jg 0x1002a338
jmp 0x1002a827
mov eax, dword [esp + 0x18]
movzx edi, byte [eax + 0x1019d96f]
xor edx, edx
inc edx
test edi, edi
cmovne edx, edi
mov ecx, esi
call fcn.10036960
test edi, edi
jne 0x1002ab51
mov eax, dword [esi]
cmp byte [eax + 0x53], 0
mov edi, dword [esp + 0x14]
jne 0x1002a21d
mov ecx, dword [esi + 0x74]
sub esp, 0x10
movaps xmm0, xmmword [0x1019c160]
movups xmmword [esp], xmm0
mov edx, dword [esp + 0x2c]
call fcn.100364f0
add esp, 0x10
jmp 0x1002a21d
test edi, edi
je 0x1002daa9
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x1019d970]
mov edx, eax
and edx, 0xffffbfff
mov ebx, dword [esp + 4]
cmp byte [ebx + 0x51], 0
cmovne edx, eax
mov dword [esp + 0xc], edx
mov eax, dword [ecx + 0x1019d974]
mov dword [esp + 0x18], eax
movzx eax, byte [edi]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x1002dae6
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
lea ecx, [eax + 1]
mov dword [esp + 0x24], ecx
xor ecx, ecx
movzx edx, byte [ecx + 0x101a150d]
cmp eax, edx
je 0x1002a424
inc ecx
cmp ecx, 8
jne 0x1002a40e
jmp 0x1002aa7e
test eax, eax
je 0x1002a474
movzx edx, byte [ecx + 0x101a1505]
mov dword [esp + 0x1c], edx
xor esi, esi
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
movzx edx, byte [edx + esi + str.onoffalseyestruextrafull]
test edx, edx
je 0x1002d66a
mov dl, byte [edx + 0x1019c728]
mov ebx, dword [esp + 0x14]
movzx ebx, byte [ebx + esi]
mov bl, byte [ebx + 0x1019c728]
cmp dl, bl
jne 0x1002d67a
dec edi
inc esi
cmp edi, 1
mov ebx, dword [esp + 4]
jg 0x1002a439
mov edx, ecx
and edx, 0x7ffffffe
cmp edx, 6
je 0x1002a419
mov al, byte [ecx + 0x101a1515]
test al, al
je 0x1002aa7e
mov eax, dword [esp + 0xc]
or dword [ebx + 0x20], eax
mov eax, dword [esp + 0x18]
or dword [ebx + 0x24], eax
jmp 0x1002aaa2
mov eax, dword [esp + 0x10]
shl eax, 4
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + eax + 4]
test edi, edi
je 0x1002b0b6
xor ebx, ebx
lea edi, [esp + 0x68]
mov dword [edi], ebx
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.10008b60
mov edx, dword [edi]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 4]
mov dword [eax + 0x60], edx
mov ecx, esi
push ebx
push ebx
call fcn.1002eb20
add esp, 8
cmp eax, 7
jne 0x1002a606
mov eax, dword [esp + 4]
cmp byte [eax + 0x53], 0
jne 0x1002a606
mov eax, dword [esp + 4]
cmp byte [eax + 0x54], 0
jne 0x1002a606
mov eax, dword [esp + 4]
mov byte [eax + 0x53], 1
cmp dword [eax + 0xc0], 0
jle 0x1002a529
mov eax, dword [esp + 4]
mov dword [eax + 0x110], 1
mov eax, dword [esp + 4]
inc dword [eax + 0x118]
mov word [eax + 0x11c], 0
mov eax, dword [eax + 0xf0]
test eax, eax
mov edi, dword [esp + 0x14]
je 0x1002a606
mov dword [eax + 0xc], 7
jmp 0x1002a606
test edi, edi
je 0x1002b087
lea esi, [esp + 0x68]
mov dword [esi], 0
mov ecx, edi
mov edx, esi
call fcn.10008b60
mov eax, dword [esi]
mov edx, dword [esp + 0x10]
shl edx, 4
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + edx + 0xc]
mov dword [ecx + 0x50], eax
mov ecx, dword [esi + edx + 4]
mov eax, dword [esi + edx + 0xc]
mov ebx, dword [eax + 0x50]
mov esi, dword [ecx + 4]
cmp byte [ecx + 9], 0
mov dword [esp + 0x1c], ecx
jne 0x1002b6ce
mov eax, dword [esi]
mov esi, dword [eax + 0xd4]
mov dword [esi + 0x10], ebx
mov edi, dword [0x101db098]
test ebx, ebx
jns 0x1002a5e2
mov eax, ebx
sar eax, 0x1f
shld eax, ebx, 0xa
shl ebx, 0xa
xor ecx, ecx
neg ebx
sbb ecx, eax
mov eax, dword [esi + 0x1c]
add eax, dword [esi + 0x18]
mov edx, eax
sar edx, 0x1f
push edx
push eax
push ecx
push ebx
call fcn.1014deb0
mov ebx, eax
mov esi, dword [esi + 0x2c]
mov ecx, edi
call dword [section..00cfg]
push ebx
push esi
call edi
add esp, 8
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 9], 0
mov edi, dword [esp + 0x14]
jne 0x1002b6e9
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, dword [esp + 0x28]
call fcn.10139000
jmp 0x1002a83e
push eax
push 0x101bdbfc
push dword [esp + 0xc]
call fcn.10024f60
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x1002a10b
xor eax, eax
inc eax
mov edx, dword [esp + 0x10]
mov ecx, edx
shl eax, cl
or dword [esi + 0x9c], eax
cmp edx, 1
je 0x1002a661
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x10]
shl edx, 4
mov ecx, dword [ecx + edx + 4]
cmp byte [ecx + 9], 0
jne 0x1002ad87
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x1019d970]
cmp dword [esp + 0x14], 0
jne 0x1002abb8
mov eax, dword [esi + 0x6c]
lea ecx, [eax + 3]
cmp ecx, dword [esi + 0x70]
jg 0x1002e03e
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4], 2
xorps xmm0, xmm0
movups xmmword [ecx + eax*4 + 1], xmm0
mov dword [ecx + eax*4 + 0x10], 0
mov dword [ecx + eax*4 + 0x14], 0x5f
movaps xmm0, xmmword [0x1019c190]
movups xmmword [ecx + eax*4 + 0x18], xmm0
mov dword [ecx + eax*4 + 0x28], 0x51
movaps xmm0, xmmword [0x1019c330]
movups xmmword [ecx + eax*4 + 0x2c], xmm0
add dword [esi + 0x6c], 3
mov edx, dword [esp + 0x10]
mov dword [ecx + eax*4 + 4], edx
mov dword [ecx + eax*4 + 0x18], edx
mov dword [ecx + eax*4 + 0x20], edi
and byte [esi + 0x98], 0xdf
jmp 0x1002a827
mov eax, dword [ecx + 0x10]
mov edx, dword [eax + 0xc]
mov dl, byte [edx + 0x4d]
mov edi, dword [ecx + 0x18]
mov dword [esp + 0x3c], edi
mov byte [ecx + 0x50], dl
mov eax, dword [eax + 0xc]
test byte [eax + 0x4e], 1
mov eax, dword [esp + 0xc]
lea edx, [eax + 4]
je 0x1002ad57
mov edi, dword [ecx + 0x14]
cmp edi, 2
jl 0x1002a770
lea eax, [edi + 1]
shl edi, 4
add edi, 0xfffffffc
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + edi]
test byte [eax + 0x4e], 1
je 0x1002a73e
mov eax, dword [esp + 0x30]
dec eax
add edi, 0xfffffff0
cmp eax, 2
jg 0x1002a71f
jmp 0x1002a770
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x30]
lea edx, [eax - 2]
mov ecx, dword [esp + 0x38]
push 0
push dword [esp + 0x38]
call fcn.10022820
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
add esp, 8
test eax, eax
je 0x1002a72f
jmp 0x1002ad78
test byte [esp + 0x3c], 1
mov edi, dword [esp + 0x14]
jne 0x1002a77f
and byte [ecx + 0x18], 0xfe
cmp byte [ecx + 0x5b], 0
je 0x1002a207
or byte [ecx + 0x18], 0x10
jmp 0x1002a207
test edi, edi
mov ebx, dword [esp + 4]
je 0x1002a7ff
lea esi, [esp + 0x68]
mov dword [esi], 0
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.10008b60
mov esi, dword [esi]
test esi, esi
jle 0x1002e04d
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x1002e099
mov ecx, dword [0x101db070]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov edi, dword [ebx + 0xc]
mov dword [ebx + 0xf4], 0x1000b8f0
mov dword [ebx + 0xf8], esi
test edi, edi
je 0x1002a7ff
mov ecx, dword [0x101db078]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
cmp dword [ebx + 0xf4], 0x1000b8f0
jne 0x1002e0ae
mov edx, dword [ebx + 0xf8]
mov ecx, dword [esp + 8]
mov eax, edx
sar eax, 0x1f
push eax
call fcn.1002ec60
add esp, 4
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, dword [esp + 0x28]
call fcn.10139000
mov edi, dword [esp + 0x14]
test edi, edi
je 0x1002a847
mov ecx, esi
mov edx, edi
call fcn.10139000
mov ecx, dword [esp + 0x80]
xor ecx, ebp
call fcn.1014dc80
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test edi, edi
mov edi, dword [esp + 4]
je 0x1002dcfe
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
je 0x1002a8b2
xor ecx, ecx
mov edi, dword [esp + 0x14]
movzx edx, byte [edi + ecx]
test edx, edx
je 0x1002db00
mov dl, byte [edx + 0x1019c728]
movzx esi, byte [ecx + 0x101b9e7f]
mov bl, byte [esi + 0x1019c728]
cmp dl, bl
jne 0x1002db0f
inc ecx
cmp eax, ecx
mov edi, dword [esp + 4]
jne 0x1002a87e
xor esi, esi
jmp 0x1002dd0e
mov eax, dword [ebx]
mov dword [ecx + 0x138], eax
jmp 0x10029f8c
mov eax, dword [esp + 0x10]
shl eax, 4
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + eax + 4]
mov dword [esp + 0x1c], 0
test edi, edi
mov dword [esp + 0xc], ecx
je 0x1002e0d9
mov ecx, dword [esp + 0x1c]
movzx eax, byte [edi + ecx]
movzx ecx, byte [ecx + str.fast]
cmp al, cl
je 0x1002e0e5
mov al, byte [eax + 0x1019c728]
cmp al, byte [ecx + 0x1019c728]
je 0x1002e0e9
movzx eax, byte [edi]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x1002e0f2
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, eax
and edi, 0x3fffffff
lea eax, [edi + 1]
mov dword [esp + 0x18], eax
xor ecx, ecx
movzx eax, byte [ecx + 0x101a150d]
cmp edi, eax
je 0x1002a951
inc ecx
cmp ecx, 8
jne 0x1002a93b
jmp 0x1002abb1
test edi, edi
je 0x1002a99d
movzx eax, byte [ecx + 0x101a1505]
mov dword [esp + 0x1c], eax
xor esi, esi
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + esi + str.onoffalseyestruextrafull]
test eax, eax
je 0x1002dbb1
mov al, byte [eax + 0x1019c728]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + esi]
mov dl, byte [edx + 0x1019c728]
cmp al, dl
jne 0x1002dbc1
dec ebx
inc esi
cmp ebx, 1
jg 0x1002a966
mov eax, ecx
and eax, 0x7ffffffe
cmp eax, 6
je 0x1002a946
mov al, byte [ecx + 0x101a1515]
xor ebx, ebx
test al, al
setne bl
mov eax, dword [esp + 4]
mov ecx, dword [ebp + 8]
mov dl, 1
mov dword [esp + 0x1c], edx
cmp dword [ecx + 4], 0
mov dword [esp + 0x24], ebx
jne 0x1002e10c
cmp dword [eax + 0x14], 0
mov ecx, dword [esp + 0xc]
jle 0x1002aa2b
lea esi, [ebx*4]
mov dword [esp + 0x18], esi
xor edi, edi
mov ebx, 4
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ebx]
test esi, esi
je 0x1002aa1e
cmp byte [esi + 9], 0
jne 0x1002df34
mov eax, dword [esi + 4]
and word [eax + 0x18], 0xfff3
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x18]
or word [eax + 0x18], dx
cmp byte [esi + 9], 0
jne 0x1002df51
inc edi
add ebx, 0x10
mov eax, dword [esp + 4]
cmp edi, dword [eax + 0x14]
jl 0x1002a9ed
test ecx, ecx
je 0x1002ac4a
cmp byte [ecx + 9], 0
mov edi, dword [esp + 0x24]
jne 0x1002e174
cmp byte [esp + 0x1c], 0
je 0x1002aa5a
mov eax, dword [ecx + 4]
and word [eax + 0x18], 0xfff3
mov eax, dword [ecx + 4]
shl edi, 2
or word [eax + 0x18], di
mov eax, dword [ecx + 4]
mov esi, dword [eax + 0x18]
shr esi, 2
and esi, 3
cmp byte [ecx + 9], 0
jne 0x1002e193
movzx edx, si
mov ecx, dword [esp + 8]
push 0
jmp 0x1002a81f
mov esi, dword [esp + 0x18]
mov eax, esi
mov edx, dword [esp + 0xc]
mov ecx, edx
not ecx
and dword [ebx + 0x20], ecx
not eax
and dword [ebx + 0x24], eax
xor edx, 0x80000
or edx, esi
je 0x1002e115
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1002af69
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4], 0xa2
xorps xmm0, xmm0
movups xmmword [ecx + eax*4 + 1], xmm0
mov dword [ecx + eax*4 + 0x10], 0
cmp byte [ebx + 0x51], 0
je 0x1002a827
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x14]
test esi, esi
jle 0x1002a827
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x10]
inc esi
add edi, 8
mov ecx, dword [edi - 4]
test ecx, ecx
je 0x1002ab11
movzx eax, byte [edi]
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x20]
and edx, 0x38
or edx, eax
call fcn.1002ea20
dec esi
add edi, 0x10
cmp esi, 1
jg 0x1002aaf6
jmp 0x1002a827
mov al, 1
jmp 0x1002a2ed
mov eax, dword [ebx]
mov dword [ecx + 0x138], eax
jmp 0x1002a07e
mov eax, dword [ebx]
mov dword [ecx + 0x13c], eax
jmp 0x10029f8c
mov eax, dword [ebx]
mov ecx, dword [esp + 4]
mov dword [ecx + 0x13c], eax
jmp 0x1002a07e
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0x1019d96e]
lea ecx, [eax*4 + 0x1019dd78]
shl edi, 3
lea eax, [edi + edi*4]
mov dword [esp + 0x30], eax
xor ebx, ebx
mov edi, dword [esp + 0x14]
mov eax, dword [esi]
cmp byte [eax + 0x53], 0
jne 0x1002aba0
mov edx, dword [ecx]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x74]
add ecx, ebx
sub esp, 0x10
movaps xmm0, xmmword [0x1019c160]
movups xmmword [esp], xmm0
call fcn.100364f0
mov ecx, dword [esp + 0x2c]
add esp, 0x10
add ecx, 4
add ebx, 0x28
cmp dword [esp + 0x30], ebx
jne 0x1002ab73
jmp 0x1002a21d
xor eax, eax
jmp 0x1002a9af
mov eax, dword [esp + 0x24]
add eax, 0xffffffe4
cmp eax, 0x11
ja 0x1002abd4
mov ecx, eax
mov eax, 0x30003
bt eax, ecx
jb 0x1002a676
mov eax, dword [esi + 0x6c]
lea ecx, [eax + 2]
cmp ecx, dword [esi + 0x70]
jg 0x1002e4e3
mov ebx, dword [esi + 0x68]
mov ecx, esi
lea esi, [eax + eax*4]
movaps xmm0, xmmword [0x1019c320]
movups xmmword [ebx + esi*4], xmm0
xor eax, eax
mov dword [ebx + esi*4 + 0x10], eax
mov byte [ebx + esi*4 + 0x14], 0x60
xorps xmm0, xmm0
movups xmmword [ebx + esi*4 + 0x15], xmm0
mov dword [ebx + esi*4 + 0x24], eax
add dword [ecx + 0x6c], 2
mov ecx, dword [esp + 0x10]
mov dword [ebx + esi*4 + 4], ecx
mov dword [ebx + esi*4 + 0x18], ecx
mov dword [ebx + esi*4 + 0x1c], edi
lea ecx, [esp + 0x68]
mov dword [ecx], eax
mov edx, ecx
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.10008b60
lea eax, [esp + 0x68]
mov eax, dword [eax]
mov dword [ebx + esi*4 + 0x20], eax
mov word [ebx + esi*4 + 0x16], 1
jmp 0x1002a606
xor esi, esi
jmp 0x1002aa70
mov eax, dword [ebp + 8]
cmp dword [eax], 0
mov eax, 0xc
mov ecx, dword [esp + 0x10]
cmove ecx, eax
mov dword [esp + 0x10], ecx
test edi, edi
je 0x1002e0d2
xor ecx, ecx
xor eax, eax
inc eax
movzx edx, byte [edi + ecx]
movzx ebx, byte [ecx + 0x101b9405]
cmp dl, bl
je 0x1002ac98
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
jne 0x1002b02b
inc ecx
jmp 0x1002ac74
test dl, dl
jne 0x1002ac95
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], 3
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jle 0x1002b6a1
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 6
mov edi, dword [esp + 0x10]
mov dword [edx + ecx*4 + 4], edi
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], 1
mov dword [edx + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1002b6bc
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x51
movaps xmm0, xmmword [0x1019c310]
jmp 0x1002dde8
test edi, edi
mov ebx, dword [esp + 0x28]
je 0x1002b148
mov al, byte [edi]
mov ecx, eax
add cl, 0xd0
cmp cl, 3
jae 0x1002b3cd
movzx ebx, al
add ebx, 0xffffffd0
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
movzx eax, byte [esi + 0x52]
cmp ebx, eax
je 0x1002a827
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x1002e442
mov byte [esi + 0x52], bl
jmp 0x1002a827
mov dword [esp + 0x38], ecx
mov edi, edx
xor edx, edx
push 0
push edi
call fcn.10022820
mov edx, edi
mov ecx, dword [esp + 0x40]
add esp, 8
test eax, eax
je 0x1002a70e
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
inc dword [ecx + 0x24]
jmp 0x1002a827
or dword [esi + 0xa0], eax
jmp 0x1002a661
mov edx, dword [esp + 0x10]
shl edx, 4
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + edx + 4]
test edi, edi
je 0x1002e377
mov dword [esp + 0x1c], edx
xor eax, eax
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + 0x101ba613]
cmp cl, dl
je 0x1002e3c5
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
je 0x1002e3c9
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + 0x101b9405]
cmp cl, dl
je 0x1002e3cf
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
je 0x1002e3d3
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.incremental]
cmp cl, dl
je 0x1002ae31
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x1002df0d
inc eax
jmp 0x1002ae09
mov edx, 2
test cl, cl
jne 0x1002ae2e
mov byte [ebx + 0x56], dl
mov ebx, dword [esi + 4]
cmp byte [esi + 9], 0
jne 0x1002e3d9
test byte [ebx + 0x18], 2
jne 0x1002e3f6
test edx, edx
setne byte [ebx + 0x11]
cmp edx, 2
sete byte [ebx + 0x12]
mov bl, 1
cmp byte [esi + 9], 0
jne 0x1002e40b
dec edx
cmp edx, 1
seta al
xor bl, 1
or bl, al
jne 0x1002a827
mov edi, edx
mov ebx, dword [esp + 8]
mov esi, dword [ebx + 0x6c]
lea ecx, [esi + 5]
mov eax, esi
cmp ecx, dword [ebx + 0x70]
jg 0x1002e424
mov edx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
movaps xmm0, xmmword [0x1019c320]
movups xmmword [edx + eax*4], xmm0
mov dword [edx + eax*4 + 0x10], 0
mov dword [edx + eax*4 + 0x14], 0x5f
movaps xmm0, xmmword [0x1019c350]
movups xmmword [edx + eax*4 + 0x18], xmm0
mov dword [edx + eax*4 + 0x28], 0x12
movaps xmm0, xmmword [0x1019c360]
movups xmmword [edx + eax*4 + 0x2c], xmm0
mov dword [edx + eax*4 + 0x3c], 0x44
movaps xmm0, xmmword [0x1019c370]
movups xmmword [edx + eax*4 + 0x40], xmm0
mov dword [edx + eax*4 + 0x50], 0x60
movaps xmm0, xmmword [0x1019c380]
movups xmmword [edx + eax*4 + 0x54], xmm0
add dword [ebx + 0x6c], 5
mov ecx, dword [esp + 0x10]
mov dword [edx + eax*4 + 4], ecx
mov dword [edx + eax*4 + 0x18], ecx
add esi, 4
mov dword [edx + eax*4 + 0x30], esi
mov dword [edx + eax*4 + 0x54], ecx
mov dword [edx + eax*4 + 0x5c], edi
xor eax, eax
inc eax
shl eax, cl
or dword [ebx + 0x9c], eax
cmp ecx, 1
je 0x1002a827
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx + edx + 4]
cmp byte [ecx + 9], 0
je 0x1002a827
mov ecx, dword [esp + 8]
or dword [ecx + 0xa0], eax
jmp 0x1002a827
mov eax, dword [ebx]
mov dword [ecx + 0x134], eax
jmp 0x10029f8c
xor eax, eax
mov edx, 0xa2
push eax
push eax
push eax
call fcn.10007820
add esp, 0xc
jmp 0x1002aad2
mov eax, dword [esp + 0x10]
shl eax, 4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax]
mov dword [esp + 0x20], eax
jmp 0x1002a120
mov eax, dword [esp + 0x10]
shl eax, 4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax + 4]
mov eax, dword [eax + 4]
mov ecx, edi
mov edi, dword [eax]
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x68], 0xfffffffe
test ecx, ecx
je 0x1002b3af
lea esi, [esp + 0x68]
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.1004ef40
mov eax, dword [esi + 4]
test eax, eax
js 0x1002b38a
mov ecx, dword [esp + 0x68]
jmp 0x1002b38f
cmp byte [ecx + 0xa9], 0
jne 0x1002e468
mov edx, esi
call fcn.1005f0d0
mov edi, dword [ebp + 8]
test eax, eax
jns 0x10029f2b
push esi
push str.unknown_database__T
push dword [esp + 0x14]
call fcn.100394d0
add esp, 0xc
jmp 0x1002a847
mov eax, dword [ebx]
mov dword [ecx + 0x134], eax
jmp 0x1002a07e
xor eax, eax
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + str.restart]
cmp cl, dl
je 0x1002e47e
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
je 0x1002e482
xor ecx, ecx
movzx edx, byte [edi + ecx]
movzx eax, byte [ecx + str.truncate]
cmp dl, al
je 0x1002b078
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [eax + 0x1019c728]
jne 0x1002e0d2
inc ecx
jmp 0x1002b054
mov eax, 3
test dl, dl
je 0x1002ac9c
jmp 0x1002b075
mov eax, dword [esp + 0x10]
shl eax, 4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax + 0xc]
mov edx, dword [eax + 0x50]
mov eax, edx
sar eax, 0x1f
mov ecx, esi
push eax
call fcn.1002ec60
add esp, 4
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x28]
jmp 0x1002b15c
test esi, esi
je 0x1002e4f2
mov eax, dword [esi + 4]
mov edx, dword [eax + 0x24]
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x28]
mov eax, edx
sar eax, 0x1f
mov ecx, dword [esp + 8]
push eax
jmp 0x1002b154
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 3
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x14]
test eax, eax
jle 0x1002a827
xor esi, esi
mov edi, 4
mov ebx, dword [esp + 4]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + edi]
test edx, edx
je 0x1002b134
mov eax, dword [edx + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x1002b141
mov eax, dword [eax + 0xa8]
push eax
push dword [ecx + edi - 4]
push esi
push 0x101b6318
push 1
push dword [esp + 0x1c]
call fcn.1002e5d0
add esp, 0x18
mov eax, dword [ebx + 0x14]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x1002b0fd
jmp 0x1002a827
mov eax, 0x1019d074
jmp 0x1002b118
mov edi, dword [esp + 4]
movzx edx, byte [edi + 0x52]
mov ecx, esi
push 0
call fcn.1002ec60
add esp, 4
mov ecx, edi
mov edx, ebx
jmp 0x1002a842
test edi, edi
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x28]
je 0x1002b15c
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
cmp dword [esi + 0x14], 0
jle 0x1002b1c8
xor ebx, ebx
mov eax, dword [esi + 0x10]
mov ecx, ebx
shl ecx, 4
cmp dword [eax + ecx + 4], 0
je 0x1002b1c2
cmp dword [esp + 0x20], 0
jne 0x1002e4f9
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
mov edx, dword [eax + 0x54]
xor edi, edi
inc edi
mov ecx, ebx
shl edi, cl
bt edx, ebx
jb 0x1002b1c2
or edx, edi
mov dword [eax + 0x54], edx
cmp ebx, 1
je 0x1002e52c
inc ebx
cmp ebx, dword [esi + 0x14]
jl 0x1002b17f
mov ecx, dword [esp + 0xc]
mov edx, 2
push dword [esp + 0x20]
push dword [esp + 0x18]
call fcn.100395c0
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
je 0x1002a827
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x1002e538
mov eax, dword [ecx + 0x38]
and eax, 3
cmp eax, 2
je 0x1002b210
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x1002b1fc
xor ecx, ecx
mov dword [esp + 0x44], ecx
cmp eax, 2
setne byte [esp + 0x3c]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], 7
mov esi, dword [esp + 0x30]
mov edx, esi
call fcn.10052b40
movzx ebx, word [esi + 0x2a]
test bx, bx
jle 0x1002a827
movzx ecx, bx
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x18]
lea eax, [eax + 0x1019d970]
mov dword [esp + 0x38], eax
xor edi, edi
mov dword [esp + 0x34], 0
mov dword [esp + 0x1c], edi
movzx eax, word [esi + 0x10]
mov dl, 1
mov dword [esp + 0x18], 0
test al, 0x62
jne 0x1002d39c
mov edi, eax
and edi, 1
test di, di
sete bl
or bl, byte [esp + 0x3c]
je 0x1002b337
mov ecx, dword [esi + 4]
test ecx, ecx
sete bl
xor dl, 1
mov dword [esp + 0x24], 0
or dl, bl
je 0x1002d3ca
mov dword [esp + 0xc], edi
xor ebx, ebx
cmp byte [esi + 0xc], 0
setne byte [esp + 0x20]
mov ecx, dword [esi]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], 0x101cc833
test al, 4
jne 0x1002d3d6
mov edi, dword [esp + 0x1c]
mov eax, edi
sub eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
or edx, dword [ecx + 4]
mov cl, byte [esp + 0x20]
mov bl, cl
mov edx, str.issisii
mov ecx, str.issisi
cmove edx, ecx
push dword [esp + 0x18]
push dword [esp + 0x10]
push dword [esp + 0x2c]
push ebx
push dword [esp + 0x3c]
push dword [esp + 0x24]
push eax
push edx
push 1
push dword [esp + 0x2c]
call fcn.1002e5d0
add esp, 0x28
mov eax, dword [esp + 0x30]
movzx ebx, word [eax + 0x2a]
inc edi
add esi, 0x14
movsx ecx, bx
cmp edi, ecx
jl 0x1002b261
jmp 0x1002a827
xor edi, edi
inc edi
test ecx, ecx
jle 0x1002b290
mov edi, dword [esp + 0x44]
mov ebx, dword [edi + 4]
lea edi, [ecx + 1]
mov dword [esp + 0xc], edi
neg ecx
xor edi, edi
inc edi
mov dword [esp + 0x24], ebx
movsx ebx, word [ebx + edi*2 - 2]
cmp dword [esp + 0x1c], ebx
je 0x1002b290
lea ebx, [ecx + edi]
inc ebx
inc edi
cmp ebx, 1
mov ebx, dword [esp + 0x24]
jne 0x1002b359
mov edi, dword [esp + 0xc]
jmp 0x1002b290
inc dword [ecx + 0x12c]
jmp 0x10029fe0
xor eax, eax
dec eax
mov ecx, eax
mov dword [edi + 0xa0], ecx
mov dword [edi + 0xa4], eax
mov edx, dword [edi + 0xd8]
test edx, edx
mov esi, dword [esp + 8]
je 0x1002b3af
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], eax
mov edx, dword [edi + 0xa0]
mov ecx, esi
push dword [edi + 0xa4]
jmp 0x1002a81f
inc dword [ecx + 0x12c]
jmp 0x1002a0d3
xor ecx, ecx
inc ecx
mov edx, eax
movzx ebx, byte [ecx + 0x101baa3a]
cmp dl, bl
je 0x1002e54a
movzx edx, dl
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
je 0x1002e54e
xor ecx, ecx
inc ecx
mov ebx, 2
movzx edx, byte [ecx + 0x101b4a92]
cmp al, dl
je 0x1002b424
movzx eax, al
mov al, byte [eax + 0x1019c728]
cmp al, byte [edx + 0x1019c728]
jne 0x1002e2b0
mov al, byte [edi + ecx]
inc ecx
jmp 0x1002b3fe
test al, al
je 0x1002ad2f
jmp 0x1002b41e
test edi, edi
je 0x1002e5a0
lea esi, [esp + 0x68]
mov dword [esi], 0
mov ecx, edi
mov edx, esi
call fcn.10008b60
mov eax, dword [esi]
mov edx, eax
test al, 2
je 0x1002a606
mov ecx, dword [esp + 0xc]
mov edi, dword [ecx + 0x28]
lea eax, [edi + 1]
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x20], 0
jne 0x1002b475
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x14]
dec ecx
mov eax, dword [esp + 0x10]
cmp eax, ecx
jg 0x1002b64f
and edx, 1
mov dword [esp + 0x18], edx
add edx, 2
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], eax
cmp eax, 1
je 0x1002b63c
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
mov edx, dword [eax + 0x54]
xor esi, esi
inc esi
mov ecx, dword [esp + 0x10]
shl esi, cl
bt edx, ecx
jb 0x1002b4c6
or edx, esi
mov dword [eax + 0x54], edx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x10]
shl ecx, 4
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + ecx + 0xc]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x1002b63c
mov ebx, dword [esi + 8]
test byte [ebx + 0x25], 1
jne 0x1002b4f4
mov esi, dword [esi]
jmp 0x1002b4df
movzx edi, word [ebx + 0x2e]
mov eax, dword [ebx + 8]
test eax, eax
je 0x1002b50a
cmp byte [eax + 0x38], 0
jns 0x1002b576
mov eax, dword [eax + 0x14]
jmp 0x1002b4fb
add edi, 0x2e
test di, di
je 0x1002b576
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
push 0x62
push ebx
push dword [esp + 0x18]
call fcn.10044a80
add esp, 0xc
movsx eax, di
mov dword [esp + 0x20], eax
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0x30]
lea edi, [ecx + edx]
cmp dword [eax + 0x70], ecx
jle 0x1002b6fc
lea edx, [ecx + 1]
mov dword [eax + 0x6c], edx
mov edx, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x22
mov eax, dword [esp + 0x24]
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], edi
mov eax, dword [esp + 0x20]
mov dword [edx + ecx*4 + 0xc], eax
mov dword [edx + ecx*4 + 0x10], 0
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x10]
push dword [ebx]
mov edx, dword [esp + 0x20]
push dword [eax + edx]
push str.ANALYZE___w_.__w_
push ecx
call fcn.10024f60
add esp, 0x10
mov ebx, eax
cmp dword [esp + 0x18], 0
jne 0x1002e2b7
mov edi, dword [esp + 8]
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x1002b626
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea edx, [eax + eax*4]
mov byte [ecx + edx*4], 0x90
xorps xmm0, xmm0
movups xmmword [ecx + edx*4 + 1], xmm0
mov dword [ecx + edx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x53], 0
jne 0x1002e326
test eax, eax
js 0x1002b61c
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
jne 0x1002b605
test ebx, ebx
je 0x1002b4f0
lea eax, [ecx + eax*4]
inc eax
mov dword [eax + 0xf], ebx
mov byte [eax], 0xf9
jmp 0x1002b4f0
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 8]
push 0xfffffffffffffff9
push ebx
call fcn.1003d950
add esp, 8
jmp 0x1002b4f0
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x6c]
dec eax
jmp 0x1002b5dd
mov ecx, edi
mov edx, 0x90
xor eax, eax
push eax
push eax
push eax
call fcn.10007820
add esp, 0xc
jmp 0x1002b5cd
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jne 0x1002b497
xor eax, eax
mov ecx, dword [esp + 8]
mov edx, 0xa2
push eax
push eax
push eax
call fcn.10036aa0
jmp 0x1002de11
test edi, edi
mov ecx, edi
mov edi, dword [esp + 4]
je 0x1002b68d
lea esi, [esp + 0x68]
mov dword [esi], 0
mov edx, esi
call fcn.10008b60
push dword [esi]
push edi
call sym.nss3.dll_sqlite3_busy_timeout
add esp, 8
mov edx, dword [edi + 0x1d8]
mov eax, edx
sar eax, 0x1f
mov ecx, dword [esp + 8]
jmp 0x1002a81e
mov ecx, esi
mov edx, 6
push 1
push eax
push dword [esp + 0x18]
call fcn.10007820
add esp, 0xc
jmp 0x1002ace2
mov ecx, esi
mov edx, 0x51
push 0
push 3
push 1
jmp 0x1002de0c
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x1002a5a5
mov ecx, dword [esp + 0x1c]
call fcn.1000a330
jmp 0x1002a5a5
dec dword [ecx + 0xc]
jne 0x1002a606
call fcn.1000a430
jmp 0x1002a606
mov ecx, eax
mov edx, 0x22
push dword [esp + 0x20]
push edi
push dword [esp + 0x2c]
call fcn.10007820
add esp, 0xc
jmp 0x1002b576
mov esi, 0xfffffbf0
push dword [esi + 0x1019dd78]
push 0x101b7897
push 1
push dword [esp + 0x14]
call fcn.1002e5d0
add esp, 0x10
add esi, 0x10
jne 0x1002b71e
jmp 0x1002a827
test edi, edi
je 0x1002d4f8
mov eax, dword [esp + 4]
test byte [eax + 0x18], 0x40
mov edi, dword [esp + 0x14]
jne 0x1002a606
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF8]
cmp cl, dl
jne 0x1002b779
test cl, cl
jne 0x1002b78b
jmp 0x1002d7f2
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x1002d859
inc eax
jmp 0x1002b75d
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x4c], ecx
add ecx, 6
mov dword [esp + 0x30], ecx
mov dword [eax + 0x2c], ecx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x10]
shl ecx, 4
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x1002a827
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 1]
mov dword [esp + 0x40], ecx
add eax, 5
mov dword [esp + 0x54], eax
cmp dword [esp + 0x14], 0
je 0x1002b81c
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0xc]
xor edx, edx
push dword [esp + 0x20]
push dword [esp + 0x18]
call fcn.100395c0
add esp, 8
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
je 0x1002b810
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x10], 0
jne 0x1002b82f
cmp dword [esp + 0x3c], 0
jne 0x1002b7d6
jmp 0x1002a827
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 8]
mov dword [esp + 0x24], ecx
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
jmp 0x1002b7ff
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x48]
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
test ecx, ecx
je 0x1002b853
lea edx, [eax + 0xc]
xor edi, edi
dec edi
inc edi
lea esi, [edx + 0x10]
cmp dword [edx], ecx
mov edx, esi
jne 0x1002b847
jmp 0x1002b858
mov edi, 0xffff8000
mov ecx, edi
mov edx, edi
shl edx, 4
mov dword [esp + 0x2c], edx
mov eax, dword [eax + edx]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x74]
test eax, eax
cmove eax, edx
mov edx, dword [eax + 0x54]
xor esi, esi
inc esi
shl esi, cl
bt edx, edi
jae 0x1002bd56
mov al, 1
mov dword [esp + 0x10], eax
mov eax, edi
cmp edi, 1
je 0x1002b8cc
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x1002b8c4
mov ecx, dword [esp + 0xc]
mov edx, edi
mov eax, dword [esp + 0x24]
push dword [eax]
push 0
push dword [eax + 0x1c]
call fcn.1004cdd0
add esp, 0xc
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x24]
movsx eax, word [eax + 0x2a]
add eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x2c]
jle 0x1002b8e8
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], eax
mov ecx, dword [esp + 0xc]
xor edx, edx
push 0x62
mov esi, dword [esp + 0x28]
push esi
push edi
call fcn.10044a80
add esp, 0xc
mov eax, dword [esi]
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, 0x74
xor eax, eax
push eax
push dword [esp + 0x44]
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, eax
xor eax, eax
push eax
push dword [esp + 0x20]
call fcn.1004f010
add esp, 8
mov esi, dword [esi + 0x10]
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
test esi, esi
je 0x1002ba65
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
mov edx, dword [esi + 8]
mov ecx, dword [esp + 4]
push dword [esp + 0x20]
call fcn.10039b60
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1002ba3c
mov dword [esp + 0x68], 0
cmp byte [esp + 0x10], 0
jne 0x1002b9a9
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x1002b9a9
mov ecx, dword [esp + 0xc]
mov edx, edi
mov eax, dword [esp + 0x1c]
push dword [eax]
push 0
push dword [eax + 0x1c]
call fcn.1004cdd0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
push 0
lea eax, [esp + 0x6c]
push eax
push esi
call fcn.100538a0
add esp, 0xc
test eax, eax
jne 0x1002a827
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x1002ba25
mov ecx, dword [esp + 8]
mov edx, 0x62
push edi
push dword [ebx + 0x2c]
push dword [esp + 0x20]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 8]
mov dword [esp + 0x1c], eax
mov edx, ebx
call fcn.10044850
test eax, eax
je 0x1002ba3c
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
cmp byte [ecx + 0x53], 0
je 0x1002ba4d
cmp dword [ecx + 0x1f8], 0
jne 0x1002ba3c
dec dword [eax]
jne 0x1002ba3c
mov ecx, dword [eax + 0xc]
mov edx, eax
call fcn.10139000
jmp 0x1002ba3c
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
push 0x62
push dword [esp + 0x20]
push edi
call fcn.10044a80
add esp, 0xc
inc dword [esp + 0x18]
mov esi, dword [esi + 4]
test esi, esi
jne 0x1002b94b
jmp 0x1002ba65
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x68]
mov edx, dword [edx + 0x6c]
lea edx, [edx + edx*4]
mov byte [ecx + edx*4 - 0x13], 0xf7
mov dword [ecx + edx*4 - 4], eax
jmp 0x1002ba3c
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
cmp dword [eax + 0x28], ecx
jge 0x1002ba7d
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 8]
mov edx, 0x25
xor eax, eax
push eax
push eax
push eax
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], eax
test eax, eax
je 0x1002bd1d
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 2]
mov dword [esp + 0x48], ecx
add eax, 3
mov dword [esp + 0x58], eax
xor eax, eax
inc eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 8]
mov ecx, dword [esp + 4]
push dword [esp + 0x20]
call fcn.10039b60
add esp, 4
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x44], eax
test eax, eax
je 0x1002bb0a
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x18]
call fcn.100538a0
add esp, 0xc
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x38]
mov ecx, edx
mov dword [esp + 0x38], edx
lea ecx, [edx - 1]
mov dword [esp + 0x2c], ecx
mov dword [eax + 0x38], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov ebx, eax
test eax, eax
jle 0x1002bb9f
mov eax, dword [esp + 0x10]
lea ecx, [eax + 0x24]
xor edx, edx
xor esi, esi
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c], edx
lea edi, [eax + edx]
test eax, eax
mov ebx, ecx
cmove edi, ecx
mov eax, dword [esp + 0x30]
add eax, esi
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x24]
push eax
push dword [edi]
xor edi, edi
push edi
call fcn.1003db30
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, 0x32
push edi
push dword [esp + 0x30]
push dword [esp + 0x20]
call fcn.10036aa0
add esp, 0xc
inc esi
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
add ebx, 8
mov ecx, ebx
mov edx, dword [esp + 0x1c]
add edx, 4
mov ebx, eax
cmp esi, eax
jl 0x1002bb39
mov edx, dword [esp + 0x68]
test edx, edx
je 0x1002bc21
mov ecx, dword [esp + 4]
call fcn.10044c40
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x5d
mov edi, dword [esp + 0x54]
push edi
mov eax, dword [esp + 0x14]
push dword [eax + 0x14]
push dword [esp + 0x38]
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, eax
push ebx
push dword [esp + 0x20]
call fcn.1004f010
add esp, 8
mov ecx, esi
mov edx, 0x1e
push edi
push dword [esp + 0x30]
push dword [esp + 0x3c]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esi]
cmp byte [ecx + 0x53], 0
jne 0x1002bc61
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], 0
jmp 0x1002bc61
cmp dword [esp + 0x44], 0
je 0x1002bc61
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x6c]
add eax, 2
mov ecx, esi
mov edx, 0x1f
push dword [esp + 0x30]
push eax
push dword [esp + 0x3c]
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, 0xb
xor eax, eax
push eax
push dword [esp + 0x30]
push eax
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x24], 0
mov edx, 0x48
mov eax, 0x83
cmovns edx, eax
mov esi, dword [esp + 8]
mov ecx, esi
xor edi, edi
push edi
push dword [esp + 0x4c]
push edi
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0x34]
dec eax
push eax
mov eax, dword [esp + 0x14]
push dword [eax + 8]
push 0x101bce7e
push dword [esp + 0x64]
push esi
call fcn.1002e5d0
add esp, 0x14
mov ecx, esi
mov edx, 0x51
push edi
push 4
push dword [esp + 0x48]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esi + 0xc]
neg dword [esp + 0x38]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002bd0b
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x6c]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 0x38]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x64]
test edx, edx
je 0x1002bcf2
mov ecx, dword [esp + 4]
call fcn.10139000
inc dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002bac3
jmp 0x1002bd1d
mov edx, dword [esp + 8]
push dword [esp + 0x38]
call fcn.10037c90
add esp, 4
jmp 0x1002bce1
mov eax, dword [esp + 0x50]
inc eax
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 5
xor edi, edi
push edi
push eax
push edi
call fcn.10036aa0
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
je 0x1002dcc5
mov dword [ecx + 8], eax
jmp 0x1002b810
or edx, esi
mov dword [eax + 0x54], edx
mov ecx, edi
cmp edi, 1
jne 0x1002b894
mov ecx, eax
call fcn.10045bc0
mov al, 1
mov dword [esp + 0x10], eax
jmp 0x1002b8cc
test edi, edi
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x28]
je 0x1002b15c
mov ecx, edi
mov edi, dword [esp + 0x14]
mov edx, edi
push dword [esp + 0x20]
call fcn.10039b60
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x1002a606
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x1002a606
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x1002de35
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x10]
add edx, 0xc
xor ecx, ecx
dec ecx
inc ecx
lea edi, [edx + 0x10]
cmp dword [edx], eax
mov edx, edi
jne 0x1002bdd3
jmp 0x1002de3a
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x18]
shr edi, 5
and edi, 1
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 6
xor ebx, ebx
mov esi, dword [ebx*4 + 0x101dddec]
test esi, esi
je 0x1002be1d
mov ecx, dword [esp + 8]
mov edx, esi
push edi
push 1
call fcn.10167c30
add esp, 8
mov esi, dword [esi + 0x24]
jmp 0x1002be03
inc ebx
cmp ebx, 0x17
jne 0x1002bdfc
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x18c]
test esi, esi
je 0x1002a827
mov edx, dword [esi + 8]
mov ecx, dword [esp + 8]
push edi
push 0
call fcn.10167c30
add esp, 8
mov esi, dword [esi]
jmp 0x1002be2d
test edi, edi
je 0x1002be64
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x14]
call fcn.1004ef40
test eax, eax
je 0x1002d68b
call sym.nss3.dll_sqlite3_initialize
xor esi, esi
dec esi
mov edi, esi
test eax, eax
je 0x1002d530
mov ecx, dword [esp + 8]
mov edx, esi
push edi
jmp 0x1002a81f
test edi, edi
je 0x1002be9f
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x14]
call fcn.10008b60
test eax, eax
je 0x1002be9f
mov esi, dword [esp + 0x68]
test esi, esi
jg 0x1002bea4
mov esi, bind
mov ecx, dword [esp + 0xc]
xor edx, edx
mov edi, dword [esp + 0x10]
push edi
call fcn.10164a90
add esp, 4
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, 0x45
xor eax, eax
push eax
xor eax, eax
inc eax
push eax
push esi
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, 0x3c
xor eax, eax
push eax
push eax
push edi
call fcn.10036aa0
add esp, 0xc
mov esi, eax
mov ecx, ebx
mov edx, 0x51
xor eax, eax
push eax
push eax
xor edi, edi
inc edi
push edi
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, 0x53
xor eax, eax
push eax
push 0xffffffffffffffff
push edi
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, 0x30
xor eax, eax
push eax
push esi
push edi
call fcn.10036aa0
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x1002bf4d
lea ecx, [eax - 1]
test esi, esi
cmovns ecx, esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 8]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
jmp 0x1002a827
test edi, edi
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x28]
je 0x1002b15c
mov ecx, edi
mov edx, dword [esp + 0x14]
push dword [esp + 0x20]
call fcn.10018660
add esp, 4
mov ebx, eax
test eax, eax
je 0x1002d6d4
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1002d8ed
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x10]
add edx, 0xc
xor ecx, ecx
dec ecx
inc ecx
lea esi, [edx + 0x10]
cmp dword [edx], eax
mov edx, esi
jne 0x1002bf99
jmp 0x1002d8f2
test edi, edi
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x28]
je 0x1002b15c
mov ecx, edi
mov edi, dword [esp + 0x14]
mov edx, edi
push dword [esp + 0x20]
call fcn.10039b60
add esp, 4
test eax, eax
je 0x1002a606
mov esi, eax
mov eax, dword [eax + 0x48]
test eax, eax
je 0x1002da02
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x10]
add edx, 0xc
xor ecx, ecx
dec ecx
inc ecx
lea edi, [edx + 0x10]
cmp dword [edx], eax
mov edx, edi
jne 0x1002bfee
jmp 0x1002da07
mov eax, dword [esp + 0x28]
mov al, byte [eax]
mov byte [esp + 0x38], al
mov dword [esp + 0x1c], 0
mov eax, dword [ebp + 8]
cmp dword [eax], 1
mov eax, 0
sbb eax, eax
or eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 6
mov dword [esp + 0x68], 0x64
mov dword [esp + 0x4c], 0x64
test edi, edi
je 0x1002c068
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x14]
call fcn.10008b60
test eax, eax
je 0x1002d726
mov eax, dword [esp + 0x68]
test eax, eax
jle 0x1002da78
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
dec eax
mov ecx, dword [esp + 8]
mov edx, 0x45
push 0
push 1
push eax
call fcn.10036aa0
add esp, 0xc
cmp dword [esp + 0x1c], 0
setne al
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x14], 0
jle 0x1002ccca
and byte [esp + 0x38], 0xdf
xor ecx, ecx
mov cl, al
mov dword [esp + 0x50], ecx
mov dword [esp + 0x30], 0
cmp dword [esp + 0x34], 0
js 0x1002c0d6
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x34]
je 0x1002c0d6
mov ecx, dword [esp + 0x30]
inc ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x30], ecx
cmp ecx, dword [eax + 0x14]
jl 0x1002c0ae
jmp 0x1002ccca
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
mov edx, dword [eax + 0x54]
xor esi, esi
inc esi
mov ecx, dword [esp + 0x30]
shl esi, cl
bt edx, ecx
jae 0x1002c1de
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x30]
shl ecx, 4
mov dword [esp + 0x24], ecx
mov eax, dword [eax + ecx + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1002c0bf
xor edi, edi
xor ecx, ecx
mov esi, dword [eax + 8]
cmp dword [esp + 0x1c], 0
je 0x1002c12c
cmp dword [esp + 0x1c], esi
jne 0x1002c151
xor edx, edx
test byte [esi + 0x24], 0x80
sete dl
mov ebx, dword [esi + 8]
test ebx, ebx
je 0x1002c159
xor esi, esi
inc esi
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x1002c13e
add edx, ecx
add edx, esi
mov ecx, edx
cmp esi, edi
cmovg edi, esi
mov eax, dword [eax]
test eax, eax
jne 0x1002c11c
jmp 0x1002c15f
add ecx, edx
xor esi, esi
jmp 0x1002c14c
test ecx, ecx
je 0x1002c0bf
add ecx, dword [esp + 0x50]
lea edx, [ecx*4 + 4]
mov ecx, dword [esp + 4]
push 0
call fcn.1014e1f0
add esp, 4
test eax, eax
je 0x1002ccca
mov ebx, eax
xor eax, eax
cmp dword [esp + 0x1c], 0
je 0x1002c19d
mov dword [ebx + 4], 0
xor eax, eax
inc eax
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x1002c1fa
mov edx, dword [ecx + 8]
cmp dword [esp + 0x1c], 0
je 0x1002c1bc
cmp dword [esp + 0x1c], edx
je 0x1002c1bc
mov ecx, dword [ecx]
jmp 0x1002c1a4
cmp byte [edx + 0x24], 0
js 0x1002c1ca
mov esi, dword [edx + 0x1c]
mov dword [ebx + eax*4 + 4], esi
inc eax
mov edx, dword [edx + 8]
test edx, edx
je 0x1002c1b8
mov esi, dword [edx + 0x2c]
mov dword [ebx + eax*4 + 4], esi
inc eax
mov edx, dword [edx + 0x14]
jmp 0x1002c1cd
or edx, esi
mov dword [eax + 0x54], edx
cmp dword [esp + 0x30], 1
jne 0x1002c0f7
mov ecx, eax
call fcn.10045bc0
jmp 0x1002c0f7
mov dword [ebx], eax
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x2c]
add edi, 8
cmp ecx, edi
cmovg edi, ecx
mov dword [edx + 0x2c], edi
mov byte [edx + 0x13], 0
mov dword [edx + 0x1c], 0
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x96
push 1
push eax
push 2
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0xfffffffffffffff1
push ebx
call fcn.1004f010
add esp, 8
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x1002c25b
movzx ecx, byte [esp + 0x30]
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x68]
lea eax, [eax + eax*4]
mov word [edx + eax*4 - 0x12], cx
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x32
xor ebx, ebx
push ebx
push ebx
mov eax, 2
push eax
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0x24]
push dword [eax + edx]
push str._in_database__s__n
push ecx
call fcn.10024f60
add esp, 0xc
mov edi, eax
mov ecx, esi
mov edx, 0x74
push ebx
mov eax, 3
push eax
push ebx
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0xfffffffffffffff9
push edi
call fcn.1004f010
add esp, 8
mov ecx, esi
mov edx, 0x6f
mov eax, 3
push eax
push eax
mov eax, 2
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
call fcn.10167da0
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x1002c30c
lea ecx, [eax - 1]
mov edx, dword [esp + 0x10]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 8]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1002c0bf
mov ecx, dword [esp + 0x1c]
test ecx, ecx
setne al
mov edx, dword [esp + 0x2c]
mov edx, dword [edx + 8]
mov dword [esp + 0x18], edx
cmp ecx, edx
setne cl
test al, cl
jne 0x1002c64b
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x1c], 0
je 0x1002c64b
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x24], 0
js 0x1002cbc8
sub esp, 0x18
lea eax, [esp + 0x78]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x10], eax
movaps xmm0, xmmword [0x1019c340]
movups xmmword [esp], xmm0
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov edx, esi
call fcn.100528a0
add esp, 0x18
mov ecx, dword [esp + 8]
mov edx, 0x45
xor eax, eax
push eax
push 7
push eax
call fcn.10036aa0
add esp, 0xc
mov esi, dword [esi + 8]
test esi, esi
je 0x1002c3d8
mov edi, 8
mov ecx, dword [esp + 8]
mov edx, 0x45
xor eax, eax
push eax
push edi
push eax
call fcn.10036aa0
add esp, 0xc
mov esi, dword [esi + 0x14]
inc edi
test esi, esi
jne 0x1002c3ba
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x25
xor edi, edi
push edi
push edi
push dword [esp + 0x6c]
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, 0x53
push edi
push 1
push 7
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x3c], eax
cmp byte [esp + 0x38], 0x51
je 0x1002c44d
mov eax, dword [esp + 0x18]
movsx eax, word [eax + 0x2c]
dec eax
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x5b
push 3
push eax
push dword [esp + 0x6c]
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x1002c44d
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x80
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 0x2a]
test ax, ax
jle 0x1002c5b4
xor ebx, ebx
xor esi, esi
mov ecx, dword [esp + 0x18]
movsx ecx, word [ecx + 0x28]
cmp esi, ecx
je 0x1002c47c
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
cmp byte [ecx + ebx + 0xc], 0
jne 0x1002c48c
inc esi
movsx ecx, ax
add ebx, 0x14
cmp esi, ecx
jl 0x1002c462
jmp 0x1002c5b4
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, dword [esp + 0x18]
push 3
push esi
push dword [esp + 0x6c]
call fcn.1003db30
add esp, 0xc
mov ecx, dword [edi]
mov eax, 0x101ddee0
cmp byte [ecx + 0x53], 0
jne 0x1002c4c5
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x6c]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp byte [eax], 0x5b
jne 0x1002c4e6
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x6c]
test eax, eax
jle 0x1002c4e6
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x80
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, 0x33
xor eax, eax
push eax
push eax
mov eax, 3
push eax
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
push dword [eax + ebx]
push dword [ecx]
push str.NULL_value_in__s._s
push dword [esp + 0x10]
call fcn.10024f60
add esp, 0x10
mov dword [esp + 0x10], eax
mov ecx, edi
mov edx, 0x74
xor eax, eax
push eax
mov eax, 3
push eax
xor eax, eax
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, eax
push 0xfffffffffffffff9
push dword [esp + 0x14]
call fcn.1004f010
add esp, 8
mov ecx, edi
call fcn.10167da0
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x1002c585
lea ecx, [eax - 1]
mov edx, dword [esp + 0x20]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 8]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 0x2a]
jmp 0x1002c47c
push 0
push esi
push dword [edi]
push dword [esp + 0x18]
call fcn.10044d40
add esp, 0x10
dec ebx
add edi, 0xffffffec
cmp ebx, 2
jg 0x1002c595
jmp 0x1002cc86
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x1002c5fb
mov eax, dword [esp + 4]
test byte [eax + 0x21], 2
jne 0x1002c5fb
mov esi, dword [esp + 4]
mov ecx, esi
push 0
call fcn.100018f0
add esp, 4
mov dword [esp + 0x10], eax
cmp byte [esi + 0x53], 0
je 0x1002cc5a
cmp dword [esp + 0x10], 0
je 0x1002c5fb
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
call fcn.100084e0
cmp byte [esp + 0x38], 0x51
jne 0x1002c656
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 5
push 0
push dword [esp + 0x40]
push dword [esp + 0x6c]
call fcn.10036aa0
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x1002c648
mov ecx, dword [esp + 0x3c]
test ecx, ecx
cmovle ecx, eax
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x68]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffec
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
jmp 0x1002c316
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
test eax, eax
je 0x1002ca42
mov edi, eax
xor eax, eax
xor ecx, ecx
dec ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x38]
dec esi
mov dword [ecx + 0x38], esi
cmp dword [esp + 0x24], edi
jne 0x1002c69d
inc dword [esp + 0x10]
mov ecx, edi
mov ecx, dword [edi + 0x14]
mov edi, ecx
test ecx, ecx
jne 0x1002c678
jmp 0x1002ca42
mov ecx, dword [esp + 0xc]
mov edx, edi
mov dword [esp + 0x44], edi
push dword [esp + 0x20]
push eax
lea eax, [esp + 0x64]
push eax
xor eax, eax
push eax
push eax
push dword [esp + 0x78]
call fcn.10056e60
add esp, 0x18
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
add eax, 8
mov dword [esp + 0x40], eax
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, 0x53
xor eax, eax
push eax
push 1
push dword [esp + 0x48]
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0x44]
movzx eax, word [eax + 0x34]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x10]
mov ecx, ebx
mov edx, 0x1e
push dword [esp + 0x20]
push esi
push eax
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x48], eax
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
jne 0x1002c73c
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x68]
mov ecx, dword [esp + 0x48]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 0x10], edx
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, 0x74
xor esi, esi
push esi
mov eax, 3
push eax
push esi
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, eax
push esi
push str.row
call fcn.1004f010
add esp, 8
mov ecx, ebx
mov edx, 0x6f
mov eax, 3
push eax
push eax
push 7
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, 0x74
push esi
mov eax, 4
push eax
push esi
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, eax
push esi
push str._missing_from_index
call fcn.1004f010
add esp, 8
mov ecx, ebx
mov edx, 0x6f
mov eax, 3
push eax
push eax
mov eax, 4
push eax
call fcn.10036aa0
add esp, 0xc
mov eax, dword [edi]
mov dword [esp + 0x40], eax
mov ecx, ebx
mov edx, 0x74
push esi
mov eax, 4
push eax
push esi
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov dword [esp + 0x58], eax
mov edx, eax
push esi
push dword [esp + 0x44]
call fcn.1004f010
add esp, 8
mov ecx, ebx
mov edx, 0x6f
mov eax, 3
push eax
push eax
mov eax, 4
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
call fcn.10167da0
mov dword [esp + 0x54], eax
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x1002c84a
lea ecx, [eax - 1]
mov edx, dword [esp + 0x48]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 8]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
cmp byte [edi + 0x36], 0
je 0x1002c9c9
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x38]
mov ecx, edx
mov dword [esp + 0x40], edx
lea esi, [edx - 1]
mov dword [eax + 0x38], esi
movzx eax, word [edi + 0x32]
test ax, ax
je 0x1002c8b9
xor ebx, ebx
mov ecx, dword [edi + 4]
movzx ecx, word [ecx + ebx*2]
test cx, cx
js 0x1002c892
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
cmp byte [edx + ecx*4 + 0xc], 0
jne 0x1002c8b1
mov eax, dword [esp + 0x20]
add eax, ebx
mov ecx, dword [esp + 8]
mov edx, 0x32
push 0
push esi
push eax
call fcn.10036aa0
add esp, 0xc
movzx eax, word [edi + 0x32]
inc ebx
movzx ecx, ax
cmp ebx, ecx
jb 0x1002c875
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov edx, 5
xor ebx, ebx
push ebx
xor ebx, ebx
push ebx
push eax
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, 0xb
xor eax, eax
push eax
push esi
push eax
call fcn.10036aa0
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x1002c91e
lea ecx, [eax - 1]
mov edx, dword [esp + 0x48]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 8]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
movzx eax, word [edi + 0x32]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, 0x27
push dword [esp + 0x20]
push esi
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x53], 0
jne 0x1002c969
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov edx, dword [esp + 0x48]
mov dword [ecx + eax*4 + 0x10], edx
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x74
xor ebx, ebx
push ebx
push 3
push ebx
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, eax
push ebx
push str.non_unique_entry_in_index
call fcn.1004f010
add esp, 8
mov ecx, esi
mov edx, 0xb
push ebx
push dword [esp + 0x5c]
push ebx
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esi + 0xc]
neg dword [esp + 0x40]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002ca25
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x6c]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 0x40]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 8]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x1002c9f6
lea ecx, [eax - 1]
mov edx, dword [esp + 0x54]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 8]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1002ca1e
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0xc]
not eax
mov esi, dword [ecx + 0x38]
add esi, dword [ecx + 0x3c]
js 0x1002ca37
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov eax, edi
jmp 0x1002c689
mov edx, dword [esp + 8]
push dword [esp + 0x40]
call fcn.10037c90
add esp, 4
jmp 0x1002c9c9
push eax
call fcn.10037c90
add esp, 4
jmp 0x1002ca1e
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 5
push 0
push dword [esp + 0x40]
push dword [esp + 0x6c]
call fcn.10036aa0
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x1002ca88
mov ecx, dword [esp + 0x3c]
test ecx, ecx
cmovle ecx, eax
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x68]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffec
mov dword [ecx + 8], eax
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x74
xor edi, edi
push edi
push 2
push edi
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, eax
push edi
push str.wrong__of_entries_in_index
call fcn.1004f010
add esp, 8
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 8]
test esi, esi
je 0x1002c64b
mov ebx, 8
cmp dword [esp + 0x24], esi
jne 0x1002cadd
mov esi, dword [esi + 0x14]
inc ebx
test esi, esi
jne 0x1002caca
jmp 0x1002c64b
mov eax, dword [esp + 0x60]
add eax, ebx
add eax, 0xfffffff8
mov dword [esp + 0x18], eax
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, 0x5e
xor eax, eax
push eax
mov eax, 3
push eax
push dword [esp + 0x20]
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, 0x35
mov eax, 3
push eax
xor eax, eax
push eax
push ebx
call fcn.10036aa0
add esp, 0xc
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x1002cb3f
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x90
mov eax, dword [esi]
mov dword [esp + 0x18], eax
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, 0x74
xor eax, eax
push eax
mov eax, 4
push eax
xor eax, eax
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, eax
xor eax, eax
push eax
push dword [esp + 0x1c]
call fcn.1004f010
add esp, 8
mov ecx, edi
mov edx, 0x6f
push 3
push 2
mov eax, 4
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
call fcn.10167da0
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x1002cbc0
lea ecx, [eax - 1]
mov edx, dword [esp + 0x10]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 8]
add ecx, dword [edx + 0x68]
mov dword [ecx + 8], eax
jmp 0x1002cad0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
test eax, eax
je 0x1002c367
mov ecx, dword [eax + 0x38]
and ecx, 3
cmp ecx, 2
je 0x1002cbe7
mov eax, dword [eax + 0x14]
jmp 0x1002cbcf
mov dword [esp + 0x24], eax
jmp 0x1002c367
mov eax, dword [esp + 0xc]
xor edi, edi
mov dword [eax + 0x34], edi
mov eax, dword [esp + 0x18]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0xc]
call fcn.10024f60
add esp, 0xc
mov ebx, eax
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x74
push edi
push 3
push edi
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0xfffffffffffffff9
push ebx
call fcn.1004f010
add esp, 8
mov ecx, esi
call fcn.10167da0
mov ecx, dword [esi + 0xc]
xor eax, eax
inc eax
sub eax, dword [esp + 0x20]
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
jns 0x1002dcb3
jmp 0x1002e162
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x20], eax
add eax, 0xfffffffe
mov dword [esp + 0x44], eax
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp eax, 2
jge 0x1002e010
push 0x10
push dword [esp + 0x48]
mov eax, dword [esp + 0x18]
push dword [eax + 8]
push dword [esp + 0x18]
call fcn.1004eb80
add esp, 0x10
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x20]
neg eax
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
jns 0x1002e02c
mov edx, dword [esp + 8]
push eax
call fcn.10037c90
add esp, 4
jmp 0x1002cbf0
mov ecx, dword [esp + 8]
mov edx, 7
push 0x101a1488
call fcn.10154ab0
add esp, 4
test eax, eax
je 0x1002cd04
xor ecx, ecx
inc ecx
sub ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov cl, 0xff
mov byte [eax + 0x29], cl
mov dword [eax + 0x38], 0x101b96b3
mov byte [eax + 0x65], cl
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov eax, dword [esp + 8]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
add eax, 0xfffffffe
mov ecx, 0x101ddee0
cmp byte [edx + 0x53], 0
jne 0x1002cd22
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x68]
mov dword [ecx + 0xc], eax
jmp 0x1002a827
test edi, edi
je 0x1002d581
lea esi, [esp + 0x68]
mov dword [esi], 1
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.10008b60
mov esi, dword [esi]
test eax, eax
jne 0x1002e1f1
xor edx, edx
test esi, esi
setne dl
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.10150d60
xor edx, edx
test al, al
setne dl
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x20]
and eax, 0xffffffdf
shl edx, 5
or edx, eax
mov dword [ecx + 0x20], edx
call fcn.10167aa0
jmp 0x1002a606
test edi, edi
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x28]
je 0x1002b15c
mov esi, dword [esp + 0x14]
mov ecx, esi
xor edx, edx
call fcn.10150d60
xor edx, edx
test al, al
setne dl
mov ecx, edi
mov edi, esi
call fcn.10167cc0
jmp 0x1002a606
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 2
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x19c]
test esi, esi
je 0x1002a827
xor edi, edi
mov eax, dword [esi + 8]
push dword [eax]
push edi
inc edi
push 0x101b691a
push 1
push dword [esp + 0x18]
call fcn.1002e5d0
add esp, 0x14
mov esi, dword [esi]
test esi, esi
jne 0x1002cdd7
jmp 0x1002a827
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 1
mov esi, 0xffffffd0
mov edi, dword [esp + 8]
xor ebx, ebx
mov eax, dword [esi + 0x101a2ae8]
mov dword [esp + 0x1c], eax
mov ecx, edi
mov edx, 0x74
push ebx
xor eax, eax
inc eax
push eax
push ebx
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, eax
push ebx
push dword [esp + 0x20]
call fcn.1004f010
add esp, 8
mov ecx, edi
mov edx, 0x51
push ebx
xor eax, eax
inc eax
push eax
push eax
call fcn.10036aa0
add esp, 0xc
add esi, 4
jne 0x1002ce12
mov eax, dword [esp + 8]
and byte [eax + 0x98], 0xdf
jmp 0x1002a827
test edi, edi
je 0x1002d59f
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x1002ceb0
mov eax, dword [esp + 4]
mov esi, dword [eax]
mov ecx, dword [esi + 0x20]
call dword [section..00cfg]
lea eax, [esp + 0x68]
push eax
push 1
push dword [esp + 0x1c]
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x1002d600
cmp dword [esp + 0x68], 0
je 0x1002d600
push dword [0x101dddbc]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x1002d7e3
mov edi, dword [esp + 0x14]
push edi
push 0x101b7896
call sym.nss3.dll_sqlite3_mprintf
add esp, 8
mov dword [0x101dddbc], eax
jmp 0x1002a606
mov ecx, dword [esp + 0xc]
call fcn.10045bc0
test edi, edi
je 0x1002a847
test eax, eax
je 0x10029f47
jmp 0x1002a847
cmp al, 0x5b
movzx eax, al
mov ebx, 0x5d
cmovne ebx, eax
xor edx, edx
inc edx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov al, byte [eax + edx]
cmp al, bl
jne 0x1002cf37
mov eax, dword [esp + 0x28]
cmp byte [eax + edx + 1], bl
jne 0x1002d047
inc edx
mov byte [ecx], bl
jmp 0x1002cf39
mov byte [ecx], al
inc edx
inc ecx
jmp 0x1002cf19
cmp byte [eax + 0xa9], 0
jne 0x1002a134
mov edx, dword [esp + 0xc]
cmp byte [edx + 0xc8], 0
jne 0x1002a134
mov edx, dword [esp + 0xc]
mov esi, dword [edx + 0xf0]
mov edi, dword [eax + 0x154]
call dword [section..00cfg]
push esi
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [esp + 0x34]
push 0x13
push edi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x1002e139
push str.not_authorized
mov esi, dword [esp + 0x10]
push esi
call fcn.100394d0
add esp, 8
mov dword [esi + 0xc], 0x17
jmp 0x1002a827
mov esi, eax
test eax, eax
jne 0x1002d3ef
xor edx, edx
inc edx
mov edi, dword [esp + 8]
mov ecx, edi
call fcn.10036960
mov eax, dword [edi]
cmp byte [eax + 0x53], 0
jne 0x1002cfee
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x74]
sub esp, 0x10
movaps xmm0, xmmword [0x1019c1c0]
movups xmmword [esp], xmm0
call fcn.100364f0
add esp, 0x10
mov edi, dword [esp + 0x70]
test edi, edi
je 0x1002d7dc
xor ebx, ebx
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, 0x74
push ebx
xor eax, eax
inc eax
push eax
push ebx
call fcn.10036aa0
add esp, 0xc
mov ecx, esi
mov edx, eax
push ebx
push edi
call fcn.1004f010
add esp, 8
mov ecx, esi
mov edx, 0x51
push ebx
xor eax, eax
inc eax
push eax
push eax
call fcn.10036aa0
add esp, 0xc
mov eax, dword [esp + 0x70]
push eax
call sym.nss3.dll_sqlite3_free
jmp 0x1002a824
mov byte [ecx], 0
jmp 0x1002a022
test edi, edi
je 0x1002d07e
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x14]
call fcn.1004ef40
test eax, eax
jne 0x1002d07e
cmp dword [esp + 0x6c], 0
js 0x1002d07e
mov eax, dword [esp + 0x68]
and eax, 0x7fffffff
mov ecx, dword [esp + 4]
mov dword [ecx + 0x1d4], eax
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x1d4]
jmp 0x1002b693
mov ecx, edi
call fcn.10167a30
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
cmp eax, 0xffffffff
jne 0x1002d424
test ecx, ecx
jne 0x1002d424
mov eax, dword [esp + 4]
lea ecx, [eax + 0x55]
jmp 0x1002d451
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
mov edx, dword [eax + 0x54]
xor esi, esi
inc esi
mov ecx, dword [esp + 0x10]
shl esi, cl
bt edx, ecx
jae 0x1002d61a
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
mov eax, dword [esp + 0x28]
mov al, byte [eax]
and al, 0xdf
cmp al, 0x50
jne 0x1002d49a
mov ecx, dword [esp + 8]
mov edx, 0xac
push 0
jmp 0x1002d4d8
test edi, edi
je 0x1002d1dc
lea esi, [esp + 0x68]
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.1004ef40
mov eax, dword [esi + 4]
test eax, eax
js 0x1002d76f
mov ecx, dword [esp + 0x68]
mov edx, dword [ebp + 8]
cmp dword [edx + 4], 0
jne 0x1002d146
mov edx, dword [esp + 4]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], eax
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x14]
test esi, esi
jle 0x1002d1dc
lea edi, [esi + 1]
mov ebx, dword [esp + 0x10]
neg ebx
shl esi, 4
add esi, 0xfffffff4
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + esi]
test ecx, ecx
je 0x1002d185
mov eax, ebx
lea eax, [ebx + edi]
cmp eax, 2
je 0x1002d190
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x1002d190
dec edi
add esi, 0xfffffff0
cmp edi, 1
jg 0x1002d164
jmp 0x1002d1dc
mov edx, dword [esp + 0x68]
push dword [esp + 0x6c]
call fcn.10167af0
add esp, 4
jmp 0x1002d185
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 1
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x170]
test esi, esi
je 0x1002a827
mov eax, dword [esi + 8]
push dword [eax + 4]
push 0x101b7897
push 1
push dword [esp + 0x14]
call fcn.1002e5d0
add esp, 0x10
mov esi, dword [esi]
jmp 0x1002d1b7
xor eax, eax
dec eax
lea ecx, [esp + 0x68]
mov dword [ecx + 4], eax
mov dword [ecx], eax
push ecx
push 0x12
push dword [esp + 0x28]
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_file_control
add esp, 0x10
cmp eax, 0xc
je 0x1002a827
test eax, eax
jne 0x1002d65e
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 8]
push dword [esp + 0x6c]
jmp 0x1002a81f
test edi, edi
je 0x1002d653
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x1002d261
mov eax, dword [esp + 4]
mov esi, dword [eax]
mov ecx, dword [esi + 0x20]
call dword [section..00cfg]
lea eax, [esp + 0x68]
push eax
push 1
push dword [esp + 0x1c]
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x1002d600
cmp dword [esp + 0x68], 0
je 0x1002d600
mov eax, dword [esp + 4]
cmp byte [eax + 0x52], 1
ja 0x1002d274
mov ecx, dword [esp + 0xc]
call fcn.10167b50
push dword [0x101dddc0]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x1002db4d
mov edi, dword [esp + 0x14]
push edi
push 0x101b7896
call sym.nss3.dll_sqlite3_mprintf
add esp, 8
mov dword [0x101dddc0], eax
jmp 0x1002a606
test edi, edi
je 0x1002d2e5
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x14]
call fcn.1004ef40
test eax, eax
jne 0x1002d2e5
cmp dword [esp + 0x6c], 0
js 0x1002d2e5
mov eax, dword [esp + 0x68]
and eax, 0x7fffffff
cmp eax, 8
mov ecx, 8
cmovb ecx, eax
mov eax, dword [esp + 4]
mov dword [eax + 0x9c], ecx
mov eax, dword [esp + 4]
mov edx, dword [eax + 0x9c]
jmp 0x1002b693
cmp al, 0x5b
movzx eax, al
mov esi, 0x5d
cmovne esi, eax
xor edx, edx
inc edx
mov edi, ebx
mov al, byte [ebx + edx]
mov ecx, esi
cmp al, cl
jne 0x1002d31e
mov eax, esi
cmp byte [ebx + edx + 1], al
jne 0x1002d324
inc edx
mov eax, esi
mov byte [edi], al
jmp 0x1002d320
mov byte [edi], al
inc edx
inc edi
jmp 0x1002d306
mov byte [edi], 0
jmp 0x1002a107
push dword [esp + 4]
call fcn.10157430
jmp 0x1002a824
test edi, edi
je 0x1002d353
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x14]
call fcn.1004ef40
test eax, eax
je 0x1002e25e
call sym.nss3.dll_sqlite3_initialize
xor esi, esi
dec esi
mov edi, esi
test eax, eax
jne 0x1002be76
mov esi, dword [0x101ddc98]
test esi, esi
je 0x1002dfc2
mov ecx, dword [0x101db070]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [0x101ddc98]
mov edi, dword [0x101ddca4]
mov esi, dword [0x101ddca0]
jmp 0x1002d562
mov edi, dword [esp + 0x38]
mov edx, dword [edi]
or edx, dword [edi + 4]
je 0x1002d762
test al, 0x20
jne 0x1002d787
mov edi, eax
and edi, 0x40
sete dl
shr edi, 5
or edi, 1
mov dword [esp + 0x18], edi
jmp 0x1002b27b
mov ecx, dword [ecx + 8]
mov dword [esp + 0x24], ecx
jmp 0x1002b2ab
mov edi, dword [esp + 0x10]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, edi
inc eax
mov dword [esp + 0x2c], eax
jmp 0x1002b2d0
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1002d415
push eax
push 0x101b7896
push dword [esp + 0x14]
call fcn.100394d0
add esp, 0xc
push dword [esp + 0x70]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov eax, dword [esp + 0xc]
inc dword [eax + 0x24]
mov dword [eax + 0xc], esi
jmp 0x1002a827
test ecx, ecx
je 0x1002d88c
mov ecx, dword [esp + 0x10]
shl ecx, 4
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + ecx + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx]
test eax, eax
js 0x1002d44e
cmp byte [ecx + 0xc], 0
je 0x1002dc97
add ecx, 4
cmp byte [ecx], 1
mov eax, str.exclusive
mov esi, str.normal
cmove esi, eax
xor edi, edi
xor eax, eax
inc eax
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, 0x74
push edi
push eax
push edi
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, eax
push edi
push esi
call fcn.1004f010
add esp, 8
mov ecx, ebx
mov edx, 0x51
push edi
xor eax, eax
inc eax
jmp 0x1002b65b
xor edi, edi
cmp dword [esp + 0x14], 0
je 0x1002d4ce
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x14]
call fcn.1004ef40
test eax, eax
jne 0x1002d4ce
mov eax, dword [esp + 0x6c]
test eax, eax
js 0x1002d4ce
mov ecx, dword [esp + 0x68]
cmp ecx, 0xfffffffe
sbb eax, 0
mov edi, 0xfffffffe
cmovl edi, ecx
mov ecx, dword [esp + 8]
mov edx, 0xad
push edi
push esi
push dword [esp + 0x18]
call fcn.10036aa0
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, 0x51
push 0
push 1
push esi
jmp 0x1002b65d
mov ecx, dword [esp + 0xc]
call fcn.101610b0
test eax, eax
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x28]
jne 0x1002b15c
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
movzx eax, byte [eax + 0x50]
cmp eax, 8
je 0x1002b15c
mov esi, dword [eax*8 + 0x101a14a4]
jmp 0x1002d5b5
mov esi, dword [0x101ddc98]
test esi, esi
je 0x1002da98
mov ecx, dword [0x101db070]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [0x101ddc98]
mov edi, dword [0x101ddcac]
mov esi, dword [0x101ddca8]
test ebx, ebx
je 0x1002be76
mov ecx, dword [0x101db078]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
jmp 0x1002be76
xor edx, edx
mov eax, dword [esp + 4]
test byte [eax + 0x20], 0x20
jne 0x1002e241
mov eax, edx
sar eax, 0x1f
mov ecx, dword [esp + 8]
jmp 0x1002b0a0
mov esi, dword [0x101dddbc]
test esi, esi
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x28]
je 0x1002b15c
xor edi, edi
xor eax, eax
inc eax
mov ebx, dword [esp + 8]
mov ecx, ebx
mov edx, 0x74
push edi
push eax
push edi
call fcn.10036aa0
add esp, 0xc
mov ecx, ebx
mov edx, eax
push edi
push esi
call fcn.1004f010
add esp, 8
mov ecx, ebx
mov edx, 0x51
push edi
xor eax, eax
inc eax
push eax
push eax
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
call fcn.10036aa0
add esp, 0xc
jmp 0x1002b15c
push str.not_a_writable_directory
push dword [esp + 0x10]
call fcn.100394d0
add esp, 8
mov edi, dword [esp + 0x14]
jmp 0x1002a606
or edx, esi
mov dword [eax + 0x54], edx
cmp dword [esp + 0x10], 1
jne 0x1002d0e2
mov ecx, eax
call fcn.10045bc0
jmp 0x1002d0e2
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + esi]
mov dl, byte [eax + 0x1019c728]
xor eax, eax
cmp al, dl
jne 0x1002a290
jmp 0x1002a2e7
mov esi, dword [0x101dddc0]
jmp 0x1002d5a5
mov ecx, dword [esp + 0xc]
inc dword [ecx + 0x24]
jmp 0x1002cd22
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + esi]
mov bl, byte [edx + 0x1019c728]
xor edx, edx
cmp dl, bl
mov ebx, dword [esp + 4]
jne 0x1002a419
jmp 0x1002a474
call sym.nss3.dll_sqlite3_initialize
xor esi, esi
dec esi
mov edi, esi
test eax, eax
je 0x1002df6a
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
cmp eax, 1
mov edx, ecx
sbb edx, 0
jl 0x1002be64
mov edx, esi
or edx, edi
je 0x1002d6c5
cmp eax, esi
mov edx, ecx
sbb edx, edi
jge 0x1002be64
push ecx
push eax
call fcn.101504b0
add esp, 8
jmp 0x1002be64
mov ecx, dword [esp + 0xc]
mov edx, 2
push dword [esp + 0x20]
mov edi, dword [esp + 0x18]
push edi
call fcn.100395c0
add esp, 8
test eax, eax
je 0x1002a606
cmp byte [eax + 0x24], 0
jns 0x1002a606
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x1002a606
mov eax, dword [ebx + 0x38]
and eax, 3
cmp eax, 2
je 0x1002bf81
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x1002d70b
jmp 0x1002a827
cmp dword [esp + 0x34], 0
js 0x1002dfbb
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x34]
shl ecx, 4
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0xc]
xor edx, edx
push eax
push dword [esp + 0x18]
call fcn.100395c0
add esp, 8
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x68]
jmp 0x1002c064
inc dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
jmp 0x1002b323
mov eax, dword [0x101db0cc]
mov ecx, dword [0x101db0c8]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
jmp 0x1002d133
mov dword [esp + 0x18], 2
xor edx, edx
jmp 0x1002b27b
mov eax, dword [esp + 0x10]
shl eax, 4
mov ecx, dword [esp + 0x2c]
movzx edx, byte [ecx + eax + 8]
dec edx
jmp 0x1002b099
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x10]
call fcn.100394d0
add esp, 8
jmp 0x1002a606
lea esi, [esp + 0x68]
mov dword [esi], 0
mov ecx, edi
mov edx, esi
call fcn.10008b60
mov al, byte [esi]
jmp 0x1002a2ed
xor eax, eax
jmp 0x1002d03c
mov dword [0x101dddbc], 0
jmp 0x1002d611
mov esi, 0x101a14a4
mov eax, dword [esi + 4]
test al, al
mov ebx, 2
cmovne ebx, eax
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], bl
mov byte [edi + 0x50], bl
lea ecx, [edi + 0x194]
mov edx, 0x1019c99f
call fcn.1014eff0
mov eax, dword [eax + 8]
test eax, eax
movzx ecx, bl
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4 - 0x14]
cmove ecx, eax
mov dword [edi + 8], ecx
cmp dword [esi], 0
jne 0x1002a827
push dword [esp + 0x14]
push str.unsupported_encoding:__s
push dword [esp + 0x14]
call fcn.100394d0
jmp 0x1002de11
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF_8]
cmp cl, dl
jne 0x1002d877
test cl, cl
jne 0x1002d889
jmp 0x1002dfd3
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x1002dfdd
inc eax
jmp 0x1002d85b
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x14]
cmp ecx, 2
jle 0x1002d8e1
mov edx, 2
mov esi, 0x24
test eax, eax
js 0x1002d8bb
mov edi, dword [esp + 4]
mov edi, dword [edi + 0x10]
mov edi, dword [edi + esi]
mov edi, dword [edi + 4]
mov edi, dword [edi]
cmp byte [edi + 0xc], 0
je 0x1002d8c5
inc edx
add esi, 0x10
cmp edx, ecx
jl 0x1002d8a2
jmp 0x1002d8e1
mov ebx, dword [edi + 0xd8]
test ebx, ebx
je 0x1002d8d5
cmp byte [ebx + 0x2b], 2
je 0x1002d8bb
mov byte [edi + 4], al
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x14]
jmp 0x1002d8bb
mov ecx, dword [esp + 4]
mov byte [ecx + 0x55], al
jmp 0x1002d42c
mov ecx, 0xffff8000
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x1019d974]
mov edx, dword [eax + 0x1019d970]
xor eax, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
or edx, esi
setne al
lea edx, [eax + eax*2 + 3]
movzx esi, word [ebx + eax*2 + 0x32]
mov edi, dword [esp + 0xc]
mov dword [edi + 0x2c], edx
mov eax, dword [edi + 0x74]
test eax, eax
cmove eax, edi
xor edx, edx
inc edx
shl edx, cl
mov edi, dword [eax + 0x54]
mov dword [esp + 0x10], edi
bt edi, ecx
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x24], edi
jae 0x1002d9e4
test si, si
je 0x1002a827
xor edi, edi
mov eax, dword [ebx + 4]
movsx eax, word [eax + edi*2]
mov ecx, 0
test eax, eax
js 0x1002d96d
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [ecx + edx*4]
push ecx
push eax
push edi
push str.iisX
push 1
push dword [esp + 0x1c]
call fcn.1002e5d0
add esp, 0x18
mov eax, dword [esp + 0x18]
or eax, dword [esp + 0x1c]
je 0x1002d9ba
movzx ecx, word [ebx + 0x32]
xor eax, eax
cmp edi, ecx
setb al
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x20]
movzx ecx, byte [ecx + edi]
push eax
push dword [edx + edi*4]
push ecx
push str.isiX
push 4
push dword [esp + 0x1c]
call fcn.1002e5d0
add esp, 0x18
mov ecx, dword [esp + 8]
mov edx, 0x51
push 0
mov eax, dword [esp + 0x10]
push dword [eax + 0x2c]
push 1
call fcn.10036aa0
add esp, 0xc
inc edi
cmp esi, edi
jne 0x1002d950
jmp 0x1002a827
mov edi, dword [esp + 0x10]
or edi, edx
mov dword [eax + 0x54], edi
cmp ecx, 1
jne 0x1002d945
mov ecx, eax
call fcn.10045bc0
jmp 0x1002d945
mov ecx, 0xffff8000
mov edx, dword [esp + 0xc]
mov dword [edx + 0x2c], 5
mov eax, dword [edx + 0x74]
test eax, eax
cmove eax, edx
mov edx, dword [eax + 0x54]
xor edi, edi
inc edi
shl edi, cl
bt edx, ecx
jae 0x1002da85
mov esi, dword [esi + 8]
test esi, esi
je 0x1002a827
xor edi, edi
xor eax, eax
cmp dword [esi + 0x24], 0
setne al
mov ecx, dword [esi + 0x38]
and ecx, 3
xor edx, edx
cmp byte [esi + 0x36], 0
setne dl
push eax
push dword [ecx*4 + 0x101a147c]
push edx
push dword [esi]
push edi
push str.isisi
push 1
push dword [esp + 0x24]
call fcn.1002e5d0
add esp, 0x20
inc edi
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x1002da34
jmp 0x1002a827
mov dword [esp + 0x68], 0x64
jmp 0x1002c068
or edx, edi
mov dword [eax + 0x54], edx
cmp ecx, 1
jne 0x1002da27
mov ecx, eax
call fcn.10045bc0
jmp 0x1002da27
mov edi, dword [0x101ddcac]
mov esi, dword [0x101ddca8]
jmp 0x1002be76
mov ebx, esi
mov eax, dword [esp + 0x18]
lea esi, [eax + 0x1019d968]
mov ecx, ebx
mov edx, esi
call fcn.10167ba0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov edi, dword [esp + 4]
and ecx, dword [edi + 0x24]
and eax, dword [edi + 0x20]
xor edx, edx
or eax, ecx
setne dl
mov ecx, ebx
push 0
call fcn.1002ec60
add esp, 4
jmp 0x1002b0ad
lea esi, [esp + 0x68]
mov dword [esi], 0
mov ecx, edi
mov edx, esi
call fcn.10008b60
mov al, byte [esi]
jmp 0x1002a487
movzx ecx, byte [ecx + 0x101b9e7f]
mov bl, byte [ecx + 0x1019c728]
xor edx, edx
cmp dl, bl
je 0x1002e132
xor ecx, ecx
xor esi, esi
inc esi
movzx edx, byte [edi + ecx]
test edx, edx
je 0x1002db5c
mov dl, byte [edx + 0x1019c728]
movzx edi, byte [ecx + str.persist]
mov bl, byte [edi + 0x1019c728]
cmp dl, bl
jne 0x1002db6b
inc ecx
cmp eax, ecx
mov edi, dword [esp + 0x14]
jne 0x1002db1c
mov edi, dword [esp + 4]
jmp 0x1002dd0e
mov dword [0x101dddc0], 0
jmp 0x1002d611
movzx ecx, byte [ecx + str.persist]
mov bl, byte [ecx + 0x1019c728]
xor edx, edx
cmp dl, bl
je 0x1002db44
xor ecx, ecx
mov edi, dword [esp + 0x14]
movzx edx, byte [edi + ecx]
test edx, edx
je 0x1002dbce
mov dl, byte [edx + 0x1019c728]
movzx esi, byte [ecx + 0x101b9c6f]
mov bl, byte [esi + 0x1019c728]
cmp dl, bl
jne 0x1002dbdd
inc ecx
cmp eax, ecx
jne 0x1002db75
mov esi, 2
mov edi, dword [esp + 4]
test byte [edi + 0x23], 0x10
jne 0x1002dcfe
jmp 0x1002dd0e
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + esi]
mov dl, byte [eax + 0x1019c728]
xor eax, eax
cmp al, dl
jne 0x1002a946
jmp 0x1002a99d
movzx ecx, byte [ecx + 0x101b9c6f]
mov bl, byte [ecx + 0x1019c728]
xor edx, edx
cmp dl, bl
je 0x1002db99
xor ecx, ecx
movzx edx, byte [edi + ecx]
test edx, edx
je 0x1002dc11
mov dl, byte [edx + 0x1019c728]
movzx esi, byte [ecx + str.truncate]
mov bl, byte [esi + 0x1019c728]
cmp dl, bl
jne 0x1002dc20
inc ecx
cmp eax, ecx
jne 0x1002dbe3
mov esi, 3
jmp 0x1002db44
movzx ecx, byte [ecx + str.truncate]
mov bl, byte [ecx + 0x1019c728]
xor edx, edx
cmp dl, bl
je 0x1002dc07
xor ecx, ecx
movzx edx, byte [edi + ecx]
test edx, edx
je 0x1002dc54
mov dl, byte [edx + 0x1019c728]
movzx esi, byte [ecx + 0x101b4a93]
mov bl, byte [esi + 0x1019c728]
cmp dl, bl
jne 0x1002dc63
inc ecx
cmp eax, ecx
jne 0x1002dc26
mov esi, 4
jmp 0x1002db44
movzx ecx, byte [ecx + 0x101b4a93]
mov bl, byte [ecx + 0x1019c728]
xor edx, edx
cmp dl, bl
je 0x1002dc4a
xor ecx, ecx
movzx edx, byte [edi + ecx]
test edx, edx
je 0x1002dce3
mov dl, byte [edx + 0x1019c728]
movzx esi, byte [ecx + 0x101b94fc]
mov bl, byte [esi + 0x1019c728]
cmp dl, bl
jne 0x1002dcf2
inc ecx
mov esi, 5
cmp eax, ecx
jne 0x1002dc69
jmp 0x1002db44
mov edx, dword [ecx + 0xd8]
test edx, edx
je 0x1002dcab
cmp byte [edx + 0x2b], 2
je 0x1002d44e
mov byte [ecx + 4], al
jmp 0x1002d44e
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
jmp 0x1002c5ee
lea ecx, [eax - 1]
mov edx, dword [esp + 0x50]
test edx, edx
cmovns ecx, edx
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 8]
add ecx, dword [edx + 0x68]
jmp 0x1002bd4e
movzx eax, byte [ecx + 0x101b94fc]
mov bl, byte [eax + 0x1019c728]
xor edx, edx
cmp dl, bl
mov edi, dword [esp + 4]
je 0x1002e1aa
xor esi, esi
dec esi
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x1002ddf2
mov eax, dword [esp + 0x10]
mov edi, dword [edi + 0x14]
test edi, edi
jle 0x1002ddc2
lea ebx, [edi + 1]
shl edi, 4
add edi, 0xfffffff4
neg eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x10]
cmp dword [eax + edi], 0
jne 0x1002dd48
dec ebx
add edi, 0xfffffff0
cmp ebx, 1
jg 0x1002dd30
jmp 0x1002ddc2
mov eax, dword [esp + 0x10]
add eax, ebx
cmp eax, 2
jne 0x1002e0b5
lea eax, [ebx - 2]
xor edx, edx
inc edx
mov ecx, eax
shl edx, cl
mov esi, dword [esp + 8]
or dword [esi + 0x9c], edx
cmp ebx, 3
je 0x1002dd82
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edi]
cmp byte [ecx + 9], 0
jne 0x1002e0c7
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jle 0x1002de19
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 7
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], 1
mov esi, dword [esp + 0x1c]
mov dword [edx + ecx*4 + 0xc], esi
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x1002dd3d
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x1002de00
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x51
movaps xmm0, xmmword [0x1019c330]
movups xmmword [ecx + eax*4 + 4], xmm0
jmp 0x1002a827
mov dword [eax + 4], 1
xor eax, eax
jmp 0x1002dd12
xor eax, eax
inc eax
mov edx, 0x51
push 0
push eax
push eax
call fcn.10007820
add esp, 0xc
jmp 0x1002a827
mov ecx, esi
mov edx, 7
mov esi, dword [esp + 0x1c]
push esi
push 1
push eax
call fcn.10007820
add esp, 0xc
jmp 0x1002dd3d
mov ecx, 0xffff8000
mov edx, dword [esp + 0xc]
mov dword [edx + 0x2c], 8
mov eax, dword [edx + 0x74]
test eax, eax
cmove eax, edx
mov edx, dword [eax + 0x54]
xor edi, edi
inc edi
shl edi, cl
bt edx, ecx
jae 0x1002def3
mov dword [esp + 0x1c], 0
cmp dword [esi + 0x14], 0
jle 0x1002dedf
xor ebx, ebx
mov dl, byte [esi + 0x19]
add dl, 0xf9
mov eax, str.NO_ACTION
mov ecx, str.NO_ACTION
cmp dl, 3
ja 0x1002de8d
movsx ecx, dl
mov ecx, dword [ecx*4 + 0x101a2af4]
mov dl, byte [esi + 0x1a]
add dl, 0xf9
cmp dl, 3
ja 0x1002dea2
movsx eax, dl
mov eax, dword [eax*4 + 0x101a2af4]
mov edx, dword [esi + ebx*8 + 0x24]
mov edi, dword [esp + 0x18]
mov edi, dword [edi + 4]
lea edx, [edx + edx*4]
push str.NONE
push ecx
push eax
push dword [esi + ebx*8 + 0x28]
push dword [edi + edx*4]
push dword [esi + 8]
push ebx
push dword [esp + 0x38]
push str.iissssss
push 1
push dword [esp + 0x30]
call fcn.1002e5d0
add esp, 0x2c
inc ebx
cmp ebx, dword [esi + 0x14]
jl 0x1002de6e
inc dword [esp + 0x1c]
mov esi, dword [esi + 4]
test esi, esi
jne 0x1002de66
jmp 0x1002a827
or edx, edi
mov dword [eax + 0x54], edx
cmp ecx, 1
jne 0x1002de5e
mov ecx, eax
call fcn.10045bc0
jmp 0x1002de5e
xor edi, edi
lea ebx, [esp + 0x68]
mov dword [ebx], edi
mov ecx, dword [esp + 0x14]
mov edx, ebx
call fcn.10008b60
mov eax, dword [ebx]
mov ebx, dword [esp + 4]
cmp eax, 3
movzx edx, al
cmovae edx, edi
jmp 0x1002ae3a
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1002aa01
mov ecx, esi
call fcn.1000a330
mov ecx, dword [esp + 0xc]
jmp 0x1002aa01
dec dword [esi + 0xc]
jne 0x1002aa1e
mov ecx, esi
call fcn.1000a430
mov ecx, dword [esp + 0xc]
jmp 0x1002aa1e
mov esi, dword [0x101ddc98]
test esi, esi
je 0x1002e20c
mov ecx, dword [0x101db070]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [0x101ddc98]
mov edi, dword [0x101ddcac]
mov esi, dword [0x101ddca8]
test ebx, ebx
je 0x1002d69d
mov ecx, dword [0x101db078]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
jmp 0x1002d69d
xor eax, eax
jmp 0x1002d742
mov edi, dword [0x101ddca4]
mov esi, dword [0x101ddca0]
jmp 0x1002be76
mov esi, 0x101a14ac
jmp 0x1002d7f7
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF_16le]
cmp cl, dl
jne 0x1002dffb
test cl, cl
jne 0x1002e00d
jmp 0x1002e1b4
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x1002e1be
inc eax
jmp 0x1002dfdf
mov ecx, dword [esp + 0x20]
lea esi, [ecx - 1]
lea ebx, [eax + 1]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea edi, [ecx + eax*4]
add edi, 0xfffffff4
jmp 0x1002c595
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
jmp 0x1002cbf0
mov ecx, esi
call fcn.10007e50
mov eax, dword [esi + 0x6c]
jmp 0x1002a685
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x1002e21d
mov ecx, dword [0x101db070]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [esp + 4]
mov esi, dword [ebx + 0xc]
xor eax, eax
mov dword [ebx + 0xf4], eax
mov dword [ebx + 0xf8], eax
test esi, esi
je 0x1002a7ff
mov ecx, dword [0x101db078]
call dword [section..00cfg]
push esi
jmp 0x1002a7fa
mov dword [ebx + 0xf4], 0x1000b8f0
mov dword [ebx + 0xf8], esi
jmp 0x1002a7ff
xor edx, edx
jmp 0x1002a815
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x1002dd3d
jmp 0x1002dd57
or dword [esi + 0xa0], edx
jmp 0x1002dd82
xor eax, eax
jmp 0x1002ac9c
xor eax, eax
dec eax
mov dword [esp + 0x24], eax
jmp 0x1002aa2b
test al, al
je 0x1002e128
inc dword [esp + 0x1c]
jmp 0x1002a8e9
lea esi, [esp + 0x68]
mov dword [esi], 0
mov ecx, edi
mov edx, esi
call fcn.10008b60
mov al, byte [esi]
jmp 0x1002a9af
mov ecx, dword [esp + 0xc]
jmp 0x1002aa2b
xor eax, eax
mov dword [ebx + 0x1f4], eax
mov dword [ebx + 0x1f0], eax
jmp 0x1002aaa2
mov ebx, 2
jmp 0x1002a9b6
xor esi, esi
jmp 0x1002db44
test eax, 0xfffffffd
je 0x1002e234
push str.authorizer_malfunction
mov esi, dword [esp + 0x10]
push esi
call fcn.100394d0
add esp, 8
mov dword [esi + 0xc], 1
jmp 0x1002a827
mov edx, dword [esp + 8]
push eax
call fcn.10037c90
add esp, 4
jmp 0x1002c5ee
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x1002aa41
mov ecx, dword [esp + 0xc]
call fcn.1000a330
mov ecx, dword [esp + 0xc]
jmp 0x1002aa41
dec dword [ecx + 0xc]
jne 0x1002aa70
mov ecx, dword [esp + 0xc]
call fcn.1000a430
jmp 0x1002aa70
mov esi, 5
jmp 0x1002dd0e
mov esi, 0x101a14b4
jmp 0x1002d7f7
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF_16be]
cmp cl, dl
jne 0x1002e1dc
test cl, cl
jne 0x1002e1ee
jmp 0x1002e273
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x1002e27d
inc eax
jmp 0x1002e1c0
mov eax, dword [esp + 0x10]
shl eax, 4
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + eax + 4]
mov edx, esi
call fcn.1015f710
jmp 0x1002cd51
mov edi, dword [0x101ddcac]
mov esi, dword [0x101ddca8]
jmp 0x1002d69d
xor eax, eax
mov ebx, dword [esp + 4]
mov dword [ebx + 0xf4], eax
mov dword [ebx + 0xf8], eax
jmp 0x1002a7ff
test eax, eax
je 0x1002a134
jmp 0x1002a827
mov eax, dword [esp + 0x10]
shl eax, 4
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + eax + 4]
xor edx, edx
call fcn.1015f710
mov edx, eax
jmp 0x1002d591
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.10150340
add esp, 8
jmp 0x1002d353
mov esi, 0x101a14bc
jmp 0x1002d7f7
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF16le]
cmp cl, dl
jne 0x1002e29b
test cl, cl
jne 0x1002e2ad
jmp 0x1002e33a
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x1002e344
inc eax
jmp 0x1002e27f
xor ebx, ebx
jmp 0x1002ad2f
mov eax, dword [esp + 0xc]
mov al, byte [eax + 0x13]
test al, al
je 0x1002e492
dec al
mov ecx, dword [esp + 0xc]
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x94]
mov dword [esp + 0x20], eax
mov edi, dword [esp + 8]
mov ecx, edi
mov edx, 0x74
xor eax, eax
push eax
push dword [esp + 0x24]
xor eax, eax
push eax
call fcn.10036aa0
add esp, 0xc
mov ecx, edi
mov edx, eax
push 0xfffffffffffffff9
push ebx
call fcn.1004f010
add esp, 8
mov ecx, edi
mov edx, 0x51
xor eax, eax
push eax
push 1
push dword [esp + 0x28]
call fcn.10036aa0
add esp, 0xc
jmp 0x1002b4f0
test ebx, ebx
je 0x1002b4f0
mov edx, ebx
call fcn.10139000
jmp 0x1002b4f0
mov esi, 0x101a14c4
jmp 0x1002d7f7
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF16be]
cmp cl, dl
jne 0x1002e362
test cl, cl
jne 0x1002e374
jmp 0x1002e4a6
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x1002e4b0
inc eax
jmp 0x1002e346
cmp byte [esi + 9], 0
je 0x1002e38d
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1002e38d
mov ecx, esi
call fcn.1000a330
mov eax, dword [esi + 4]
cmp byte [eax + 0x11], 0
je 0x1002e557
cmp byte [eax + 0x12], 1
mov edi, 2
sbb edi, 0
cmp byte [esi + 9], 0
je 0x1002e3b8
dec dword [esi + 0xc]
jne 0x1002e3b8
mov ecx, esi
call fcn.1000a430
mov ecx, dword [esp + 8]
mov edx, edi
push 0
jmp 0x1002b0a1
test cl, cl
je 0x1002e433
inc eax
jmp 0x1002adb3
test cl, cl
je 0x1002e43a
inc eax
jmp 0x1002adde
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1002ae4a
mov ecx, esi
mov edi, edx
call fcn.1000a330
mov edx, edi
jmp 0x1002ae4a
test edx, edx
setne al
cmp byte [ebx + 0x11], al
je 0x1002ae54
xor ebx, ebx
jmp 0x1002ae63
dec dword [esi + 0xc]
jne 0x1002ae6d
mov ecx, esi
mov esi, edx
call fcn.1000a430
mov edx, esi
jmp 0x1002ae6d
mov ecx, ebx
call fcn.10007e50
mov eax, dword [ebx + 0x6c]
jmp 0x1002ae96
xor edx, edx
jmp 0x1002ae3a
xor edx, edx
inc edx
jmp 0x1002ae3a
cmp byte [esi + 0x51], 0
je 0x1002e452
cmp byte [ecx + 8], 0
je 0x1002e5b4
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push dword [esp + 0x10]
call fcn.100394d0
add esp, 8
jmp 0x1002a827
push str.corrupt_database
push dword [esp + 0x10]
call fcn.100394d0
add esp, 8
jmp 0x1002a847
test cl, cl
je 0x1002e488
inc eax
jmp 0x1002b02d
mov eax, 2
jmp 0x1002ac9c
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x2c]
inc edx
mov dword [esp + 0x20], edx
mov dword [ecx + 0x2c], edx
jmp 0x1002e2dd
mov esi, 0x101a14cc
jmp 0x1002d7f7
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF_16]
cmp cl, dl
jne 0x1002e4ce
test cl, cl
jne 0x1002e4e0
jmp 0x1002e566
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x1002e570
inc eax
jmp 0x1002e4b2
mov ecx, esi
call fcn.10007e50
mov eax, dword [esi + 0x6c]
jmp 0x1002abe3
xor edx, edx
jmp 0x1002b0c4
mov edi, dword [eax + ecx]
xor ecx, ecx
mov eax, dword [esp + 0x20]
movzx edx, byte [eax + ecx]
movzx eax, byte [edi + ecx]
cmp dl, al
jne 0x1002e517
test dl, dl
jne 0x1002e529
jmp 0x1002b199
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [eax + 0x1019c728]
jne 0x1002b1c2
inc ecx
jmp 0x1002e4fe
mov ecx, eax
call fcn.10045bc0
jmp 0x1002b1c2
mov byte [esp + 0x3c], 1
mov dword [esp + 0x44], 0
jmp 0x1002b21c
test dl, dl
je 0x1002e55e
mov dl, byte [edi + ecx]
inc ecx
jmp 0x1002b3d2
xor edi, edi
jmp 0x1002e3a6
xor ebx, ebx
inc ebx
jmp 0x1002ad2f
mov esi, 0x101a14d4
jmp 0x1002d7f7
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF16]
cmp cl, dl
jne 0x1002e58b
test cl, cl
jne 0x1002e59d
jmp 0x1002e5aa
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x1002d842
inc eax
jmp 0x1002e572
mov edx, 0xfffe
jmp 0x1002b455
mov esi, 0x101a14dc
jmp 0x1002d7f7
call fcn.1001ed00
mov eax, dword [esi + 0x10]
mov dword [eax + 0x14], 0
mov ecx, esi
call fcn.10151d90
jmp 0x1002ad4f