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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov esi, edx
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [esp + 0xa0], eax
mov edi, dword [ecx]
mov dword [esp + 0xc], ecx
mov ebx, dword [ecx + 8]
test ebx, ebx
jne 0x10021f57
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x78], 0
jne 0x10021f44
test byte [edi + 0x50], 8
jne 0x10021f44
mov eax, dword [esp + 0xc]
mov byte [eax + 0x17], 1
mov ecx, dword [esp + 0xc]
call fcn.1002f500
mov ebx, eax
test eax, eax
je 0x10022660
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jle 0x10022a44
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0xa6
movaps xmm0, xmmword [0x101af330]
movups xmmword [ecx + eax*4 + 4], xmm0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], 2
lea eax, [esp + 0x8c]
mov edx, esi
push eax
push dword [ebp + 8]
call fcn.10027340
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
js 0x10022660
mov eax, dword [edi + 0x10]
mov dword [esp + 0x34], eax
cmp dword [esp + 0x1c], 1
je 0x1002577e
mov edx, dword [esp + 0x8c]
mov ecx, edi
call fcn.10017820
mov dword [esp + 0x3c], eax
test eax, eax
je 0x10022660
mov edx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], 0
jne 0x10022534
mov ecx, edi
call fcn.10017820
mov dword [esp + 0x14], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov ecx, dword [esp + 0x1c]
shl ecx, 4
mov dword [esp + 0x28], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x10022d32
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x164]
test ecx, ecx
jne 0x10025794
xor ebx, ebx
lea eax, [esp + 0x90]
mov dword [eax], ebx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov ecx, dword [esp + 8]
mov dword [ecx + 0x1c0], ebx
push eax
push 0xe
push dword [esp + 0x30]
push ecx
call sym.nss3.dll_sqlite3_file_control
add esp, 0x10
cmp eax, 0xc
jne 0x10025806
mov edi, 0x40
mov dword [esp + 0x24], ebx
lea eax, [ebx + edi]
mov edx, eax
shr edx, 0x1f
mov dword [esp + 0x20], eax
add edx, eax
sar edx, 1
mov eax, edx
shl eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x101b0a68]
xor esi, esi
inc esi
mov dword [esp + 0x10], eax
test eax, eax
je 0x100220dd
mov eax, dword [esp + 0x18]
lea eax, [eax + 0x101b0a68]
mov dword [esp + 0x30], eax
xor ecx, ecx
mov eax, dword [esp + 0x3c]
movzx ebx, byte [eax + ecx]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + ecx]
cmp bl, al
jne 0x100220cb
test ebx, ebx
je 0x100220f6
inc ecx
jmp 0x100220b0
movzx esi, byte [ebx + 0x101af7e8]
movzx eax, byte [eax + 0x101af7e8]
sub esi, eax
je 0x100220c8
lea eax, [edx - 1]
inc edx
test esi, esi
mov ebx, dword [esp + 0x24]
cmovns ebx, edx
cmovs edi, eax
cmp ebx, edi
jle 0x10022072
jmp 0x10022642
mov eax, dword [esp + 0x18]
movzx ebx, byte [eax + 0x101b0a6d]
test bl, 1
je 0x10022119
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
cmp byte [esi + 0xb1], 0
je 0x100228d2
test bl, 2
jne 0x10022132
test bl, 4
je 0x1002227a
cmp dword [esp + 0x14], 0
je 0x1002227a
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0x101b0a6c]
dec eax
cmp eax, 0x2a
ja case.0x10022147.5
jmp dword [eax*4 + 0x101b6efc]
cmp dword [esp + 0x14], 0
je 0x10026412
mov eax, dword [esp + 8]
cmp byte [eax + 0x55], 0
mov eax, dword [esp + 0x1c]
je 0x10026425
cmp eax, 1
je 0x1002251c
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx]
add eax, 0xffffffc6
cmp eax, 0xfffffff6
jae 0x1002643b
push ecx
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 + 0x101b47ed]
cmp edi, eax
je 0x100221b7
inc ecx
cmp ecx, 8
jne 0x100221a1
jmp 0x1002296d
test edi, edi
je 0x10022203
movzx eax, byte [ecx + 0x101b47e5]
mov dword [esp + 0x10], eax
xor esi, esi
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + esi + str.onoffalseyestruextrafull]
test eax, eax
je 0x100261f7
mov al, byte [eax + 0x101af7e8]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + esi]
mov dl, byte [edx + 0x101af7e8]
cmp al, dl
jne 0x10026207
dec ebx
inc esi
cmp ebx, 1
jg 0x100221cc
mov al, byte [ecx + 0x101b47f5]
inc al
and al, 7
xor ecx, ecx
inc ecx
test al, al
movzx eax, al
cmove eax, ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov byte [edx + ecx + 8], al
mov byte [edx + ecx + 9], 1
mov eax, dword [esp + 8]
cmp byte [eax + 0x55], 0
je 0x10022642
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x14]
test esi, esi
jle 0x10022642
mov eax, dword [esp + 8]
mov edi, dword [eax + 0x10]
inc esi
add edi, 8
mov ecx, dword [edi - 4]
test ecx, ecx
je 0x1002226c
movzx eax, byte [edi]
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x20]
and edx, 0x38
or edx, eax
call fcn.10027490
dec esi
add edi, 0x10
cmp esi, 1
ja 0x10022251
jmp 0x10022642
mov eax, dword [esp + 0x18]
movzx ebx, byte [eax + 0x101b0a6f]
xor edx, edx
inc edx
test ebx, ebx
cmovne edx, ebx
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10030410
test ebx, ebx
jne 0x10022a6d
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x10022132
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x74]
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x10026230
mov esi, dword [edi + 0x78]
push dword [esp + 0x10]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, eax
mov eax, esi
sar eax, 0x1f
cmp esi, ecx
sbb eax, 0
movzx eax, word [ebx + 0x10]
jl 0x1002623a
test eax, 0x9000
jne 0x10023793
cmp dword [ebx + 0x18], 0
jne 0x10023793
mov eax, dword [esp + 0x10]
mov dword [ebx + 8], eax
mov dword [ebx + 0x24], 0
and ecx, 0x7fffffff
mov dword [ebx + 0xc], ecx
mov word [ebx + 0x10], 0x2202
mov byte [ebx + 0x12], 1
jmp 0x10022132
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10026456
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x101b0a70]
mov esi, eax
and esi, 0xffffbfff
mov ebx, dword [esp + 8]
cmp byte [ebx + 0x55], 0
cmovne esi, eax
mov dword [esp + 0x24], esi
mov eax, dword [edx + 0x101b0a74]
mov dword [esp + 0x18], eax
movzx eax, byte [ecx]
add eax, 0xffffffc6
cmp eax, 0xfffffff6
jae 0x1002648d
push ecx
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 + 0xc], ecx
xor ecx, ecx
movzx edx, byte [ecx + 0x101b47ed]
cmp eax, edx
je 0x10022391
inc ecx
cmp ecx, 8
jne 0x1002237b
jmp 0x10022827
test eax, eax
je 0x100223e1
movzx edx, byte [ecx + 0x101b47e5]
mov dword [esp + 0x10], edx
xor esi, esi
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movzx edx, byte [edx + esi + str.onoffalseyestruextrafull]
test edx, edx
je 0x10026274
mov dl, byte [edx + 0x101af7e8]
mov ebx, dword [esp + 0x14]
movzx ebx, byte [ebx + esi]
mov bl, byte [ebx + 0x101af7e8]
cmp dl, bl
jne 0x10026284
dec edi
inc esi
cmp edi, 1
mov ebx, dword [esp + 8]
jg 0x100223a6
cmp ecx, 5
ja 0x10022386
mov al, byte [ecx + 0x101b47f5]
test al, al
je 0x10022827
mov eax, dword [esp + 0x24]
or dword [ebx + 0x20], eax
mov eax, dword [esp + 0x18]
or dword [ebx + 0x24], eax
jmp 0x10022855
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [ecx + eax + 4]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10023009
xor ebx, ebx
lea edi, [esp + 0x80]
mov dword [edi], ebx
mov edx, edi
call fcn.10038560
mov edx, dword [edi]
mov eax, dword [esp + 8]
mov dword [eax + 0x64], edx
mov ecx, esi
push ebx
push ebx
call fcn.10027ba0
add esp, 8
cmp eax, 7
jne 0x1002251c
mov ecx, dword [esp + 8]
call fcn.10157ae0
jmp 0x1002251c
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100230bc
lea esi, [esp + 0x80]
mov dword [esi], 0
mov edx, esi
call fcn.10038560
mov eax, dword [esi]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov ecx, dword [esi + edx + 0xc]
mov dword [ecx + 0x50], eax
mov ebx, dword [esi + edx + 4]
mov eax, dword [esi + edx + 0xc]
mov edi, dword [eax + 0x50]
mov esi, dword [ebx + 4]
cmp byte [ebx + 9], 0
jne 0x10023362
mov dword [esp + 0x10], ebx
mov eax, dword [esi]
mov esi, dword [eax + 0xe4]
mov dword [esi + 0x18], edi
mov ebx, dword [0x101ef098]
test edi, edi
jns 0x100224fc
mov ecx, edi
sar ecx, 0x1f
shld ecx, edi, 0xa
shl edi, 0xa
xor eax, eax
neg edi
sbb eax, ecx
mov ecx, dword [esi + 0x24]
add ecx, dword [esi + 0x20]
mov edx, ecx
sar edx, 0x1f
push edx
push ecx
push eax
push edi
call fcn.10157210
mov edi, 0x3b9aca00
cmp eax, edi
mov ecx, 0x3b9aca00
cmovb ecx, eax
test edx, edx
cmovs edi, eax
cmove edi, ecx
mov esi, dword [esi + 0x34]
mov ecx, ebx
call dword [section..00cfg]
push edi
push esi
call ebx
add esp, 8
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 9], 0
jne 0x1002337b
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, dword [esp + 0x3c]
call fcn.1014d210
mov edx, dword [esp + 0x14]
jmp 0x10022659
push edx
push 0x101d134d
push edi
call fcn.10020cd0
add esp, 0xc
jmp 0x10021fee
cmp dword [esp + 0x14], 0
mov edi, dword [esp + 8]
je 0x100268b7
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
je 0x100225a0
xor ecx, ecx
mov edi, dword [esp + 0x14]
movzx edx, byte [edi + ecx]
test edx, edx
je 0x1002663d
mov dl, byte [edx + 0x101af7e8]
movzx esi, byte [ecx + 0x101cd575]
mov bl, byte [esi + 0x101af7e8]
cmp dl, bl
jne 0x1002664c
inc ecx
cmp eax, ecx
mov edi, dword [esp + 8]
jne 0x1002256c
xor esi, esi
jmp 0x100268d2
cmp dword [esp + 0x14], 0
mov ebx, dword [esp + 8]
je 0x1002261a
lea esi, [esp + 0x80]
mov dword [esi], 0
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.10038560
mov esi, dword [esi]
test esi, esi
jle 0x10026b11
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x10026b5d
mov ecx, dword [0x101ef070]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov edi, dword [ebx + 0xc]
mov dword [ebx + 0x108], 0x10006990
mov dword [ebx + 0x10c], esi
test edi, edi
je 0x1002261a
mov ecx, dword [0x101ef078]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
cmp dword [ebx + 0x108], 0x10006990
jne 0x10026b72
mov edx, dword [ebx + 0x10c]
mov eax, edx
sar eax, 0x1f
mov ecx, dword [esp + 4]
push eax
call fcn.100279d0
add esp, 4
mov esi, dword [esp + 8]
mov ecx, esi
mov edx, dword [esp + 0x3c]
call fcn.1014d210
mov edx, dword [esp + 0x14]
test edx, edx
je 0x10022660
mov ecx, esi
call fcn.1014d210
mov ecx, dword [esp + 0xa0]
xor ecx, ebp
call fcn.10156ff0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + eax + 4]
mov esi, dword [esp + 0x14]
test esi, esi
mov dword [esp + 0x24], ecx
je 0x10026b96
xor eax, eax
movzx ecx, byte [esi + eax]
movzx edx, byte [eax + str.fast]
cmp cl, dl
je 0x10026ba2
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
je 0x10026ba6
movzx eax, byte [esi]
add eax, 0xffffffc6
cmp eax, 0xfffffff6
jae 0x10026bac
push esi
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 + 0x101b47ed]
cmp edi, eax
je 0x100226f8
inc ecx
cmp ecx, 8
jne 0x100226e2
jmp 0x10022a5f
test edi, edi
je 0x10022744
movzx eax, byte [ecx + 0x101b47e5]
mov dword [esp + 0x10], eax
xor esi, esi
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + esi + str.onoffalseyestruextrafull]
test eax, eax
je 0x10026692
mov al, byte [eax + 0x101af7e8]
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + esi]
mov dl, byte [edx + 0x101af7e8]
cmp al, dl
jne 0x100266a2
dec ebx
inc esi
cmp ebx, 1
jg 0x1002270d
cmp ecx, 5
ja 0x100226ed
mov al, byte [ecx + 0x101b47f5]
xor ecx, ecx
test al, al
setne cl
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 4]
mov ecx, dword [ebp + 8]
cmp dword [ecx + 4], 0
jne 0x10026bc9
cmp dword [eax + 0x14], 0
mov ecx, dword [esp + 0x24]
jle 0x100227d9
mov edx, dword [esp + 0x10]
lea esi, [edx*4]
mov dword [esp + 0x18], esi
xor esi, esi
mov edi, 4
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + edi]
test ebx, ebx
je 0x100227c4
cmp byte [ebx + 9], 0
jne 0x100269de
mov eax, dword [ebx + 4]
and word [eax + 0x18], 0xfff3
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x18]
or word [eax + 0x18], dx
cmp byte [ebx + 9], 0
jne 0x100269fb
inc esi
add edi, 0x10
mov eax, dword [esp + 8]
cmp esi, dword [eax + 0x14]
jl 0x10022793
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 4]
test ecx, ecx
je 0x10022a66
cmp byte [ecx + 9], 0
jne 0x10026dda
test esi, esi
je 0x10022805
mov eax, dword [ecx + 4]
and word [eax + 0x18], 0xfff3
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x10]
shl edx, 2
or word [eax + 0x18], dx
mov eax, dword [ecx + 4]
mov esi, dword [eax + 0x18]
shr esi, 2
and esi, 3
cmp byte [ecx + 9], 0
jne 0x10026df9
movzx edx, si
mov ecx, edi
push 0
jmp 0x1002263a
mov esi, dword [esp + 0x18]
mov eax, esi
mov edx, dword [esp + 0x24]
mov ecx, edx
not ecx
and dword [ebx + 0x20], ecx
not eax
and dword [ebx + 0x24], eax
mov eax, edx
xor eax, 0x80000
or eax, esi
je 0x10026bd2
test dl, 1
jne 0x10026be5
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x10022c0d
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4], 0xa6
xorps xmm0, xmm0
movups xmmword [ecx + eax*4 + 1], xmm0
mov dword [ecx + eax*4 + 0x10], 0
cmp byte [ebx + 0x55], 0
je 0x10022642
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x14]
test esi, esi
jle 0x10022642
mov eax, dword [esp + 8]
mov edi, dword [eax + 0x10]
inc esi
add edi, 8
mov ecx, dword [edi - 4]
test ecx, ecx
je 0x100228c4
movzx eax, byte [edi]
mov edx, dword [esp + 8]
mov edx, dword [edx + 0x20]
and edx, 0x38
or edx, eax
call fcn.10027490
dec esi
add edi, 0x10
cmp esi, 1
ja 0x100228a9
jmp 0x10022642
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x4d]
mov edx, dword [esi + 0x18]
mov byte [esi + 0x54], cl
mov eax, dword [eax + 0xc]
test byte [eax + 0x4e], 1
mov eax, dword [esp + 0xc]
lea eax, [eax + 4]
mov dword [esp + 0x24], eax
je 0x10022b3b
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jl 0x10022951
lea edi, [ecx + 1]
shl ecx, 4
add ecx, 0xfffffffc
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ecx]
test byte [eax + 0x4e], 1
je 0x10022921
dec edi
add ecx, 0xfffffff0
cmp edi, 2
ja 0x1002290a
jmp 0x10022951
mov dword [esp + 0x44], edx
lea edx, [edi - 2]
mov dword [esp + 0x2c], edi
mov edi, ecx
mov ecx, esi
push 0
push dword [esp + 0x28]
call fcn.10039200
mov ecx, edi
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
add esp, 8
test eax, eax
je 0x10022916
jmp 0x10022b59
test dl, 1
jne 0x1002295a
and byte [esi + 0x18], 0xfe
cmp byte [esi + 0x5f], 0
je 0x10022119
or byte [esi + 0x18], 0x10
jmp 0x10022119
mov al, 1
jmp 0x10022209
xor eax, eax
inc eax
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
shl eax, cl
mov esi, dword [esp + 4]
or dword [esi + 0x9c], eax
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 0x101b0a70]
cmp ebx, 1
je 0x100229af
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x38]
mov ecx, dword [ecx + edx + 4]
cmp byte [ecx + 9], 0
jne 0x10022d43
cmp dword [esp + 0x14], 0
jne 0x10022b68
mov ecx, dword [esi + 0x6c]
lea eax, [ecx + 3]
cmp eax, dword [esi + 0x70]
jg 0x10026dbc
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4], 2
xorps xmm0, xmm0
movups xmmword [eax + ecx*4 + 1], xmm0
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0x14], 0x63
movaps xmm0, xmmword [0x101af1a0]
movups xmmword [eax + ecx*4 + 0x18], xmm0
mov dword [eax + ecx*4 + 0x28], 0x54
movaps xmm0, xmmword [0x101af330]
movups xmmword [eax + ecx*4 + 0x2c], xmm0
add dword [esi + 0x6c], 3
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 0x18], ebx
mov dword [eax + ecx*4 + 0x20], edi
mov eax, dword [esi + 0x6c]
cmp eax, 2
jl 0x10022642
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x68]
lea edx, [ecx + 0x14]
dec eax
cmp byte [edx], 0xa6
jne 0x10026dcb
mov byte [ecx + 0x14], 0xb8
jmp 0x10022642
xor eax, eax
inc eax
mov ecx, ebx
mov edx, 0xa6
push 0
push eax
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x10021f82
xor eax, eax
jmp 0x1002274f
xor esi, esi
jmp 0x1002281b
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0x101b0a6e]
lea esi, [eax*4 + 0x101b0e78]
shl ebx, 3
lea eax, [ebx + ebx*4]
mov dword [esp + 0x44], eax
xor edi, edi
mov eax, dword [esp + 4]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
jne 0x10022b26
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x74]
mov eax, dword [ebx + edi + 0x14]
test eax, eax
mov dword [esp + 0x48], eax
je 0x10026d0b
mov eax, dword [eax + 0x78]
mov dword [esp + 0x24], eax
mov ecx, dword [esi]
lea eax, [ebx + edi]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], ecx
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, eax
mov edx, dword [esp + 0x24]
mov eax, edx
sar eax, 0x1f
cmp edx, ecx
sbb eax, 0
movzx eax, word [ebx + edi + 0x10]
jl 0x10026d18
test eax, 0x9000
jne 0x100237a3
cmp dword [ebx + edi + 0x18], 0
jne 0x100237a3
mov eax, dword [esp + 0x10]
mov dword [ebx + edi + 8], eax
mov dword [ebx + edi + 0x24], 0
and ecx, 0x7fffffff
mov dword [ebx + edi + 0xc], ecx
mov word [ebx + edi + 0x10], 0x2202
mov byte [ebx + edi + 0x12], 1
add esi, 4
add edi, 0x28
cmp dword [esp + 0x44], edi
jne 0x10022a8b
jmp 0x10022132
mov ecx, esi
mov edi, edx
xor edx, edx
push 0
push dword [esp + 0x28]
call fcn.10039200
mov edx, edi
add esp, 8
test eax, eax
je 0x100228f9
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
inc dword [ecx + 0x24]
jmp 0x10022642
mov eax, dword [esp + 0x20]
add eax, 0xffffffe6
cmp eax, 0x11
ja 0x10022b84
mov ecx, eax
mov eax, 0x30003
bt eax, ecx
jb 0x100229ba
mov eax, dword [esi + 0x6c]
lea ecx, [eax + 2]
cmp ecx, dword [esi + 0x70]
jg 0x100272ac
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
movaps xmm0, xmmword [0x101af350]
movups xmmword [ebx], xmm0
xor eax, eax
mov dword [ebx + 0x10], eax
mov byte [ebx + 0x14], 0x64
xorps xmm0, xmm0
movups xmmword [ebx + 0x15], xmm0
mov dword [ebx + 0x24], eax
add dword [esi + 0x6c], 2
mov eax, dword [esp + 0x1c]
mov dword [ebx + 4], eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], edi
lea esi, [esp + 0x80]
mov dword [esi], 0
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.10038560
mov eax, dword [esi]
mov dword [ebx + 0x20], eax
mov word [ebx + 0x16], 1
cmp edi, 1
jne 0x1002251c
mov eax, dword [esp + 8]
test byte [eax + 0x23], 0x10
je 0x1002251c
mov byte [ebx + 0x14], 0xb8
jmp 0x1002251c
xor eax, eax
mov edx, 0xa6
push eax
push eax
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x10022885
mov eax, dword [ebp + 8]
cmp dword [eax], 0
mov eax, 0xc
mov ecx, dword [esp + 0x1c]
cmove ecx, eax
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 0x14]
test esi, esi
je 0x10027103
xor ecx, ecx
xor eax, eax
inc eax
movzx edx, byte [esi + ecx]
movzx ebx, byte [ecx + 0x101cca86]
cmp dl, bl
je 0x10022c6f
mov dl, byte [edx + 0x101af7e8]
cmp dl, byte [ebx + 0x101af7e8]
jne 0x10022f9b
inc ecx
jmp 0x10022c4b
test edx, edx
jne 0x10022c6c
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], 3
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jle 0x1002374c
lea edx, [ecx + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 3
mov dword [edx + ecx*4 + 4], ebx
mov dword [edx + ecx*4 + 8], eax
mov dword [edx + ecx*4 + 0xc], 1
mov dword [edx + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x10023764
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x54
movaps xmm0, xmmword [0x101af340]
jmp 0x1002699f
mov esi, dword [esp + 0x14]
test esi, esi
je 0x10023027
mov al, byte [esi]
mov ecx, eax
add cl, 0xd0
cmp cl, 3
jae 0x10023301
movzx ebx, al
add ebx, 0xffffffd0
mov eax, dword [esp + 0xc]
mov esi, dword [eax]
movzx eax, byte [esi + 0x56]
cmp ebx, eax
je 0x10022642
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x10027171
mov byte [esi + 0x56], bl
jmp 0x10022642
mov eax, dword [esp + 0x34]
add eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x28], eax
jmp 0x10022016
or dword [esi + 0xa0], eax
jmp 0x100229af
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [ecx + eax + 4]
mov edi, dword [esp + 0x14]
test edi, edi
je 0x1002710a
xor eax, eax
mov ebx, dword [esp + 8]
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + 0x101cdd2d]
cmp cl, dl
je 0x1002711e
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
je 0x10027122
xor eax, eax
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + 0x101cca86]
cmp cl, dl
je 0x10027128
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
je 0x1002712c
xor eax, eax
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + str.incremental]
cmp cl, dl
je 0x10022dde
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
jne 0x1002338e
inc eax
jmp 0x10022dba
mov edx, 2
test ecx, ecx
jne 0x10022ddb
mov byte [ebx + 0x5a], dl
mov edi, dword [esi + 4]
cmp byte [esi + 9], 0
jne 0x100233b3
test byte [edi + 0x18], 2
jne 0x10023737
test edx, edx
setne byte [edi + 0x11]
cmp edx, 2
sete byte [edi + 0x12]
mov bl, 1
cmp byte [esi + 9], 0
jne 0x100233d0
dec edx
mov dword [esp + 0x10], edx
cmp edx, 2
setb al
and bl, al
cmp bl, 1
jne 0x10022642
mov edi, dword [esp + 4]
mov esi, dword [edi + 0x6c]
lea eax, [esi + 5]
mov ecx, esi
cmp eax, dword [edi + 0x70]
jg 0x10027132
mov eax, dword [edi + 0x68]
lea edx, [ecx + ecx*4]
movaps xmm0, xmmword [0x101af350]
movups xmmword [eax + edx*4], xmm0
mov dword [eax + edx*4 + 0x10], 0
mov dword [eax + edx*4 + 0x14], 0x63
movaps xmm0, xmmword [0x101af370]
movups xmmword [eax + edx*4 + 0x18], xmm0
mov dword [eax + edx*4 + 0x28], 0x10
movaps xmm0, xmmword [0x101af1e0]
movups xmmword [eax + edx*4 + 0x2c], xmm0
mov dword [eax + edx*4 + 0x3c], 0x46
movaps xmm0, xmmword [0x101af380]
movups xmmword [eax + edx*4 + 0x40], xmm0
mov dword [eax + edx*4 + 0x50], 0x64
movaps xmm0, xmmword [0x101af390]
movups xmmword [eax + edx*4 + 0x54], xmm0
add dword [edi + 0x6c], 5
mov ecx, dword [esp + 0x1c]
mov dword [eax + edx*4 + 4], ecx
mov dword [eax + edx*4 + 0x18], ecx
add esi, 4
mov dword [eax + edx*4 + 0x30], esi
mov dword [eax + edx*4 + 0x54], ecx
mov esi, dword [esp + 0x10]
mov dword [eax + edx*4 + 0x5c], esi
xor eax, eax
inc eax
shl eax, cl
or dword [edi + 0x9c], eax
cmp ecx, 1
je 0x10022642
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x38]
mov ecx, dword [ecx + edx + 4]
cmp byte [ecx + 9], 0
je 0x10022642
mov ecx, dword [esp + 4]
or dword [ecx + 0xa0], eax
jmp 0x10022642
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + eax + 4]
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov dword [esp + 0x84], 0xffffffff
mov dword [esp + 0x80], 0xfffffffe
cmp dword [esp + 0x14], 0
mov ebx, dword [esp + 4]
je 0x10022f88
lea esi, [esp + 0x80]
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.100533a0
mov eax, dword [esi]
mov ecx, dword [esi + 4]
xor edx, edx
dec edx
mov esi, 0xfffffffe
cmp esi, eax
mov esi, edx
sbb esi, ecx
jge 0x100271e0
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
mov edx, dword [edi + 0xe8]
test edx, edx
je 0x10022f88
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov edx, dword [edi + 0xb0]
mov ecx, ebx
push dword [edi + 0xb4]
jmp 0x1002263a
xor ecx, ecx
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x1c]
movzx edx, byte [esi + ecx]
movzx eax, byte [ecx + str.restart]
cmp dl, al
je 0x10022fc5
mov dl, byte [edx + 0x101af7e8]
cmp dl, byte [eax + 0x101af7e8]
jne 0x10022fd4
inc ecx
jmp 0x10022fa5
mov eax, 2
test edx, edx
je 0x10022c7b
jmp 0x10022fc2
xor ecx, ecx
movzx edx, byte [esi + ecx]
movzx eax, byte [ecx + str.truncate]
cmp dl, al
je 0x10022ffa
mov dl, byte [edx + 0x101af7e8]
cmp dl, byte [eax + 0x101af7e8]
jne 0x10026fe4
inc ecx
jmp 0x10022fd6
mov eax, 3
test edx, edx
je 0x10022c7b
jmp 0x10022ff7
test esi, esi
je 0x10027225
mov eax, dword [esi + 4]
mov edx, dword [eax + 0x24]
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov eax, edx
sar eax, 0x1f
push eax
jmp 0x10023035
mov esi, dword [esp + 8]
movzx edx, byte [esi + 0x56]
mov ecx, dword [esp + 4]
push 0
call fcn.100279d0
add esp, 4
mov edx, dword [esp + 0x3c]
jmp 0x10022659
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 3
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x14]
test eax, eax
jle 0x10022642
xor esi, esi
mov edi, 4
mov ebx, dword [esp + 8]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + edi]
test edx, edx
je 0x100230af
mov eax, dword [edx + 4]
mov edx, dword [eax]
mov eax, 0x101b0134
cmp byte [edx + 0xf], 0
jne 0x10023093
cmp dword [edx], 0x101ef7e4
je 0x10023093
mov eax, dword [edx + 0xb8]
push eax
push dword [ecx + edi - 4]
push esi
push 0x101c991d
push 1
push dword [esp + 0x18]
call fcn.10027830
add esp, 0x18
mov eax, dword [ebx + 0x14]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x1002306b
jmp 0x10022642
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + eax + 0xc]
mov edx, dword [eax + 0x50]
mov eax, edx
sar eax, 0x1f
mov ecx, dword [esp + 4]
push eax
call fcn.100279d0
add esp, 4
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 8]
jmp 0x10022659
cmp dword [esp + 0x14], 0
je 0x100230dd
mov eax, dword [esp + 0xc]
mov edi, dword [eax]
cmp dword [edi + 0x14], 0
jle 0x10023148
xor ebx, ebx
mov eax, dword [edi + 0x10]
mov ecx, ebx
shl ecx, 4
cmp dword [eax + ecx + 4], 0
je 0x10023142
cmp dword [esp + 0x28], 0
jne 0x1002722c
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
mov edx, dword [eax + 0x58]
xor esi, esi
inc esi
mov ecx, ebx
shl esi, cl
bt edx, ebx
jb 0x10023142
or edx, esi
mov dword [eax + 0x58], edx
cmp ebx, 1
je 0x10027260
inc ebx
cmp ebx, dword [edi + 0x14]
jl 0x100230ff
mov ecx, dword [esp + 0xc]
mov edx, 2
push dword [esp + 0x28]
push dword [esp + 0x18]
call fcn.10038860
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
je 0x10022642
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], 0
test eax, eax
je 0x1002726c
mov ecx, dword [eax + 0x38]
and ecx, 3
cmp ecx, 2
setne byte [esp + 0x1c]
je 0x1002319d
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x10023184
jmp 0x100231a1
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 7
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x2b], 1
je 0x10027150
mov eax, dword [esp + 0x30]
movzx edx, word [eax + 0x22]
test dx, dx
jle 0x10027150
movzx ecx, dx
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x18]
lea eax, [eax + 0x101b0a70]
mov dword [esp + 0x28], eax
xor esi, esi
mov dword [esp + 0x38], 0
movzx eax, word [ebx + 0xe]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
test al, 0x62
mov dword [esp + 0x18], ebx
jne 0x10026157
mov edx, eax
and edx, 1
mov dword [esp + 0x10], edx
sete dl
or dl, byte [esp + 0x1c]
je 0x100232c5
movzx ecx, word [ebx + 0xc]
mov dword [esp + 0xc], 0
test ecx, ecx
jne 0x1002618b
mov ecx, dword [ebx + 4]
xor ebx, ebx
test cl, 0xf
setne dl
test al, 4
mov byte [esp + 0x20], dl
jne 0x100261d4
shr ecx, 4
mov eax, 0x101e0242
and ecx, 0xf
jne 0x100261eb
mov ecx, esi
sub ecx, dword [esp + 0x38]
mov edi, esi
mov esi, dword [esp + 0x28]
mov edx, dword [esi]
or edx, dword [esi + 4]
mov dl, byte [esp + 0x20]
mov bl, dl
mov edx, str.issisii
mov esi, str.issisi
cmove edx, esi
push dword [esp + 0x24]
push dword [esp + 0x14]
push dword [esp + 0x14]
push ebx
push eax
mov ebx, dword [esp + 0x2c]
push dword [ebx]
push ecx
push edx
push 1
push dword [esp + 0x28]
call fcn.10027830
add esp, 0x28
mov eax, dword [esp + 0x30]
movzx edx, word [eax + 0x22]
inc edi
add ebx, 0x10
movsx ecx, dx
cmp edi, ecx
mov esi, edi
jl 0x100231ed
jmp 0x10022642
xor edx, edx
inc edx
mov dword [esp + 0x10], edx
test ecx, ecx
jle 0x10023223
mov edi, ebx
mov edx, dword [esp + 0x34]
mov ebx, dword [edx + 4]
lea edx, [ecx + 1]
mov dword [esp + 0xc], edx
neg ecx
xor edx, edx
inc edx
mov dword [esp + 0x10], edx
movsx edx, word [ebx + edx*2 - 2]
cmp esi, edx
jne 0x100271fd
mov ebx, edi
jmp 0x10023223
xor ecx, ecx
inc ecx
mov edx, eax
movzx ebx, byte [ecx + 0x101ce154]
cmp dl, bl
je 0x100272c9
movzx edx, dl
mov dl, byte [edx + 0x101af7e8]
cmp dl, byte [ebx + 0x101af7e8]
je 0x100272cd
xor ecx, ecx
inc ecx
mov ebx, 2
movzx edx, byte [ecx + 0x101c7fa0]
cmp al, dl
je 0x10023358
movzx eax, al
mov al, byte [eax + 0x101af7e8]
cmp al, byte [edx + 0x101af7e8]
jne 0x1002703c
mov al, byte [esi + ecx]
inc ecx
jmp 0x10023332
test al, al
je 0x10022d0a
jmp 0x10023352
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x100224a6
mov ecx, ebx
call fcn.10005b90
jmp 0x100224a6
dec dword [ecx + 0xc]
jne 0x1002251c
call fcn.10005b60
jmp 0x1002251c
xor eax, eax
lea edi, [esp + 0x80]
mov dword [edi], eax
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.10038560
xor edx, edx
mov eax, dword [edi]
cmp eax, 3
cmovb edx, eax
jmp 0x10022de7
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x10022df7
mov ecx, esi
mov ebx, edx
call fcn.10005b90
mov edx, ebx
jmp 0x10022df7
dec dword [esi + 0xc]
jne 0x10022e1a
mov ecx, esi
mov esi, edx
call fcn.10005b60
mov edx, esi
jmp 0x10022e1a
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov edi, dword [esp + 8]
je 0x10023414
lea esi, [esp + 0x80]
mov dword [esi], 0
mov edx, esi
call fcn.10038560
push dword [esi]
push edi
call sym.nss3.dll_sqlite3_busy_timeout
add esp, 8
mov edx, dword [edi + 0x1ec]
jmp 0x10022630
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100272e8
lea esi, [esp + 0x80]
mov dword [esi], 0
mov edx, esi
call fcn.10038560
mov eax, dword [esi]
mov esi, eax
test al, 2
mov edx, dword [esp + 0x1c]
je 0x1002251c
mov ecx, dword [esp + 0xc]
mov edi, dword [ecx + 0x28]
lea eax, [edi + 1]
mov dword [ecx + 0x28], eax
mov ecx, edx
cmp dword [esp + 0x28], 0
jne 0x10023475
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x14]
cmp edx, ecx
jge 0x10023641
dec ecx
and esi, 1
mov dword [esp + 0x18], esi
lea eax, [esi + 2]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], edx
cmp edx, 1
je 0x1002362c
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
mov edx, dword [eax + 0x58]
xor esi, esi
inc esi
mov ecx, dword [esp + 0x1c]
shl esi, cl
bt edx, ecx
jb 0x100234ba
or edx, esi
mov dword [eax + 0x58], edx
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
shl ecx, 4
mov dword [esp + 0x10], ecx
mov eax, dword [eax + ecx + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x1002362c
mov esi, dword [ebx + 8]
test byte [esi + 0x1d], 1
jne 0x100234e4
mov ebx, dword [ebx]
jmp 0x100234cf
movzx edi, word [esi + 0x26]
mov eax, dword [esi + 8]
test eax, eax
je 0x100234fa
test byte [eax + 0x38], 0x80
je 0x10023566
mov eax, dword [eax + 0x14]
jmp 0x100234eb
add edi, 0x2e
test di, di
je 0x10023566
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
push 0x70
push esi
push dword [esp + 0x24]
call fcn.10040c10
add esp, 0xc
movsx eax, di
mov dword [esp + 0x20], eax
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0x28]
lea edi, [ecx + edx]
cmp dword [eax + 0x70], ecx
jle 0x10023776
lea edx, [ecx + 1]
mov dword [eax + 0x6c], edx
mov edx, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 0x21
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 + 8]
mov eax, dword [ecx + 0x10]
push dword [esi]
mov edx, dword [esp + 0x14]
push dword [eax + edx]
push str.ANALYZE___w_.__w_
push ecx
call fcn.10020cd0
add esp, 0x10
mov esi, eax
cmp dword [esp + 0x18], 0
jne 0x10027080
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jle 0x10023616
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea edx, [eax + eax*4]
mov byte [ecx + edx*4], 0x94
xorps xmm0, xmm0
movups xmmword [ecx + edx*4 + 1], xmm0
mov dword [ecx + edx*4 + 0x10], 0
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x100270ef
test eax, eax
js 0x1002360c
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
jne 0x100235f5
test esi, esi
je 0x100234e0
lea eax, [ecx + eax*4]
inc eax
mov dword [eax + 0xf], esi
mov byte [eax], 0xfa
jmp 0x100234e0
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 4]
push 0xfffffffffffffffa
push esi
call fcn.10035ca0
add esp, 8
jmp 0x100234e0
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x6c]
dec eax
jmp 0x100235cd
mov ecx, edi
mov edx, 0x94
xor eax, eax
push eax
push eax
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x100235bd
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x30]
cmp ecx, edx
mov edx, eax
jne 0x1002348b
xor eax, eax
mov ecx, dword [esp + 4]
mov edx, 0xa6
push eax
push eax
push eax
call fcn.1002fb80
jmp 0x100269ba
mov dword [esp + 0x80], 0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x100272d6
lea edx, [esp + 0x80]
call fcn.10038560
test eax, eax
je 0x100272d6
mov esi, dword [esp + 0x80]
test esi, esi
jle 0x100272d6
mov ecx, dword [esp + 0xc]
xor edx, edx
mov edi, dword [esp + 0x1c]
push edi
call fcn.10058fe0
add esp, 4
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x47
xor eax, eax
push eax
xor eax, eax
inc eax
push eax
push esi
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, 0x3e
xor eax, eax
push eax
push eax
push edi
call fcn.1002fb80
add esp, 0xc
mov esi, eax
mov ecx, ebx
mov edx, 0x54
xor eax, eax
push eax
push eax
xor edi, edi
inc edi
push edi
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, 0x56
xor eax, eax
push eax
push 0xffffffffffffffff
push edi
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, 0x3b
xor eax, eax
push eax
push esi
push edi
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x10027317
lea ecx, [esi + esi*4]
shl ecx, 2
add ecx, dword [ebx + 0x68]
mov dword [ecx + 8], eax
jmp 0x10022642
test edx, edx
setne al
cmp byte [edi + 0x11], al
je 0x10022e01
xor ebx, ebx
jmp 0x10022e10
mov ecx, edi
mov edx, 3
push 1
push eax
push ebx
call fcn.10016c40
add esp, 0xc
jmp 0x10022cbd
mov ecx, edi
mov edx, 0x54
push 0
push 3
push 1
jmp 0x100269b5
mov ecx, eax
mov edx, 0x21
push dword [esp + 0x20]
push edi
push dword [esp + 0x2c]
call fcn.10016c40
add esp, 0xc
jmp 0x10023566
mov esi, ecx
mov ecx, ebx
call fcn.10128780
mov ecx, esi
jmp 0x100222f8
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
call fcn.10128780
mov ecx, dword [esp + 0x24]
jmp 0x10022b00
mov esi, 0xfffffbf0
push dword [esi + 0x101b0e78]
push 0x101caf40
push 1
push dword [esp + 0x10]
call fcn.10027830
add esp, 0x10
add esi, 0x10
jne 0x100237be
jmp 0x10022642
cmp dword [esp + 0x14], 0
je 0x100230dd
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
push dword [esp + 0x28]
call fcn.10019c80
add esp, 4
mov edi, eax
test eax, eax
je 0x100262b0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x10026527
mov ecx, dword [esp + 8]
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 0x10023822
jmp 0x1002652c
cmp dword [esp + 0x14], 0
je 0x100230dd
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
push dword [esp + 0x28]
call fcn.1014f930
add esp, 4
test eax, eax
je 0x1002251c
mov esi, eax
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x100266af
mov ecx, dword [esp + 8]
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 0x10023872
jmp 0x100266b4
mov dword [esp + 0x24], 0
mov eax, dword [ebp + 8]
cmp dword [eax], 1
mov eax, 0
sbb eax, eax
or eax, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x3c]
mov al, byte [eax]
mov byte [esp + 0x44], al
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 6
mov dword [esp + 0x80], 0x64
cmp dword [esp + 0x14], 0
je 0x100260a2
lea edx, [esp + 0x80]
mov ecx, dword [esp + 0x14]
call fcn.10038560
test eax, eax
je 0x10026301
mov ecx, dword [esp + 0x80]
test ecx, ecx
mov eax, 0x64
cmovg eax, ecx
mov dword [esp + 0x80], eax
dec eax
mov ecx, dword [esp + 4]
mov edx, 0x47
push 0
push 1
push eax
call fcn.1002fb80
add esp, 0xc
cmp dword [esp + 0x24], 0
setne al
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x14], 0
jle 0x10024eaa
and byte [esp + 0x44], 0xdf
xor ecx, ecx
mov cl, al
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 4]
add eax, 0x68
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], 0
cmp dword [esp + 0x58], 0
js 0x1002396e
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x58]
je 0x1002396e
mov ecx, dword [esp + 0x48]
inc ecx
mov eax, dword [esp + 8]
mov dword [esp + 0x48], ecx
cmp ecx, dword [eax + 0x14]
jl 0x10023946
jmp 0x10024eaa
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
mov edx, dword [eax + 0x58]
xor esi, esi
inc esi
mov ecx, dword [esp + 0x48]
shl esi, cl
bt edx, ecx
jae 0x10023a69
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x48]
shl ecx, 4
mov dword [esp + 0x18], ecx
mov eax, dword [eax + ecx + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10023957
xor edi, edi
xor ecx, ecx
mov edx, dword [eax + 8]
cmp dword [esp + 0x24], 0
je 0x100239c4
cmp dword [esp + 0x24], edx
jne 0x100239e4
bt dword [edx + 0x1c], 7
sbb ecx, 0xffffffff
mov esi, dword [edx + 8]
xor edx, edx
test esi, esi
je 0x100239df
inc edx
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100239d5
add ecx, edx
cmp edx, edi
cmovg edi, edx
mov eax, dword [eax]
test eax, eax
jne 0x100239b4
test ecx, ecx
je 0x10023957
add ecx, dword [esp + 0x6c]
lea edx, [ecx*4 + 4]
mov ecx, dword [esp + 8]
push 0
call fcn.10157570
add esp, 4
test eax, eax
je 0x10024eaa
mov esi, eax
xor eax, eax
cmp dword [esp + 0x24], 0
je 0x10023a28
mov dword [esi + 4], 0
xor eax, eax
inc eax
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x10023a85
mov edx, dword [ecx + 8]
cmp dword [esp + 0x24], 0
je 0x10023a47
cmp dword [esp + 0x24], edx
je 0x10023a47
mov ecx, dword [ecx]
jmp 0x10023a2f
test byte [edx + 0x1c], 0x80
jne 0x10023a55
mov ebx, dword [edx + 0x14]
mov dword [esi + eax*4 + 4], ebx
inc eax
mov edx, dword [edx + 8]
test edx, edx
je 0x10023a43
mov ebx, dword [edx + 0x2c]
mov dword [esi + eax*4 + 4], ebx
inc eax
mov edx, dword [edx + 0x14]
jmp 0x10023a58
or edx, esi
mov dword [eax + 0x58], edx
cmp dword [esp + 0x48], 1
jne 0x1002398f
mov ecx, eax
call fcn.10042310
jmp 0x1002398f
mov dword [esi], 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 edi, dword [esp + 4]
mov ecx, edi
mov edx, 0x9b
push 1
push eax
push 2
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, eax
push 0xfffffffffffffff2
push esi
call fcn.1003a120
add esp, 8
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x10023ae5
movzx ecx, byte [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov edx, dword [edx]
lea eax, [eax + eax*4]
mov word [edx + eax*4 - 0x12], cx
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x32
xor esi, esi
push esi
push esi
mov eax, 2
push eax
call fcn.1002fb80
add esp, 0xc
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x10]
mov edx, dword [esp + 0x18]
push dword [eax + edx]
push str._in_database__s__n
push ecx
call fcn.10020cd0
add esp, 0xc
mov edi, eax
mov ecx, ebx
mov edx, 0x75
push esi
mov eax, 3
push eax
push esi
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffffa
push edi
call fcn.1003a120
add esp, 8
mov ecx, ebx
mov edx, 0x6f
mov eax, 3
push eax
push eax
mov eax, 2
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
call fcn.1017acc0
mov edx, dword [ebx]
mov eax, dword [ebx + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x10023b8d
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0x2c]
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x38], eax
test eax, eax
je 0x10023957
mov ecx, dword [esp + 0x24]
test ecx, ecx
sete al
mov edx, dword [esp + 0x38]
mov edx, dword [edx + 8]
cmp ecx, edx
sete cl
mov dword [esp + 0x18], edx
cmp byte [edx + 0x2b], 0
jne 0x100248cd
or al, cl
je 0x100248cd
mov dword [esp + 0x20], 0
mov dword [esp + 0x34], 0
cmp byte [esp + 0x44], 0x51
je 0x10023c7b
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 0x80
mov dword [esp + 0x34], 0
je 0x10023c7b
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], 0
test eax, eax
je 0x10023c49
mov ecx, dword [eax + 0x38]
and ecx, 3
cmp ecx, 2
je 0x10023c45
mov eax, dword [eax + 0x14]
jmp 0x10023c12
push 0
push ebx
push dword [esi]
push dword [esp + 0x18]
call fcn.10040dd0
add esp, 0x10
dec edi
add esi, 0xffffffec
cmp edi, 2
ja 0x10023c26
jmp 0x10024e66
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x20]
movzx edx, word [esi + 0x32]
mov ecx, dword [esp + 0xc]
call fcn.10052fb0
movzx ecx, word [esi + 0x32]
lea esi, [eax + ecx]
dec esi
mov ecx, dword [esp + 4]
mov edx, 0x4b
push esi
mov dword [esp + 0x38], eax
push eax
push 1
call fcn.1002fb80
add esp, 0xc
sub esp, 0x18
lea eax, [esp + 0x90]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x10], eax
movaps xmm0, xmmword [0x101af360]
movups xmmword [esp], xmm0
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov edx, esi
call fcn.1004f080
add esp, 0x18
mov ecx, dword [esp + 4]
mov edx, 0x47
xor eax, eax
push eax
push 7
push eax
call fcn.1002fb80
add esp, 0xc
mov esi, dword [esi + 8]
test esi, esi
je 0x10023cf2
mov edi, 8
mov ecx, dword [esp + 4]
mov edx, 0x47
xor eax, eax
push eax
push edi
push eax
call fcn.1002fb80
add esp, 0xc
mov esi, dword [esi + 0x14]
inc edi
test esi, esi
jne 0x10023cd4
mov ebx, dword [esp + 0x18]
lea edi, [ebx + 8]
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x24
xor eax, eax
push eax
push eax
push dword [esp + 0x84]
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, 0x56
xor eax, eax
push eax
push 1
push 7
call fcn.1002fb80
add esp, 0xc
mov dword [esp + 0x5c], eax
test byte [ebx + 0x1c], 0x80
mov dword [esp + 0x60], edi
jne 0x10023d7b
mov eax, dword [esp + 0x18]
movsx ecx, word [eax + 0x22]
xor eax, eax
dec eax
test ecx, ecx
jle 0x10023d68
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 4]
add edx, 0xe
xor eax, eax
dec eax
mov bl, byte [edx]
and bl, 0x20
cmp bl, 1
adc eax, 0
add edx, 0x10
dec ecx
jne 0x10023d57
mov ecx, dword [esp + 0x18]
movsx ecx, word [ecx + 0x20]
xor edx, edx
cmp eax, ecx
sete dl
sub eax, edx
jmp 0x10023d90
mov eax, dword [edi]
mov edx, dword [eax + 0x38]
and edx, 3
lea edi, [eax + 0x14]
cmp edx, 2
jne 0x10023d7b
movzx eax, word [eax + 0x34]
dec eax
test eax, eax
js 0x10023de0
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x5e
push 3
push eax
push dword [esp + 0x84]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esi]
mov eax, 0x101f2320
cmp byte [ecx + 0x57], 0
jne 0x10023dd1
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x6c]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp dword [eax + 0xc], 3
jne 0x10023de0
cmp byte [eax], 0x5e
jne 0x10023de0
or byte [eax + 2], 0x80
cmp byte [esp + 0x44], 0x51
je 0x10023df2
cmp dword [esp + 0x20], 0
jne 0x10024c94
mov eax, dword [esp + 0x18]
cmp word [eax + 0x22], 0
jle 0x100241d6
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x30], eax
xor edi, edi
mov eax, dword [esp + 0x18]
movsx eax, word [eax + 0x20]
cmp edi, eax
jne 0x10023e40
inc edi
mov eax, dword [esp + 0x18]
movsx eax, word [eax + 0x22]
cmp edi, eax
jl 0x10023e0e
jmp 0x100241d6
cmp word [edx + eax*2], di
je 0x10023f35
inc eax
cmp ecx, eax
jne 0x10023e2c
jmp 0x10024dc8
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 4]
mov esi, edi
shl esi, 4
bt dword [esp + 0x30], 0x10
jb 0x10023e6c
cmp byte [ebx + esi + 8], 0x42
setge byte [esp + 0x10]
mov eax, dword [ebx + esi + 4]
mov dword [esp + 0x1c], 0
jmp 0x10023e7d
mov eax, dword [ebx + esi + 4]
test al, 0xe0
setne cl
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x10], cl
test al, 0xf
jne 0x10023e88
cmp byte [esp + 0x10], 0
je 0x10023e1a
test byte [ebx + esi + 0xe], 0x20
jne 0x10023edf
movzx eax, word [ebx + esi + 0xc]
mov dword [esp + 0x50], 5
test eax, eax
je 0x10023ebe
mov dword [esp + 0x74], 0
mov dword [esp + 0x50], 5
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x2b], 0
je 0x10024abf
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 0x80
jne 0x10023f12
movsx edx, di
mov ecx, dword [esp + 0x18]
call fcn.10157970
cwde
jmp 0x10023f36
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x18]
push 3
push edi
push dword [esp + 0x84]
call fcn.10035980
add esp, 0xc
mov dword [esp + 0x50], 5
mov dword [esp + 0x4c], 3
xor eax, eax
dec eax
mov dword [esp + 0x40], eax
jmp 0x10023f3a
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
mov ecx, dword [edx + 0x38]
and ecx, 3
lea eax, [edx + 0x14]
cmp ecx, 2
jne 0x10023f16
movzx ecx, word [edx + 0x34]
xor eax, eax
dec eax
test ecx, ecx
jne 0x10024aea
cwde
mov dword [esp + 0x4c], eax
lea edx, [ebx + esi]
add edx, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x28], ecx
add ecx, 0xfffffffe
mov dword [esp + 0x54], ecx
mov dword [eax + 0x38], ecx
mov dword [esp + 0x68], edx
test byte [edx], 0xf
jne 0x1002405a
cmp byte [esp + 0x1c], 0
je 0x1002415a
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x12
push dword [esp + 0x4c]
push dword [esp + 0x58]
push dword [esp + 0x48]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
jne 0x10023faa
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov edx, dword [esp + 0x50]
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x6c]
test eax, eax
jle 0x10023fd6
mov ecx, dword [esp + 0x68]
mov ecx, dword [ecx]
shr ecx, 4
and ecx, 0xf
movzx ecx, byte [ecx + 0x101b475f]
mov edx, dword [esp + 0x2c]
mov edx, dword [edx]
lea eax, [eax + eax*4]
mov word [edx + eax*4 - 0x12], cx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x68]
mov ecx, dword [ecx]
shr ecx, 2
and ecx, 0x3c
push dword [eax + esi]
push dword [edx]
push dword [ecx + 0x101ef838]
push str.non__s_value_in__s._s
push dword [esp + 0x18]
call fcn.10020cd0
add esp, 0x14
mov esi, eax
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x75
xor eax, eax
push eax
push 3
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffffa
push esi
call fcn.1003a120
add esp, 8
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x28]
neg eax
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
jns 0x10024177
mov edx, dword [esp + 4]
push eax
call fcn.10032440
add esp, 4
jmp 0x10024184
mov ecx, dword [esp + 4]
mov edx, 0x12
push dword [esp + 0x4c]
push dword [esp + 0x58]
push dword [esp + 0x48]
call fcn.1002fb80
add esp, 0xc
mov dword [esp + 0x64], eax
mov eax, dword [esp + 4]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
jne 0x100240a1
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x64]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4 + 0x10], edx
lea eax, [ebx + esi]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x6c]
test ecx, ecx
jle 0x100240bf
mov edx, dword [esp + 0x2c]
mov edx, dword [edx]
lea ecx, [ecx + ecx*4]
mov word [edx + ecx*4 - 0x12], 0xf
push dword [eax]
mov eax, dword [esp + 0x1c]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x14]
call fcn.10020cd0
add esp, 0x10
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 4]
mov edx, 0x75
xor eax, eax
push eax
push 3
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esp + 4]
mov edx, eax
push 0xfffffffffffffffa
push dword [esp + 0x74]
call fcn.1003a120
add esp, 8
cmp byte [esp + 0x10], 0
je 0x10023f62
mov eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 4]
mov edx, 9
xor eax, eax
push eax
xor eax, eax
push dword [esp + 0x14]
push eax
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov eax, 0x101f2320
cmp byte [ecx + 0x57], 0
je 0x10024af4
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x6c]
mov dword [eax + 8], ecx
jmp 0x10023f62
bt dword [esp + 0x30], 0x10
jb 0x1002402f
mov al, byte [ebx + esi + 8]
cmp al, 0x42
jne 0x10024b77
jmp 0x10024b09
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.1017acc0
mov ecx, dword [esi + 0xc]
xor eax, eax
inc eax
sub eax, dword [esp + 0x28]
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
js 0x100241b3
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
jmp 0x10023e1a
mov edx, dword [esp + 4]
push eax
call fcn.10032440
add esp, 4
jmp 0x10023e1a
push dword [esp + 0x14]
call fcn.10020cd0
add esp, 0x10
jmp 0x10024005
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x1002421d
mov eax, dword [esp + 8]
test byte [eax + 0x21], 2
jne 0x1002421d
mov esi, dword [esp + 8]
mov ecx, esi
push 0
call fcn.100015a0
add esp, 4
mov dword [esp + 0x10], eax
cmp byte [esi + 0x57], 0
je 0x10024e3a
cmp dword [esp + 0x10], 0
je 0x1002421d
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
call fcn.10017250
cmp byte [esp + 0x44], 0x51
je 0x10024883
mov eax, dword [esp + 0x60]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test eax, eax
je 0x100248d8
xor eax, eax
xor ecx, ecx
dec ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], 0
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x38]
dec esi
mov dword [ecx + 0x38], esi
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x20], ecx
jne 0x10024278
inc dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x1002424b
jmp 0x100248d8
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
push dword [esp + 0x28]
push eax
lea eax, [esp + 0x7c]
push eax
xor eax, eax
push eax
push eax
push dword [esp + 0x90]
call fcn.100583e0
add esp, 0x18
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x30]
lea eax, [ebx + 8]
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, 0x56
xor eax, eax
push eax
push 1
push dword [esp + 0x24]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x34]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x78]
add eax, ebx
mov ecx, edi
mov edx, 0x1d
push dword [esp + 0x28]
push esi
push eax
call fcn.1002fb80
add esp, 0xc
mov dword [esp + 0x1c], eax
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x10024315
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c]
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 esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x75
xor ebx, ebx
push ebx
mov edi, 3
push edi
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, eax
push ebx
push 0x101dfa47
call fcn.1003a120
add esp, 8
mov ecx, esi
mov edx, 0x6f
push edi
push edi
push 7
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, 0x75
push ebx
mov eax, 4
push eax
mov edi, 4
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, eax
push ebx
push str._missing_from_index
call fcn.1003a120
add esp, 8
mov ecx, esi
mov edx, 0x6f
mov eax, 3
push eax
push eax
push edi
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
mov ecx, esi
mov edx, 0x75
push ebx
mov eax, 4
push eax
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov dword [esp + 0x40], eax
mov edx, eax
push ebx
push edi
call fcn.1003a120
add esp, 8
mov ecx, esi
mov edx, 0x6f
mov eax, 3
push eax
push eax
mov eax, 4
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
call fcn.1017acc0
mov dword [esp + 0x54], eax
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x10024412
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0x2c]
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 0x80
jne 0x10024507
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x30]
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, 0x8e
xor ebx, ebx
push ebx
mov esi, 3
push esi
push eax
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x34]
mov ecx, dword [esp + 0x28]
add eax, ecx
dec eax
mov ecx, edi
mov edx, 0x35
push eax
push ebx
push esi
call fcn.1002fb80
add esp, 0xc
mov dword [esp + 0x1c], eax
mov ecx, edi
mov edx, 0x75
push ebx
push esi
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, eax
push ebx
push str.rowid_not_at_end_of_record_for_row
call fcn.1003a120
add esp, 8
mov ecx, edi
mov edx, 0x6f
push esi
push esi
push 7
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, 0x75
push ebx
push 4
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, eax
push ebx
push str._of_index
call fcn.1003a120
add esp, 8
mov eax, dword [esp + 0x40]
dec eax
mov ecx, edi
mov edx, 9
push ebx
push eax
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [edi]
mov eax, 0x101f2320
cmp byte [ecx + 0x57], 0
jne 0x100244fd
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*4]
shl eax, 2
mov ecx, dword [esp + 0x2c]
add eax, dword [ecx]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x6c]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x32]
test ax, ax
je 0x10024684
xor edi, edi
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x20]
cmp dword [ecx + edi*4], 0x101afa5f
je 0x10024590
cmp dword [esp + 0x1c], 0
jne 0x1002454a
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x38]
dec edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov dword [eax + 0x38], edx
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x30]
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x5e
mov esi, 3
push esi
push edi
push eax
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esp + 0x28]
add eax, edi
mov ecx, ebx
mov edx, 0x34
push eax
push dword [esp + 0x20]
push esi
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x32]
inc edi
movzx ecx, ax
cmp edi, ecx
jb 0x10024522
cmp dword [esp + 0x1c], 0
je 0x10024684
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, 9
xor eax, eax
push eax
push eax
push eax
call fcn.1002fb80
add esp, 0xc
mov dword [esp + 0x4c], eax
mov ecx, dword [edi + 0xc]
not dword [esp + 0x1c]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x1002486e
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x6c]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 0x1c]
mov dword [ecx + edx*4], eax
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x75
xor edi, edi
push edi
mov ebx, 3
push ebx
push edi
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, eax
push edi
push 0x101dfa47
call fcn.1003a120
add esp, 8
mov ecx, esi
mov edx, 0x6f
push ebx
push ebx
push 7
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, 0x75
push edi
push 4
push edi
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, eax
push edi
push str._values_differ_from_index
call fcn.1003a120
add esp, 8
mov eax, dword [esp + 0x40]
dec eax
mov ecx, esi
mov edx, 9
push edi
push eax
push edi
call fcn.1002fb80
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x10024681
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0x2c]
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x36], 0
je 0x100247fc
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x38]
mov ecx, edx
mov dword [esp + 0x1c], edx
lea esi, [edx - 1]
mov dword [eax + 0x38], esi
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x32]
test ax, ax
je 0x10024700
xor edi, edi
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
movzx ecx, word [ecx + edi*2]
test cx, cx
js 0x100246d5
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 4]
shl ecx, 4
test byte [edx + ecx + 4], 0xf
jne 0x100246f8
mov eax, dword [esp + 0x28]
add eax, edi
mov ecx, dword [esp + 4]
mov edx, 0x32
push 0
push esi
push eax
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x32]
inc edi
movzx ecx, ax
cmp edi, ecx
jb 0x100246b4
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x30]
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, 0x27
xor ebx, ebx
push ebx
push ebx
push eax
call fcn.1002fb80
add esp, 0xc
mov dword [esp + 0x4c], eax
mov ecx, edi
mov edx, 9
push ebx
push esi
push ebx
call fcn.1002fb80
add esp, 0xc
mov edx, dword [edi]
mov eax, dword [edi + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x10024756
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0x2c]
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x10]
movzx edi, word [eax + 0x32]
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x30]
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x29
push dword [esp + 0x28]
push esi
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
jne 0x1002479c
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], edi
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x75
xor edi, edi
push edi
push 3
push edi
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, eax
push edi
push str.non_unique_entry_in_index
call fcn.1003a120
add esp, 8
mov ecx, esi
mov edx, 9
push edi
push dword [esp + 0x44]
push edi
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esi + 0xc]
neg dword [esp + 0x1c]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x10024851
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x6c]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 0x1c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 4]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x10024820
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0x2c]
add ecx, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x10024848
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 0x10024863
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x10]
jmp 0x10024260
mov edx, dword [esp + 4]
push dword [esp + 0x1c]
call fcn.10032440
add esp, 4
jmp 0x100247fc
push eax
call fcn.10032440
add esp, 4
jmp 0x10024848
mov edx, dword [esp + 4]
push dword [esp + 0x1c]
call fcn.10032440
add esp, 4
jmp 0x100245e3
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x27
push 0
push dword [esp + 0x60]
push dword [esp + 0x84]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esi]
mov eax, 0x101f2320
cmp byte [ecx + 0x57], 0
jne 0x100248c3
mov eax, dword [esp + 0x5c]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
lea eax, [ecx + eax*4]
add eax, 0xffffffec
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x6c]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
jmp 0x10023b97
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x27
push 0
push dword [esp + 0x60]
push dword [esp + 0x84]
call fcn.1002fb80
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x1002491b
mov ecx, dword [esp + 0x5c]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x2c]
mov edx, dword [edx]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffec
mov dword [ecx + 8], eax
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x75
xor edi, edi
push edi
push 2
push edi
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, eax
push edi
push str.wrong__of_entries_in_index
call fcn.1003a120
add esp, 8
mov eax, dword [esp + 0x60]
mov edi, dword [eax]
test edi, edi
je 0x10024a50
mov ebx, 8
cmp dword [esp + 0x20], edi
jne 0x1002496f
mov edi, dword [edi + 0x14]
inc ebx
test edi, edi
jne 0x1002495c
jmp 0x10024a50
mov eax, dword [esp + 0x78]
add eax, ebx
add eax, 0xfffffff8
mov dword [esp + 0x10], eax
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x62
xor eax, eax
push eax
mov eax, 3
push eax
push dword [esp + 0x18]
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, 0x35
mov eax, 3
push eax
xor eax, eax
push eax
push ebx
call fcn.1002fb80
add esp, 0xc
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x100249d0
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x90
mov eax, dword [edi]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x75
xor eax, eax
push eax
mov eax, 4
push eax
xor eax, eax
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, eax
xor eax, eax
push eax
push dword [esp + 0x14]
call fcn.1003a120
add esp, 8
mov ecx, esi
mov edx, 0x6f
push 3
push 2
mov eax, 4
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
call fcn.1017acc0
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x10024a48
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 0x2c]
add ecx, dword [edx]
mov dword [ecx + 8], eax
jmp 0x10024962
cmp dword [esp + 0x20], 0
je 0x100248cd
mov eax, dword [esp + 0x20]
movzx eax, word [eax + 0x32]
cmp eax, 1
jne 0x10024a9f
cmp dword [esp + 0x34], 0
je 0x100248cd
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x13]
cmp eax, 7
ja 0x100248cd
mov ecx, eax
inc cl
mov edx, dword [esp + 0xc]
mov byte [edx + 0x13], cl
mov ecx, dword [esp + 0x34]
mov dword [edx + eax*4 + 0xa0], ecx
jmp 0x100248cd
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x1c], eax
jge 0x100248cd
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x20], eax
jmp 0x100248cd
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x34]
test ecx, ecx
je 0x10023ebe
cmp dword [ecx], eax
jl 0x10023ebe
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
test edx, edx
je 0x10023ebe
jmp 0x10026c6e
mov edx, dword [edx + 4]
xor eax, eax
jmp 0x10023e2c
mov eax, dword [esp + 0x64]
lea eax, [eax + eax*4]
shl eax, 2
mov ecx, dword [esp + 0x2c]
add eax, dword [ecx]
jmp 0x1002414b
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x12
push dword [esp + 0x4c]
push dword [esp + 0x58]
push dword [esp + 0x48]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
jne 0x10024b46
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov edx, dword [esp + 0x50]
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x6c]
test eax, eax
jle 0x10024b61
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x1c
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
push dword [eax + esi]
push dword [ecx]
push str.NUMERIC_value_in__s._s
jmp 0x100241c5
jle 0x1002402f
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x12
push dword [esp + 0x4c]
push dword [esp + 0x58]
push dword [esp + 0x48]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
jne 0x10024bba
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov edx, dword [esp + 0x50]
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x6c]
test eax, eax
jle 0x10024bd5
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x1b
cmp dword [esp + 0x40], 0
js 0x10024bf6
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x18]
push 3
push edi
push dword [esp + 0x84]
call fcn.10035980
add esp, 0xc
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x60
push 0
push 1
mov eax, 3
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, eax
xor eax, eax
dec eax
push eax
push 0x101d66d6
call fcn.1003a120
add esp, 8
mov ecx, ebx
mov edx, 0x12
mov eax, 3
push eax
push dword [esp + 0x58]
xor eax, eax
dec eax
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
jne 0x10024c63
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov edx, dword [esp + 0x50]
mov dword [ecx + eax*4 + 0x10], edx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x6c]
test eax, eax
jle 0x10024c7e
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], 0x1c
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
push dword [eax + esi]
push dword [ecx]
push str.TEXT_value_in__s._s
jmp 0x100241c5
mov eax, dword [esp + 0x20]
movzx edi, word [eax + 0x32]
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x29
push dword [esp + 0x34]
push 0
push dword [esp + 0x84]
call fcn.1002fb80
add esp, 0xc
mov dword [esp + 0x10], eax
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x10024cde
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
mov ebx, dword [esp + 4]
mov ecx, ebx
mov edx, 0x32
xor esi, esi
push esi
push esi
push dword [esp + 0x3c]
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esp + 0x18]
push dword [eax]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x10]
call fcn.10020cd0
add esp, 0xc
mov edi, eax
mov ecx, ebx
mov edx, 0x75
push esi
push 3
push esi
call fcn.1002fb80
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffffa
push edi
call fcn.1003a120
add esp, 8
mov ecx, ebx
call fcn.1017acc0
mov edx, dword [ebx]
mov ecx, dword [ebx + 0x6c]
mov eax, 0x101f2320
cmp byte [edx + 0x57], 0
mov edx, 0x101f2320
jne 0x10024d60
mov edx, dword [esp + 0x10]
lea edx, [edx + edx*4]
shl edx, 2
mov edi, dword [esp + 0x2c]
add edx, dword [edi]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 4]
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x6c]
cmp byte [edx + 0x57], 0
jne 0x10024d85
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x2c]
mov edx, dword [edx]
lea eax, [edx + eax*4]
add eax, 0x14
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x20]
cmp word [eax + 0x32], 0
je 0x10023df2
xor esi, esi
mov eax, dword [esp + 0x34]
add eax, esi
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
mov edx, edi
push eax
push esi
push dword [esp + 0x84]
call fcn.10171d60
add esp, 0xc
inc esi
movzx eax, word [edi + 0x32]
cmp esi, eax
jb 0x10024d99
jmp 0x10023df2
xor eax, eax
dec eax
jmp 0x10023f35
mov eax, dword [esp + 0xc]
xor ebx, ebx
mov dword [eax + 0x34], ebx
mov eax, dword [esp + 0x18]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x10]
call fcn.10020cd0
add esp, 0xc
mov edi, eax
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x75
push ebx
push 3
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, eax
push 0xfffffffffffffffa
push edi
call fcn.1003a120
add esp, 8
mov ecx, esi
call fcn.1017acc0
mov ecx, dword [esi + 0xc]
xor eax, eax
inc eax
sub eax, dword [esp + 0x30]
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
jns 0x10026a3e
jmp 0x10026daa
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x30], eax
add eax, 0xfffffffe
mov dword [esp + 0x1c], eax
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x7c]
inc eax
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp eax, 2
jge 0x10026cca
push 0x10
push dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push dword [eax + 8]
push dword [esp + 0x18]
call fcn.10052bb0
add esp, 0x10
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x30]
neg eax
mov edx, dword [ecx + 0x38]
add edx, dword [ecx + 0x3c]
jns 0x10026ce6
mov edx, dword [esp + 4]
push eax
call fcn.10032440
add esp, 4
jmp 0x10024dd0
mov ecx, dword [esp + 4]
mov edx, 7
push 0x101b4766
call fcn.1015d980
add esp, 4
test eax, eax
je 0x10024ee7
xor ecx, ecx
inc ecx
sub ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov cl, 0xff
mov byte [eax + 0x29], cl
mov dword [eax + 0x38], 0x101ccd34
mov byte [eax + 0x65], cl
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov eax, dword [esp + 4]
mov edx, dword [eax]
mov eax, dword [eax + 0x6c]
add eax, 0xfffffffe
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
jne 0x10024f05
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x68]
mov dword [ecx + 0xc], eax
jmp 0x10022642
cmp dword [esp + 0x14], 0
je 0x100260ac
mov eax, dword [esp + 8]
test byte [eax + 0x18], 0x40
jne 0x1002251c
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF8]
cmp cl, dl
jne 0x10024f44
test ecx, ecx
jne 0x10024f56
jmp 0x100264a8
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
jne 0x100264f4
inc eax
jmp 0x10024f28
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x58], ecx
lea edx, [ecx + 5]
mov ecx, edx
mov dword [esp + 0x30], edx
mov dword [eax + 0x2c], edx
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + ecx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10022642
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x48], eax
cmp dword [esp + 0x14], 0
je 0x10024feb
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0xc]
xor edx, edx
push dword [esp + 0x28]
push dword [esp + 0x18]
call fcn.10038860
add esp, 8
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
je 0x10024fdf
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x2b], 0
jne 0x10024fdf
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x30], 0
jne 0x10025481
cmp dword [esp + 0x1c], 0
jne 0x10024f97
jmp 0x10022642
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
jmp 0x10024fc0
inc dword [esp + 0x18]
lea esi, [edx + 0x10]
cmp dword [edx], eax
mov edx, esi
jne 0x10024ffe
mov ebx, dword [esp + 0x18]
mov esi, ebx
shl esi, 4
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x78]
test eax, eax
cmove eax, edx
mov dword [esp + 0x38], esi
mov ecx, dword [ecx + esi]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x58]
xor esi, esi
inc esi
mov ecx, ebx
shl esi, cl
bt edx, ebx
jb 0x10026aa8
jmp 0x10026e1c
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 8]
mov ecx, dword [esp + 8]
push dword [esp + 0x28]
call fcn.1014f930
add esp, 4
xor ecx, ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10025090
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x84]
push eax
push dword [esp + 0x28]
call fcn.100528f0
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x38]
mov eax, edx
mov dword [esp + 0x34], edx
lea eax, [edx - 1]
mov dword [esp + 0x38], eax
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x30]
mov esi, edx
add eax, edx
cmp eax, dword [ecx + 0x2c]
jle 0x100250c9
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x14]
test esi, esi
jle 0x1002513a
mov eax, dword [esp + 0x20]
lea edi, [eax + 0x24]
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], ecx
lea esi, [eax + ecx]
test eax, eax
cmove esi, edi
mov eax, dword [esp + 0x30]
add eax, ebx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
push eax
push dword [esi]
xor esi, esi
push esi
call fcn.10035980
add esp, 0xc
mov ecx, dword [esp + 4]
mov edx, 0x32
push esi
push dword [esp + 0x3c]
push dword [esp + 0x2c]
call fcn.1002fb80
add esp, 0xc
inc ebx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
add edi, 8
mov ecx, dword [esp + 0x18]
add ecx, 4
mov esi, eax
cmp ebx, eax
jl 0x100250d8
mov edx, dword [esp + 0x80]
test edx, edx
je 0x100251c0
mov ecx, dword [esp + 8]
call fcn.10042250
mov dword [esp + 0x18], eax
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, 0x60
push 0
mov eax, dword [esp + 0x24]
push dword [eax + 0x14]
mov ebx, dword [esp + 0x38]
push ebx
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, eax
push esi
push dword [esp + 0x1c]
call fcn.1003a120
add esp, 8
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x14]
mov ecx, edi
mov edx, 0x1d
push ebx
push dword [esp + 0x3c]
push dword [esp + 0x4c]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
jne 0x10025200
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 + 1], 0xfd
mov dword [ecx + eax*4 + 0x10], esi
jmp 0x10025200
cmp dword [esp + 0x2c], 0
je 0x10025200
mov esi, dword [esp + 4]
mov eax, dword [esi + 0x6c]
add eax, 2
mov ecx, esi
mov edx, 0x1e
push dword [esp + 0x30]
push eax
push dword [esp + 0x4c]
call fcn.1002fb80
add esp, 0xc
mov ecx, esi
mov edx, 9
xor eax, eax
push eax
push dword [esp + 0x3c]
push eax
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x1c], 0
mov edx, 0x4b
mov eax, 0x87
cmovns edx, eax
mov esi, dword [esp + 4]
mov ecx, esi
xor edi, edi
push edi
push dword [esp + 0x60]
push edi
call fcn.1002fb80
add esp, 0xc
mov eax, dword [esp + 0x44]
dec eax
push eax
mov eax, dword [esp + 0x24]
push dword [eax + 8]
push 0x101d05c1
push dword [esp + 0x6c]
push esi
call fcn.10027830
add esp, 0x14
mov ecx, esi
mov edx, 0x54
push edi
push 4
push dword [esp + 0x50]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esi + 0xc]
neg dword [esp + 0x34]
mov eax, dword [ecx + 0x38]
add eax, dword [ecx + 0x3c]
js 0x100252ad
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x6c]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 0x34]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x10025291
mov ecx, dword [esp + 8]
call fcn.1014d210
inc dword [esp + 0x44]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x10025043
jmp 0x10025448
mov edx, dword [esp + 4]
push dword [esp + 0x34]
call fcn.10032440
add esp, 4
jmp 0x10025280
mov edx, dword [edi + 8]
mov ecx, dword [esp + 8]
push dword [esp + 0x28]
call fcn.1014f930
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x10025376
mov dword [esp + 0x80], 0
cmp byte [esp + 0x20], 0
jne 0x10025322
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x10025322
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
push dword [eax]
push 0
push dword [eax + 0x14]
call fcn.10046570
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
push 0
lea eax, [esp + 0x84]
push eax
push edi
call fcn.100528f0
add esp, 0xc
test eax, eax
jne 0x10022642
mov eax, dword [esp + 0x80]
test eax, eax
je 0x10025387
mov ebx, eax
mov ecx, dword [esp + 4]
mov edx, 0x70
push dword [esp + 0x18]
push dword [eax + 0x2c]
push esi
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov edx, ebx
call fcn.1016f710
inc esi
mov edi, dword [edi + 4]
test edi, edi
jne 0x100252bf
jmp 0x1002540e
mov ecx, dword [esp + 0xc]
mov edx, esi
push 0x70
push dword [esp + 0x28]
push dword [esp + 0x20]
call fcn.10040c10
add esp, 0xc
jmp 0x10025376
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x22]
add eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x2c]
jg 0x10026cff
mov ecx, dword [esp + 0xc]
xor edx, edx
push 0x70
mov esi, dword [esp + 0x14]
push esi
push dword [esp + 0x20]
call fcn.10040c10
add esp, 0xc
mov ebx, dword [esi]
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, 0x75
xor eax, eax
push eax
push dword [esp + 0x4c]
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, eax
xor eax, eax
push eax
push ebx
call fcn.1003a120
add esp, 8
mov edi, dword [esi + 0x30]
xor esi, esi
inc esi
test edi, edi
jne 0x10026af8
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x28], esi
jl 0x10026e10
mov ecx, dword [esp + 4]
mov edx, 0x24
xor eax, eax
push eax
push eax
push eax
call fcn.1002fb80
add esp, 0xc
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x10026d60
mov eax, dword [esp + 0x40]
inc eax
mov esi, dword [esp + 4]
mov ecx, esi
mov edx, 0x27
xor edi, edi
push edi
push eax
push edi
call fcn.1002fb80
add esp, 0xc
mov edx, dword [esi]
mov eax, dword [esi + 0x6c]
mov ecx, 0x101f2320
cmp byte [edx + 0x57], 0
je 0x10026e60
mov dword [ecx + 8], eax
jmp 0x10024fdf
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3c]
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x10]
test eax, eax
je 0x10026e3e
lea edx, [ecx + 0xc]
xor esi, esi
dec esi
mov dword [esp + 0x18], esi
jmp 0x10024ffe
cmp dword [esp + 0x14], 0
je 0x100230dd
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
push dword [esp + 0x28]
call fcn.1014f930
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x1002251c
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x2b], 0
jne 0x1002251c
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x30]
test edi, edi
je 0x1002251c
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x10026ecb
mov ecx, dword [esp + 8]
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 0x1002550a
jmp 0x10026ed0
mov eax, dword [esp + 8]
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 + 0x101f221c]
test esi, esi
je 0x10025554
mov ecx, dword [esp + 4]
mov edx, esi
push edi
push 1
call fcn.1017ab40
add esp, 8
mov esi, dword [esi + 0x24]
jmp 0x1002553a
inc ebx
cmp ebx, 0x17
jne 0x10025533
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x1a0]
test esi, esi
je 0x10022642
mov edx, dword [esi + 8]
mov ecx, dword [esp + 4]
push edi
push 0
call fcn.1017ab40
add esp, 8
mov esi, dword [esi]
jmp 0x10025564
cmp dword [esp + 0x14], 0
je 0x100255a1
lea edx, [esp + 0x80]
mov ecx, dword [esp + 0x14]
call fcn.100533a0
test eax, eax
je 0x10026340
call sym.nss3.dll_sqlite3_initialize
xor esi, esi
dec esi
mov edi, esi
test eax, eax
je 0x100260dc
mov ecx, dword [esp + 4]
mov edx, esi
push edi
jmp 0x1002263a
cmp dword [esp + 0x14], 0
je 0x1002612d
lea esi, [esp + 0x80]
mov dword [esi], 1
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.10038560
mov esi, dword [esi]
test eax, eax
jne 0x10026eb3
xor edx, edx
test esi, esi
setne dl
mov ecx, dword [esp + 0x14]
call fcn.1017aa50
xor edx, edx
test al, al
setne dl
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x20]
and eax, 0xffffffdf
shl edx, 5
or edx, eax
mov dword [ecx + 0x20], edx
call fcn.1017a950
jmp 0x1002251c
cmp dword [esp + 0x14], 0
je 0x100230dd
mov ecx, dword [esp + 0x14]
xor edx, edx
call fcn.1017aa50
xor edx, edx
test al, al
setne dl
mov ecx, dword [esp + 8]
call fcn.1017abe0
jmp 0x1002251c
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 2
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x1b0]
test esi, esi
je 0x10022642
xor edi, edi
mov eax, dword [esi + 8]
push dword [eax]
push edi
inc edi
push 0x101c9f0f
push 1
push dword [esp + 0x14]
call fcn.10027830
add esp, 0x14
mov esi, dword [esi]
test esi, esi
jne 0x10025669
jmp 0x10022642
cmp byte [0x101ef024], 0
je 0x100256c2
mov ecx, dword [0x101ef068]
call dword [section..00cfg]
push 0xb
call ecx
add esp, 4
test eax, eax
je 0x100256c2
mov esi, eax
mov ecx, dword [0x101ef070]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
cmp dword [esp + 0x14], 0
je 0x10026d96
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x1002570f
mov eax, dword [esp + 8]
mov esi, dword [eax]
mov ecx, dword [esi + 0x20]
call dword [section..00cfg]
lea eax, [esp + 0x80]
push eax
push 1
push dword [esp + 0x1c]
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x10025f66
cmp dword [esp + 0x80], 0
je 0x10025f66
push dword [0x101f21e4]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x100262a1
push dword [esp + 0x14]
push 0x101caf3f
call sym.nss3.dll_sqlite3_mprintf
add esp, 8
mov dword [0x101f21e4], eax
cmp byte [0x101ef024], 0
je 0x10022642
mov ecx, dword [0x101ef068]
call dword [section..00cfg]
push 0xb
call ecx
add esp, 4
test eax, eax
je 0x10022642
mov esi, eax
mov ecx, dword [0x101ef078]
call dword [section..00cfg]
push esi
call ecx
jmp 0x1002263f
mov ecx, dword [esp + 0xc]
call fcn.10042310
test eax, eax
jne 0x10022660
jmp 0x10021fc0
cmp byte [eax + 0xb1], 0
jne 0x1002202e
mov edx, dword [esp + 0xc]
cmp byte [edx + 0xd8], 0
jne 0x1002202e
mov edx, dword [esp + 0xc]
mov esi, dword [edx + 0x100]
mov edi, dword [eax + 0x168]
call dword [section..00cfg]
push esi
push dword [esp + 0x2c]
push dword [esp + 0x1c]
push dword [esp + 0x48]
push 0x13
push edi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x10026d7e
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov edi, dword [esp + 0x10]
push edi
call fcn.100463a0
add esp, 8
mov dword [edi + 0xc], esi
jmp 0x10022642
mov esi, eax
test eax, eax
jne 0x10025fb8
xor edx, edx
inc edx
mov esi, dword [esp + 4]
mov ecx, esi
call fcn.10030410
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x1002584a
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x74]
sub esp, 0x10
movaps xmm0, xmmword [0x101af200]
movups xmmword [esp], xmm0
call fcn.10030070
add esp, 0x10
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 4]
call fcn.1017a800
push dword [esp + 0x90]
call sym.nss3.dll_sqlite3_free
jmp 0x1002263f
cmp dword [esp + 0x14], 0
je 0x100258a6
lea edx, [esp + 0x80]
mov ecx, dword [esp + 0x14]
call fcn.100533a0
test eax, eax
jne 0x100258a6
cmp dword [esp + 0x84], 0
js 0x100258a6
mov eax, dword [esp + 0x80]
and eax, 0x7fffffff
mov ecx, dword [esp + 8]
mov dword [ecx + 0x1e8], eax
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x1e8]
jmp 0x10022630
mov ecx, dword [esp + 0x14]
call fcn.1017a8e0
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x10025ff3
cmp eax, 0xffffffff
jne 0x10025ff3
mov eax, dword [esp + 8]
lea ecx, [eax + 0x59]
jmp 0x100263c7
xor eax, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
mov edx, dword [eax + 0x58]
xor esi, esi
inc esi
mov ecx, dword [esp + 0x1c]
shl esi, cl
bt edx, ecx
jae 0x10026214
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x2c]
inc esi
mov dword [eax + 0x2c], esi
mov eax, dword [esp + 0x3c]
mov al, byte [eax]
and al, 0xdf
cmp al, 0x50
jne 0x10026057
mov ecx, dword [esp + 4]
mov edx, 0xb1
push 0
jmp 0x10026082
cmp dword [esp + 0x14], 0
je 0x10025a1b
lea esi, [esp + 0x80]
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.100533a0
mov eax, dword [esi + 4]
test eax, eax
js 0x100263e5
mov ecx, dword [esp + 0x80]
mov edx, dword [ebp + 8]
cmp dword [edx + 4], 0
jne 0x1002597f
mov edx, dword [esp + 8]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], eax
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x14]
test esi, esi
jle 0x10025a1b
lea edi, [esi + 1]
mov ebx, dword [esp + 0x1c]
neg ebx
shl esi, 4
add esi, 0xfffffff4
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + esi]
test ecx, ecx
je 0x100259be
mov eax, ebx
lea eax, [ebx + edi]
cmp eax, 2
je 0x100259c9
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x100259c9
dec edi
add esi, 0xfffffff0
cmp edi, 1
ja 0x1002599d
jmp 0x10025a1b
mov edx, dword [esp + 0x80]
push dword [esp + 0x84]
call fcn.1017a9a0
add esp, 4
jmp 0x100259be
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2c], 1
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x184]
test esi, esi
je 0x10022642
mov eax, dword [esi + 8]
push dword [eax + 4]
push 0x101caf40
push 1
push dword [esp + 0x10]
call fcn.10027830
add esp, 0x10
mov esi, dword [esi]
jmp 0x100259f6
xor eax, eax
dec eax
lea ecx, [esp + 0x80]
mov dword [ecx + 4], eax
mov dword [ecx], eax
push ecx
push 0x12
push dword [esp + 0x30]
push dword [esp + 0x14]
call sym.nss3.dll_sqlite3_file_control
add esp, 0x10
cmp eax, 0xc
je 0x10022642
test eax, eax
jne 0x10026295
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 4]
push dword [esp + 0x84]
jmp 0x1002263a
cmp byte [0x101ef024], 0
je 0x10025a99
mov ecx, dword [0x101ef068]
call dword [section..00cfg]
push 0xb
call ecx
add esp, 4
test eax, eax
je 0x10025a99
mov esi, eax
mov ecx, dword [0x101ef070]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
cmp dword [esp + 0x14], 0
je 0x10026e55
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x10025ae6
mov eax, dword [esp + 8]
mov esi, dword [eax]
mov ecx, dword [esi + 0x20]
call dword [section..00cfg]
lea eax, [esp + 0x80]
push eax
push 1
push dword [esp + 0x1c]
push esi
call ecx
add esp, 0x10
test eax, eax
jne 0x10025f66
cmp dword [esp + 0x80], 0
je 0x10025f66
mov eax, dword [esp + 8]
cmp byte [eax + 0x56], 1
ja 0x10025af9
mov ecx, dword [esp + 0xc]
call fcn.1017aa00
push dword [0x101f21e8]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
je 0x10026403
push dword [esp + 0x14]
push 0x101caf3f
call sym.nss3.dll_sqlite3_mprintf
add esp, 8
mov dword [0x101f21e8], eax
jmp 0x10025740
cmp dword [esp + 0x14], 0
je 0x10025b75
lea edx, [esp + 0x80]
mov ecx, dword [esp + 0x14]
call fcn.100533a0
test eax, eax
jne 0x10025b75
cmp dword [esp + 0x84], 0
js 0x10025b75
mov eax, dword [esp + 0x80]
and eax, 0x7fffffff
cmp eax, 8
mov ecx, 8
cmovb ecx, eax
mov eax, dword [esp + 8]
mov dword [eax + 0xa4], ecx
mov eax, dword [esp + 8]
mov edx, dword [eax + 0xa4]
jmp 0x10022630
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], 6
mov edx, dword [esp + 0x28]
call fcn.10171dc0
mov eax, dword [esp + 8]
cmp dword [eax + 0x14], 0
jle 0x10022642
mov dword [esp + 0x20], 0
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x10]
cmp dword [esp + 0x28], 0
je 0x10025bfb
mov eax, dword [esp + 0x20]
shl eax, 4
mov ecx, dword [esi + eax]
test ecx, ecx
je 0x10025e76
xor edx, edx
mov eax, dword [esp + 0x28]
movzx ebx, byte [eax + edx]
movzx eax, byte [ecx + edx]
cmp bl, al
jne 0x10025be6
test ebx, ebx
jne 0x10025bf8
jmp 0x10025bfb
mov bl, byte [ebx + 0x101af7e8]
cmp bl, byte [eax + 0x101af7e8]
jne 0x10025e76
inc edx
jmp 0x10025bd0
mov eax, dword [esp + 0x20]
shl eax, 4
mov dword [esp + 0xc], eax
mov eax, dword [esi + eax + 0xc]
mov edi, dword [eax + 0xc]
add eax, 8
test edi, edi
je 0x10025cc9
lea ecx, [eax + 8]
dec edi
mov ecx, dword [ecx]
test ecx, ecx
je 0x10025cc9
mov edx, dword [ecx + 8]
cmp word [edx + 0x22], 0
jne 0x10025c1c
push dword [edx]
push str.SELECTFROM__w_
push dword [esp + 0x10]
call fcn.10020cd0
add esp, 0xc
test eax, eax
je 0x10025c87
mov esi, eax
xor eax, eax
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 8]
mov edx, esi
push eax
lea ebx, [esp + 0x84]
push ebx
push eax
push eax
push 0xffffffffffffffff
call fcn.10005790
add esp, 0x14
push dword [esp + 0x80]
call sym.nss3.dll_sqlite3_finalize
add esp, 4
mov ecx, dword [esp + 8]
mov edx, esi
call fcn.1014d210
mov eax, dword [esp + 8]
cmp byte [eax + 0x57], 0
je 0x10025cb5
push str.out_of_memory
mov esi, dword [esp + 0xc]
push dword [esi + 0x104]
call fcn.100463a0
add esp, 8
mov eax, dword [esi + 0x104]
mov dword [eax + 0xc], 7
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + ecx + 0xc]
jmp 0x10025c0d
mov esi, dword [eax + 8]
test esi, esi
je 0x10025e76
mov edi, dword [esi + 8]
cmp dword [esp + 0x14], 0
je 0x10025d15
mov ecx, dword [edi]
test ecx, ecx
je 0x10025e36
xor edx, edx
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax + edx]
movzx eax, byte [ecx + edx]
cmp bl, al
jne 0x10025d00
test ebx, ebx
jne 0x10025d12
jmp 0x10025d15
mov bl, byte [ebx + 0x101af7e8]
cmp bl, byte [eax + 0x101af7e8]
jne 0x10025e36
inc edx
jmp 0x10025cea
movzx eax, byte [edi + 0x2b]
cmp eax, 2
je 0x10025d2d
cmp eax, 1
jne 0x10025d37
mov dword [esp + 0x10], str.virtual
jmp 0x10025d4c
mov dword [esp + 0x10], 0x101c8840
jmp 0x10025d4c
test byte [edi + 0x1d], 0x10
mov ecx, str.shadow
mov eax, 0x101ce2b4
cmove ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, dword [edi]
mov eax, dword [edi + 0x1c]
mov edx, eax
shr edx, 0x10
and edx, 1
mov dword [esp + 0x24], edx
shr eax, 7
and eax, 1
mov dword [esp + 0x18], eax
movsx edi, word [edi + 0x22]
test ecx, ecx
je 0x10025e05
mov al, byte [ecx]
mov ebx, str.sqlite_
test al, al
je 0x10025dc4
mov edx, eax
and dl, 0xdf
cmp dl, 0x53
jne 0x10025dc6
mov al, byte [ecx + 1]
mov ebx, 0x101cffe8
test al, al
je 0x10025dc4
mov edx, eax
and dl, 0xdf
cmp dl, 0x51
jne 0x10025dc6
mov al, byte [ecx + 2]
mov ebx, 0x101cffe9
test al, al
je 0x10025dc4
mov edx, eax
and dl, 0xdf
cmp dl, 0x4c
jne 0x10025dc6
mov al, byte [ecx + 3]
mov ebx, 0x101cffea
test al, al
jne 0x10025e91
xor eax, eax
movzx eax, al
mov al, byte [eax + 0x101af7e8]
movzx edx, byte [ebx]
cmp al, byte [edx + 0x101af7e8]
jne 0x10025e07
mov eax, 7
movzx ebx, byte [ecx + eax]
movzx edx, byte [eax + str.sqlite_master]
cmp bl, dl
jne 0x10025df4
test ebx, ebx
jne 0x10025e02
jmp 0x10025e3d
mov bl, byte [ebx + 0x101af7e8]
cmp bl, byte [edx + 0x101af7e8]
jne 0x10025e44
inc eax
jmp 0x10025ddf
xor ecx, ecx
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
push dword [esp + 0x24]
push dword [esp + 0x1c]
push edi
push dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x20]
push dword [eax + ecx]
push str.sssiii
push 1
push dword [esp + 0x24]
call fcn.10027830
add esp, 0x24
mov esi, dword [esi]
jmp 0x10025ccc
mov ecx, str.sqlite_schema
jmp 0x10025e07
mov eax, 7
movzx ebx, byte [ecx + eax]
movzx edx, byte [eax + str.sqlite_temp_master]
cmp bl, dl
jne 0x10025e5e
test ebx, ebx
jne 0x10025e6c
jmp 0x10025e6f
mov bl, byte [ebx + 0x101af7e8]
cmp bl, byte [edx + 0x101af7e8]
jne 0x10025e07
inc eax
jmp 0x10025e49
mov ecx, str.sqlite_temp_schema
jmp 0x10025e07
mov ecx, dword [esp + 0x20]
inc ecx
mov eax, dword [esp + 8]
mov dword [esp + 0x20], ecx
cmp ecx, dword [eax + 0x14]
jl 0x10025bae
jmp 0x10022642
mov edx, eax
and dl, 0xdf
cmp dl, 0x49
jne 0x10025dc6
mov al, byte [ecx + 4]
mov ebx, 0x101cffeb
test al, al
je 0x10025dc4
mov edx, eax
and dl, 0xdf
cmp dl, 0x54
jne 0x10025dc6
mov al, byte [ecx + 5]
mov ebx, 0x101cffec
test al, al
je 0x10025dc4
mov edx, eax
and dl, 0xdf
cmp dl, 0x45
jne 0x10025dc6
mov al, byte [ecx + 6]
mov ebx, 0x101cffed
cmp al, 0x5f
jne 0x10025dc6
jmp 0x10025dda
push dword [esp + 8]
call fcn.1015fdf0
jmp 0x1002263f
cmp dword [esp + 0x14], 0
je 0x10025f1d
lea edx, [esp + 0x80]
mov ecx, dword [esp + 0x14]
call fcn.100533a0
test eax, eax
je 0x10026feb
call sym.nss3.dll_sqlite3_initialize
xor esi, esi
dec esi
mov edi, esi
test eax, eax
jne 0x100255b3
mov esi, dword [0x101f2140]
test esi, esi
je 0x10026b00
mov ecx, dword [0x101ef070]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [0x101f2140]
mov edi, dword [0x101f214c]
mov esi, dword [0x101f2148]
jmp 0x1002610e
push str.not_a_writable_directory
push dword [esp + 0x10]
call fcn.100463a0
add esp, 8
cmp byte [0x101ef024], 0
je 0x1002251c
mov ecx, dword [0x101ef068]
call dword [section..00cfg]
push 0xb
call ecx
add esp, 4
test eax, eax
je 0x1002251c
mov esi, eax
mov ecx, dword [0x101ef078]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1002251c
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10025fe4
push eax
push 0x101caf3f
push dword [esp + 0x14]
call fcn.100463a0
add esp, 0xc
push dword [esp + 0x90]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov eax, dword [esp + 0xc]
inc dword [eax + 0x24]
mov dword [eax + 0xc], esi
jmp 0x10022642
test ecx, ecx
jne 0x10026396
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x14]
cmp ecx, 2
jle 0x1002638f
mov edx, 2
mov esi, 0x24
test eax, eax
js 0x1002602e
mov edi, dword [esp + 8]
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 0x1002603b
inc edx
add esi, 0x10
cmp edx, ecx
jl 0x10026015
jmp 0x1002638f
mov ebx, dword [edi + 0xe8]
test ebx, ebx
je 0x1002604b
cmp byte [ebx + 0x2b], 2
je 0x1002602e
mov byte [edi + 4], al
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x14]
jmp 0x1002602e
xor edi, edi
cmp dword [esp + 0x14], 0
je 0x10026078
lea edx, [esp + 0x80]
mov ecx, dword [esp + 0x14]
call fcn.100533a0
test eax, eax
je 0x10026a14
mov ecx, dword [esp + 4]
mov edx, 0xb2
push edi
push esi
push dword [esp + 0x24]
call fcn.1002fb80
add esp, 0xc
mov ecx, dword [esp + 4]
mov edx, 0x54
push 0
push 1
push esi
jmp 0x1002364f
mov eax, 0x64
jmp 0x100238f9
mov ecx, dword [esp + 0xc]
call fcn.1016baa0
test eax, eax
jne 0x100230dd
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
movzx eax, byte [eax + 0x54]
mov edx, dword [eax*8 + 0x101b4784]
mov ecx, dword [esp + 4]
call fcn.1017a800
jmp 0x100230dd
mov esi, dword [0x101f2140]
test esi, esi
je 0x10026791
mov ecx, dword [0x101ef070]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [0x101f2140]
mov edi, dword [0x101f2154]
mov esi, dword [0x101f2150]
test ebx, ebx
je 0x100255b3
mov ecx, dword [0x101ef078]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
jmp 0x100255b3
xor edx, edx
mov eax, dword [esp + 8]
test byte [eax + 0x20], 0x20
je 0x100230cb
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + eax + 4]
xor edx, edx
call fcn.1016a920
mov edx, eax
jmp 0x100230cb
mov edi, dword [esp + 0x28]
mov ebx, dword [edi]
or ebx, dword [edi + 4]
je 0x100267a2
test al, 0x20
jne 0x10026885
mov edx, eax
and edx, 0x40
mov edi, edx
shr edi, 6
mov dword [esp + 0x20], edi
shr edx, 5
or edx, 1
mov dword [esp + 0x24], edx
jmp 0x10026893
mov edx, dword [esp + 0x30]
cmp byte [edx + 0x2b], 0
jne 0x10023237
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 0x34]
test edx, edx
je 0x10023237
cmp dword [edx], ecx
jl 0x10023237
lea ecx, [ecx + ecx*4]
mov edi, dword [edx + ecx*4 - 0xc]
test edi, edi
sete dl
mov ecx, dword [esp + 0x20]
or cl, dl
jne 0x10023237
mov ecx, dword [edi + 8]
mov dword [esp + 0xc], ecx
jmp 0x10023237
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, edi
inc eax
jmp 0x1002325f
mov eax, dword [ecx*4 + 0x101ef838]
jmp 0x1002325f
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + esi]
mov dl, byte [eax + 0x101af7e8]
xor eax, eax
cmp al, dl
jne 0x100221ac
jmp 0x10022203
or edx, esi
mov dword [eax + 0x58], edx
cmp dword [esp + 0x1c], 1
jne 0x10025912
mov ecx, eax
call fcn.10042310
jmp 0x10025912
mov esi, 0x3b9aca00
jmp 0x100222c1
test eax, 0x9000
je 0x1002687a
mov ecx, ebx
call fcn.101287c0
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x10022132
mov eax, dword [edi + 0x104]
test eax, eax
je 0x10022132
mov dword [eax + 0xc], 0x12
inc dword [eax + 0x24]
jmp 0x10022132
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + esi]
mov bl, byte [edx + 0x101af7e8]
xor edx, edx
cmp dl, bl
mov ebx, dword [esp + 8]
jne 0x10022386
jmp 0x100223e1
mov ecx, dword [esp + 0xc]
inc dword [ecx + 0x24]
jmp 0x10024f05
mov dword [0x101f21e4], 0
jmp 0x10025740
mov ecx, dword [esp + 0xc]
mov edx, 2
push dword [esp + 0x28]
push dword [esp + 0x18]
call fcn.10038860
add esp, 8
test eax, eax
je 0x1002251c
test byte [eax + 0x1c], 0x80
je 0x1002251c
mov edi, dword [eax + 8]
test edi, edi
je 0x1002251c
mov eax, dword [edi + 0x38]
and eax, 3
cmp eax, 2
je 0x1002380a
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x100262e6
jmp 0x10022642
cmp dword [esp + 0x58], 0
js 0x10026a50
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x58]
shl ecx, 4
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0xc]
xor edx, edx
push eax
push dword [esp + 0x18]
call fcn.10038860
add esp, 8
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x80]
jmp 0x100238f9
call sym.nss3.dll_sqlite3_initialize
xor esi, esi
dec esi
mov edi, esi
test eax, eax
je 0x10026a57
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
cmp eax, 1
mov edx, ecx
sbb edx, 0
jl 0x100255a1
mov edx, esi
or edx, edi
je 0x10026380
cmp eax, esi
mov edx, ecx
sbb edx, edi
jge 0x100255a1
push ecx
push eax
call fcn.10159cc0
add esp, 8
jmp 0x100255a1
mov ecx, dword [esp + 8]
mov byte [ecx + 0x59], al
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ecx, dword [edx + ecx + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx]
test eax, eax
js 0x100263c4
cmp byte [ecx + 0xc], 0
jne 0x100263c4
mov edx, dword [ecx + 0xe8]
test edx, edx
je 0x100263c1
cmp byte [edx + 0x2b], 2
je 0x100263c4
mov byte [ecx + 4], al
add ecx, 4
cmp byte [ecx], 1
mov eax, str.exclusive
mov edx, str.normal
cmove edx, eax
mov ecx, dword [esp + 4]
call fcn.1017a800
jmp 0x10022642
mov eax, dword [0x101ef0cc]
mov ecx, dword [0x101ef0c8]
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], ecx
jmp 0x1002596c
mov dword [0x101f21e8], 0
jmp 0x10025740
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
movzx edx, byte [ecx + eax + 8]
dec edx
jmp 0x100230cb
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x10]
call fcn.100463a0
add esp, 8
jmp 0x1002251c
lea esi, [esp + 0x80]
mov dword [esi], 0
mov edx, esi
call fcn.10038560
mov al, byte [esi]
jmp 0x10022209
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, dword [esp + 0x30]
call fcn.1017a850
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x101b0a70]
mov ecx, dword [ecx + 0x101b0a74]
mov esi, dword [esp + 8]
and ecx, dword [esi + 0x24]
and eax, dword [esi + 0x20]
xor edx, edx
or eax, ecx
setne dl
mov ecx, edi
jmp 0x10023033
lea esi, [esp + 0x80]
mov dword [esi], 0
mov edx, esi
call fcn.10038560
mov al, byte [esi]
jmp 0x100223ec
mov eax, 0x101b4784
mov eax, dword [eax + 4]
test al, al
mov ebx, 2
cmovne ebx, eax
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], bl
mov byte [esi + 0x54], bl
lea ecx, [esi + 0x1a8]
mov edx, 0x101afa5f
call fcn.10158ef0
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 [esi + 8], ecx
jmp 0x10022642
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF_8]
cmp cl, dl
jne 0x10026512
test ecx, ecx
jne 0x10026524
jmp 0x10026c31
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
jne 0x10026c3b
inc eax
jmp 0x100264f6
mov ecx, 0xffff8000
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x101b0a74]
mov edx, dword [eax + 0x101b0a70]
xor eax, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], esi
or edx, esi
setne al
lea edx, [eax + eax*2 + 3]
movzx ebx, word [edi + eax*2 + 0x32]
mov esi, dword [esp + 0xc]
mov dword [esi + 0x2c], edx
mov eax, dword [esi + 0x78]
test eax, eax
cmove eax, esi
xor edx, edx
inc edx
shl edx, cl
mov esi, dword [eax + 0x58]
mov dword [esp + 0x20], esi
bt esi, ecx
mov esi, dword [edi + 0xc]
mov dword [esp + 0x24], esi
jae 0x1002661f
test ebx, ebx
je 0x10022642
xor esi, esi
mov eax, dword [edi + 4]
movsx eax, word [eax + esi*2]
mov ecx, 0
test eax, eax
js 0x100265a8
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 4]
mov edx, eax
shl edx, 4
mov ecx, dword [ecx + edx]
push ecx
push eax
push esi
push str.iisX
push 1
push dword [esp + 0x18]
call fcn.10027830
add esp, 0x18
mov eax, dword [esp + 0x18]
or eax, dword [esp + 0x10]
je 0x100265f5
movzx ecx, word [edi + 0x32]
xor eax, eax
cmp esi, ecx
setb al
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
movzx ecx, byte [ecx + esi]
push eax
push dword [edx + esi*4]
push ecx
push str.isiX
push 4
push dword [esp + 0x18]
call fcn.10027830
add esp, 0x18
mov ecx, dword [esp + 4]
mov edx, 0x54
push 0
mov eax, dword [esp + 0x10]
push dword [eax + 0x2c]
push 1
call fcn.1002fb80
add esp, 0xc
inc esi
cmp ebx, esi
jne 0x10026589
jmp 0x10022642
mov esi, dword [esp + 0x20]
or esi, edx
mov dword [eax + 0x58], esi
cmp ecx, 1
jne 0x1002657f
mov ecx, eax
call fcn.10042310
jmp 0x1002657f
movzx ecx, byte [ecx + 0x101cd575]
mov bl, byte [ecx + 0x101af7e8]
xor edx, edx
cmp dl, bl
je 0x10026cf8
xor ecx, ecx
xor esi, esi
inc esi
movzx edx, byte [edi + ecx]
test edx, edx
je 0x10026738
mov dl, byte [edx + 0x101af7e8]
movzx edi, byte [ecx + str.persist]
mov bl, byte [edi + 0x101af7e8]
cmp dl, bl
jne 0x10026747
inc ecx
cmp eax, ecx
mov edi, dword [esp + 0x14]
jne 0x10026659
mov edi, dword [esp + 8]
jmp 0x100268d2
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + esi]
mov dl, byte [eax + 0x101af7e8]
xor eax, eax
cmp al, dl
jne 0x100226ed
jmp 0x10022744
mov ecx, 0xffff8000
mov edx, dword [esp + 0xc]
mov dword [edx + 0x2c], 5
mov eax, dword [edx + 0x78]
test eax, eax
cmove eax, edx
mov edx, dword [eax + 0x58]
xor edi, edi
inc edi
shl edi, cl
bt edx, ecx
jae 0x10026725
mov esi, dword [esi + 8]
test esi, esi
je 0x10022642
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 + 0x101b4754]
push edx
push dword [esi]
push edi
push str.isisi
push 1
push dword [esp + 0x20]
call fcn.10027830
add esp, 0x20
inc edi
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100266e1
jmp 0x10022642
or edx, edi
mov dword [eax + 0x58], edx
cmp ecx, 1
jne 0x100266d4
mov ecx, eax
call fcn.10042310
jmp 0x100266d4
movzx ecx, byte [ecx + str.persist]
mov bl, byte [ecx + 0x101af7e8]
xor edx, edx
cmp dl, bl
mov edi, dword [esp + 0x14]
je 0x10026689
xor ecx, ecx
movzx edx, byte [edi + ecx]
test edx, edx
je 0x100267b1
mov dl, byte [edx + 0x101af7e8]
movzx esi, byte [ecx + 0x101cd330]
mov bl, byte [esi + 0x101af7e8]
cmp dl, bl
jne 0x100267c0
inc ecx
cmp eax, ecx
jne 0x10026755
mov esi, 2
mov edi, dword [esp + 8]
test byte [edi + 0x23], 0x10
jne 0x100268b7
jmp 0x100268d2
mov edi, dword [0x101f2154]
mov esi, dword [0x101f2150]
jmp 0x100255b3
inc dword [esp + 0x38]
mov edi, esi
mov ebx, dword [esp + 0x18]
jmp 0x100232af
movzx ecx, byte [ecx + 0x101cd330]
mov bl, byte [ecx + 0x101af7e8]
xor edx, edx
cmp dl, bl
je 0x10026779
xor ecx, ecx
movzx edx, byte [edi + ecx]
test edx, edx
je 0x100267f4
mov dl, byte [edx + 0x101af7e8]
movzx esi, byte [ecx + str.truncate]
mov bl, byte [esi + 0x101af7e8]
cmp dl, bl
jne 0x10026803
inc ecx
cmp eax, ecx
jne 0x100267c6
mov esi, 3
jmp 0x10026689
movzx ecx, byte [ecx + str.truncate]
mov bl, byte [ecx + 0x101af7e8]
xor edx, edx
cmp dl, bl
je 0x100267ea
xor ecx, ecx
movzx edx, byte [edi + ecx]
test edx, edx
je 0x10026837
mov dl, byte [edx + 0x101af7e8]
movzx esi, byte [ecx + 0x101c7fa1]
mov bl, byte [esi + 0x101af7e8]
cmp dl, bl
jne 0x10026846
inc ecx
cmp eax, ecx
jne 0x10026809
mov esi, 4
jmp 0x10026689
movzx ecx, byte [ecx + 0x101c7fa1]
mov bl, byte [ecx + 0x101af7e8]
xor edx, edx
cmp dl, bl
je 0x1002682d
xor ecx, ecx
movzx edx, byte [edi + ecx]
test edx, edx
je 0x1002689c
mov dl, byte [edx + 0x101af7e8]
movzx esi, byte [ecx + 0x101ccb7d]
mov bl, byte [esi + 0x101af7e8]
cmp dl, bl
jne 0x100268ab
inc ecx
mov esi, 5
cmp eax, ecx
jne 0x1002684c
jmp 0x10026689
mov word [ebx + 0x10], 1
jmp 0x1002624f
mov dword [esp + 0x24], 2
mov dl, 1
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x18]
jmp 0x1002320d
movzx eax, byte [ecx + 0x101ccb7d]
mov bl, byte [eax + 0x101af7e8]
xor edx, edx
cmp dl, bl
mov edi, dword [esp + 8]
je 0x10026e4b
xor esi, esi
dec esi
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x100268d2
mov dword [eax + 4], 1
mov dword [esp + 0x1c], 0
mov edi, dword [edi + 0x14]
test edi, edi
jle 0x10026979
lea ebx, [edi + 1]
shl edi, 4
add edi, 0xfffffff4
neg dword [esp + 0x1c]
mov dword [esp + 0x10], esi
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
cmp dword [eax + edi], 0
jne 0x10026906
dec ebx
add edi, 0xfffffff0
cmp ebx, 1
ja 0x100268ee
jmp 0x10026979
mov eax, dword [esp + 0x1c]
add eax, ebx
cmp eax, 2
jne 0x10026b79
lea eax, [ebx - 2]
xor edx, edx
inc edx
mov ecx, eax
shl edx, cl
mov esi, dword [esp + 4]
or dword [esi + 0x9c], edx
cmp ebx, 3
je 0x10026940
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edi]
cmp byte [ecx + 9], 0
jne 0x10026b8b
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jle 0x100269c2
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4], 4
mov dword [edx + ecx*4 + 4], eax
mov dword [edx + ecx*4 + 8], 1
mov esi, dword [esp + 0x10]
mov dword [edx + ecx*4 + 0xc], esi
mov dword [edx + ecx*4 + 0x10], 0
jmp 0x100268fb
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], eax
jle 0x100269a9
lea edx, [eax + 1]
mov dword [ecx + 0x6c], edx
mov ecx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x54
movaps xmm0, xmmword [0x101af330]
movups xmmword [ecx + eax*4 + 4], xmm0
jmp 0x10022642
xor eax, eax
inc eax
mov edx, 0x54
push 0
push eax
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x10022642
mov ecx, esi
mov edx, 4
mov esi, dword [esp + 0x10]
push esi
push 1
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x100268fb
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x100227a7
mov ecx, ebx
call fcn.10005b90
mov ecx, dword [esp + 0x24]
jmp 0x100227a7
dec dword [ebx + 0xc]
jne 0x100227c4
mov ecx, ebx
call fcn.10005b60
mov ecx, dword [esp + 0x24]
jmp 0x100227c4
mov eax, dword [esp + 0x84]
test eax, eax
js 0x10026078
mov edi, dword [esp + 0x80]
mov ecx, 0xfffffffe
cmp edi, ecx
cmovae edi, ecx
test eax, eax
cmovne edi, ecx
jmp 0x10026078
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
jmp 0x10024210
xor eax, eax
jmp 0x1002631d
mov esi, dword [0x101f2140]
test esi, esi
je 0x10026fa3
mov ecx, dword [0x101ef070]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [0x101f2140]
mov edi, dword [0x101f2154]
mov esi, dword [0x101f2150]
test ebx, ebx
je 0x10026352
mov ecx, dword [0x101ef078]
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
jmp 0x10026352
mov al, 1
mov dword [esp + 0x20], eax
cmp dword [esp + 0x18], 1
je 0x100253a1
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x10026aeb
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push dword [eax]
push 0
push dword [eax + 0x14]
call fcn.10046570
add esp, 0xc
mov dword [esp + 0x20], 0
jmp 0x100253a1
xor esi, esi
inc esi
jmp 0x100252bf
mov edi, dword [0x101f214c]
mov esi, dword [0x101f2148]
jmp 0x100255b3
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x10026fb4
mov ecx, dword [0x101ef070]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov ebx, dword [esp + 8]
mov esi, dword [ebx + 0xc]
xor eax, eax
mov dword [ebx + 0x108], eax
mov dword [ebx + 0x10c], eax
test esi, esi
je 0x1002261a
mov ecx, dword [0x101ef078]
call dword [section..00cfg]
push esi
jmp 0x10022615
mov dword [ebx + 0x108], 0x10006990
mov dword [ebx + 0x10c], esi
jmp 0x1002261a
xor edx, edx
jmp 0x10022630
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x100268fb
jmp 0x10026915
or dword [esi + 0xa0], edx
jmp 0x10026940
xor eax, eax
dec eax
mov dword [esp + 0x10], eax
jmp 0x100227d5
test ecx, ecx
je 0x10026c20
inc eax
jmp 0x10022694
mov ecx, esi
lea edi, [esp + 0x80]
mov dword [edi], 0
mov edx, edi
call fcn.10038560
mov al, byte [edi]
jmp 0x1002274f
mov ecx, dword [esp + 0x24]
jmp 0x100227d9
xor eax, eax
mov dword [ebx + 0x204], eax
mov dword [ebx + 0x200], eax
jmp 0x10022855
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.reset]
cmp cl, dl
jne 0x10026c07
test ecx, ecx
mov ebx, dword [esp + 8]
jne 0x10026c1d
jmp 0x100271d4
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
mov ebx, dword [esp + 8]
jne 0x10022855
inc eax
jmp 0x10026be7
mov dword [esp + 0x10], 2
mov eax, dword [esp + 8]
jmp 0x10022762
mov eax, 0x101b478c
jmp 0x100264ad
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF_16le]
cmp cl, dl
jne 0x10026c59
test ecx, ecx
jne 0x10026c6b
jmp 0x10026e76
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
jne 0x10026e80
inc eax
jmp 0x10026c3d
mov al, byte [ebx + esi + 8]
mov ecx, dword [esp + 8]
mov ah, byte [ecx + 0x54]
mov byte [esp + 0x40], ah
movzx eax, al
mov dword [esp + 0x28], eax
movzx eax, byte [esp + 0x40]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x48]
call fcn.10036270
add esp, 0xc
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x10023ebe
movzx eax, word [ecx + 0x10]
and eax, 0x3f
movzx eax, byte [eax + 0x101af8fa]
mov dword [esp + 0x50], eax
call fcn.1015be50
jmp 0x10023ebe
mov ecx, dword [esp + 0x30]
lea ebx, [ecx - 1]
lea edi, [eax + 1]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x10]
lea esi, [ecx + eax*4]
add esi, 0xfffffff4
jmp 0x10023c26
mov edx, dword [esp + 4]
mov edx, dword [edx + 0x6c]
mov ecx, dword [ecx + 0x40]
mov dword [ecx + eax*4], edx
jmp 0x10024dd0
xor esi, esi
jmp 0x10026689
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], eax
jmp 0x100253ba
mov dword [esp + 0x24], 0x3b9aca00
jmp 0x10022ab9
test eax, 0x9000
je 0x10026fcb
mov ecx, dword [esp + 0x2c]
call fcn.101287c0
mov eax, dword [ebx + edi + 0x14]
mov dword [esp + 0x48], eax
cmp dword [esp + 0x48], 0
je 0x10022b26
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x104]
test eax, eax
je 0x10022b26
mov dword [eax + 0xc], 0x12
inc dword [eax + 0x24]
jmp 0x10022b26
mov eax, dword [esp + 0x58]
lea ecx, [eax + 2]
mov dword [esp + 0x5c], ecx
add eax, 3
mov dword [esp + 0x60], eax
xor eax, eax
inc eax
mov dword [esp + 0x44], eax
jmp 0x10025043
test eax, 0xfffffffd
je 0x10026fd7
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x100257f0
mov edx, dword [0x101f21e4]
mov ecx, dword [esp + 4]
call fcn.1017a800
jmp 0x10025740
mov edx, dword [esp + 4]
push eax
call fcn.10032440
add esp, 4
jmp 0x10024210
mov ecx, esi
call fcn.1016b990
mov ecx, dword [esi + 0x6c]
jmp 0x100229c9
add edx, 0x14
dec eax
jne 0x10022a32
jmp 0x10022642
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x100227eb
mov ecx, dword [esp + 0x24]
call fcn.10005b90
mov ecx, dword [esp + 0x24]
jmp 0x100227eb
dec dword [ecx + 0xc]
jne 0x10026e07
mov ecx, dword [esp + 0x24]
call fcn.10005b60
mov edi, dword [esp + 4]
jmp 0x1002281b
mov eax, dword [esp + 0xc]
mov dword [eax + 0x28], esi
jmp 0x1002541b
or edx, esi
mov dword [eax + 0x58], edx
cmp dword [esp + 0x18], 1
jne 0x10026ab9
mov ecx, eax
call fcn.10042310
mov al, 1
mov dword [esp + 0x20], eax
jmp 0x100253a1
mov dword [esp + 0x18], 0xffff8000
jmp 0x1002500b
mov esi, 5
jmp 0x100268d2
mov edx, dword [0x101f21e8]
jmp 0x10026d9c
mov ecx, dword [esp + 0x40]
lea ecx, [ecx + ecx*4]
shl ecx, 2
mov edx, dword [esp + 4]
add ecx, dword [edx + 0x68]
jmp 0x10025479
mov eax, 0x101b4794
jmp 0x100264ad
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF_16be]
cmp cl, dl
jne 0x10026e9e
test ecx, ecx
jne 0x10026eb0
jmp 0x10027006
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
jne 0x10027010
inc eax
jmp 0x10026e82
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + eax + 4]
mov edx, esi
call fcn.1016a920
jmp 0x100255ec
mov ecx, 0xffff8000
mov edx, dword [esp + 0xc]
mov dword [edx + 0x2c], 8
mov eax, dword [edx + 0x78]
test eax, eax
cmove eax, edx
mov edx, dword [eax + 0x58]
xor esi, esi
inc esi
shl esi, cl
bt edx, ecx
jae 0x10026f89
mov dword [esp + 0x10], 0
cmp dword [edi + 0x14], 0
jle 0x10026f75
xor esi, esi
mov dl, byte [edi + 0x19]
add dl, 0xf9
mov eax, str.NO_ACTION
mov ecx, str.NO_ACTION
cmp dl, 3
ja 0x10026f23
movsx ecx, dl
mov ecx, dword [ecx*4 + 0x101b5ecc]
mov dl, byte [edi + 0x1a]
add dl, 0xf9
cmp dl, 3
ja 0x10026f38
movsx eax, dl
mov eax, dword [eax*4 + 0x101b5ecc]
mov edx, dword [edi + esi*8 + 0x24]
mov ebx, dword [esp + 0x18]
mov ebx, dword [ebx + 4]
shl edx, 4
push str.NONE
push ecx
push eax
push dword [edi + esi*8 + 0x28]
push dword [ebx + edx]
push dword [edi + 8]
push esi
push dword [esp + 0x2c]
push str.iissssss
push 1
push dword [esp + 0x2c]
call fcn.10027830
add esp, 0x2c
inc esi
cmp esi, dword [edi + 0x14]
jl 0x10026f04
inc dword [esp + 0x10]
mov edi, dword [edi + 4]
test edi, edi
jne 0x10026efc
jmp 0x10022642
or edx, esi
mov dword [eax + 0x58], edx
cmp ecx, 1
jne 0x10026ef4
mov ecx, eax
call fcn.10042310
jmp 0x10026ef4
mov edi, dword [0x101f2154]
mov esi, dword [0x101f2150]
jmp 0x10026352
xor eax, eax
mov ebx, dword [esp + 8]
mov dword [ebx + 0x108], eax
mov dword [ebx + 0x10c], eax
jmp 0x1002261a
mov word [ebx + edi + 0x10], 1
jmp 0x10026d34
test eax, eax
je 0x1002202e
jmp 0x10022642
xor eax, eax
jmp 0x10022c7b
push dword [esp + 0x84]
push dword [esp + 0x84]
call fcn.10159b70
add esp, 8
jmp 0x10025f1d
mov eax, 0x101b479c
jmp 0x100264ad
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF16le]
cmp cl, dl
jne 0x1002702b
test ecx, ecx
jne 0x10027039
jmp 0x10027043
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
jne 0x1002704d
inc eax
jmp 0x10027012
xor ebx, ebx
jmp 0x10022d0a
mov eax, 0x101b47a4
jmp 0x100264ad
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF16be]
cmp cl, dl
jne 0x1002706b
test ecx, ecx
jne 0x1002707d
jmp 0x10027197
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
jne 0x100271a1
inc eax
jmp 0x1002704f
mov eax, dword [esp + 0xc]
mov al, byte [eax + 0x13]
test al, al
je 0x100271e9
dec al
mov ecx, dword [esp + 0xc]
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0xa0]
mov dword [esp + 0x20], eax
mov edi, dword [esp + 4]
mov ecx, edi
mov edx, 0x75
xor eax, eax
push eax
push dword [esp + 0x24]
xor eax, eax
push eax
call fcn.1002fb80
add esp, 0xc
mov ecx, edi
mov edx, eax
push 0xfffffffffffffffa
push esi
call fcn.1003a120
add esp, 8
mov ecx, edi
mov edx, 0x54
xor eax, eax
push eax
push 1
push dword [esp + 0x28]
call fcn.1002fb80
add esp, 0xc
jmp 0x100234e0
test esi, esi
je 0x100234e0
mov edx, esi
call fcn.1014c8d0
jmp 0x100234e0
xor eax, eax
jmp 0x10022c73
mov ecx, esi
call fcn.1016ab80
mov ecx, dword [esp + 4]
mov edx, eax
push 0
jmp 0x100230d5
test ecx, ecx
je 0x10027141
inc eax
jmp 0x10022d6c
test ecx, ecx
je 0x10027148
inc eax
jmp 0x10022d93
mov ecx, edi
call fcn.1016b990
mov ecx, dword [edi + 0x6c]
jmp 0x10022e45
xor edx, edx
jmp 0x10022de7
xor edx, edx
inc edx
jmp 0x10022de7
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x30]
mov edx, esi
call fcn.10171270
movzx edx, word [esi + 0x22]
test dx, dx
jle 0x10022642
jmp 0x100231cb
cmp byte [esi + 0x55], 0
je 0x10027181
cmp byte [ecx + 8], 0
je 0x10027321
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push dword [esp + 0x10]
call fcn.100463a0
add esp, 8
jmp 0x10022642
mov eax, 0x101b47ac
jmp 0x100264ad
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF_16]
cmp cl, dl
jne 0x100271bf
test ecx, ecx
jne 0x100271d1
jmp 0x10027276
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
jne 0x10027280
inc eax
jmp 0x100271a3
mov ecx, ebx
call fcn.1015b720
jmp 0x10022855
mov eax, edx
mov ecx, edx
jmp 0x10022f6c
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x2c]
inc edx
mov dword [esp + 0x20], edx
mov dword [ecx + 0x2c], edx
jmp 0x100270a6
mov edx, dword [esp + 0x10]
add edx, ecx
inc edx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x10]
inc edx
cmp dword [esp + 0x44], 1
jne 0x100232e9
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
jmp 0x100232fa
xor edx, edx
jmp 0x10023017
add eax, ecx
mov esi, dword [eax]
xor ecx, ecx
mov eax, dword [esp + 0x28]
movzx edx, byte [eax + ecx]
movzx eax, byte [esi + ecx]
cmp dl, al
jne 0x1002724b
test edx, edx
jne 0x1002725d
jmp 0x10023119
mov dl, byte [edx + 0x101af7e8]
cmp dl, byte [eax + 0x101af7e8]
jne 0x10023142
inc ecx
jmp 0x10027232
mov ecx, eax
call fcn.10042310
jmp 0x10023142
mov byte [esp + 0x1c], 1
jmp 0x100231a1
mov eax, 0x101b47b4
jmp 0x100264ad
xor eax, eax
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + eax]
movzx edx, byte [eax + str.UTF16]
cmp cl, dl
jne 0x1002729b
test ecx, ecx
jne 0x100272a9
jmp 0x100272f6
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
jne 0x10027300
inc eax
jmp 0x10027282
mov ecx, esi
call fcn.1016b990
xor ebx, ebx
test eax, eax
jne 0x10022bbd
mov esi, dword [esp + 4]
mov eax, dword [esi + 0x6c]
jmp 0x10022b93
test dl, dl
je 0x100272e0
mov dl, byte [esi + ecx]
inc ecx
jmp 0x10023306
mov esi, closesocket
jmp 0x10023693
xor ebx, ebx
inc ebx
jmp 0x10022d0a
mov esi, 0xfffe
mov edx, dword [esp + 0x1c]
jmp 0x1002344f
mov eax, 0x101b47bc
jmp 0x100264ad
push dword [esp + 0x14]
push str.unsupported_encoding:__s
push dword [esp + 0x14]
call fcn.100463a0
jmp 0x100269ba
mov ecx, 0x101f2320
jmp 0x1002372f
call fcn.1000db40
mov eax, dword [esi + 0x10]
mov dword [eax + 0x14], 0
mov ecx, esi
call fcn.1015b720
jmp 0x10022d2a