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

Disassembly:
sub esp, 0x74
mov eax, dword [0x100955e4]
xor eax, esp
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x84]
push ebx
mov ebx, dword [esp + 0x84]
push ebp
mov ebp, dword [ecx]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x38], esi
push edi
mov edi, dword [esp + 0x8c]
test esi, esi
jne 0x10050542
cmp dword [ecx + 0x74], esi
jne 0x10050527
test byte [ebp + 0x4c], 8
jne 0x10050527
mov byte [ecx + 0x17], 1
push ecx
call fcn.1005cd00
mov ecx, dword [esp + 0x18]
mov esi, eax
add esp, 4
mov dword [esp + 0x3c], esi
test esi, esi
je 0x100507e1
or dword [esi + 0x98], 0x40
lea eax, [esp + 0x24]
push eax
push ebx
push edi
push ecx
mov dword [ecx + 0x2c], 2
call fcn.10059a00
add esp, 0x10
mov dword [esp + 0x28], eax
test eax, eax
js 0x100507e1
mov ebp, dword [ebp + 0x10]
mov edi, eax
shl edi, 4
add ebp, edi
mov dword [esp + 0x18], edi
cmp eax, 1
jne 0x10050593
push dword [esp + 0x14]
call fcn.1004dbb0
add esp, 4
test eax, eax
jne 0x100507e1
push dword [esp + 0x24]
push dword [esp + 0x14]
call fcn.1004d6c0
add esp, 8
mov dword [esp + 0x54], eax
test eax, eax
je 0x100507e1
cmp dword [esp + 0x98], 0
push dword [esp + 0x34]
je 0x100505d0
push 0x100901cc
push dword [esp + 0x18]
call fcn.1004d0a0
add esp, 0xc
jmp 0x100505dc
push dword [esp + 0x14]
call fcn.1004d6c0
add esp, 8
cmp dword [ebx + 4], 0
mov dword [esp + 0x30], eax
jbe 0x100505eb
mov ebx, dword [ebp]
jmp 0x100505ed
xor ebx, ebx
push ebx
push eax
push dword [esp + 0x5c]
mov dword [esp + 0x44], ebx
push 0x13
push dword [esp + 0x24]
call fcn.10036c80
add esp, 0x14
test eax, eax
jne 0x100507c3
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x70]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
push ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x14]
push 0xe
push ebx
mov dword [esp + 0x88], 0
push eax
mov dword [eax + 0x19c], 0
call sym.sqlite3.dll_sqlite3_file_control
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x10050688
push 1
push esi
call fcn.100675f0
push 0xffffffffffffffff
push dword [esp + 0x7c]
push ebx
push ebx
push esi
call fcn.100675a0
push dword [esp + 0x8c]
push esi
call fcn.10032a20
push dword [esp + 0x94]
call sym.sqlite3.dll_sqlite3_free
add esp, 0x28
jmp 0x100507c3
cmp ebx, 0xc
je 0x100506bf
mov eax, dword [esp + 0x70]
test eax, eax
je 0x100506b0
push eax
push 0x1008d970
push dword [esp + 0x1c]
call fcn.1003fb40
push dword [esp + 0x7c]
call sym.sqlite3.dll_sqlite3_free
add esp, 0x10
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x100507c3
push dword [esp + 0x54]
call fcn.1002ea60
mov ebx, eax
add esp, 4
mov dword [esp + 0x4c], ebx
test ebx, ebx
je 0x100507c3
test byte [ebx + 5], 1
je 0x100506f3
push dword [esp + 0x14]
call fcn.10053110
add esp, 4
test eax, eax
jne 0x100507c3
mov al, byte [ebx + 5]
test al, 2
jne 0x10050710
test al, 4
je 0x10050706
mov edx, dword [esp + 0x30]
test edx, edx
jne 0x10050714
push ebx
push esi
call fcn.10034c90
add esp, 8
mov edx, dword [esp + 0x30]
movzx eax, byte [ebx + 4]
cmp eax, 0x27
ja case.0x10050721.3
jmp dword [eax*4 + 0x10052860]
mov ebx, dword [esp + 0x28]
push ebx
push esi
call fcn.10067f30
mov eax, dword [esp + 0x38]
add esp, 8
test eax, eax
jne 0x10050767
mov eax, dword [esp + 0x14]
push 0
push 0x10087a64
push 9
add dword [eax + 0x2c], 2
push esi
call fcn.1005c660
add esp, 0x10
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x100507c3
push eax
call fcn.10036a10
push eax
call fcn.10034fd0
push ebx
push 0
push dword [esp + 0x24]
mov edi, eax
call fcn.100373e0
push edi
push 3
push ebx
push 0x5f
push esi
call fcn.1005c4f0
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x50], edi
mov eax, dword [ebp + 0xc]
push dword [eax + 0x50]
push dword [ebp + 4]
call fcn.1003a8c0
add esp, 0x30
jmp 0x100507c3
mov edi, dword [ebp + 4]
test edx, edx
jne 0x100507fb
test edi, edi
je 0x100507f7
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x20]
cdq
push edx
push eax
push esi
call fcn.10032990
add esp, 0xc
mov ebp, dword [esp + 0x10]
push dword [esp + 0x54]
push ebp
call fcn.1003dd80
push dword [esp + 0x38]
push dword [esp + 0x1c]
call fcn.1003dd80
add esp, 0x10
mov ecx, dword [esp + 0x80]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100843e0
add esp, 0x74
ret
xor eax, eax
jmp 0x100507b7
push edx
call fcn.10036a10
mov ecx, dword [esp + 0x14]
push 0
push 0xffffffffffffffff
push eax
push edi
mov dword [ecx + 0x5c], eax
call fcn.1003a940
add esp, 0x14
cmp eax, 7
jne 0x100507c3
push dword [esp + 0x10]
call fcn.1004d830
add esp, 4
jmp 0x100507c3
mov eax, dword [ebp + 4]
or ebp, 0xffffffff
mov dword [esp + 0x24], eax
test edx, edx
je 0x10050860
push str.fast
push edx
call fcn.10059460
add esp, 8
test eax, eax
jne 0x1005084e
lea ebp, [eax + 2]
jmp 0x10050860
mov eax, dword [esp + 0x30]
push 0
push eax
call fcn.10048890
add esp, 8
movzx ebp, al
mov eax, dword [esp + 0x20]
cmp dword [eax + 4], 0
jne 0x1005089d
test ebp, ebp
js 0x1005089d
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x1005089d
xor edi, edi
mov esi, eax
lea ecx, [ecx]
mov eax, dword [esi + 0x10]
push ebp
push dword [edi + eax + 4]
call fcn.1003a7d0
inc ebx
lea edi, [edi + 0x10]
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x10050880
mov esi, dword [esp + 0x3c]
push ebp
push dword [esp + 0x28]
call fcn.1003a7d0
cdq
push edx
push eax
push esi
call fcn.10032990
add esp, 0x14
jmp 0x100507c3
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
push ebp
push ebx
call fcn.1003bfe0
mov eax, dword [esp + 0x5c]
add esp, 8
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x10087c80], 0x70
jne 0x10050903
push edi
push ebp
push 0xa6
push esi
call fcn.1005c490
add esp, 0x10
push 1
push edi
push 0x51
push esi
call fcn.1005c490
add esp, 0x10
jmp 0x100507c3
mov eax, dword [esp + 0x30]
push eax
call fcn.10036a10
push eax
call fcn.10034fd0
push eax
push edi
push ebp
push 0xa7
push esi
call fcn.1005c4f0
add esp, 0x1c
push 1
push edi
push 0x51
push esi
call fcn.1005c490
add esp, 0x10
jmp 0x100507c3
mov ebx, str.normal
test edx, edx
je 0x10050971
push str.exclusive
push edx
call fcn.10059460
add esp, 8
test eax, eax
jne 0x10050957
lea ecx, [eax + 1]
jmp 0x10050974
mov eax, dword [esp + 0x30]
push str.normal
push eax
call fcn.10059460
add esp, 8
test eax, eax
jne 0x10050971
xor ecx, ecx
jmp 0x10050974
or ecx, 0xffffffff
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], ecx
cmp dword [eax + 4], 0
jne 0x100509d4
mov eax, dword [esp + 0x10]
cmp ecx, 0xffffffff
jne 0x10050991
movzx eax, byte [eax + 0x53]
jmp 0x100509e5
mov ebx, 2
cmp dword [eax + 0x14], ebx
jle 0x100509cc
mov edi, 0x20
mov esi, eax
mov eax, dword [esi + 0x10]
push ecx
mov eax, dword [eax + edi + 4]
mov eax, dword [eax + 4]
push dword [eax]
call fcn.1004e3e0
mov ecx, dword [esp + 0x34]
lea edi, [edi + 0x10]
inc ebx
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x100509a2
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x53], cl
mov ebx, str.normal
mov eax, dword [ebp + 4]
push ecx
mov eax, dword [eax + 4]
push dword [eax]
call fcn.1004e3e0
add esp, 8
cmp eax, 1
jne 0x100509ef
mov ebx, str.exclusive
push ebx
push esi
call fcn.10032a20
add esp, 8
jmp 0x100507c3
test edx, edx
je 0x10050a4b
push edx
call fcn.100594c0
add esp, 4
mov edi, eax
xor ebx, ebx
nop
cmp ebx, 6
je 0x10050a4b
mov ecx, dword [ebx*4 + 0x10087a48]
test ecx, ecx
je 0x10050a4b
push edi
push ecx
push dword [esp + 0x38]
call fcn.10010d50
add esp, 0xc
test eax, eax
je 0x10050a35
inc ebx
jmp 0x10050a10
cmp ebx, 2
jne 0x10050a67
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x10050a6c
or ebx, 0xffffffff
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 4], 0
jne 0x10050a70
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x28], edx
jmp 0x10050a74
cmp ebx, 0xffffffff
je 0x10050a4e
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x10050ac3
mov ebp, edi
shl ebp, 4
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x10050aaf
cmp edi, edx
je 0x10050a99
cmp dword [ecx + 4], 0
jne 0x10050aaf
push edi
push esi
call fcn.10067f30
push ebx
push 1
push edi
push 7
push esi
call fcn.1005c4f0
add esp, 0x1c
mov ecx, dword [esp + 0x20]
sub ebp, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
jns 0x10050a85
push 1
push 1
push 0x51
push esi
call fcn.1005c490
add esp, 0x10
jmp 0x100507c3
mov eax, dword [ebp + 4]
mov dword [esp + 0x64], 0xfffffffe
mov dword [esp + 0x68], 0xffffffff
mov eax, dword [eax + 4]
mov edi, dword [eax]
test edx, edx
je 0x10050b3c
lea eax, [esp + 0x64]
push eax
push edx
call fcn.1003e0f0
mov ecx, dword [esp + 0x70]
add esp, 8
cmp ecx, 0xffffffff
jg 0x10050b1c
jl 0x10050b15
mov eax, dword [esp + 0x64]
cmp eax, 0xffffffff
jae 0x10050b20
or eax, 0xffffffff
or ecx, eax
jmp 0x10050b20
mov eax, dword [esp + 0x64]
mov edx, dword [edi + 0xd8]
mov dword [edi + 0xa0], eax
mov dword [edi + 0xa4], ecx
test edx, edx
je 0x10050b3c
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xa4]
push dword [edi + 0xa0]
jmp 0x100507ba
mov edi, dword [ebp + 4]
test edx, edx
jne 0x10050b6b
push edi
call fcn.10038d20
cdq
push edx
push eax
push esi
call fcn.10032990
add esp, 0x10
jmp 0x100507c3
push str.none
push edx
call fcn.10059460
add esp, 8
test eax, eax
jne 0x10050b81
xor ebx, ebx
jmp 0x10050bdd
mov ebx, dword [esp + 0x30]
push str.full
push ebx
call fcn.10059460
add esp, 8
test eax, eax
jne 0x10050b9c
lea ebx, [eax + 1]
jmp 0x10050bdd
push str.incremental
push ebx
call fcn.10059460
add esp, 8
test eax, eax
jne 0x10050bb3
lea ebx, [eax + 2]
jmp 0x10050bdd
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
push eax
push ebx
call fcn.10048aa0
mov ecx, 2
add esp, 8
cmp ecx, dword [esp + 0x34]
sbb ecx, ecx
not ecx
and ecx, dword [esp + 0x34]
movzx ebx, cl
mov eax, dword [esp + 0x10]
push ebx
push edi
mov byte [eax + 0x54], bl
call fcn.1003a840
add esp, 8
test eax, eax
jne 0x100507c3
cmp ebx, 1
je 0x10050c04
cmp ebx, 2
jne 0x100507c3
mov edi, dword [esi + 0x6c]
push 0
push 0x10087a8c
push 5
push esi
call fcn.1005c660
mov edx, dword [esp + 0x38]
lea ecx, [edi + 4]
push edx
push esi
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
mov dword [eax + 0x5c], ecx
call fcn.10067f30
add esp, 0x18
jmp 0x100507c3
test edx, edx
je 0x10050c5c
lea eax, [esp + 0x24]
push eax
push edx
call fcn.10048aa0
add esp, 8
test eax, eax
je 0x10050c5c
mov edi, dword [esp + 0x24]
test edi, edi
jg 0x10050c61
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x28]
push ebx
push 0
push dword [esp + 0x1c]
call fcn.100373e0
push 1
push edi
push 0x46
push esi
call fcn.1005c490
push ebx
push 0x3b
push esi
call fcn.1005c430
push 1
push 0x51
push esi
mov edi, eax
call fcn.1005c430
push 0xffffffffffffffff
push 1
push 0x53
push esi
call fcn.1005c490
add esp, 0x44
push edi
push 1
push 0x2f
push esi
call fcn.1005c490
push edi
push esi
call fcn.10064d70
add esp, 0x18
jmp 0x100507c3
test edx, edx
jne 0x10050cc9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x100507b7
push edx
call fcn.10036a10
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp + 0xc]
push dword [eax + 0x50]
push dword [ebp + 4]
call fcn.1003a8c0
jmp 0x100507c0
test edx, edx
jne 0x10050d0f
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, edx
je 0x100507f7
push edx
push dword [ebp + 4]
call fcn.1003aad0
add esp, 8
jmp 0x100507b7
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 1
push eax
push edx
call fcn.10048aa0
mov esi, dword [esp + 0x3c]
add esp, 8
test eax, eax
je 0x10050d39
push esi
push dword [ebp + 4]
call fcn.1003aad0
add esp, 8
test esi, esi
setne al
movzx eax, al
push eax
push dword [esp + 0x34]
call fcn.10048890
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test al, al
je 0x10050d61
or ecx, 0x20
jmp 0x10050d64
and ecx, 0xffffffdf
mov eax, dword [esp + 0x10]
push eax
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
call fcn.10034960
add esp, 4
jmp 0x100507c3
test edx, edx
je 0x10050e79
lea eax, [esp + 0x64]
push eax
push edx
call fcn.1003e0f0
add esp, 8
cmp dword [esp + 0x68], 0
jg 0x10050db4
jl 0x10050da2
cmp dword [esp + 0x64], 0
jae 0x10050db4
mov eax, dword [0x100940d0]
mov dword [esp + 0x64], eax
mov eax, dword [0x100940d4]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x10050dd0
mov eax, dword [esp + 0x64]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x68]
mov dword [edx + 0x34], eax
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x10050e79
mov esi, dword [esp + 0x28]
mov ebp, ebx
shl ebp, 4
mov eax, dword [edx + 0x10]
mov edi, dword [eax + ebp + 4]
test edi, edi
je 0x10050e69
cmp ebx, esi
je 0x10050dfa
cmp dword [ecx + 4], 0
jne 0x10050e69
cmp byte [edi + 9], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x24], eax
je 0x10050e2d
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x10050e2d
push edi
call fcn.10017080
mov eax, dword [esp + 0x28]
add esp, 4
mov eax, dword [eax]
mov ecx, dword [esp + 0x4c]
push eax
mov dword [eax + 0x80], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x84], ecx
call fcn.1002b400
add esp, 4
cmp byte [edi + 9], 0
je 0x10050e61
add dword [edi + 0xc], 0xffffffff
jne 0x10050e61
push edi
call fcn.100719e0
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
sub ebp, 0x10
sub ebx, 1
jns 0x10050de5
mov esi, dword [esp + 0x3c]
lea eax, [esp + 0x64]
mov dword [esp + 0x64], 0xffffffff
push eax
push 0x12
push dword [esp + 0x40]
mov dword [esp + 0x74], 0xffffffff
push dword [esp + 0x1c]
call sym.sqlite3.dll_sqlite3_file_control
add esp, 0x10
test eax, eax
jne 0x10050eb1
push dword [esp + 0x68]
push dword [esp + 0x68]
jmp 0x100507ba
mov ebp, dword [esp + 0x10]
cmp eax, 0xc
je 0x100507c7
mov ecx, dword [esp + 0x14]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x100507c7
test edx, edx
jne 0x10050ede
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x50]
jmp 0x100507b7
mov cl, byte [edx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x10050ef0
movsx ebx, cl
sub ebx, 0x30
jmp 0x10050f24
push str.file
push edx
call fcn.10059460
add esp, 8
test eax, eax
jne 0x10050f07
lea ebx, [eax + 1]
jmp 0x10050f24
push str.memory
push dword [esp + 0x34]
call fcn.10059460
add esp, 8
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
movzx eax, byte [esi + 0x50]
cmp eax, ebx
je 0x100507c3
push ecx
call fcn.10026360
mov ebp, dword [esp + 0x14]
add esp, 4
test eax, eax
jne 0x100507c7
mov byte [esi + 0x50], bl
jmp 0x100507c7
test edx, edx
jne 0x10050f6b
push dword [0x10095608]
push esi
call fcn.10032a20
add esp, 8
jmp 0x100507c3
cmp byte [edx], 0
je 0x10050fa7
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x24]
push ecx
push 1
push edx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x10050f91
cmp dword [esp + 0x24], eax
jne 0x10050fa7
push str.not_a_writable_directory
push dword [esp + 0x18]
call fcn.1003fb40
add esp, 8
jmp 0x100507c3
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x50], 1
ja 0x10050fbd
push dword [esp + 0x14]
call fcn.10026360
add esp, 4
push dword [0x10095608]
call sym.sqlite3.dll_sqlite3_free
mov eax, dword [esp + 0x34]
add esp, 4
cmp byte [eax], 0
je 0x10050fec
push eax
push 0x1008d970
call sym.sqlite3.dll_sqlite3_mprintf
add esp, 8
mov dword [0x10095608], eax
jmp 0x100507c3
mov dword [0x10095608], 0
jmp 0x100507c3
test edx, edx
jne 0x10051013
push dword [0x1009560c]
push esi
call fcn.10032a20
add esp, 8
jmp 0x100507c3
cmp byte [edx], 0
je 0x10051041
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x24]
push ecx
push 1
push edx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x10050f91
cmp dword [esp + 0x24], eax
je 0x10050f91
push dword [0x1009560c]
call sym.sqlite3.dll_sqlite3_free
mov eax, dword [esp + 0x34]
add esp, 4
cmp byte [eax], 0
je 0x10051070
push eax
push 0x1008d970
call sym.sqlite3.dll_sqlite3_mprintf
add esp, 8
mov dword [0x1009560c], eax
jmp 0x100507c3
mov dword [0x1009560c], 0
jmp 0x100507c3
test edx, edx
jne 0x10051093
movzx eax, byte [ebp + 8]
cdq
sub eax, 1
sbb edx, 0
jmp 0x100507b8
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4f], 0
jne 0x100510b3
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x18]
call fcn.1003fb40
add esp, 8
jmp 0x100507c3
cmp dword [esp + 0x28], 1
je 0x10052857
push 1
push 0
push edx
call fcn.10025540
inc eax
add esp, 0xc
and eax, 7
jne 0x100510d6
mov eax, 1
push dword [esp + 0x10]
mov byte [ebp + 8], al
mov byte [ebp + 9], 1
call fcn.10034960
add esp, 4
jmp 0x100507c3
test edx, edx
jne 0x10051124
push ebx
push esi
call fcn.10034c90
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
and ecx, dword [edx + 0x20]
and eax, dword [edx + 0x24]
or ecx, eax
je 0x1005111c
mov eax, 1
push 0
jmp 0x100507b9
xor eax, eax
push eax
jmp 0x100507b9
mov eax, dword [esp + 0x10]
mov ebp, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
cmp byte [eax + 0x4f], 0
jne 0x1005113a
and ebp, 0xffffbfff
push 0
push edx
call fcn.10048890
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
test al, al
je 0x1005115f
or edx, ebp
or ebx, edi
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], ebx
jmp 0x1005118d
mov ecx, ebp
mov eax, edi
not ecx
not eax
and ecx, edx
and eax, ebx
mov edx, dword [esp + 0x10]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
cmp ebp, 0x80000
jne 0x1005118d
test edi, edi
jne 0x1005118d
mov dword [edx + 0x1e0], edi
mov dword [edx + 0x1e4], edi
push 0x9e
push esi
call fcn.1005c3e0
push dword [esp + 0x18]
call fcn.10034960
jmp 0x100507c0
test edx, edx
je 0x100507c3
push dword [esp + 0x38]
mov edi, dword [esp + 0x18]
push edx
push 2
push edi
call fcn.1004cb40
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x3c], ebp
test ebp, ebp
je 0x100507c3
push dword [ebp + 0x48]
push dword [esp + 0x14]
call fcn.10055670
push ebp
mov edx, eax
mov dword [esp + 0x24], 0
call fcn.10053080
push edx
push edi
mov dword [esp + 0x48], eax
mov dword [edi + 0x2c], 7
call fcn.1003bfe0
push ebp
push edi
call fcn.10068020
mov eax, dword [esp + 0x58]
xor ecx, ecx
mov ebp, dword [ebp + 4]
add esp, 0x1c
xor edi, edi
movzx eax, word [eax + 0x2a]
cmp cx, ax
jge 0x100507c3
mov ecx, eax
mov dword [esp + 0x2c], ecx
mov al, byte [ebp + 0xf]
movzx edx, al
shr edx, 1
and edx, 1
mov dword [esp + 0x48], edx
je 0x1005124e
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x1005124b
inc dword [esp + 0x18]
movzx eax, cx
jmp 0x10051306
mov al, byte [ebp + 0xf]
test al, 1
jne 0x10051256
xor ecx, ecx
jmp 0x10051297
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x10051297
mov eax, dword [esp + 0x2c]
cwde
mov dword [esp + 0x24], eax
cmp eax, ecx
jl 0x10051297
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x24]
mov edx, dword [eax + 4]
lea ebx, [ebx]
movsx eax, word [edx]
cmp eax, edi
je 0x1005128f
inc ecx
add edx, 2
cmp ecx, ebx
jle 0x10051280
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov eax, dword [ebp + 4]
test eax, eax
je 0x100512a7
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
jmp 0x100512af
mov dword [esp + 0x2c], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x40], str.issisii
jne 0x100512c7
mov dword [esp + 0x40], str.issisi
push edx
xor eax, eax
cmp byte [ebp + 0xc], al
push ecx
push dword [esp + 0x34]
setne al
push eax
push 0x1008c2f1
push ebp
call fcn.1003c1b0
add esp, 8
push eax
push dword [ebp]
mov eax, edi
sub eax, dword [esp + 0x30]
push eax
push dword [esp + 0x5c]
push 1
push esi
call fcn.10066800
mov eax, dword [esp + 0x64]
add esp, 0x28
movzx eax, word [eax + 0x2a]
movzx ecx, ax
inc edi
cwde
add ebp, 0x10
mov dword [esp + 0x2c], ecx
cmp edi, eax
jl 0x10051226
jmp 0x100507c3
test edx, edx
je 0x100507c3
push dword [esp + 0x38]
push edx
push dword [esp + 0x18]
call fcn.10044d70
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x100507c3
push dword [ebp + 0x18]
push dword [esp + 0x14]
call fcn.10055670
mov ecx, dword [ebx + 8]
add esp, 8
or ecx, dword [ebx + 0xc]
mov edx, eax
je 0x10051366
movzx eax, word [ebp + 0x34]
mov ecx, 6
jmp 0x1005136f
movzx eax, word [ebp + 0x32]
mov ecx, 3
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
push edx
push edi
mov dword [edi + 0x2c], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x2c], eax
call fcn.1003bfe0
xor edi, edi
add esp, 8
cmp word [esp + 0x18], di
je 0x100507c3
jmp 0x100513a0
mov eax, dword [ebp + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x100513b3
xor eax, eax
jmp 0x100513c1
mov eax, dword [esp + 0x24]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push edi
push str.iisX
push 1
push esi
call fcn.10066800
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x10051406
movzx eax, word [ebp + 0x32]
xor ecx, ecx
cmp edi, eax
mov eax, dword [ebp + 0x20]
setl cl
push ecx
push dword [eax + edi*4]
mov eax, dword [ebp + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.10066800
add esp, 0x18
mov eax, dword [esp + 0x14]
push dword [eax + 0x2c]
push 1
push 0x51
push esi
call fcn.1005c490
mov ecx, dword [esp + 0x28]
inc edi
movzx eax, cx
add esp, 0x10
cmp edi, eax
jl 0x100513a0
jmp 0x100507c3
test edx, edx
je 0x100507c3
push dword [esp + 0x38]
push edx
push dword [esp + 0x18]
call fcn.10044e10
mov edi, eax
add esp, 0xc
test edi, edi
je 0x100507c3
push dword [edi + 0x48]
push dword [esp + 0x14]
call fcn.10055670
mov ecx, dword [esp + 0x1c]
push eax
push ecx
mov dword [ecx + 0x2c], 5
call fcn.1003bfe0
mov edi, dword [edi + 8]
add esp, 0x10
xor ebx, ebx
test edi, edi
je 0x100507c3
mov dword [esp + 0x64], 0x1009024c
mov dword [esp + 0x68], 0x10090250
mov dword [esp + 0x6c], 0x1008c354
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x68]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.10066800
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x10051498
jmp 0x100507c3
mov eax, dword [esp + 0x14]
xor edi, edi
mov ebp, dword [esp + 0x10]
mov dword [eax + 0x2c], 3
cmp dword [ebp + 0x14], edi
jle 0x100507c7
xor ebx, ebx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x10051516
push eax
call fcn.10038d70
push eax
push dword [ecx + ebx]
push edi
push 0x1009025c
push 1
push esi
call fcn.10066800
add esp, 0x1c
inc edi
add ebx, 0x10
cmp edi, dword [ebp + 0x14]
jl 0x100514f0
jmp 0x100507c7
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov edi, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edi + 0x18c]
test edi, edi
je 0x100507c3
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x10090260
push 1
push esi
call fcn.10066800
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x10051543
jmp 0x100507c3
test edx, edx
je 0x100507c3
push dword [esp + 0x38]
push edx
push dword [esp + 0x18]
call fcn.10044e10
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x100507c3
mov edi, dword [eax + 0x10]
test edi, edi
je 0x100507c3
push dword [eax + 0x48]
push dword [esp + 0x14]
call fcn.10055670
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
push eax
push ecx
mov dword [esp + 0x28], ebp
mov dword [ecx + 0x2c], 8
call fcn.1003bfe0
add esp, 0x10
lea esp, [esp]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x10051628
lea ebp, [edi + 0x24]
lea ebx, [ebx]
movzx eax, byte [edi + 0x19]
push str.NONE
push eax
call fcn.100123f0
add esp, 4
push eax
movzx eax, byte [edi + 0x1a]
push eax
call fcn.100123f0
mov ecx, dword [ebp]
add esp, 4
add ecx, ecx
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x34]
push str.iissssss
push 1
push esi
call fcn.10066800
inc ebx
lea ebp, [ebp + 8]
add esp, 0x2c
cmp ebx, dword [edi + 0x14]
jl 0x100515d0
mov ebp, dword [esp + 0x18]
mov edi, dword [edi + 4]
inc ebp
mov dword [esp + 0x18], ebp
test edi, edi
jne 0x100515c0
jmp 0x100507c3
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + 1]
lea ebp, [eax + 6]
mov dword [esp + 0x28], ecx
lea ecx, [eax + 5]
mov dword [edx + 0x2c], ebp
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x3c], ebp
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x100507c3
mov edi, edi
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x1005168e
push dword [esp + 0x38]
push ecx
push 0
push edx
call fcn.1004cb40
add esp, 0x10
mov edi, eax
xor eax, eax
jmp 0x10051693
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], edi
test edi, edi
je 0x100519a4
cmp dword [edi + 0x10], 0
je 0x100519a4
push dword [edi + 0x48]
push dword [esp + 0x14]
call fcn.10055670
mov ebx, eax
push ebx
push dword [esp + 0x20]
mov dword [esp + 0x28], ebx
call fcn.1003bfe0
push dword [edi]
push 0
push dword [edi + 0x1c]
push ebx
push dword [esp + 0x34]
call fcn.100595c0
mov ecx, dword [esp + 0x38]
add esp, 0x24
movsx eax, word [edi + 0x2a]
add eax, ebp
cmp eax, dword [ecx + 0x2c]
jle 0x100516ef
mov dword [ecx + 0x2c], eax
push 0x6c
push edi
push ebx
push 0
push ecx
call fcn.1004d870
push dword [edi]
push dword [esp + 0x40]
push esi
call fcn.10065220
mov ebx, dword [edi + 0x10]
add esp, 0x20
mov ebp, 1
test ebx, ebx
je 0x100517c0
lea ebx, [ebx]
push dword [esp + 0x38]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.10044e10
mov edi, eax
add esp, 0xc
test edi, edi
je 0x100517b0
push dword [edi]
mov dword [esp + 0x24], 0
push 0
push dword [edi + 0x1c]
push dword [esp + 0x24]
push dword [esp + 0x24]
call fcn.100595c0
push 0
lea eax, [esp + 0x38]
push eax
push ebx
push edi
push dword [esp + 0x38]
call fcn.10046440
add esp, 0x28
test eax, eax
jne 0x100507c3
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x10051790
push 0x6c
push edi
push dword [esp + 0x20]
push ebp
push dword [esp + 0x24]
call fcn.1004d870
add esp, 0x14
jmp 0x100517b0
push dword [esp + 0x18]
push dword [eax + 0x2c]
push ebp
push 0x6c
push esi
call fcn.1005c4f0
push dword [esp + 0x34]
push dword [esp + 0x2c]
call fcn.10067660
add esp, 0x1c
mov ebx, dword [ebx + 4]
inc ebp
test ebx, ebx
jne 0x10051720
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x28], ebp
jge 0x100517cc
mov dword [eax + 0x28], ebp
push 0
push 0x24
push esi
call fcn.1005c430
mov ebp, dword [edi + 0x10]
add esp, 0xc
mov dword [esp + 0x44], 1
mov ebx, eax
mov dword [esp + 0x50], ebx
test ebp, ebp
je 0x10051984
push dword [esp + 0x38]
push dword [ebp + 8]
push dword [esp + 0x18]
call fcn.10044e10
xor edx, edx
mov dword [esp + 0x58], eax
add esp, 0xc
mov dword [esp + 0x20], 0
mov dword [esp + 0x40], edx
test eax, eax
je 0x10051837
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x24]
push ecx
push ebp
push eax
push dword [esp + 0x24]
call fcn.10046440
mov edx, dword [esp + 0x54]
add esp, 0x14
mov eax, dword [esp + 0x14]
xor edi, edi
dec dword [eax + 0x38]
mov ecx, dword [ebp + 0x14]
mov ebx, dword [eax + 0x38]
mov dword [esp + 0x18], ebx
test ecx, ecx
jle 0x100518a3
mov ebx, dword [esp + 0x3c]
lea eax, [ebp + 0x24]
mov dword [esp + 0x34], eax
lea esp, [esp]
test edx, edx
je 0x10051867
lea eax, [edx + edi*4]
mov eax, dword [eax]
push ebx
push eax
push 0
push dword [esp + 0x38]
push esi
call fcn.100407b0
push dword [esp + 0x2c]
push ebx
push 0x32
push esi
call fcn.1005c490
mov eax, dword [esp + 0x58]
inc edi
mov ecx, dword [ebp + 0x14]
add eax, 8
mov edx, dword [esp + 0x64]
add esp, 0x24
inc ebx
mov dword [esp + 0x34], eax
cmp edi, ecx
jl 0x10051860
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100518e4
push ecx
push eax
push dword [esp + 0x18]
call fcn.10049ce0
mov edi, dword [esp + 0x30]
add esp, 8
push eax
push edi
push dword [ebp + 0x14]
push dword [esp + 0x4c]
push 0x5c
push esi
call fcn.1005c550
push 0
push edi
mov edi, dword [esp + 0x68]
push ebx
push edi
push 0x1d
push esi
call fcn.1005c5d0
add esp, 0x34
jmp 0x1005190d
cmp dword [esp + 0x4c], 0
mov edi, dword [esp + 0x44]
je 0x1005190d
push dword [esp + 0x3c]
mov eax, dword [esi + 0x6c]
add eax, 2
push eax
push edi
push 0x1e
push esi
call fcn.1005c4f0
push ebx
push esi
call fcn.10064950
add esp, 0x1c
mov eax, dword [esp + 0x28]
inc eax
push eax
mov eax, dword [esp + 0x30]
push 0
mov eax, dword [eax + 0x24]
and al, 0x20
movzx eax, al
neg eax
sbb eax, eax
and eax, 0xffffffc9
sub eax, 0xffffff80
push eax
push esi
call fcn.1005c490
lea eax, [edi - 1]
mov edi, dword [esp + 0x38]
push eax
push dword [ebp + 8]
push 0x10090278
lea eax, [edi + 2]
push eax
push esi
call fcn.10066800
push 4
push edi
push 0x51
push esi
call fcn.1005c490
push ebx
push esi
call fcn.100672a0
push dword [esp + 0x7c]
push dword [esp + 0x50]
call fcn.1003dd80
inc dword [esp + 0x88]
add esp, 0x44
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x100517f2
mov ebx, dword [esp + 0x50]
lea eax, [ebx + 1]
push eax
push 0
push 5
push esi
call fcn.1005c490
push ebx
push esi
call fcn.10064d70
mov ebp, dword [esp + 0x54]
add esp, 0x18
mov eax, dword [esp + 0x48]
test eax, eax
je 0x100507c3
mov edx, dword [esp + 0x14]
jmp 0x10051670
test edx, edx
je 0x100507c3
push 0
push edx
call fcn.10048890
movzx eax, al
push eax
push dword [esp + 0x1c]
call fcn.100536b0
add esp, 0x10
jmp 0x100507c3
mov eax, dword [esp + 0x54]
movzx eax, byte [eax]
mov al, byte [eax + 0x10087c80]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x20]
cmp dword [eax], 0
jne 0x100519fd
or edi, 0xffffffff
mov dword [esp + 0x28], edi
jmp 0x10051a01
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov ebp, 0x64
mov dword [esp + 0x34], ebp
mov dword [esp + 0x48], ebp
mov dword [ebx + 0x2c], 6
test edx, edx
je 0x10051a40
lea eax, [esp + 0x48]
push eax
push edx
call fcn.10048aa0
mov ebp, dword [esp + 0x50]
add esp, 8
mov dword [esp + 0x34], ebp
test ebp, ebp
jg 0x10051a40
mov ebp, 0x64
mov dword [esp + 0x34], ebp
push 1
lea eax, [ebp - 1]
push eax
push 0x46
push esi
call fcn.1005c490
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x2c], ecx
cmp dword [eax + 0x14], ecx
jle 0x100522ae
xor ebp, ebp
test edi, edi
js 0x10051a72
cmp ecx, edi
jne 0x1005229c
push ecx
push ebx
call fcn.1003bfe0
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x2c]
xor edx, edx
shl ecx, 4
mov dword [esp + 0x50], ecx
mov eax, dword [eax + 0x10]
mov ebx, dword [ecx + eax + 0xc]
mov dword [esp + 0x24], ebx
mov edi, dword [ebx + 0x10]
test edi, edi
je 0x10051ac8
nop
mov eax, dword [edi + 8]
test byte [eax + 0x24], 0x20
jne 0x10051aaa
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x10051abc
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x10051ab3
cmp ecx, ebp
jle 0x10051ac2
mov ebp, ecx
mov edi, dword [edi]
test edi, edi
jne 0x10051aa0
lea eax, [edx*4 + 4]
push 0
push eax
push dword [esp + 0x18]
call fcn.1003de20
mov edi, eax
add esp, 0xc
test edi, edi
je 0x100522aa
mov ebx, dword [ebx + 0x10]
xor edx, edx
test ebx, ebx
je 0x10051b1c
mov ecx, dword [ebx + 8]
test byte [ecx + 0x24], 0x20
jne 0x10051b01
mov eax, dword [ecx + 0x1c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x10051b16
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10051b08
mov ebx, dword [ebx]
test ebx, ebx
jne 0x10051af1
mov eax, dword [esp + 0x14]
lea ecx, [ebp + 8]
mov dword [edi], edx
mov eax, dword [eax + 0x2c]
cmp eax, ecx
jg 0x10051b2e
mov eax, ecx
mov ebp, dword [esp + 0x14]
push 0xfffffffffffffff1
push edi
push 1
push edx
push 2
push 0x93
push esi
mov dword [ebp + 0x2c], eax
mov byte [ebp + 0x13], 0
mov dword [ebp + 0x1c], 0
call fcn.1005c550
mov eax, dword [esp + 0x48]
movzx eax, al
push eax
push esi
call fcn.1005ca00
push 2
push 0x32
push esi
call fcn.1005c430
mov edx, dword [esp + 0x40]
add esp, 0x30
mov edi, eax
mov eax, dword [esp + 0x50]
mov ecx, dword [edx + 0x10]
push 0xfffffffffffffff9
push dword [eax + ecx]
push str._in_database__s__n
push edx
call fcn.1004d0a0
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x6e
push esi
call fcn.1005c550
push 3
push 3
push 2
push 0x69
push esi
call fcn.1005c4f0
push esi
call fcn.100261e0
push edi
push esi
call fcn.10064d70
mov eax, dword [esp + 0x60]
add esp, 0x3c
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x24], ebx
test ebx, ebx
je 0x1005228e
mov edi, edi
mov ebx, dword [ebx + 8]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x40], 0xffffffff
cmp dword [ebx + 0x1c], 1
jl 0x10052276
test byte [ebx + 0x24], 0x20
jne 0x10051c01
mov dword [esp + 0x20], 0
jmp 0x10051c0e
push ebx
call fcn.10053080
add esp, 4
mov dword [esp + 0x20], eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push 1
push 0
push 0x6c
push ebx
push ebp
call fcn.1004d9a0
push 7
push 0
push 0x46
push esi
call fcn.1005c490
mov edi, dword [ebx + 8]
add esp, 0x30
test edi, edi
je 0x10051c5c
mov ebx, 8
push ebx
push 0
push 0x46
push esi
call fcn.1005c490
mov edi, dword [edi + 0x14]
add esp, 0x10
inc ebx
test edi, edi
jne 0x10051c42
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
push 0
push edi
push 0x24
push esi
call fcn.1005c490
push 1
push 7
push 0x53
push esi
call fcn.1005c490
add esp, 0x20
mov dword [esp + 0x64], eax
cmp byte [esp + 0x1f], 0x71
je 0x10051ca4
movsx ecx, word [ebx + 0x2a]
push 3
dec ecx
push ecx
push edi
push 0x5a
push esi
call fcn.1005c4f0
push 0x80
push esi
call fcn.1005ca00
add esp, 0x1c
mov ecx, dword [esp + 0x38]
xor eax, eax
xor ebx, ebx
cmp ax, word [ecx + 0x2a]
jge 0x10051d46
xor ebp, ebp
movsx eax, word [ecx + 0x28]
cmp ebx, eax
je 0x10051d32
mov eax, dword [ecx + 4]
cmp byte [eax + ebp + 0xc], 0
je 0x10051d32
push 3
push ebx
push edi
push ecx
push esi
call fcn.100407b0
push 0x80
push esi
call fcn.1005ca00
push 3
push 0x33
push esi
call fcn.1005c430
mov edi, eax
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 4]
push dword [ecx + ebp]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x44]
call fcn.1004d0a0
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x6e
push esi
call fcn.1005c550
add esp, 0x54
push esi
call fcn.100261e0
push edi
push esi
call fcn.10064d70
mov ecx, dword [esp + 0x44]
add esp, 0xc
mov edi, dword [esp + 0x18]
movsx eax, word [ecx + 0x2a]
inc ebx
add ebp, 0x10
cmp ebx, eax
jl 0x10051cb8
mov ebp, dword [esp + 0x14]
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x10051e41
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x10051e41
push eax
push edx
push ebx
call fcn.10043c00
mov ebx, eax
add esp, 0xc
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], ebx
cmp byte [eax + 0x51], 0
jne 0x10051e2f
mov ebp, dword [ebp + 0x38]
mov ecx, dword [esp + 0x14]
dec ebp
lea eax, [ebp - 1]
mov dword [ecx + 0x38], eax
lea eax, [edi + 1]
mov dword [ecx + 0x34], eax
mov edi, dword [ebx]
dec edi
test edi, edi
jle 0x10051dd2
lea eax, [edi + edi*2]
mov esi, ecx
lea ebx, [ebx + eax*8]
add ebx, 4
jmp 0x10051db0
push 0
push ebp
push dword [ebx]
push esi
call fcn.10042e70
dec edi
lea ebx, [ebx - 0x18]
add esp, 0x10
test edi, edi
jg 0x10051db0
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
push 0x10
lea edi, [ebp - 1]
push edi
push dword [ebx + 4]
push ecx
call fcn.100432a0
push ebp
push esi
call fcn.100672a0
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x50]
mov dword [ebp + 0x34], 0
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x30]
call fcn.1004d0a0
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
push 0x6e
push esi
call fcn.1005c550
add esp, 0x40
push esi
call fcn.100261e0
push edi
push esi
call fcn.100672a0
mov eax, dword [esp + 0x1c]
add esp, 0xc
test ebx, ebx
je 0x10051e3d
push ebx
push eax
call fcn.10020380
add esp, 8
mov ecx, dword [esp + 0x38]
mov bl, byte [esp + 0x1f]
cmp bl, 0x71
je 0x100520d7
mov ebx, dword [ecx + 8]
test ebx, ebx
je 0x100520d3
mov eax, dword [esp + 0x4c]
mov ecx, 8
sub ecx, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x50], ecx
mov edi, dword [ebp + 0x38]
dec edi
mov dword [ebp + 0x38], edi
cmp eax, ebx
je 0x100520c4
push dword [esp + 0x40]
lea eax, [esp + 0x64]
push dword [esp + 0x4c]
push eax
push 0
push 0
push dword [esp + 0x2c]
push ebx
push ebp
call fcn.100480f0
mov ecx, dword [esp + 0x64]
add ecx, dword [esp + 0x70]
push 1
push ecx
push 0x53
push esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], ebx
call fcn.1005c490
movzx ecx, word [ebx + 0x34]
push ecx
push dword [esp + 0x74]
push edi
push dword [esp + 0x80]
push 0x1d
push esi
call fcn.1005c5d0
add esp, 0x48
mov edi, eax
push 0
push str.row
push 0
push 3
push 0
push 0x6e
push esi
call fcn.1005c550
push 3
push 3
push 7
push 0x69
push esi
call fcn.1005c4f0
push 0
push str._missing_from_index
push 0
push 4
push 0
push 0x6e
push esi
call fcn.1005c550
add esp, 0x4c
push 3
push 3
push 4
push 0x69
push esi
call fcn.1005c4f0
push 0
push dword [ebx]
push 0
push 4
push 0
push 0x6e
push esi
call fcn.1005c550
push 3
push 3
push 4
push 0x69
push esi
mov dword [esp + 0x9c], eax
call fcn.1005c4f0
add esp, 0x44
push esi
call fcn.100261e0
mov edx, dword [esi + 0x6c]
add esp, 4
mov dword [esp + 0x5c], eax
test edi, edi
jns 0x10051f5e
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x10051f6d
mov eax, 0x10095994
jmp 0x10051f76
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [ebx + 0x36], 0
je 0x10052069
dec dword [ebp + 0x38]
xor eax, eax
mov ebp, dword [ebp + 0x38]
xor edi, edi
cmp ax, word [ebx + 0x32]
jae 0x10051fca
mov eax, dword [ebx + 4]
movsx ecx, word [eax + edi*2]
test ecx, ecx
js 0x10051fae
mov eax, dword [esp + 0x38]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xc], 0
jne 0x10051fc1
mov eax, dword [esp + 0x40]
push ebp
add eax, edi
push eax
push 0x32
push esi
call fcn.1005c490
add esp, 0x10
movzx eax, word [ebx + 0x32]
inc edi
cmp edi, eax
jl 0x10051f93
push dword [esp + 0x44]
push 5
push esi
call fcn.1005c430
push ebp
push esi
mov edi, eax
call fcn.10064950
mov edx, dword [esi + 0x6c]
add esp, 0x14
test edi, edi
jns 0x10051fec
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x10051ffb
mov eax, 0x10095994
jmp 0x10052004
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
movzx eax, word [ebx + 0x32]
push eax
push dword [esp + 0x44]
push ebp
push dword [esp + 0x50]
push 0x26
push esi
call fcn.1005c5d0
push 0
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x6e
push esi
call fcn.1005c550
push dword [esp + 0x8c]
push esi
call fcn.10064950
mov ecx, dword [esi + 0xc]
add esp, 0x3c
not ebp
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1005205c
push ebp
push esi
push ecx
call fcn.10031450
add esp, 0xc
jmp 0x10052065
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebp*4], eax
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esi + 0x6c]
test ecx, ecx
jns 0x10052077
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x10052086
mov eax, 0x10095994
jmp 0x1005208f
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x60]
test edx, edx
je 0x100520c0
mov edi, dword [ebp + 8]
not edx
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100520b7
push edx
push edi
push ecx
call fcn.10031450
add esp, 0xc
jmp 0x100520c0
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x20]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x44]
test ebx, ebx
jne 0x10051e70
mov bl, byte [esp + 0x1f]
mov edi, dword [esp + 0x64]
push edi
push dword [esp + 0x1c]
push 5
push esi
call fcn.1005c490
mov edx, dword [esi + 0x6c]
lea ecx, [edi - 1]
add esp, 0x10
test ecx, ecx
jns 0x100520f8
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x10052107
mov eax, 0x10095994
jmp 0x10052110
mov eax, dword [esi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp bl, 0x71
je 0x10052276
push 0
push str.wrong__of_entries_in_index
push 0
push 2
push 0
push 0x6e
push esi
call fcn.1005c550
mov eax, dword [esp + 0x54]
add esp, 0x1c
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x10052276
mov eax, dword [esp + 0x20]
mov ebp, 8
lea esp, [esp]
cmp eax, ebx
je 0x10052266
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff8
push 3
add eax, ebp
push eax
push 0x5d
push esi
call fcn.1005c490
mov edi, dword [esi + 0x6c]
add esp, 0x10
cmp dword [esi + 0x70], edi
jg 0x1005218b
push 3
push 0
push ebp
push 0x35
push esi
call fcn.10025690
add esp, 0x14
mov edi, eax
jmp 0x100521ba
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x100521d1
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push 0
push dword [ebx]
push 0
push 4
push 0
push 0x6e
push esi
call fcn.1005c550
mov ecx, dword [esi + 0x6c]
add esp, 0x1c
cmp dword [esi + 0x70], ecx
jg 0x10052201
push 3
push 2
push 4
push 0x69
push esi
call fcn.10025690
add esp, 0x14
jmp 0x10052234
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x69
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push esi
call fcn.100261e0
mov edx, dword [esi + 0x6c]
add esp, 4
test edi, edi
jns 0x10052247
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x10052256
mov eax, 0x10095994
jmp 0x1005225f
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x20]
mov ebx, dword [ebx + 0x14]
inc ebp
test ebx, ebx
jne 0x10052150
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov ebx, dword [ebx]
mov dword [esp + 0x24], ebx
test ebx, ebx
jne 0x10051bd0
mov ebx, dword [esp + 0x14]
jmp 0x10052290
mov ebx, ebp
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, dword [eax + 0x14]
jl 0x10051a64
mov ebp, dword [esp + 0x34]
push 0
push 0x10087aa4
push 7
push esi
call fcn.1005c660
add esp, 0x10
test eax, eax
je 0x100522f1
mov edx, dword [str.database_disk_image_is_malformed]
mov ecx, 1
sub ecx, ebp
mov byte [eax + 0x29], 0xff
mov dword [eax + 8], ecx
mov ecx, str.unknown_error
mov dword [eax + 0x38], 0x10090324
mov byte [eax + 0x65], 0xff
test edx, edx
je 0x100522ee
mov ecx, edx
mov dword [eax + 0x74], ecx
mov eax, dword [esi]
mov ecx, 0x10095994
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
jne 0x10052304
mov ecx, dword [esi + 0x68]
lea eax, [edx - 2]
mov dword [ecx + 0xc], eax
jmp 0x100507c3
test edx, edx
jne 0x10052343
mov ebx, dword [esp + 0x14]
push ebx
call fcn.10053110
add esp, 4
test eax, eax
jne 0x100507c3
mov eax, dword [ebx]
movzx eax, byte [eax + 0x4e]
push dword [eax*8 + 0x10087ac0]
push esi
call fcn.10032a20
add esp, 8
jmp 0x100507c3
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x10]
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x4e]
and al, 5
cmp al, 1
je 0x100507c3
mov eax, dword [str.UTF8]
mov esi, 0x10087ac0
test eax, eax
je 0x100523a9
push eax
push edx
call fcn.10059460
add esp, 8
test eax, eax
je 0x10052386
mov eax, dword [esi + 8]
add esi, 8
mov edx, dword [esp + 0x30]
test eax, eax
jne 0x10052368
jmp 0x100523a5
mov cl, byte [esi + 4]
test cl, cl
jne 0x1005238f
mov cl, 2
mov eax, dword [esp + 0x10]
mov byte [eax + 0x4e], cl
mov eax, dword [edi + 0xc]
mov byte [eax + 0x4d], cl
cmp dword [esi], 0
jne 0x100507c3
mov edx, dword [esp + 0x30]
push edx
push str.unsupported_encoding:__s
push dword [esp + 0x1c]
call fcn.1003fb40
jmp 0x100507c0
mov ebp, dword [esp + 0x28]
mov edi, dword [ebx + 8]
push ebp
push esi
call fcn.10067f30
add esp, 8
cmp dword [esp + 0x30], 0
je 0x10052409
test byte [ebx + 5], 8
jne 0x10052409
push 0
push 0x10087b08
push 2
push esi
call fcn.1005c660
push dword [esp + 0x40]
mov esi, eax
mov dword [esi + 4], ebp
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], edi
call fcn.10036a10
add esp, 0x14
mov dword [esi + 0x20], eax
jmp 0x100507c3
push 0
push 0x10087b10
push 3
push esi
call fcn.1005c660
add esp, 0x10
mov dword [eax + 4], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x20], edi
and dword [esi + 0x98], 0xffffffbf
jmp 0x100507c3
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [eax + 0x2c], 1
lea ecx, [ecx]
cmp edi, 1
ja 0x1005244e
mov eax, dword [edi*4 + 0x10087128]
jmp 0x10052450
xor eax, eax
inc edi
test eax, eax
je 0x10052424
push eax
push 1
push esi
call fcn.10065220
push 1
push 1
push 0x51
push esi
call fcn.1005c490
add esp, 0x1c
jmp 0x10052440
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
cmp dword [eax], 0
jne 0x10052481
mov ebx, 0xa
xor edi, edi
test edx, edx
je 0x100524d0
push str.full
push edx
call fcn.10059460
add esp, 8
test eax, eax
jne 0x1005249e
lea edi, [eax + 1]
jmp 0x100524d0
mov ebp, dword [esp + 0x30]
push str.restart
push ebp
call fcn.10059460
add esp, 8
test eax, eax
jne 0x100524b9
lea edi, [eax + 2]
jmp 0x100524d0
push str.truncate
push ebp
call fcn.10059460
add esp, 8
test eax, eax
jne 0x100524d0
mov edi, 3
mov eax, dword [esp + 0x14]
push 1
push edi
push ebx
push 6
push esi
mov dword [eax + 0x2c], 3
call fcn.1005c4f0
push 3
push 1
push 0x51
push esi
call fcn.1005c490
add esp, 0x24
jmp 0x100507c3
test edx, edx
je 0x10052512
push edx
call fcn.10036a10
push eax
push dword [esp + 0x18]
call fcn.100110b0
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xf4], 0x10068f80
jne 0x100507f7
mov eax, dword [eax + 0xf8]
jmp 0x100507b7
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10052546
push eax
call dword [0x10094074]
add esp, 4
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x59], 0
jne 0x1005255d
push eax
call fcn.10016d50
mov eax, dword [esp + 0x14]
add esp, 4
xor esi, esi
cmp dword [eax + 0x14], esi
jle 0x10052595
xor edi, edi
mov eax, dword [eax + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x10052588
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xd4]
push dword [eax + 0x2c]
call dword [0x100940b8]
add esp, 4
mov eax, dword [esp + 0x10]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0x14]
jl 0x10052566
cmp byte [eax + 0x59], 0
jne 0x100525a8
push eax
call fcn.10017040
mov eax, dword [esp + 0x14]
add esp, 4
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100507c3
push eax
call dword [0x1009407c]
add esp, 4
jmp 0x100507c3
test edx, edx
je 0x100525e0
push edx
call fcn.10036a10
mov ecx, eax
add esp, 4
mov dword [esp + 0x34], ecx
test cl, 2
je 0x100507c3
jmp 0x100525e8
mov dword [esp + 0x34], 0xfffe
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x24], eax
inc eax
cmp dword [esp + 0x38], 0
mov dword [ecx + 0x28], eax
je 0x1005260a
mov eax, ebp
mov dword [esp + 0x2c], eax
jmp 0x10052620
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x2c], eax
cmp ebp, eax
jg 0x1005273d
mov edi, edi
cmp ebp, 1
je 0x10052729
push ebp
push ecx
call fcn.1003bfe0
mov ecx, dword [esp + 0x18]
add esp, 8
mov eax, dword [ecx + 0x10]
mov eax, dword [edi + eax + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x10052721
lea esp, [esp]
mov edi, dword [ebx + 8]
test dword [edi + 0x24], 0x100
je 0x1005270f
mov ax, word [edi + 0x2c]
add ax, 0x2e
movzx ebp, ax
mov eax, dword [edi + 8]
test eax, eax
je 0x1005267f
test byte [eax + 0x38], 0x80
je 0x100526bf
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x10052672
test bp, bp
je 0x100526bf
push 0x6c
push edi
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x24]
call fcn.1004d870
mov ecx, dword [esp + 0x48]
movsx eax, bp
and ecx, 1
push eax
mov eax, dword [esi + 0x6c]
add ecx, 2
add eax, ecx
push eax
push dword [esp + 0x40]
push 0x21
push esi
call fcn.1005c4f0
mov ecx, dword [esp + 0x38]
add esp, 0x28
push dword [edi]
mov eax, dword [ecx + 0x10]
mov edi, dword [esp + 0x1c]
push dword [edi + eax]
push str.ANALYZE___w_.__w_
push ecx
call fcn.1004d0a0
add esp, 0x10
mov edx, eax
test byte [esp + 0x34], 1
je 0x10052750
push dword [esp + 0x14]
call fcn.10048c80
push 0xfffffffffffffff9
push edx
push 0
mov edi, eax
push edi
push 0
push 0x6e
push esi
call fcn.1005c550
push 1
push edi
push 0x51
push esi
call fcn.1005c490
mov ecx, dword [esp + 0x40]
add esp, 0x30
mov edi, dword [esp + 0x18]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x10052650
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
inc ebp
add edi, 0x10
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], edi
cmp ebp, eax
jle 0x10052620
push 0x9e
push esi
call fcn.1005c3e0
add esp, 8
jmp 0x100507c3
push 0xfffffffffffffff9
push edx
push 0
push 0
push 0
push 0x8c
push esi
call fcn.1005c550
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
jmp 0x10052713
test edx, edx
je 0x10052793
lea eax, [esp + 0x64]
push eax
push edx
call fcn.1003e0f0
add esp, 8
test eax, eax
jne 0x10052793
push dword [esp + 0x68]
push dword [esp + 0x68]
call fcn.1000b5a0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.1000b5a0
push edx
push eax
push esi
call fcn.10032990
add esp, 0x14
jmp 0x100507c3
test edx, edx
je 0x100527eb
lea eax, [esp + 0x64]
push eax
push edx
call fcn.1003e0f0
add esp, 8
test eax, eax
jne 0x100527eb
cmp dword [esp + 0x68], eax
jl 0x100527eb
mov eax, dword [esp + 0x64]
jg 0x100527d2
test eax, eax
jb 0x100527eb
and eax, 0x7fffffff
cmp eax, 8
jbe 0x100527e1
mov eax, 8
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x98], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x98]
jmp 0x100507b7
test edx, edx
je 0x10052848
push edx
call fcn.10036a10
mov edi, eax
add esp, 4
test edi, edi
jle 0x10052838
mov eax, dword [esp + 0x10]
push eax
push 0x10070970
push eax
call sym.sqlite3.dll_sqlite3_busy_handler
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [eax + 0x1c8], edi
mov byte [eax + 0x1a0], 1
mov eax, edi
jmp 0x100507b7
push 0
push 0
push dword [esp + 0x18]
call sym.sqlite3.dll_sqlite3_busy_handler
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1c8]
jmp 0x100507b7
mov ebp, eax
jmp 0x100507c7