Function at 0x10030a00
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x304
push ebx
push esi
push edi
mov edi, dword [esp + 0x314]
xor esi, esi
mov ebx, dword [edi]
mov dword [esp + 0x10], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x88], esi
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x12]
mov eax, dword [edi + 0x4c]
cmp eax, 0xbdf20da3
mov dl, byte [ecx + 0x51]
mov byte [esp + 0x2c], dl
je 0x10030a49
pop edi
pop esi
mov eax, 0x15
pop ebx
add esp, 0x304
ret
mov eax, dword [edi + 0x28]
push ebp
mov dword [esp + 0x10], eax
lea eax, [edi + 0x11b]
push eax
mov dword [esp + 0xdc], eax
call fcn.10006180
mov eax, dword [edi + 0x7c]
add esp, 4
cmp eax, 7
je 0x10034b45
mov eax, dword [edi + 0xfc]
mov dword [edi + 0x7c], esi
cmp eax, esi
je 0x10030a94
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.10034fc0
add esp, 8
mov dword [edi + 0xfc], esi
mov byte [edi + 0x104], 0
mov eax, dword [ebx + 0xa0]
cmp eax, esi
mov dword [ebx + 0x106], esi
jne 0x10034c45
mov edx, dword [edi + 0x78]
mov dword [esp + 0x1c], edx
jmp 0x10030abc
mov ebx, dword [esp + 0x38]
mov al, byte [ebx + 0x1e]
test al, al
jne 0x10034b45
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x14]
mov ebp, eax
shl ebp, 4
add ebp, eax
mov eax, dword [ebx + 0xb0]
add ebp, ecx
test eax, eax
je 0x10030b47
mov eax, dword [ebx + 0xb8]
mov ecx, dword [esp + 0x8c]
cmp eax, ecx
jne 0x10030b32
push ebx
call fcn.100304e0
add esp, 4
test eax, eax
jne 0x10034ca0
mov ecx, dword [ebx + 0xb4]
push ecx
call dword [ebx + 0xb0]
push ebx
mov esi, eax
call fcn.100304a0
add esp, 8
test eax, eax
jne 0x10034ca0
test esi, esi
jne 0x10034a37
mov dword [esp + 0x8c], esi
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x10]
inc eax
mov dword [esp + 0x8c], eax
jmp 0x10030b4b
mov esi, dword [esp + 0x10]
mov al, byte [ebp]
mov edx, eax
and edx, 0xff
mov dword [esp + 0x3c], edx
lea ecx, [edx - 1]
cmp ecx, 0x8d
ja case.0x10030b69.13
jmp dword [ecx*4 + 0x10034d40]
mov eax, dword [ebx + 0xa0]
test eax, eax
jne 0x10034c45
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov edx, dword [esp + 0x1c]
mov eax, dword [edi + 0xf0]
inc edx
mov dword [edi + eax*4 + 0x8c], edx
mov ecx, dword [edi + 0xf0]
inc ecx
mov dword [edi + 0xf0], ecx
mov ecx, dword [ebp + 5]
dec ecx
mov dword [esp + 0x1c], ecx
jmp case.0x10030b69.13
mov ecx, dword [edi + 0xf0]
dec ecx
mov eax, ecx
mov dword [edi + 0xf0], ecx
mov edi, dword [edi + eax*4 + 0x8c]
dec edi
mov dword [esp + 0x1c], edi
jmp case.0x10030b69.13
add esi, 0x44
mov dword [esp + 0x10], esi
mov word [esi + 0x1c], 4
mov eax, dword [ebp + 1]
mov ecx, dword [esp + 0x10]
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edx
jmp case.0x10030b69.13
add esi, 0x44
mov dword [esp + 0x10], esi
mov word [esi + 0x1c], 4
mov ecx, dword [ebp + 9]
mov eax, dword [esp + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov dword [edx + 4], ecx
jmp case.0x10030b69.13
add esi, 0x44
mov dword [esp + 0x10], esi
mov word [esi + 0x1c], 8
mov eax, dword [ebp + 9]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
jmp case.0x10030b69.13
mov edi, dword [ebp + 9]
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp], 0x1a
repne scasb al, byte es:[edi]
mov al, byte [esp + 0x30]
not ecx
dec ecx
cmp al, 1
mov dword [ebp + 1], ecx
je 0x10030cfc
mov eax, dword [esp + 0x10]
push 0
add eax, 0x44
push 1
mov dword [esp + 0x18], eax
mov edx, dword [ebp + 9]
push 0xffffffffffffffff
push edx
push eax
call fcn.100394c0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
and eax, 0xff
push eax
push ecx
call fcn.10038cc0
add esp, 0x1c
test eax, eax
jne 0x10034b45
mov edx, dword [esp + 0x10]
push edx
call fcn.10038cf0
add esp, 4
test eax, eax
jne 0x10034b45
mov eax, dword [esp + 0x10]
or esi, 0xffffffff
and word [eax + 0x1c], 0xffbf
mov eax, dword [esp + 0x10]
or byte [eax + 0x1c], 0x80
mov eax, dword [ebp + 0xd]
cmp eax, esi
jne 0x10030ce0
mov eax, dword [ebp + 9]
push eax
call sym.sqlite30.dll_sqlite3_free
add esp, 4
mov dword [ebp + 0xd], esi
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [ebp + 9], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x18]
mov dword [ebp + 1], ecx
jmp case.0x10030b69.13
mov esi, dword [esp + 0x10]
add esi, 0x44
mov dword [esp + 0x10], esi
mov word [esi + 0x1c], 0xa2
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 9]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 1]
mov dword [edx + 0x18], ecx
mov eax, dword [esp + 0x10]
mov cl, byte [esp + 0x30]
mov byte [eax + 0x1f], cl
jmp case.0x10030b69.13
add esi, 0x44
mov dword [esp + 0x10], esi
mov word [esi + 0x1c], 1
mov edx, dword [esp + 0x10]
mov dword [edx + 0x18], 0
jmp case.0x10030b69.13
mov edx, dword [ebp + 9]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
mov byte [ebp], 0x7c
repne scasb al, byte es:[edi]
not ecx
dec ecx
shr ecx, 1
mov dword [ebp + 1], ecx
je 0x10030d9a
push edx
push ebx
call fcn.100303e0
mov esi, eax
add esp, 8
test esi, esi
je 0x10034b45
mov eax, dword [ebp + 0xd]
or edi, 0xffffffff
cmp eax, edi
jne 0x10030d92
mov eax, dword [ebp + 9]
push eax
call sym.sqlite30.dll_sqlite3_free
add esp, 4
mov dword [ebp + 9], esi
mov dword [ebp + 0xd], edi
jmp 0x10030db7
cmp dword [ebp + 0xd], 0xffffffff
jne 0x10030da9
push edx
call sym.sqlite30.dll_sqlite3_free
add esp, 4
mov dword [ebp + 0xd], 0xfffffffe
mov dword [ebp + 9], 0x1004e528
mov esi, dword [esp + 0x10]
add esi, 0x44
push 0
mov dword [esp + 0x14], esi
mov ecx, dword [ebp + 1]
mov edx, dword [ebp + 9]
push 0
push ecx
push edx
push esi
call fcn.100394c0
mov eax, dword [esp + 0x24]
mov cl, byte [esp + 0x44]
add esp, 0x14
mov byte [eax + 0x1f], cl
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
mov eax, dword [edi + 0x40]
dec ebp
mov esi, ebp
shl esi, 4
add esi, ebp
shl esi, 2
add eax, esi
push eax
call fcn.100393b0
add esp, 4
test eax, eax
jne 0x10034c74
mov edx, dword [edi + 0x40]
mov eax, dword [esp + 0x10]
add edx, esi
add eax, 0x44
push 0x80
push edx
push eax
mov dword [esp + 0x1c], eax
call fcn.100393e0
add esp, 0xc
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
jmp 0x10034a00
mov eax, dword [ebp + 1]
push 0x100
mov edx, eax
shl edx, 4
add edx, eax
mov eax, esi
shl edx, 2
sub eax, edx
add esi, 0x44
push eax
push esi
mov dword [esp + 0x1c], esi
call fcn.100393e0
mov eax, dword [ebp + 5]
add esp, 0xc
test eax, eax
je case.0x10030b69.13
mov eax, dword [esp + 0x10]
test byte [eax + 0x1d], 1
je case.0x10030b69.13
push eax
call fcn.10038e20
add esp, 4
test eax, eax
jne 0x10034b45
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
lea edi, [esp + 0x2d0]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [esp + 0x10]
shl ecx, 2
mov esi, eax
sub esi, ecx
mov ecx, 0x11
test byte [eax + 0x1d], 1
mov dword [esp + 0x24], esi
rep movsd dword es:[edi], dword [esi]
je 0x10030ecb
push eax
call fcn.10038e20
add esp, 4
test eax, eax
jne 0x10034b45
mov eax, dword [ebp + 1]
mov dword [esp + 0x18], 0
test eax, eax
jle 0x10030f2f
mov edx, dword [esp + 0x24]
lea ebx, [edx + 0x44]
test byte [ebx + 0x1d], 1
je 0x10030ef8
push ebx
call fcn.10038e20
add esp, 4
test eax, eax
jne 0x10034b45
mov edi, dword [esp + 0x24]
mov ecx, 0x11
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
test byte [ebx - 0x27], 2
je 0x10030f11
lea eax, [ebx - 0x20]
mov dword [ebx - 0x30], eax
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
mov ecx, dword [ebp + 1]
inc eax
add esi, 0x44
add ebx, 0x44
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], esi
jl 0x10030ee1
mov edi, dword [esp + 0x10]
mov ecx, 0x11
lea esi, [esp + 0x2d0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x1d], 2
je case.0x10030b69.13
mov eax, ecx
lea edx, [eax + 0x24]
mov dword [eax + 0x14], edx
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
push esi
mov eax, ebp
shl eax, 4
add eax, ebp
shl eax, 2
sub esi, eax
push esi
call fcn.10039460
mov eax, dword [esp + 0x18]
add esp, 8
sub eax, 0x44
mov dword [esp + 0x10], eax
jmp case.0x10030b69.13
mov ebx, dword [ebp + 1]
mov esi, dword [esp + 0x10]
add ebx, 2
xor eax, eax
mov edi, ebx
mov dword [esp + 0x80], eax
shl edi, 4
add edi, ebx
mov dword [esp + 0x84], eax
shl edi, 2
sub esi, edi
mov dword [esp + 0x18], eax
add esi, 0x44
cmp ebx, eax
jle 0x10031064
mov ax, word [esi + 0x1c]
test al, 1
jne 0x10031039
test ah, 8
je 0x10030fd0
push esi
call fcn.10038d70
add esp, 4
test byte [esi + 0x1c], 0x12
jne 0x10030ff2
mov ecx, dword [esp + 0x30]
and ecx, 0xff
push ecx
push esi
call fcn.10038f70
add esp, 8
test eax, eax
jne 0x10034b45
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x80]
cdq
add ecx, eax
mov eax, dword [esp + 0x84]
adc eax, edx
add esi, 0x44
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x80], ecx
cmp eax, ebx
mov dword [esp + 0x18], eax
jl 0x10030fba
mov eax, dword [esp + 0x84]
test eax, eax
jg 0x10031064
jl 0x10031039
mov eax, ecx
test eax, eax
jae 0x10031064
mov eax, dword [ebp + 5]
test eax, eax
jne 0x1003104e
lea edx, [esp + 0x10]
push ebx
push edx
call fcn.10034fc0
add esp, 8
mov eax, dword [esp + 0x10]
add eax, 0x44
mov dword [esp + 0x10], eax
mov word [eax + 0x1c], 1
jmp case.0x10030b69.13
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
add eax, 2
adc ecx, 0
test ecx, ecx
jg 0x10034c74
jl 0x1003108d
cmp eax, 0x3b9aca00
ja 0x10034c74
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x38]
add eax, 2
push eax
push ecx
call fcn.1001d220
add esp, 8
mov dword [esp + 0x48], eax
test eax, eax
je 0x10034b45
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], 0
sub eax, edi
add eax, 0x44
test ebx, ebx
jle 0x10031108
add eax, 0x14
mov dword [esp + 0x18], ebx
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov esi, dword [eax]
mov dword [esp + 0x20], ecx
add edi, edx
mov edx, ecx
add eax, 0x44
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x24]
mov ecx, edx
add esi, ecx
mov ecx, dword [esp + 0x18]
dec ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], ecx
jne 0x100310cd
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x48]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
mov eax, dword [ebp + 5]
test eax, eax
jne 0x1003112e
lea edx, [esp + 0x10]
push ebx
push edx
call fcn.10034fc0
add esp, 8
mov eax, dword [esp + 0x10]
add eax, 0x44
mov dword [esp + 0x10], eax
mov dword [eax + 0x18], esi
mov eax, dword [esp + 0x10]
mov word [eax + 0x1c], 0x62
mov ecx, dword [esp + 0x10]
mov al, byte [esp + 0x30]
mov dword [ecx + 0x20], 0
mov edx, dword [esp + 0x10]
mov byte [edx + 0x1f], al
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x14], edi
jmp case.0x10030b69.13
mov ax, word [esi - 0x28]
mov cx, word [esi + 0x1c]
lea edi, [esi - 0x44]
mov ebx, eax
and ebx, 0xffff
and ecx, 0xffff
or ebx, ecx
test bl, 1
je 0x100311c0
test byte [esi + 0x1c], 0x40
je 0x1003119b
push esi
call fcn.10039070
mov esi, dword [esp + 0x14]
add esp, 4
sub esi, 0x44
mov dword [esp + 0x10], esi
test byte [esi + 0x1c], 0x40
je 0x100311b5
push esi
call fcn.10039070
mov esi, dword [esp + 0x14]
add esp, 4
mov word [esi + 0x1c], 1
jmp case.0x10030b69.13
and al, byte [esi + 0x1c]
and al, 4
cmp al, 4
jne 0x1003129a
mov ebp, dword [edi]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edi, dword [edi + 4]
add edx, 0xffffffb2
cmp edx, 3
ja case.default.0x100311df
jmp dword [edx*4 + 0x10034f78]
add ebp, eax
adc edi, ecx
jmp 0x10031255
sub ebp, eax
sbb edi, ecx
jmp 0x10031255
push ecx
push eax
push edi
push ebp
call fcn.1003b5b0
jmp 0x10031251
mov edx, eax
or edx, ecx
je 0x100313a8
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x10031223
test ebp, ebp
jne 0x10031223
cmp edi, 0x80000000
jne 0x10031223
mov eax, 1
xor ecx, ecx
push ecx
push eax
push edi
push ebp
call fcn.1003b5f0
jmp 0x10031251
mov edx, eax
or edx, ecx
je 0x100313a8
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x10031248
mov eax, 1
xor ecx, ecx
push ecx
push eax
push edi
push ebp
call fcn.1003bb00
mov ebp, eax
mov edi, edx
test byte [esi + 0x1c], 0x40
je 0x10031268
push esi
call fcn.10039070
mov esi, dword [esp + 0x14]
add esp, 4
sub esi, 0x44
mov dword [esp + 0x10], esi
test byte [esi + 0x1c], 0x40
je 0x10031282
push esi
call fcn.10039070
mov esi, dword [esp + 0x14]
add esp, 4
mov dword [esi], ebp
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edi
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x1c], 4
jmp case.0x10030b69.13
push esi
call fcn.10039170
fstp qword [esp + 0x40]
push edi
call fcn.10039170
xor eax, eax
add esp, 8
mov al, byte [ebp]
add eax, 0xffffffb2
cmp eax, 3
ja case.default.0x100312be
jmp dword [eax*4 + 0x10034f88]
fadd qword [esp + 0x3c]
mov eax, dword [esp + 0x10]
fstp qword [esp + 0x3c]
test byte [eax + 0x1c], 0x40
je 0x100312e4
push eax
call fcn.10039070
mov eax, dword [esp + 0x14]
add esp, 4
sub eax, 0x44
mov dword [esp + 0x10], eax
test byte [eax + 0x1c], 0x40
je 0x100312fe
push eax
call fcn.10039070
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov edx, dword [esp + 0x10]
test bl, 8
mov word [edx + 0x1c], 8
jne case.0x10030b69.13
mov eax, dword [esp + 0x10]
push eax
call fcn.100391f0
add esp, 4
jmp case.0x10030b69.13
fsub qword [esp + 0x3c]
jmp 0x100312c9
fmul qword [esp + 0x3c]
jmp 0x100312c9
fld qword [esp + 0x3c]
fcomp qword [0x10042160]
fnstsw ax
test ah, 0x40
jne 0x100313a2
fdiv qword [esp + 0x3c]
jmp 0x100312c9
fld qword [esp + 0x3c]
call fcn.1003ab84
mov esi, eax
mov edi, edx
call fcn.1003ab84
mov ecx, esi
or ecx, edi
je 0x100313a4
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x1003137f
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.1003bb00
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], edx
fild qword [esp + 0x134]
jmp 0x100312c9
fstp st(0)
mov esi, dword [esp + 0x10]
test byte [esi + 0x1c], 0x40
je 0x100313bb
push esi
call fcn.10039070
mov esi, dword [esp + 0x14]
add esp, 4
sub esi, 0x44
mov dword [esp + 0x10], esi
test byte [esi + 0x1c], 0x40
je 0x100311b5
push esi
call fcn.10039070
mov esi, dword [esp + 0x14]
add esp, 4
mov word [esi + 0x1c], 1
jmp case.0x10030b69.13
mov eax, dword [ebp + 5]
mov ecx, dword [edi + 0x2c]
mov edx, eax
mov dword [esp + 0x48], eax
shl edx, 4
add edx, eax
mov dword [esp + 0x20], ecx
shl edx, 2
sub esi, edx
add esi, 0x44
test eax, eax
jle 0x10031435
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
push esi
mov dword [eax], esi
call fcn.100308b0
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
add esp, 4
add edx, 4
add esi, 0x44
dec eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], eax
jne 0x1003140d
mov eax, dword [ebp + 0xd]
cmp eax, 0xfffffffb
mov eax, dword [ebp + 9]
jne 0x10031452
xor ecx, ecx
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], ecx
jmp 0x10031464
mov dword [esp + 0x168], eax
mov eax, dword [eax]
mov dword [esp + 0x164], eax
xor ecx, ecx
mov esi, 1
mov dword [esp + 0x180], ecx
mov word [esp + 0x188], si
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x17c], ebx
mov byte [esp + 0x1b4], 0
mov cl, byte [eax + 3]
test cl, cl
je 0x1003149f
mov ecx, dword [ebp - 8]
mov dword [esp + 0x1b5], ecx
push ebx
call fcn.100304e0
add esp, 4
test eax, eax
jne 0x10034ca0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x168]
lea ecx, [esp + 0x168]
push eax
push ecx
call dword [edx + 0xd]
push ebx
call fcn.100304a0
add esp, 0x10
test eax, eax
jne 0x10034ca0
mov al, byte [ebx + 0x1e]
test al, al
jne 0x10034b35
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.10034fc0
mov eax, dword [esp + 0x170]
add esp, 8
test eax, eax
je 0x10031523
mov edx, dword [ebp + 1]
push edx
push eax
call fcn.10037ad0
mov eax, dword [esp + 0x170]
add esp, 8
mov dword [ebp + 9], eax
mov dword [ebp + 0xd], 0xfffffff9
mov al, byte [esp + 0x1b4]
test al, al
je 0x10031554
lea ecx, [esp + 0x16c]
push 0
push ecx
call sym.sqlite30.dll_sqlite3_value_text
add esp, 4
add edi, 0x100
push eax
push edi
call fcn.1001d380
add esp, 0xc
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x16c]
and edx, 0xff
push edx
push eax
call fcn.10038cc0
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x174]
add eax, 0x44
push ecx
mov dword [esp + 0x1c], eax
mov word [eax + 0x1c], 0
mov edx, dword [esp + 0x1c]
push edx
call fcn.10039460
mov eax, dword [esp + 0x20]
push eax
call fcn.100393b0
add esp, 0x14
jmp 0x100347d6
mov cl, byte [esi - 0x28]
mov bl, byte [esi + 0x1c]
lea eax, [esi - 0x44]
or cl, bl
test cl, 1
je 0x100315d6
lea edx, [esp + 0x10]
push 2
push edx
call fcn.10034fc0
mov eax, dword [esp + 0x18]
add esp, 8
add eax, 0x44
mov dword [esp + 0x10], eax
mov word [eax + 0x1c], 1
jmp case.0x10030b69.13
push eax
call fcn.100390f0
mov esi, eax
mov eax, dword [esp + 0x14]
push eax
mov edi, edx
call fcn.100390f0
xor ecx, ecx
add esp, 8
mov cl, byte [ebp]
add ecx, 0xffffffb6
cmp ecx, 3
ja case.default.0x100315fa
jmp dword [ecx*4 + 0x10034f98]
and esi, eax
and edi, edx
jmp case.default.0x100315fa
or esi, eax
or edi, edx
jmp case.default.0x100315fa
mov ecx, eax
mov eax, esi
mov edx, edi
call fcn.1003aaf0
jmp 0x10031625
mov ecx, eax
mov eax, esi
mov edx, edi
call fcn.1003bad0
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x10]
test byte [eax + 0x1c], 0x40
je 0x10031640
push eax
call fcn.10039070
mov eax, dword [esp + 0x14]
add esp, 4
sub eax, 0x44
mov dword [esp + 0x10], eax
test byte [eax + 0x1c], 0x40
je 0x1003165a
push eax
call fcn.10039070
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [eax], esi
jmp 0x10031763
push esi
call fcn.10039220
mov eax, dword [ebp + 1]
mov ecx, dword [esp + 0x14]
cdq
mov esi, dword [ecx]
add esp, 4
add esi, eax
mov dword [ecx], esi
mov eax, dword [esp + 0x10]
adc dword [eax + 4], edx
jmp case.0x10030b69.13
mov eax, dword [esp + 0x30]
push eax
push 0x63
push esi
call fcn.100309a0
mov ebx, dword [esp + 0x1c]
add esp, 0xc
mov ax, word [ebx + 0x1c]
test al, 0xc
jne 0x100316c5
test al, 0x40
je 0x100316b1
push ebx
call fcn.10039070
mov ebx, dword [esp + 0x14]
add esp, 4
sub ebx, 0x44
mov dword [esp + 0x10], ebx
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
test al, 4
je 0x100316e3
mov edx, dword [ebp + 1]
xor eax, eax
mov ecx, dword [ebx]
test edx, edx
setne al
cdq
mov esi, eax
mov eax, dword [ebx + 4]
mov edi, edx
add esi, ecx
adc edi, eax
jmp 0x1003174e
push ebx
call fcn.10039250
mov ebx, dword [esp + 0x14]
add esp, 4
fld qword [ebx + 8]
call fcn.1003ab84
cdq
mov esi, eax
mov edi, edx
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], edi
fild qword [esp + 0xb4]
fcomp qword [ebx + 8]
fnstsw ax
test ah, 1
je 0x10031730
add esi, 1
adc edi, 0
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], edi
mov eax, dword [ebp + 1]
test eax, eax
je 0x1003174e
fild qword [esp + 0xb4]
fcomp qword [ebx + 8]
fnstsw ax
test ah, 0x40
je 0x1003174e
add esi, 1
adc edi, 0
test byte [ebx + 0x1c], 0x40
je 0x10031761
push ebx
call fcn.10039070
mov ebx, dword [esp + 0x14]
add esp, 4
mov dword [ebx], esi
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], edi
mov edx, dword [esp + 0x10]
mov word [edx + 0x1c], 4
jmp case.0x10030b69.13
mov eax, dword [esp + 0x30]
push eax
push 0x63
push esi
call fcn.100309a0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov ax, word [ecx + 0x1c]
test al, 4
jne 0x100317c3
mov eax, dword [ebp + 5]
test eax, eax
je 0x10034b7c
mov eax, dword [ebp + 1]
test eax, eax
je 0x100317b6
lea ecx, [esp + 0x10]
push 1
push ecx
call fcn.10034fc0
add esp, 8
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
test al, 0x40
je 0x10033f68
push ecx
call fcn.10039070
mov ecx, dword [esp + 0x14]
add esp, 4
mov word [ecx + 0x1c], 4
jmp case.0x10030b69.13
test byte [esi + 0x1c], 4
je case.0x10030b69.13
push esi
call fcn.10039250
add esp, 4
jmp case.0x10030b69.13
mov ax, word [esi + 0x1c]
test al, 1
jne case.0x10030b69.13
mov dl, al
shr dl, 3
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
mov word [esi + 0x1c], dx
mov ecx, dword [esp + 0x10]
push eax
push 0x61
push ecx
call fcn.100309a0
mov eax, dword [esp + 0x1c]
add esp, 0xc
test byte [eax + 0x1d], 8
je 0x1003184f
push eax
call fcn.10038d70
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
add esp, 4
and word [eax + 0x1c], 0xffe3
jmp case.0x10030b69.13
and word [eax + 0x1c], 0xffe3
mov dword [esp + 0x14], 0
jmp case.0x10030b69.13
mov ax, word [esi + 0x1c]
test al, 1
jne case.0x10030b69.13
test al, 0x10
jne 0x1003188e
mov edx, dword [esp + 0x30]
push edx
push 0x61
push esi
call fcn.100309a0
mov eax, dword [esp + 0x1c]
add esp, 0xc
or byte [eax + 0x1c], 0x10
mov esi, dword [esp + 0x10]
and word [esi + 0x1c], 0xfff1
jmp case.0x10030b69.13
test byte [esi + 0x1c], 0xd
jne case.0x10030b69.13
push esi
call fcn.10039280
add esp, 4
jmp case.0x10030b69.13
test byte [esi + 0x1c], 1
jne case.0x10030b69.13
push esi
call fcn.10039220
add esp, 4
jmp case.0x10030b69.13
test byte [esi + 0x1c], 1
jne case.0x10030b69.13
push esi
call fcn.10039250
add esp, 4
jmp case.0x10030b69.13
mov ax, word [esi + 0x1c]
mov cl, byte [esi - 0x28]
lea edi, [esi - 0x44]
or cl, al
test cl, 1
je 0x10031924
mov ecx, dword [ebp + 1]
test ch, 2
je 0x100319b0
not al
and eax, 1
cdq
push edx
push eax
push esi
call fcn.10039350
mov al, byte [edi + 0x1c]
not al
and eax, 1
cdq
push edx
push eax
push edi
call fcn.10039350
mov esi, dword [esp + 0x28]
add esp, 0x18
mov al, byte [ebp + 1]
test al, al
mov byte [esp + 0x100], al
je 0x10031958
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x100]
push ebx
push esi
push edi
call fcn.100309a0
mov eax, dword [esp + 0x1c]
push ebx
push esi
push eax
call fcn.100309a0
mov esi, dword [esp + 0x28]
add esp, 0x18
mov ebx, 0x800
test word [edi + 0x1c], bx
je 0x10031970
push edi
call fcn.10038d70
mov esi, dword [esp + 0x14]
add esp, 4
test word [esi + 0x1c], bx
je 0x10031983
push esi
call fcn.10038d70
mov esi, dword [esp + 0x14]
add esp, 4
mov ecx, dword [ebp + 9]
push ecx
push esi
push edi
call fcn.100395c0
xor ecx, ecx
add esp, 0xc
mov cl, byte [ebp]
add ecx, 0xffffffbd
cmp ecx, 4
ja case.default.0x1003199e
jmp dword [ecx*4 + 0x10034fa8]
xor edx, edx
test eax, eax
sete dl
mov esi, edx
jmp 0x10031a11
lea edx, [esp + 0x10]
push 2
push edx
call fcn.10034fc0
mov eax, dword [ebp + 5]
add esp, 8
test eax, eax
je 0x1003104e
mov ecx, dword [ebp + 1]
test ch, 1
je case.0x10030b69.13
dec eax
mov dword [esp + 0x1c], eax
jmp case.0x10030b69.13
xor ecx, ecx
test eax, eax
setne cl
jmp 0x10031a0f
xor edx, edx
test eax, eax
setl dl
mov esi, edx
jmp 0x10031a11
xor ecx, ecx
test eax, eax
setle cl
jmp 0x10031a0f
xor edx, edx
test eax, eax
setg dl
mov esi, edx
jmp 0x10031a11
xor ecx, ecx
test eax, eax
setge cl
mov esi, ecx
lea edx, [esp + 0x10]
push 2
push edx
call fcn.10034fc0
mov ebp, dword [ebp + 5]
add esp, 8
test ebp, ebp
je 0x10031a39
test esi, esi
je case.0x10030b69.13
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov eax, dword [esp + 0x10]
add eax, 0x44
mov dword [esp + 0x10], eax
mov word [eax + 0x1c], 4
mov ecx, dword [esp + 0x10]
mov eax, esi
cdq
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edx
jmp case.0x10030b69.13
mov al, byte [esi + 0x1c]
lea edi, [esi - 0x44]
test al, 1
je 0x10031a70
mov esi, 2
jmp 0x10031a8f
push esi
call fcn.10039220
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [eax]
mov edx, dword [eax + 4]
or ecx, edx
jne 0x10031a8d
mov esi, 1
jmp 0x10031a8f
xor esi, esi
test byte [edi + 0x1c], 1
je 0x10031a9c
mov eax, 2
jmp 0x10031ab7
push edi
call fcn.10039220
mov edx, dword [edi]
mov eax, dword [edi + 4]
add esp, 4
or edx, eax
jne 0x10031ab5
mov eax, 1
jmp 0x10031ab7
xor eax, eax
cmp byte [ebp], 0x3d
jne 0x10031acd
lea eax, [eax + esi*2]
xor ecx, ecx
mov cl, byte [esi + eax + 0x10045438]
mov esi, ecx
jmp 0x10031adb
lea edx, [eax + esi*2]
xor eax, eax
mov al, byte [esi + edx + 0x10045444]
mov esi, eax
lea ecx, [esp + 0x10]
push 2
push ecx
call fcn.10034fc0
mov ecx, dword [esp + 0x18]
add esp, 8
add ecx, 0x44
cmp esi, 2
mov dword [esp + 0x10], ecx
jne 0x10031b05
mov word [ecx + 0x1c], 1
jmp case.0x10030b69.13
xor eax, eax
test esi, esi
sete al
cdq
mov dword [ecx], eax
jmp 0x10033f5d
test byte [esi + 0x1c], 0xd
jne 0x10031b27
push esi
call fcn.10039280
mov esi, dword [esp + 0x14]
add esp, 4
mov ax, word [esi + 0x1c]
test al, 8
je 0x10031b6d
test al, 0x40
je 0x10031b40
push esi
call fcn.10039070
mov esi, dword [esp + 0x14]
add esp, 4
cmp byte [ebp], 0x55
je 0x10031b56
fld qword [esi + 8]
fcomp qword [0x10042160]
fnstsw ax
test ah, 1
je 0x10031b62
fld qword [esi + 8]
fchs
fstp qword [esi + 8]
mov esi, dword [esp + 0x10]
mov word [esi + 0x1c], 8
jmp case.0x10030b69.13
test al, 4
je case.0x10030b69.13
test al, 0x40
je 0x10031b86
push esi
call fcn.10039070
mov esi, dword [esp + 0x14]
add esp, 4
cmp byte [ebp], 0x55
je 0x10031b9a
mov eax, dword [esi + 4]
test eax, eax
jg 0x10031bb3
jl 0x10031b9a
cmp dword [esi], 0
jae 0x10031bb3
mov edx, dword [esi]
mov eax, dword [esi + 4]
neg edx
adc eax, 0
mov dword [esi], edx
mov ecx, dword [esp + 0x10]
neg eax
mov dword [ecx + 4], eax
mov esi, dword [esp + 0x10]
mov word [esi + 0x1c], 4
jmp case.0x10030b69.13
test byte [esi + 0x1c], 1
jne case.0x10030b69.13
push esi
call fcn.10039220
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
or edx, eax
jne 0x10031beb
mov eax, 1
cdq
mov dword [ecx], eax
jmp 0x10033f5d
xor eax, eax
cdq
mov dword [ecx], eax
jmp 0x10033f5d
test byte [esi + 0x1c], 1
jne case.0x10030b69.13
push esi
call fcn.10039220
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [eax]
mov ecx, dword [eax + 4]
not edx
not ecx
mov dword [eax], edx
jmp 0x10032ec1
test byte [esi + 0x1c], 1
je 0x10031c27
mov edi, dword [ebp + 1]
jmp 0x10031c59
push esi
call fcn.10039170
fcomp qword [0x10042160]
add esp, 4
fnstsw ax
test ah, 0x40
jne 0x10031c44
mov edi, 1
jmp 0x10031c46
xor edi, edi
cmp byte [ebp], 0x5a
jne 0x10031c55
xor ecx, ecx
test edi, edi
sete cl
mov edi, ecx
mov esi, dword [esp + 0x10]
test byte [esi + 0x1c], 0x40
je 0x10031c6c
push esi
call fcn.10039070
mov esi, dword [esp + 0x14]
add esp, 4
sub esi, 0x44
test edi, edi
mov dword [esp + 0x10], esi
je case.0x10030b69.13
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
test byte [esi + 0x1c], 1
je 0x10031cad
mov eax, dword [ebp + 5]
dec eax
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 1]
test eax, eax
jge 0x10031cad
neg eax
lea edx, [esp + 0x10]
push eax
push edx
call fcn.10034fc0
add esp, 8
mov ebp, dword [ebp + 1]
test ebp, ebp
jle case.0x10030b69.13
lea eax, [esp + 0x10]
push ebp
push eax
jmp 0x10034a06
mov edx, dword [ebp + 1]
test edx, edx
mov dword [esp + 0x20], edx
jge 0x10031cd0
neg edx
xor ebx, ebx
test edx, edx
jle 0x10031cfb
mov ecx, edx
xor edi, edi
shl ecx, 4
add ecx, edx
shl ecx, 2
mov eax, edi
sub eax, ecx
test byte [eax + esi + 0x60], 1
jne 0x10031cf7
inc ebx
add edi, 0x44
cmp ebx, edx
jl 0x10031ce2
jmp 0x10031cfb
cmp ebx, edx
jl 0x10031d03
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x20]
test eax, eax
jle case.0x10030b69.13
push edx
jmp 0x10034a01
mov edx, dword [ebp + 1]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp + 5]
mov dword [ecx + 0x47], edx
jmp case.0x10030b69.13
mov ecx, dword [ebp + 5]
mov eax, dword [ebp + 1]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x10]
xor edx, edx
add ecx, 0x44
mov word [esp + 0x230], dx
mov dword [esp + 0x10], ecx
mov word [ecx + 0x1c], 1
mov ecx, dword [edi + 0x38]
mov esi, dword [ecx + eax*4]
cmp dword [esi], edx
je 0x10031e24
push esi
call fcn.10037c10
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov dl, byte [esi + 0x1c]
mov eax, dword [esi]
xor ecx, ecx
mov dword [esp + 0x24], eax
test dl, dl
mov dword [esp + 0x44], ecx
je 0x10031d91
mov edi, dword [esp + 0x318]
mov dword [esp + 0x58], ecx
jmp 0x10031de3
mov edi, dword [esp + 0x318]
mov edx, dword [esi + 0x5b]
cmp edx, dword [edi + 0x5c]
jne 0x10031db0
mov eax, dword [esi + 0x5f]
mov dword [esp + 0x58], eax
mov ecx, dword [esi + 0x6b]
mov dword [esp + 0x44], ecx
jmp 0x10031de3
mov cl, byte [esi + 0x21]
test cl, cl
je 0x10031dd5
lea edx, [esp + 0x15c]
push edx
push eax
call fcn.100084e0
mov eax, dword [esp + 0x164]
add esp, 8
mov dword [esp + 0x58], eax
jmp 0x10031de3
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.10008560
add esp, 8
mov edx, dword [esi + 0x47]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x34], edx
xor edx, edx
mov eax, dword [esp + 0x58]
cmp eax, edx
je case.0x10030b69.13
cmp eax, 0x3b9aca00
ja 0x10034c74
test esi, esi
je 0x10031e52
mov ecx, dword [esi + 0x5b]
mov eax, dword [edi + 0x5c]
cmp ecx, eax
jne 0x10031e52
mov edx, dword [esi + 0x63]
mov ebx, dword [esi + 0x67]
mov dword [esp + 0x4c], edx
jmp 0x1003202a
mov al, byte [esi + 0x1e]
test al, al
je 0x10031e49
mov eax, dword [esi + 0x2f]
mov dword [esp + 0x24], edx
mov dword [esp + 0x58], eax
mov ecx, dword [esi + 0x33]
mov eax, dword [esi + 0x47]
mov dword [esp + 0x44], ecx
mov dword [esi + 0x5b], edx
mov dword [esp + 0x34], eax
jmp 0x10031df0
mov dword [esp + 0x58], edx
jmp case.0x10030b69.13
mov eax, dword [esi + 0x63]
test eax, eax
mov dword [esp + 0x4c], eax
jne 0x10031e81
mov eax, dword [esp + 0x34]
lea ecx, [eax*8]
push ecx
push ebx
call fcn.1001d220
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
mov dword [esi + 0x63], eax
je 0x10034b45
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
lea eax, [eax + edx*4]
mov dword [esi + 0x67], eax
mov ecx, dword [esp + 0x58]
mov dword [esi + 0x5f], ecx
mov edx, dword [edi + 0x5c]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x50], eax
test edi, edi
mov dword [esi + 0x5b], edx
jne 0x10031ef9
mov al, byte [esi + 0x21]
test al, al
je 0x10031ec3
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x90]
push eax
push ecx
call fcn.10008a90
jmp 0x10031ed5
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x90]
push edx
push eax
call fcn.10008b10
mov ecx, dword [esp + 0x98]
mov edi, eax
mov eax, dword [esp + 0x60]
add esp, 8
cmp ecx, eax
jb 0x10031ef2
mov dword [esp + 0x44], edi
mov dword [esi + 0x6b], edi
jmp 0x10031ef9
mov dword [esi + 0x6b], 0
xor eax, eax
mov al, byte [edi]
cmp eax, 0x7f
mov dword [esp + 0x60], eax
ja 0x10031f0d
mov ebx, 1
jmp 0x10031f1d
lea edx, [esp + 0x60]
push edx
push edi
call fcn.100302e0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10031f65
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x90]
cmp ecx, eax
jae 0x10031f65
xor edx, edx
lea ecx, [esp + 0x214]
mov dl, byte [esi + 0x21]
push ecx
push edx
push eax
mov eax, dword [esp + 0x30]
push 0
push eax
call fcn.10039780
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x10030b69.13
mov edi, dword [esp + 0x228]
mov ecx, dword [esp + 0x60]
add ebx, edi
add ecx, edi
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x34]
test ecx, ecx
jbe 0x10031fe6
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
sub eax, edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
cmp ebx, dword [esp + 0x48]
jae 0x10031fd1
mov edx, dword [esp + 0x60]
mov dword [eax + edi], edx
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x7f
mov dword [edi], eax
ja 0x10031faa
mov eax, 1
jmp 0x10031fb4
push edi
push ebx
call fcn.100302e0
add esp, 8
add ebx, eax
mov eax, dword [edi]
push eax
call fcn.10037d60
mov ecx, dword [esp + 0x64]
add esp, 4
add ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], ecx
jmp 0x10031fd8
mov dword [eax + edi], 0
mov ecx, dword [esp + 0x18]
add edi, 4
dec ecx
mov dword [esp + 0x18], ecx
jne 0x10031f8b
test byte [esp + 0x230], 0x40
je 0x10032000
lea ecx, [esp + 0x214]
push ecx
call fcn.10039070
add esp, 4
mov eax, dword [esp + 0x48]
mov word [esp + 0x230], 1
cmp ebx, eax
ja 0x10032106
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
cmp edx, eax
ja 0x10032106
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov eax, dword [ebx + eax*4]
test eax, eax
je 0x100320ac
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x10032045
mov edi, dword [esp + 0x54]
add eax, ecx
jmp 0x10032089
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + edi*4]
push edx
call fcn.10037d60
xor edx, edx
lea ecx, [esp + 0x218]
mov dl, byte [esi + 0x21]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
mov eax, dword [ebx + edi*4]
push eax
push ecx
call fcn.10039780
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x10030b69.13
mov eax, dword [esp + 0x228]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [ecx + edi*4]
push edx
push eax
call fcn.10037e50
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + 0x3c]
add esp, 0xc
mov byte [eax + 0x1f], cl
jmp 0x100320d4
cmp dword [ebp + 0xd], 0xfffffff8
jne 0x100320ca
mov edx, dword [ebp + 9]
mov eax, dword [esp + 0x10]
push 0x80
push edx
push eax
call fcn.100393e0
add esp, 0xc
jmp 0x100320d4
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x1c], 1
test byte [esp + 0x230], 0x40
je 0x100320f0
mov eax, dword [esp + 0x10]
and word [eax + 0x1c], 0xfeff
mov eax, dword [esp + 0x10]
or byte [eax + 0x1c], 0x60
mov edx, dword [esp + 0x10]
push edx
call fcn.10038e20
add esp, 4
mov dword [esp + 0x14], eax
jmp case.0x10030b69.13
mov dword [esp + 0x14], 0xb
jmp case.0x10030b69.13
mov ecx, dword [ebp + 1]
xor edx, edx
xor ebx, ebx
cmp ecx, edx
setl bl
mov esi, ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x78], edx
neg esi
sbb esi, esi
mov dword [esp + 0x7c], edx
and esi, 0xfffffffe
mov dword [esp + 0x34], edx
inc esi
mov dword [esp + 0x4c], edx
imul esi, ecx
mov ecx, dword [ebp + 5]
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp al, 0x38
mov eax, dword [ebp + 9]
mov ebp, esi
mov edx, dword [esp + 0x318]
sete cl
shl ebp, 4
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
add ebp, esi
mov edi, eax
shl ebp, 2
mov dword [esp + 0x24], ecx
sub edi, ebp
xor ecx, ecx
add edi, 0x44
mov cl, byte [edx + 0x109]
cmp edi, eax
mov dword [esp + 0x48], ecx
mov ebx, edi
ja 0x10032271
mov eax, dword [esp + 0x50]
test eax, eax
je 0x100321c6
mov eax, dword [esp + 0x30]
mov ecx, ebx
push eax
sub ecx, edi
mov eax, 0x78787879
imul ecx
mov eax, dword [esp + 0x54]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov cl, byte [edx + eax]
push ecx
push ebx
call fcn.100309a0
add esp, 0xc
mov ax, word [ebx + 0x1c]
test al, 1
je 0x100321d6
mov dword [esp + 0x20], 1
test ah, 8
je 0x100321eb
mov eax, dword [ebx + 0x18]
test eax, eax
jle 0x100321eb
push ebx
call fcn.10038d70
add esp, 4
mov edx, dword [esp + 0x48]
push edx
push ebx
call fcn.10037c80
push eax
mov dword [esp + 0x60], eax
call fcn.10037d60
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x50], eax
cdq
add ecx, eax
mov eax, dword [esp + 0x88]
adc eax, edx
push 0
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x64]
push eax
mov dword [esp + 0x8c], ecx
call fcn.10030350
mov ecx, dword [esp + 0x48]
add esp, 0x14
add ecx, eax
test byte [ebx + 0x1d], 8
mov dword [esp + 0x34], ecx
je 0x10032252
mov ecx, dword [ebx]
mov eax, dword [esp + 0x4c]
add eax, ecx
mov dword [esp + 0x4c], eax
jmp 0x10032262
mov eax, dword [esp + 0x44]
test eax, eax
je 0x10032262
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x10]
add ebx, 0x44
cmp ebx, eax
jbe 0x10032193
mov eax, dword [esp + 0x24]
test eax, eax
je 0x100322d7
mov eax, dword [esp + 0x10]
sub eax, ebp
mov ebx, eax
push ebx
mov dword [esp + 0x1c], ebx
call fcn.10039220
push 0
push ebx
call fcn.10037c80
mov ebx, eax
push ebx
call fcn.10037d60
mov ebp, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
cdq
add ebp, eax
push 0
adc ecx, edx
push ebx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ecx
call fcn.10030350
mov ebx, dword [esp + 0x4c]
add esp, 0x18
add ebx, eax
mov dword [esp + 0x4c], 0
jmp 0x100322db
mov ebx, dword [esp + 0x34]
mov eax, ebx
cdq
push edx
push eax
call fcn.10030350
mov ebp, eax
add ebx, ebp
mov eax, ebx
cdq
push edx
push eax
call fcn.10030350
add esp, 0x10
cmp ebp, eax
jge 0x100322fb
inc ebx
mov eax, dword [esp + 0x4c]
cdq
mov ecx, eax
mov eax, ebx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xc4], ecx
cdq
mov ebx, eax
mov eax, edx
mov ebp, ebx
mov dword [esp + 0x158], edx
sub ebp, ecx
mov ecx, dword [esp + 0xc8]
sbb eax, ecx
mov ecx, dword [esp + 0x78]
add ebp, ecx
mov ecx, dword [esp + 0x7c]
adc eax, ecx
mov dword [esp + 0x150], eax
jne 0x10034c74
cmp ebp, 0x3b9aca00
ja 0x10034c74
test eax, eax
ja 0x10032359
cmp ebp, 0x20
jbe 0x1003237c
mov edx, dword [esp + 0x38]
push ebp
push edx
call fcn.1001d220
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
je 0x10034b45
mov edx, dword [esp + 0x158]
jmp 0x10032387
lea eax, [esp + 0x2b0]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x44]
push edx
push ebx
push ecx
call fcn.100300c0
mov ebx, eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp edi, eax
mov dword [esp + 0x54], edi
ja 0x100323db
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
push edx
push eax
call fcn.10037c80
mov ecx, dword [esp + 0x4c]
push 0
push eax
lea edx, [ebx + ecx]
push edx
call fcn.100300c0
mov ecx, dword [esp + 0x24]
add ebx, eax
mov eax, dword [esp + 0x68]
add esp, 0x14
add eax, 0x44
cmp eax, ecx
mov dword [esp + 0x54], eax
jbe 0x100323a4
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10032404
mov eax, dword [esp + 0x18]
push 0
push eax
call fcn.10037c80
mov ecx, dword [esp + 0x4c]
push 0
push eax
lea edx, [ebx + ecx]
push edx
call fcn.100300c0
add esp, 0x14
add ebx, eax
cmp edi, dword [esp + 0x10]
ja 0x10032432
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ecx, ebp
push eax
sub ecx, ebx
push edi
lea eax, [ebx + edx]
push ecx
push eax
call fcn.10037d80
add ebx, eax
mov eax, dword [esp + 0x20]
add edi, 0x44
add esp, 0x10
cmp edi, eax
jbe 0x1003240a
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10032455
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov edx, ebp
push 0
sub edx, ebx
push ecx
add ebx, eax
push edx
push ebx
call fcn.10037d80
add esp, 0x10
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x10032471
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x10]
add ecx, esi
push ecx
push edx
call fcn.10034fc0
add esp, 8
mov eax, dword [esp + 0x10]
add eax, 0x44
mov dword [esp + 0x10], eax
mov dword [eax + 0x18], ebp
mov eax, dword [esp + 0x150]
test eax, eax
ja 0x100324c5
jb 0x10032491
cmp ebp, 0x20
ja 0x100324c5
mov eax, dword [esp + 0x10]
lea esi, [esp + 0x2b0]
lea ecx, [eax + 0x24]
mov dword [eax + 0x14], ecx
mov edx, dword [esp + 0x10]
mov ecx, ebp
mov eax, ecx
lea edi, [edx + 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x1c], 0x210
jmp 0x100324e5
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
mov dword [edx + 0x14], eax
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x1c], 0x50
mov edx, dword [esp + 0x10]
mov dword [edx + 0x20], 0
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10032510
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc8]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x10]
or byte [eax + 0x1d], 8
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
test eax, eax
mov byte [ecx + 0x1f], 1
je case.0x10030b69.13
mov ecx, dword [esp + 0x20]
test ecx, ecx
je case.0x10030b69.13
dec eax
mov dword [esp + 0x1c], eax
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
test ebp, ebp
jl case.0x10030b69.13
cmp ebp, dword [ebx + 4]
jge case.0x10030b69.13
mov ecx, dword [ebx + 8]
lea edx, [ebp + ebp*4]
lea eax, [ebp + edx*2]
mov esi, dword [ecx + eax*2 + 4]
test esi, esi
je case.0x10030b69.13
mov al, byte [ebx + 0x1c]
test al, al
jne case.0x10030b69.13
push esi
call fcn.1000d3a0
add esp, 4
test eax, eax
jne case.0x10030b69.13
push esi
call fcn.100080e0
mov edx, dword [esp + 0x31c]
add esp, 4
mov dword [esp + 0x14], eax
mov dword [edx + 0x153], 1
jmp case.0x10030b69.13
mov edx, dword [ebx + 0x5c]
mov al, byte [ebp + 1]
mov cl, byte [ebp + 5]
mov esi, 1
cmp edx, esi
mov byte [esp + 0x67], al
jle 0x100325f8
test al, al
je 0x100325f8
mov dl, byte [ebx + 0x1c]
test dl, dl
jne 0x100325f8
test cl, cl
mov eax, 0x1004b5e0
jne 0x100325d3
mov eax, 0x1004b5d8
push 0
push 0x1004b5ac
push eax
add edi, 0x100
push 0x1004b5a4
push edi
call fcn.1001d380
add esp, 0x14
mov dword [esp + 0x14], esi
jmp case.0x10030b69.13
cmp al, byte [ebx + 0x1c]
jne 0x10034b89
test al, al
jne 0x1003260c
mov eax, 0x1004b574
jmp 0x1003261a
test cl, cl
mov eax, 0x1004b548
jne 0x1003261a
mov eax, 0x1004b51c
push 0
add edi, 0x100
push eax
push edi
call fcn.1001d380
add esp, 0xc
mov dword [esp + 0x14], esi
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 8]
mov eax, dword [eax + edx*2 + 4]
test eax, eax
je case.0x10030b69.13
mov ecx, dword [ebp + 5]
push ecx
push eax
call fcn.10006f40
add esp, 8
cmp eax, 5
mov dword [esp + 0x14], eax
je 0x10034be6
test eax, eax
je case.0x10030b69.13
cmp eax, 8
jne 0x10034ca8
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov ebp, dword [ebp + 5]
test eax, eax
jge 0x10032690
or edx, 0xffffffff
sub edx, eax
mov eax, edx
neg ebp
lea ecx, [esp + 0xe8]
lea edx, [eax + eax*4]
push ecx
mov ecx, dword [ebx + 8]
lea eax, [eax + edx*2]
inc ebp
push ebp
mov edx, dword [ecx + eax*2 + 4]
push edx
call fcn.1000c410
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xf4]
add esp, 0xc
add ecx, 0x44
cdq
mov dword [esp + 0x10], ecx
mov dword [ecx], eax
jmp 0x10033f5d
mov eax, dword [ebp + 1]
mov ecx, dword [ebx + 8]
push esi
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea edi, [ecx + eax*2]
call fcn.10039220
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 5]
inc ecx
mov eax, dword [edx]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.1000c5b0
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 5]
add esp, 0x10
test eax, eax
jne 0x1003271b
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x12]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebx + 0xc]
or al, 0x10
mov dword [ebx + 0xc], eax
jmp 0x1003272c
cmp eax, 1
jne 0x1003272c
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x12]
mov dl, byte [ecx]
mov byte [eax + 0x50], dl
mov ecx, dword [esp + 0x10]
sub ecx, 0x44
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 1]
cmp eax, 1
jne case.0x10030b69.13
push ebx
call fcn.10038550
add esp, 4
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 8]
xor ecx, ecx
mov eax, dword [eax + edx*2 + 4]
cmp eax, ecx
je 0x10032806
lea ecx, [esp + 0x98]
push ecx
push 1
push eax
call fcn.1000c410
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x10030b69.13
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x318]
mov edx, dword [esp + 0x98]
mov eax, dword [ebp + 5]
cmp edx, eax
je case.0x10030b69.13
mov eax, dword [edi + 0x100]
push eax
call sym.sqlite30.dll_sqlite3_free
push 0x10049c0c
push ebx
call fcn.1001d330
mov dword [edi + 0x100], eax
mov ebp, dword [ebp + 1]
mov eax, dword [ebx + 8]
add esp, 0xc
lea ecx, [ebp + ebp*4]
lea edx, [ebp + ecx*2]
mov ecx, dword [eax + edx*2 + 0x12]
mov eax, dword [esp + 0x98]
mov edx, dword [ecx]
cmp edx, eax
je 0x100327f0
push ebp
push ebx
call fcn.1000dae0
add esp, 8
push ebx
call fcn.10038550
add esp, 4
mov dword [esp + 0x14], 0x11
jmp case.0x10030b69.13
mov dword [esp + 0x14], ecx
mov dword [esp + 0x98], ecx
jmp 0x10032795
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 1]
mov ecx, dword [ebp + 5]
push edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x1c], ecx
call fcn.10039220
mov ecx, dword [esp + 0x14]
add esp, 4
mov esi, dword [ecx]
sub ecx, 0x44
mov dword [esp + 0x10], ecx
lea eax, [esi + esi*4]
lea edx, [esi + eax*2]
mov eax, dword [ebx + 8]
mov ebx, dword [eax + edx*2 + 4]
lea eax, [eax + edx*2]
cmp byte [ebp], 9
jne 0x10032871
mov edx, dword [eax + 0x12]
mov dword [esp + 0x20], 1
mov al, byte [edx + 0x50]
mov dl, byte [edi + 0x109]
cmp al, dl
jae 0x10032879
mov byte [edi + 0x109], al
jmp 0x10032879
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x1003289b
push ecx
call fcn.10039220
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [eax]
sub eax, 0x44
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x3c]
push esi
push edx
push edi
call fcn.10035000
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10034b45
test ebx, ebx
mov byte [esi + 0x1c], 1
je case.0x10030b69.13
mov eax, dword [ebp + 9]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push esi
push eax
push fcn.10038080
push ecx
push edx
push ebx
call fcn.10008210
mov ecx, dword [ebp + 0xd]
mov ebx, 0xfffffffa
add esp, 0x18
cmp ecx, ebx
mov dword [esp + 0x14], eax
jne 0x1003290c
mov ecx, dword [ebp + 9]
mov dword [esi + 0x43], ecx
add ecx, 5
mov dword [esi + 0x3f], ecx
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x12]
mov edx, dword [esi + 0x43]
mov cl, byte [ecx + 0x51]
mov byte [edx + 4], cl
jmp 0x10032919
lea edx, [esi + 0x22]
mov dword [esi + 0x43], 0
mov dword [esi + 0x3f], edx
test eax, eax
je 0x10032950
cmp eax, 5
je 0x10034c01
cmp eax, 0x10
jne 0x10034ca8
mov edx, dword [ebp + 0xd]
mov dword [esp + 0x14], 0
cmp edx, 0xfffffffa
setne al
test al, al
mov byte [esi + 0x20], al
sete al
mov byte [esi + 0x21], al
jmp case.0x10030b69.13
mov ecx, dword [esi]
push ecx
call fcn.1000c640
add esp, 4
test al, 0xf0
jne 0x10034c31
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x10032976
cmp ecx, 2
jne 0x10034c31
mov dl, al
and dl, 1
shr eax, 1
mov cl, dl
and al, 1
test cl, cl
mov byte [esi + 0x20], dl
mov byte [esi + 0x21], al
je 0x10032994
cmp dword [ebp + 0xd], ebx
je 0x10034c31
test al, al
je case.0x10030b69.13
cmp dword [ebp + 0xd], 0xfffffffa
jne 0x10034c31
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
push 0xffffffffffffffff
push eax
push edi
call fcn.10035000
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10034b45
lea eax, [esi + 0x2b]
mov byte [esi + 0x1c], 1
push eax
mov eax, dword [0x10045450]
push eax
push 0x1f4
push 1
push 0
push ebx
call fcn.1001c6a0
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10032a99
mov ecx, dword [esi + 0x2b]
push 1
push ecx
call fcn.10006f40
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10032a99
mov eax, dword [ebp + 9]
test eax, eax
je 0x10032a76
mov eax, dword [esi + 0x2b]
lea edx, [esp + 0xcc]
push 2
push edx
push eax
call fcn.1000bd30
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10032a70
mov ecx, dword [ebp + 9]
mov edx, dword [esp + 0xcc]
mov eax, dword [esi + 0x2b]
push esi
push ecx
push fcn.10038080
push 1
push edx
push eax
call fcn.10008210
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 9]
mov dword [esi + 0x43], eax
mov ecx, dword [edi]
add esp, 0x18
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x12]
mov dl, byte [ecx + 0x51]
mov byte [eax + 4], dl
mov eax, dword [esi + 0x43]
add eax, 5
mov dword [esi + 0x3f], eax
mov byte [esi + 0x20], 0
jmp 0x10032a99
mov ecx, dword [esi + 0x2b]
push esi
push 0
push 0
push 1
push 1
push ecx
call fcn.10008210
lea edx, [esi + 0x22]
add esp, 0x18
mov dword [esp + 0x14], eax
mov byte [esi + 0x20], 1
mov dword [esi + 0x3f], edx
mov eax, dword [ebp + 5]
mov dword [esi + 0x47], eax
mov al, byte [esi + 0x20]
test al, al
sete cl
mov byte [esi + 0x21], cl
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
push 0xffffffffffffffff
push ebp
push edi
call fcn.10035000
add esp, 0xc
test eax, eax
je 0x10034b45
lea edx, [eax + 0x22]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov dword [eax + 0x3f], edx
mov byte [eax + 0x20], 1
mov byte [eax + 0x21], 0
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
test ebp, ebp
jl case.0x10030b69.13
cmp ebp, dword [edi + 0x34]
jge case.0x10030b69.13
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + ebp*4]
push ecx
push edi
call fcn.10036fa0
mov edx, dword [edi + 0x38]
add esp, 8
mov dword [edx + ebp*4], 0
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov ecx, dword [edi + 0x38]
mov esi, dword [ecx + eax*4]
cmp dword [esi], 0
je 0x10032f43
mov edi, dword [esp + 0x3c]
mov byte [esi + 0x1c], 0
cmp edi, 7
je 0x10032b3c
cmp edi, 0x59
je 0x10032b3c
xor eax, eax
jmp 0x10032b41
mov eax, 1
mov edx, dword [esi + 0x3f]
mov byte [edx], al
mov al, byte [esi + 0x20]
test al, al
je 0x10032bc9
mov eax, dword [esp + 0x10]
push eax
call fcn.10039220
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 5]
add esp, 4
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
test edx, edx
jne 0x10032b8a
cmp byte [ebp], 0x81
jne 0x10032b8a
mov dword [esi + 0x23], eax
mov dword [esi + 0x27], ecx
mov byte [esi + 0x1f], 1
mov eax, dword [esp + 0x10]
sub eax, 0x44
mov dword [esp + 0x10], eax
jmp case.0x10030b69.13
lea edx, [esp + 0x5c]
push edx
push 0
push ecx
push eax
mov eax, dword [esi]
push 0
push eax
call fcn.10008e10
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov dword [esi + 8], edx
mov eax, dword [ecx + 4]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x5c]
test eax, eax
sete cl
mov byte [esi + 0x19], cl
jmp 0x10032c0b
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x1d], 8
je 0x10032be0
push ecx
call fcn.10038d70
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [ecx + 0x18]
lea edx, [esp + 0x5c]
push edx
push 0
cdq
push edx
push eax
mov eax, dword [ecx + 0x14]
mov ecx, dword [esi]
push eax
push ecx
call fcn.10008e10
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov byte [esi + 0x19], al
mov edx, dword [esi + 0x3f]
xor ebx, ebx
mov byte [esi + 0x1f], 0
mov dword [esi + 0x5b], ebx
cmp edi, 0x81
mov byte [edx], bl
je 0x10032c7a
cmp edi, 7
je 0x10032c7a
cmp dword [esp + 0x5c], ebx
jl 0x10032c69
mov ecx, dword [esi]
lea eax, [esp + 0x5c]
push eax
push ecx
call fcn.10009250
add esp, 8
cmp eax, ebx
mov dword [esp + 0x14], eax
jne 0x10034ca8
mov byte [esi + 0x19], 0
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x10032f43
mov ebp, dword [ebp + 5]
test ebp, ebp
jle 0x10032c98
dec ebp
mov dword [esp + 0x1c], ebp
jmp 0x10032f43
mov edx, dword [esi]
push edx
call fcn.100090f0
add esp, 4
mov dword [esp + 0x5c], eax
jmp 0x10032c4c
cmp dword [esp + 0x5c], ebx
jge 0x10032c8f
mov ecx, dword [esi]
lea eax, [esp + 0x5c]
push eax
push ecx
call fcn.10009110
jmp 0x10032c39
mov dword [esp + 0x5c], ebx
jmp 0x10032f43
mov byte [esi + 0x1c], 1
jmp 0x10032f43
mov edx, dword [ebp + 1]
mov ecx, dword [edi + 0x38]
xor eax, eax
mov edi, dword [ecx + edx*4]
cmp dword [edi], 0
je 0x10032d1d
test byte [esi + 0x1c], 0x12
jne 0x10032cd7
mov edx, dword [esp + 0x30]
and edx, 0xff
push edx
push esi
call fcn.10038f70
add esp, 8
test eax, eax
jne 0x10034b45
mov esi, dword [esp + 0x10]
lea eax, [esp + 0xe0]
mov ecx, dword [esi + 0x14]
push eax
mov eax, dword [esi + 0x18]
cdq
push 0
push edx
mov edx, dword [edi]
push eax
push ecx
push edx
call fcn.10008e10
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne case.0x10030b69.13
mov ecx, dword [esp + 0xe0]
mov byte [edi + 0x1f], 0
test ecx, ecx
mov dword [edi + 0x5b], 0
mov esi, dword [esp + 0x10]
sete al
mov cl, byte [ebp]
cmp cl, 0x87
jne 0x10032d2b
test eax, eax
je 0x10032d37
jmp 0x10032d2f
test eax, eax
jne 0x10032d37
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
cmp cl, 0x71
je case.0x10030b69.13
jmp 0x10033acc
mov eax, dword [ebp + 1]
push esi
mov dword [esp + 0x40], eax
lea ebx, [esi - 0x44]
call fcn.10039220
mov eax, dword [esp + 0x14]
add esp, 4
mov ecx, dword [eax]
mov edx, dword [eax + 4]
sub eax, 0x44
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x38]
mov dword [esp + 0xf0], edx
mov edi, dword [eax + ecx*4]
mov eax, dword [edi]
test eax, eax
mov dword [esp + 0x18], eax
je case.0x10030b69.13
test byte [ebx + 0x1c], 0x12
jne 0x10032db0
mov edx, dword [esp + 0x30]
and edx, 0xff
push edx
push ebx
call fcn.10038f70
add esp, 8
test eax, eax
jne 0x10034b45
mov eax, dword [ebx + 0x14]
mov esi, dword [ebx + 0x18]
push eax
mov dword [esp + 0x24], eax
call fcn.10038350
sub esi, eax
lea eax, [esp + 0x70]
mov ecx, dword [esp + 0x24]
push eax
mov eax, esi
push 0
cdq
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
push edx
mov dword [edi + 0x5b], 0
call fcn.10008e10
add esp, 0x1c
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov eax, dword [esp + 0x6c]
test eax, eax
jge 0x10032e26
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.10009110
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
add esp, 8
test eax, eax
je 0x10032e26
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x6c]
push edx
push eax
push esi
push edi
call fcn.10038470
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov eax, dword [esp + 0x6c]
test eax, eax
jle 0x10032e5b
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0xf8]
push ecx
push edx
call fcn.10038390
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0xec]
cmp ecx, eax
jne 0x10032ead
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0xf0]
cmp eax, edx
jne 0x10032ead
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov eax, dword [esp + 0x10]
add eax, 0x44
mov dword [esp + 0x10], eax
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x10]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x10]
mov word [eax + 0x1c], 4
jmp case.0x10030b69.13
mov ecx, dword [ebp + 1]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [esi]
test eax, eax
je 0x10032f43
mov edx, dword [esp + 0x10]
lea edi, [esp + 0xf4]
push edi
push 0
mov ecx, dword [edx]
mov edx, dword [edx + 4]
push edx
push ecx
push 0
push eax
call fcn.10008e10
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
add esp, 0x18
mov ecx, dword [eax]
mov dword [esi + 8], ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0xf4]
test eax, eax
sete cl
test eax, eax
mov dword [esi + 0xc], edx
mov byte [esi + 0x19], cl
mov byte [esi + 0x1c], 0
mov dword [esi + 0x5b], 0
je 0x10032f43
mov ebp, dword [ebp + 5]
mov byte [esi + 0x19], 0
dec ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x10]
test byte [eax + 0x1c], 0x40
je 0x10032f56
push eax
call fcn.10039070
add esp, 4
sub dword [esp + 0x10], 0x44
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
mov edx, dword [edi + 0x38]
add esi, 0x44
mov dword [esp + 0x10], esi
mov eax, dword [edx + ebp*4]
mov ecx, dword [eax + 0x4b]
mov dword [esi], ecx
mov edx, dword [eax + 0x4f]
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edx
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + ebp*4]
mov edx, dword [eax + 0x4b]
add edx, 1
mov dword [eax + 0x4b], edx
mov ecx, dword [eax + 0x4f]
adc ecx, 0
mov dword [eax + 0x4f], ecx
mov edx, dword [esp + 0x10]
mov word [edx + 0x1c], 4
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov edx, dword [edi + 0x38]
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov eax, dword [edx + eax*4]
mov dword [esp + 0x20], eax
mov eax, dword [eax]
cmp eax, ecx
je 0x10033229
push eax
mov dword [esp + 0x1c], ecx
call fcn.1000c640
and eax, 3
add esp, 4
cmp al, 1
jne 0x10034c31
mov esi, dword [esp + 0x20]
mov al, byte [esi + 0x1b]
test al, al
jne 0x10033133
mov al, byte [esi + 0x1d]
test al, al
je 0x10033008
mov eax, dword [esi + 0x10]
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x2c], ecx
jmp 0x1003308e
mov eax, dword [esi]
lea edx, [esp + 0xa0]
push edx
push eax
call fcn.10008d70
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x10033044
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], 0
jmp 0x10033083
mov edx, dword [esi]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.100084e0
mov eax, dword [esp + 0x30]
add esp, 8
cmp eax, 0xffffffff
jne 0x1003306d
cmp dword [esp + 0x2c], 0x7fffffff
jne 0x1003306d
mov byte [esi + 0x1b], 1
jmp 0x10033083
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add ecx, 1
adc eax, 0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x318]
mov ebx, dword [esp + 0x38]
mov ebp, dword [ebp + 5]
test ebp, ebp
je 0x100330f7
mov ecx, dword [edi + 0x54]
mov eax, ebp
shl eax, 4
add eax, ebp
lea edi, [ecx + eax*4]
push edi
call fcn.10039220
mov eax, dword [edi]
mov ecx, dword [edi + 4]
add esp, 4
cmp eax, 0xffffffff
jne 0x100330c1
cmp ecx, 0x7fffffff
je 0x10034c3b
mov dl, byte [esi + 0x1b]
test dl, dl
jne 0x10034c3b
mov edx, dword [esp + 0x2c]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x100330ea
jl 0x100330e2
cmp dword [esp + 0x28], eax
jae 0x100330ea
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x28]
mov dword [edi], eax
mov ecx, dword [esp + 0x2c]
mov dword [edi + 4], ecx
cmp dword [esp + 0x2c], 0x7fffffff
ja 0x10033124
jb 0x1003310a
cmp dword [esp + 0x28], 0xffffffff
jae 0x10033124
mov byte [esi + 0x1d], 1
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add edx, 1
adc eax, 0
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
jmp 0x10033128
mov byte [esi + 0x1d], 0
mov al, byte [esi + 0x1b]
test al, al
je 0x10033212
mov ecx, dword [ebx + 0x2f]
mov edx, dword [ebx + 0x33]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
xor edi, edi
or ecx, dword [esp + 0x2c]
je 0x10033180
cmp edi, 2
jg 0x10033180
lea eax, [esp + 0xd0]
push eax
push 1
call fcn.10027d80
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x30]
and eax, 0xff
add esp, 8
inc eax
cdq
add ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
adc eax, edx
jmp 0x100331a9
lea ecx, [esp + 0x28]
push ecx
push 8
call fcn.10027d80
mov ecx, dword [esp + 0x30]
add esp, 8
cmp edi, 5
jge 0x100331ad
mov eax, dword [esp + 0x2c]
and ecx, 0xffffff
mov dword [esp + 0x28], ecx
and eax, 0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov edx, ecx
or edx, eax
je 0x100331d9
lea edx, [esp + 0xa0]
push edx
push 0
push eax
mov eax, dword [esi]
push ecx
push 0
push eax
call fcn.10008e10
mov ecx, dword [esp + 0x40]
add esp, 0x18
mov dword [esp + 0x18], eax
inc edi
mov eax, dword [esp + 0xa0]
cmp edi, 0x3e8
jge 0x100331f8
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x100331f8
test eax, eax
je 0x10033143
mov dword [ebx + 0x2f], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x33], ecx
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x10033212
test eax, eax
je 0x10034c3b
mov eax, dword [esp + 0x20]
mov byte [eax + 0x19], 0
mov byte [eax + 0x1f], 0
mov dword [eax + 0x5b], 0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
add esi, 0x44
mov dword [esp + 0x10], esi
mov dword [esi], edx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x10]
mov word [edx + 0x1c], 4
jmp case.0x10030b69.13
mov edx, dword [esp + 0x318]
mov esi, dword [ebp + 1]
mov ecx, dword [esp + 0x10]
mov edi, dword [edx + 0x38]
lea eax, [ecx - 0x44]
mov ebx, dword [edi + esi*4]
cmp dword [ebx], 0
jne 0x10033276
cmp byte [ebx + 0x1e], 0
je 0x10033414
mov esi, dword [eax]
mov edi, dword [eax + 4]
test byte [ebp + 5], 1
mov dword [esp + 0x104], esi
mov dword [esp + 0x108], edi
je 0x10033295
inc dword [edx + 0x10b]
test byte [ebp + 5], 2
je 0x100332ae
mov ecx, dword [esp + 0x38]
mov edx, dword [eax]
mov dword [ecx + 0x27], edx
mov edx, dword [eax + 4]
mov dword [ecx + 0x2b], edx
mov ecx, dword [esp + 0x10]
mov dl, byte [ebx + 0x1d]
test dl, dl
je 0x100332d0
mov edx, dword [eax + 4]
cmp edx, dword [ebx + 0x14]
jl 0x100332d0
jg 0x100332c8
mov eax, dword [eax]
mov edx, dword [ebx + 0x10]
cmp eax, edx
jb 0x100332d0
mov byte [ebx + 0x1d], 0
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x1c], 1
je 0x100332e6
xor eax, eax
mov dword [ecx + 0x14], eax
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x18], eax
mov ecx, dword [esp + 0x10]
mov al, byte [ebx + 0x1e]
test al, al
je 0x1003338a
mov edx, dword [ebx + 0x33]
push edx
call sym.sqlite30.dll_sqlite3_free
mov dword [ebx + 0x37], esi
mov dword [ebx + 0x3b], edi
mov eax, dword [esp + 0x14]
add esp, 4
mov eax, dword [eax + 0x18]
mov dword [ebx + 0x2f], eax
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x1c], 0x40
je 0x10033330
mov ecx, dword [ecx + 0x14]
mov dword [ebx + 0x33], ecx
mov edx, dword [esp + 0x10]
mov word [edx + 0x1c], 1
mov byte [ebx + 0x1c], 0
jmp 0x100333b9
add eax, 2
push eax
call sym.sqlite30.dll_sqlite3_malloc
add esp, 4
mov dword [ebx + 0x33], eax
test eax, eax
je 0x10034b45
mov ecx, dword [ebx + 0x2f]
mov edx, dword [esp + 0x10]
mov edi, eax
mov eax, ecx
mov esi, dword [edx + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x2f]
mov edx, dword [ebx + 0x33]
mov edi, dword [esp + 0x108]
mov esi, dword [esp + 0x104]
mov byte [ecx + edx], 0
mov eax, dword [ebx + 0x2f]
mov ecx, dword [ebx + 0x33]
mov byte [eax + ecx + 1], 0
mov byte [ebx + 0x1c], 0
jmp 0x100333b9
test byte [ecx + 0x1d], 8
je 0x10033394
mov eax, dword [ecx]
jmp 0x10033396
xor eax, eax
mov edx, dword [ebp + 5]
and edx, 8
push edx
mov edx, dword [ebx]
push eax
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
push eax
push ecx
push edi
push esi
push 0
push edx
call fcn.10009920
add esp, 0x20
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov byte [ebx + 0x19], 0
test eax, eax
mov byte [ebx + 0x1f], 0
mov dword [ebx + 0x5b], 0
jne 0x10033414
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x84]
test ecx, ecx
je 0x10033414
mov eax, dword [ebp + 9]
test eax, eax
je 0x10033414
mov ebx, dword [ebx + 4]
push edi
push esi
mov esi, dword [edx + 8]
push eax
lea eax, [ebx + ebx*4]
mov edx, dword [edx + 0x80]
lea eax, [ebx + eax*2]
mov eax, dword [esi + eax*2]
push eax
mov eax, dword [ebp + 5]
and al, 4
neg al
sbb eax, eax
and eax, 5
add eax, 0x12
push eax
push edx
call ecx
add esp, 0x18
lea eax, [esp + 0x10]
push 2
push eax
jmp 0x10034a06
mov ecx, dword [ebp + 1]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [esi]
test eax, eax
je 0x100334fc
mov ecx, dword [ebx + 0x84]
test ecx, ecx
je 0x1003347e
mov ecx, dword [ebp + 9]
test ecx, ecx
je 0x1003347e
mov cl, byte [esi + 0x19]
test cl, cl
je 0x10033461
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
jmp 0x1003347e
lea edx, [esp + 0xbc]
push edx
push eax
call fcn.100084e0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
push esi
call fcn.10037c10
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov eax, dword [esi]
push eax
call fcn.1000baa0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esi + 0x1d], 0
mov dword [esi + 0x5b], 0
jne 0x100334f5
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x84]
test edx, edx
je 0x100334f5
mov eax, dword [ebp + 9]
test eax, eax
je 0x100334f5
mov edi, dword [esp + 0xc0]
push edi
mov edi, dword [esp + 0xc0]
push edi
push eax
mov eax, dword [esi + 4]
lea esi, [eax + eax*4]
lea eax, [eax + esi*2]
mov esi, dword [ecx + 8]
mov ecx, dword [ecx + 0x80]
mov eax, dword [esi + eax*2]
push eax
push 9
push ecx
call edx
add esp, 0x18
mov edi, dword [esp + 0x318]
test byte [ebp + 5], 1
je case.0x10030b69.13
inc dword [edi + 0x10b]
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
test eax, eax
je 0x10033528
mov edx, dword [edi + 0x10b]
push edx
push ebx
call fcn.10038520
add esp, 8
mov dword [edi + 0x10b], 0
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
mov eax, dword [edi + 0x38]
add esi, 0x44
mov dword [esp + 0x10], esi
mov edi, dword [eax + ebp*4]
mov al, byte [edi + 0x1c]
test al, al
jne 0x100336af
mov ebx, dword [edi]
test ebx, ebx
je 0x10033681
push edi
call fcn.10037c10
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov al, byte [edi + 0x1c]
test al, al
je 0x10033587
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x1c], 1
jmp case.0x10030b69.13
mov al, byte [edi + 0x21]
test al, al
je 0x100335c8
lea edx, [esp + 0x10c]
push edx
push ebx
call fcn.100084e0
mov eax, dword [esp + 0x118]
add esp, 8
test eax, eax
mov eax, dword [esp + 0x10c]
jg 0x10034c74
jl 0x100335c2
cmp eax, 0x3b9aca00
ja 0x10034c74
mov dword [esp + 0x70], eax
jmp 0x100335da
lea eax, [esp + 0x70]
push eax
push ebx
call fcn.10008560
mov eax, dword [esp + 0x78]
add esp, 8
cmp eax, 0x3b9aca00
ja 0x10034c74
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x70]
cmp eax, 0x20
ja 0x1003360b
mov edx, dword [esp + 0x10]
mov word [edx + 0x1c], 0x210
mov eax, dword [esp + 0x10]
lea ecx, [eax + 0x24]
mov dword [eax + 0x14], ecx
jmp 0x10033638
push eax
call sym.sqlite30.dll_sqlite3_malloc
add esp, 4
test eax, eax
je 0x10034b45
mov edx, dword [esp + 0x10]
mov word [edx + 0x1c], 0x50
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x20], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 0x14], eax
mov al, byte [edi + 0x21]
mov edx, dword [esp + 0x70]
test al, al
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
push ecx
push edx
push 0
push ebx
je 0x10033668
call fcn.100085b0
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x14], eax
mov byte [ecx + 0x1f], 1
jmp case.0x10030b69.13
call fcn.10008a50
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x14], eax
mov byte [ecx + 0x1f], 1
jmp case.0x10030b69.13
mov al, byte [edi + 0x1e]
test al, al
je 0x100336af
mov eax, dword [edi + 0x2f]
mov dword [esi + 0x18], eax
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x33]
mov dword [edx + 0x14], ecx
mov eax, dword [esp + 0x10]
mov word [eax + 0x1c], 0x110
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x1f], 1
jmp case.0x10030b69.13
mov word [esi + 0x1c], 1
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x1f], 1
jmp case.0x10030b69.13
mov edx, dword [ebp + 1]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
push esi
call fcn.10037c10
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov ecx, dword [esp + 0x10]
add ecx, 0x44
mov dword [esp + 0x10], ecx
mov al, byte [esi + 0x19]
test al, al
je 0x1003371a
mov ecx, dword [esi + 8]
mov dword [esp + 0xa4], ecx
mov edx, dword [esi + 0xc]
mov eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa8], edx
mov dword [ecx], eax
mov edx, dword [esp + 0xa8]
jmp 0x10033f5d
mov al, byte [esi + 0x1e]
test al, al
je 0x10033747
mov eax, dword [esi + 0x37]
mov dword [esp + 0xa4], eax
mov ecx, dword [esi + 0x3b]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
mov edx, dword [esp + 0xa8]
jmp 0x10033f5d
mov al, byte [esi + 0x1c]
test al, al
jne 0x100339f4
mov esi, dword [esi]
test esi, esi
je 0x100339f4
lea edx, [esp + 0xa4]
push edx
push esi
call fcn.100084e0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xac]
add esp, 8
mov dword [ecx], eax
mov edx, dword [esp + 0xa8]
jmp 0x10033f5d
mov eax, dword [ebp + 1]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x10030b69.13
mov edx, dword [ebp + 1]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
test eax, eax
je 0x100337f2
lea ecx, [esp + 0xd4]
push ecx
push eax
call fcn.10008d70
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xdc]
add esp, 8
mov byte [esi + 0x1c], al
test eax, eax
mov byte [esi + 0x1f], 0
mov dword [esi + 0x5b], 0
je case.0x10030b69.13
mov ebp, dword [ebp + 5]
test ebp, ebp
jle case.0x10030b69.13
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov byte [esi + 0x1c], 0
jmp case.0x10030b69.13
mov edx, dword [ebp + 1]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
test eax, eax
je 0x1003383b
lea ecx, [esp + 0x88]
push ecx
push eax
call fcn.10008bb0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x90]
add esp, 8
mov byte [esi + 0x1f], 0
test eax, eax
sete dl
mov byte [esi + 0x1a], dl
mov dword [esi + 0x5b], 0
jmp 0x10033846
mov dword [esp + 0x88], 1
mov al, byte [esp + 0x88]
mov byte [esi + 0x1c], al
mov eax, dword [esp + 0x88]
test eax, eax
je case.0x10030b69.13
mov ebp, dword [ebp + 5]
test ebp, ebp
jle case.0x10030b69.13
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov ecx, dword [ebx + 0xa0]
test ecx, ecx
jne 0x10034c45
mov ecx, dword [ebp + 1]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
test esi, esi
je case.0x10030b69.13
mov ecx, dword [esi]
test ecx, ecx
je 0x10033902
mov dl, byte [esi + 0x1c]
test dl, dl
je 0x100338b4
mov dword [esp + 0x9c], 1
mov byte [esi + 0x19], 0
jmp case.0x10030b69.13
cmp al, 0x6f
jne 0x100338c8
lea eax, [esp + 0x9c]
push eax
push ecx
call fcn.10009110
jmp 0x100338d6
lea edx, [esp + 0x9c]
push edx
push ecx
call fcn.10009250
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa4]
add esp, 8
mov byte [esi + 0x1c], al
test eax, eax
mov dword [esi + 0x5b], 0
jne 0x10033906
mov ebp, dword [ebp + 5]
mov byte [esi + 0x19], al
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov byte [esi + 0x1c], 1
mov byte [esi + 0x19], 0
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov ecx, dword [edi + 0x38]
mov edi, dword [ecx + eax*4]
mov ebx, dword [edi]
test ebx, ebx
je 0x10033acc
test byte [esi + 0x1d], 8
je 0x10033941
push esi
call fcn.10038d70
mov esi, dword [esp + 0x14]
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x10033acc
mov edx, dword [ebp + 5]
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0x14]
push edx
push 0
push 0
cdq
push 0x1004e528
push edx
push eax
push esi
push ebx
call fcn.10009920
add esp, 0x20
mov dword [esp + 0x14], eax
mov dword [edi + 0x5b], 0
jmp 0x10033ac8
mov eax, dword [ebp + 1]
mov ecx, dword [edi + 0x38]
mov ebx, dword [ecx + eax*4]
mov edi, dword [ebx]
test edi, edi
je 0x10033acc
mov eax, dword [esi + 0x18]
lea edx, [esp + 0xdc]
push edx
push 0
cdq
push edx
push eax
mov eax, dword [esi + 0x14]
push eax
push edi
call fcn.10008e10
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jne 0x100339c1
mov eax, dword [esp + 0xdc]
test eax, eax
jne 0x100339c1
push edi
call fcn.1000baa0
add esp, 4
mov dword [esp + 0x14], eax
mov dword [ebx + 0x5b], 0
jmp 0x10033ac8
mov ebp, dword [ebp + 1]
add esi, 0x44
mov dword [esp + 0x10], esi
mov word [esi + 0x1c], 1
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + ebp*4]
mov ecx, dword [eax]
test ecx, ecx
je case.0x10030b69.13
mov dl, byte [eax + 0x1c]
test dl, dl
je 0x10033a03
mov edx, dword [esp + 0x10]
mov word [edx + 0x1c], 1
jmp case.0x10030b69.13
lea eax, [esp + 0x124]
push eax
push ecx
call fcn.10038390
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x10034ca8
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x1c], 4
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x124]
mov dword [eax], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x128]
mov dword [edx + 4], ecx
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov ecx, dword [edi + 0x38]
mov edi, dword [ecx + eax*4]
cmp dword [edi], 0
je 0x10033acc
test byte [esi + 0x1d], 8
je 0x10033a67
push esi
call fcn.10038d70
add esp, 4
mov esi, dword [ebp + 9]
mov eax, dword [edi + 0x3f]
test esi, esi
setne dl
mov byte [eax], dl
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x74]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
push ecx
push edx
push eax
push edi
call fcn.10038470
mov ecx, dword [edi + 0x3f]
add esp, 0x10
test eax, eax
mov dword [esp + 0x14], eax
mov byte [ecx], 0
jne case.0x10030b69.13
mov al, byte [ebp]
cmp al, 0x27
jne 0x10033aaf
mov eax, dword [esp + 0x74]
neg eax
jmp 0x10033ab8
cmp al, 0x49
mov eax, dword [esp + 0x74]
jne 0x10033abc
inc eax
mov dword [esp + 0x74], eax
test eax, eax
jle 0x10033ac8
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x10]
test byte [esi + 0x1c], 0x40
je 0x10033adf
push esi
call fcn.10039070
mov esi, dword [esp + 0x14]
add esp, 4
sub esi, 0x44
mov dword [esp + 0x10], esi
jmp case.0x10030b69.13
mov eax, dword [ebx + 0x58]
xor ecx, ecx
test eax, eax
je 0x10033b28
mov edx, 0xbdf20da3
cmp dword [eax + 0x4c], edx
jne 0x10033b0f
cmp byte [eax + 0x10a], 2
jae 0x10033b0f
mov esi, dword [eax + 0x78]
test esi, esi
jl 0x10033b0f
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x10033af9
cmp ecx, 1
jle 0x10033b28
mov dword [esp + 0x14], 6
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
lea edx, [esp + 0xac]
push edx
push eax
mov eax, dword [ebp + 5]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 8]
mov ecx, dword [eax + edx*2 + 4]
push ecx
call fcn.1000c1b0
mov ecx, eax
mov eax, dword [esp + 0x1c]
add eax, 0x44
add esp, 0xc
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov word [eax + 0x1c], 4
mov eax, dword [esp + 0xac]
mov esi, dword [esp + 0x10]
cdq
mov dword [esi], eax
mov eax, dword [esp + 0x10]
test ecx, ecx
mov dword [eax + 4], edx
jne case.0x10030b69.13
mov eax, dword [esp + 0xac]
test eax, eax
je case.0x10030b69.13
mov ecx, dword [ebp + 1]
mov ebp, dword [ebp + 5]
push ecx
mov ecx, dword [esp + 0x3c]
lea edx, [ebp + ebp*4]
push eax
lea eax, [ebp + edx*2]
mov edx, dword [ecx + 8]
lea eax, [edx + eax*2]
push eax
call fcn.1000f420
add esp, 0xc
jmp case.0x10030b69.13
mov ecx, dword [ebp + 1]
mov ebp, dword [ebp + 5]
push ecx
mov ecx, dword [ebx + 8]
lea edx, [ebp + ebp*4]
lea eax, [ebp + edx*2]
mov edx, dword [ecx + eax*2 + 4]
push edx
call fcn.1000bfe0
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
sub al, 0x34
neg al
lea ecx, [ebp + ebp*4]
sbb eax, eax
lea edx, [ebp + ecx*2]
mov ecx, dword [ebx + 8]
and al, 0xfd
lea ecx, [ecx + edx*2]
add eax, 5
push eax
lea edx, [esp + 0xe8]
mov eax, dword [ecx + 4]
push edx
push eax
call fcn.1000bd30
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add ecx, 0x44
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x10], ecx
jne 0x10031afa
mov eax, dword [esp + 0xe4]
cdq
mov dword [ecx], eax
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x10]
mov word [edx + 0x1c], 4
jmp case.0x10030b69.13
mov ecx, dword [ebp + 5]
mov eax, dword [ebp + 1]
test ecx, ecx
jne 0x10033c6e
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*2]
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + edx*2 + 0x12]
mov cl, byte [edx + 0x52]
and cl, 1
cmp cl, 1
jne case.0x10030b69.13
cmp eax, 1
mov ecx, 0x10048378
je 0x10033c7d
mov ecx, 0x10048368
mov edx, dword [ebp + 9]
mov dword [esp + 0x140], eax
push edx
push ecx
lea ecx, [eax + eax*4]
add edi, 0x100
mov dword [esp + 0x144], ebx
mov dword [esp + 0x14c], edi
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 8]
mov ecx, dword [eax + edx*2]
push ecx
push 0x1004b4e8
push ebx
call fcn.10027cb0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x10034b45
push ebx
call fcn.100304e0
lea edx, [esp + 0x140]
push 0
push edx
push fcn.10026030
push esi
push ebx
mov byte [ebx + 0x4f], 1
call sym.sqlite30.dll_sqlite3_exec
mov edi, eax
add esp, 0x18
cmp edi, 4
mov dword [esp + 0x14], edi
jne 0x10033cfb
mov edi, dword [esp + 0x148]
mov dword [esp + 0x14], edi
push esi
call sym.sqlite30.dll_sqlite3_free
push ebx
mov byte [ebx + 0x4f], 0
call fcn.100304a0
add esp, 8
cmp edi, 7
je 0x10034b45
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
push ebp
push ebx
call fcn.100051d0
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x10030b69.13
mov eax, dword [ebp + 9]
mov ecx, dword [ebp + 1]
push eax
push ecx
push ebx
call fcn.1000dd90
add esp, 0xc
jmp case.0x10030b69.13
mov edx, dword [ebp + 9]
mov eax, dword [ebp + 1]
push edx
push eax
push ebx
call fcn.1000da30
add esp, 0xc
jmp case.0x10030b69.13
mov ecx, dword [ebp + 9]
mov edx, dword [ebp + 1]
push ecx
push edx
push ebx
call fcn.1002dd30
add esp, 0xc
jmp case.0x10030b69.13
mov ecx, dword [edi + 0x24]
mov eax, dword [esp + 0x10]
xor esi, esi
cmp eax, ecx
jb 0x10033da6
mov edx, eax
xor ecx, ecx
jmp 0x10033d8f
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
test byte [edx + 0x1c], 4
je 0x10033da6
mov edx, dword [edi + 0x24]
add ecx, 0x44
sub eax, ecx
inc esi
cmp eax, edx
mov dword [esp + 0x3c], eax
jae 0x10033d87
lea eax, [esi*4 + 4]
push eax
call sym.sqlite30.dll_sqlite3_malloc
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je 0x10034b45
mov eax, dword [ebp + 1]
mov edx, dword [edi + 0x54]
mov ecx, eax
shl ecx, 4
add ecx, eax
xor eax, eax
test esi, esi
lea edi, [edx + ecx*4]
jle 0x10033e04
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], esi
mov edx, dword [esp + 0x10]
add ecx, 4
sub edx, eax
add eax, 0x44
mov edx, dword [edx]
mov dword [ecx - 4], edx
mov edx, dword [esp + 0x20]
dec edx
mov dword [esp + 0x20], edx
jne 0x10033de4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x10]
push esi
push edx
mov dword [ecx + eax*4], 0
call fcn.10034fc0
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xb8]
add edx, 0x44
push eax
mov dword [esp + 0x1c], edx
mov ebp, dword [ebp + 5]
mov ecx, dword [edi]
mov edx, dword [esp + 0x40]
push ecx
lea eax, [ebp + ebp*4]
push esi
push edx
mov edx, dword [ebx + 8]
lea ecx, [ebp + eax*2]
mov eax, dword [edx + ecx*2 + 4]
push eax
call fcn.1000c670
mov ebx, dword [edi]
mov ecx, eax
mov eax, dword [esp + 0xcc]
add esp, 0x1c
cdq
sub ebx, eax
mov dword [edi], ebx
mov esi, dword [edi + 4]
sbb esi, edx
mov dword [edi + 4], esi
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x10033e80
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x1c], 1
jmp 0x10033eaf
mov edx, dword [esp + 0x10]
mov edi, ecx
xor eax, eax
mov dword [edx + 0x14], ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x10]
not ecx
dec ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x1c], 0x62
mov edx, dword [esp + 0x10]
mov dword [edx + 0x20], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
and ecx, 0xff
mov byte [eax + 0x1f], 1
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.10038cc0
mov eax, dword [esp + 0x3c]
push eax
call sym.sqlite30.dll_sqlite3_free
add esp, 0xc
jmp case.0x10030b69.13
push esi
call fcn.10039220
mov eax, dword [esp + 0x14]
add edi, 0x60
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
push edi
call fcn.10038b70
add esp, 0x10
cmp eax, 7
je 0x10034b45
sub dword [esp + 0x10], 0x44
jmp case.0x10030b69.13
mov eax, dword [ebx + 0xa0]
test eax, eax
jne 0x10034c45
lea eax, [esp + 0x114]
add edi, 0x60
push eax
push edi
call fcn.10038c30
add esp, 8
cmp eax, 0x65
jne 0x10033f42
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x114]
add eax, 0x44
mov dword [esp + 0x10], eax
mov dword [eax], ecx
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x10]
mov word [ecx + 0x1c], 4
jmp case.0x10030b69.13
mov esi, dword [edi + 0x6c]
mov ecx, dword [edi + 0x70]
cmp esi, ecx
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
jl 0x10033fa5
lea edx, [eax + eax*2]
mov dword [edi + 0x70], eax
mov eax, dword [edi + 0x74]
shl edx, 3
push edx
push eax
push ebx
call fcn.1001d280
add esp, 0xc
mov dword [edi + 0x74], eax
test eax, eax
je 0x10034b45
mov edx, dword [edi + 0x74]
lea ecx, [esi + esi*2]
lea eax, [edx + ecx*8]
mov ecx, dword [ebx + 0x27]
mov dword [eax], ecx
mov edx, dword [ebx + 0x2b]
mov dword [eax + 4], edx
mov ecx, dword [edi + 0x10b]
mov dword [eax + 8], ecx
lea ecx, [edi + 0x60]
mov edx, ecx
add eax, 0xc
push ecx
mov esi, dword [edx]
mov dword [eax], esi
mov esi, dword [edx + 4]
mov dword [eax + 4], esi
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
call fcn.10038b60
add esp, 4
jmp case.0x10030b69.13
mov edx, dword [edi + 0x6c]
mov ecx, dword [edi + 0x74]
dec edx
mov eax, edx
mov dword [edi + 0x6c], edx
add edi, 0x60
lea eax, [eax + eax*2]
push edi
mov edx, dword [ecx + eax*8]
lea esi, [ecx + eax*8]
mov dword [ebx + 0x27], edx
mov eax, dword [esi + 4]
mov dword [ebx + 0x2b], eax
mov ecx, dword [esi + 8]
mov dword [edi + 0xab], ecx
call fcn.10038c90
add esp, 4
add esi, 0xc
mov edx, dword [esi]
mov dword [edi], edx
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov ecx, dword [esi + 8]
mov dword [edi + 8], ecx
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
push esi
mov edx, eax
shl edx, 4
add edx, eax
mov eax, dword [edi + 0x54]
lea ecx, [eax + edx*4]
push ecx
call fcn.10039460
mov esi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
sub esi, 0x44
add esp, 8
mov dword [esp + 0x10], esi
mov eax, dword [ebp + 5]
test eax, eax
jne case.0x10030b69.13
mov ebp, dword [ebp + 1]
mov eax, dword [edi + 0x54]
mov edx, ebp
add esi, 0x44
shl edx, 4
add edx, ebp
push 0x100
mov dword [esp + 0x14], esi
lea ecx, [eax + edx*4]
push ecx
push esi
call fcn.100393e0
add esp, 0xc
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
mov eax, dword [edi + 0x54]
mov edx, ebp
shl edx, 4
add edx, ebp
lea esi, [eax + edx*4]
push esi
call fcn.10039220
mov ecx, dword [esp + 0x14]
push ecx
call fcn.10039220
mov eax, dword [esp + 0x18]
mov edx, dword [esi + 4]
add esp, 8
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp edx, eax
jg case.0x10030b69.13
jl 0x100340d5
mov edx, dword [esi]
cmp edx, ecx
jae case.0x10030b69.13
mov dword [esi], ecx
mov dword [esi + 4], eax
jmp case.0x10030b69.13
mov eax, dword [ebp + 5]
mov edx, dword [edi + 0x54]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [ebp + 1]
mov esi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
cdq
add esi, eax
mov dword [ecx], esi
mov eax, dword [ecx + 4]
adc eax, edx
mov dword [ecx + 4], eax
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov edx, dword [edi + 0x54]
mov ecx, eax
shl ecx, 4
add ecx, eax
lea eax, [edx + ecx*4]
mov ecx, dword [edx + ecx*4 + 4]
test ecx, ecx
jl case.0x10030b69.13
jg 0x1003412e
cmp dword [eax], 0
jbe case.0x10030b69.13
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov edx, dword [edi + 0x54]
mov ecx, eax
shl ecx, 4
add ecx, eax
lea eax, [edx + ecx*4]
mov ecx, dword [edx + ecx*4 + 4]
test ecx, ecx
jg case.0x10030b69.13
jl 0x10034162
cmp dword [eax], 0
jae case.0x10030b69.13
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov edx, dword [edi + 0x54]
mov ecx, eax
shl ecx, 4
add ecx, eax
lea eax, [edx + ecx*4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [eax + 4]
or ecx, edx
jne case.0x10030b69.13
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov ebp, dword [ebp + 1]
mov eax, dword [edi + 0x54]
mov edx, ebp
shl edx, 4
add edx, ebp
lea ecx, [eax + edx*4]
push ecx
call fcn.100392e0
add esp, 4
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov ebp, dword [ebp + 5]
cdq
push edx
mov edx, ebp
shl edx, 4
push eax
mov eax, dword [edi + 0x54]
add edx, ebp
lea ecx, [eax + edx*4]
push ecx
call fcn.10039350
add esp, 0xc
jmp case.0x10030b69.13
mov eax, dword [ebp + 5]
mov ebp, dword [ebp + 1]
mov edi, dword [edi + 0x54]
mov edx, eax
mov ecx, ebp
shl edx, 4
shl ecx, 4
add edx, eax
add ecx, ebp
lea eax, [edi + edx*4]
lea edx, [edi + ecx*4]
push eax
push edx
call fcn.10039460
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x10030b69.13
mov eax, dword [ebp + 5]
mov ecx, eax
mov dword [esp + 0x68], eax
shl ecx, 4
add ecx, eax
shl ecx, 2
sub esi, ecx
mov ecx, dword [edi + 0x2c]
add esi, 0x44
mov dword [esp + 0x3c], ecx
test eax, eax
jle 0x1003425d
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
push esi
mov dword [edx], esi
call fcn.100308b0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
add esp, 4
add edx, 4
add esi, 0x44
dec eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
jne 0x10034235
mov eax, dword [ebp + 9]
mov edx, dword [edi + 0x54]
mov dword [esp + 0x1bc], eax
mov eax, dword [ebp + 1]
mov ecx, eax
mov esi, 1
shl ecx, 4
add ecx, eax
lea eax, [edx + ecx*4]
mov dword [esp + 0x208], eax
mov edx, dword [eax + 0x18]
inc edx
mov dword [eax + 0x18], edx
xor eax, eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1e4], eax
mov byte [esp + 0x20c], al
mov dword [esp + 0x20d], eax
mov eax, dword [esp + 0x1bc]
mov word [esp + 0x1e0], si
mov dword [esp + 0x1d4], ebx
mov cl, byte [eax + 3]
test cl, cl
je 0x100342cf
mov ecx, dword [ebp - 8]
mov dword [esp + 0x20d], ecx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x68]
push edx
lea ecx, [esp + 0x1c0]
push ebx
push ecx
call dword [eax + 0x11]
lea edx, [esp + 0x1c]
push ebx
push edx
call fcn.10034fc0
mov al, byte [esp + 0x220]
add esp, 0x14
test al, al
je 0x10034323
lea eax, [esp + 0x1c4]
push 0
push eax
call sym.sqlite30.dll_sqlite3_value_text
add esp, 4
add edi, 0x100
push eax
push edi
call fcn.1001d380
add esp, 0xc
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x1c4]
push ecx
call fcn.10039070
add esp, 4
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov ecx, dword [ebp + 9]
mov edx, eax
push ecx
shl edx, 4
add edx, eax
mov eax, dword [edi + 0x54]
lea esi, [eax + edx*4]
push esi
call fcn.10038fe0
add esp, 8
cmp eax, 1
mov dword [esp + 0x14], eax
jne 0x10034379
push 0
push esi
call sym.sqlite30.dll_sqlite3_value_text
add esp, 4
add edi, 0x100
push eax
push edi
call fcn.1001d380
add esp, 0xc
push esi
jmp 0x100347ce
push ebx
call fcn.100304e0
add esp, 4
test eax, eax
jne 0x10034ca0
add edi, 0x100
push ebx
push edi
call fcn.10030540
push ebx
mov dword [esp + 0x20], eax
call fcn.100304a0
add esp, 0xc
test eax, eax
jne 0x10034ca0
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov ecx, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
mov eax, dword [ecx + eax*2 + 4]
push eax
call fcn.10007400
add esp, 4
cmp eax, 0x65
mov dword [esp + 0x14], eax
jne case.0x10030b69.13
mov ebp, dword [ebp + 5]
mov dword [esp + 0x14], 0
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
test eax, eax
jne 0x10034407
push ebx
call fcn.10038550
add esp, 4
jmp case.0x10030b69.13
mov byte [edi + 0x108], 1
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
test eax, eax
setl cl
test cl, cl
mov byte [esp + 0x94], cl
je 0x1003442d
or edx, 0xffffffff
sub edx, eax
mov eax, edx
mov ecx, dword [esp + 0x94]
mov edx, dword [ebp + 5]
push ecx
lea ecx, [eax + eax*4]
push edx
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 8]
mov ecx, dword [eax + edx*2 + 4]
push ecx
call fcn.1000d450
add esp, 0xc
cmp eax, 6
mov dword [esp + 0x14], eax
jne case.0x10030b69.13
mov edx, dword [ebp + 9]
mov eax, dword [esp + 0x318]
push 0
push edx
add eax, 0x100
push 0x1004b4cc
push eax
call fcn.1001d380
add esp, 0x10
jmp case.0x10030b69.13
mov ecx, dword [ebp + 9]
push ecx
push ebx
call fcn.1003a8c0
add esp, 8
mov dword [esp + 0x14], eax
jmp case.0x10030b69.13
mov edx, dword [ebp + 9]
mov eax, dword [ebp + 1]
add edi, 0x100
push edi
push edx
push eax
push ebx
call fcn.1003a4c0
add esp, 0x10
mov dword [esp + 0x14], eax
jmp case.0x10030b69.13
mov byte [edi + 0x10a], 2
mov ecx, dword [ebp + 9]
mov edx, dword [ebp + 1]
push ecx
push edx
push ebx
call fcn.1003a710
add esp, 0xc
mov dword [esp + 0x14], eax
mov byte [edi + 0x10a], 0
jmp case.0x10030b69.13
mov esi, dword [ebp + 9]
mov dword [esp + 0x24], 0
push ebx
mov edi, dword [esi]
call fcn.100304e0
add esp, 4
test eax, eax
jne 0x10034ca0
lea eax, [esp + 0x24]
push eax
push esi
call dword [edi + 0x18]
push ebx
mov dword [esp + 0x20], eax
call fcn.100304a0
add esp, 0xc
test eax, eax
jne 0x10034ca0
mov eax, dword [esp + 0x14]
test eax, eax
jne case.0x10030b69.13
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x318]
push 0xffffffffffffffff
mov dword [ecx], esi
mov edx, dword [ebp + 1]
push edx
push eax
call fcn.10035000
add esp, 0xc
test eax, eax
je 0x1003455f
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x53], ecx
mov edx, dword [esp + 0x24]
mov ecx, dword [edx]
mov edx, dword [ecx]
mov dword [eax + 0x57], edx
jmp case.0x10030b69.13
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
push ecx
mov byte [eax + 0x1e], 1
call dword [edi + 0x1c]
add esp, 4
jmp case.0x10030b69.13
mov edx, dword [ebp + 1]
mov eax, dword [edi + 0x38]
mov ebx, dword [edi + 0x2c]
mov dword [esp + 0x48], 0
mov eax, dword [eax + edx*4]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x18], eax
mov ecx, dword [eax + 0x53]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [esp + 0x50], eax
mov eax, dword [esi - 0x44]
test eax, eax
mov dword [esp + 0x68], eax
jle 0x100345e1
mov esi, eax
xor edi, edi
shl esi, 4
add esi, eax
mov dword [esp + 0x20], eax
shl esi, 2
mov ecx, dword [esp + 0x10]
mov eax, edi
sub eax, esi
lea eax, [eax + ecx - 0x44]
push eax
mov dword [ebx], eax
call fcn.100308b0
mov eax, dword [esp + 0x24]
add esp, 4
add edi, 0x44
add ebx, 4
dec eax
mov dword [esp + 0x20], eax
jne 0x100345b9
mov edx, dword [esp + 0x38]
push edx
call fcn.100304e0
add esp, 4
test eax, eax
jne 0x10034ca0
mov edi, dword [esp + 0x318]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov byte [edi + 0x10a], 1
mov ecx, dword [ebp + 9]
push eax
mov eax, dword [edx]
mov edx, dword [esp + 0x54]
push esi
push ecx
mov ecx, dword [ebx + 0x53]
push eax
push ecx
call dword [edx + 0x20]
add esp, 0x14
mov dword [esp + 0x14], eax
test eax, eax
mov byte [edi + 0x10a], 0
jne 0x1003464c
mov eax, dword [ebx + 0x53]
mov ecx, dword [esp + 0x50]
push eax
call dword [ecx + 0x28]
add esp, 4
mov edi, eax
jmp 0x10034650
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x38]
push edx
call fcn.100304a0
add esp, 4
test eax, eax
jne 0x10034ca0
test edi, edi
je 0x10034671
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
add esi, 2
lea eax, [esp + 0x10]
push esi
push eax
jmp 0x10034a06
mov ecx, dword [ebp + 1]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [esi + 0x53]
mov ecx, dword [eax]
mov ebp, dword [ecx]
mov eax, dword [ebp + 0x30]
test eax, eax
jne 0x100346a2
push 0
push 0x1004b4a4
jmp 0x1003480d
push ebx
call fcn.100304e0
add esp, 4
test eax, eax
jne 0x10034ca0
mov eax, dword [esi + 0x53]
lea edx, [esp + 0x11c]
push edx
push eax
call dword [ebp + 0x30]
push ebx
mov dword [esp + 0x20], eax
call fcn.100304a0
add esp, 0xc
test eax, eax
jne 0x10034ca0
mov eax, dword [esp + 0x10]
add eax, 0x44
mov dword [esp + 0x10], eax
mov word [eax + 0x1c], 4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x11c]
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x120]
mov dword [ecx + 4], eax
jmp case.0x10030b69.13
mov edx, dword [ebp + 1]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
mov ecx, dword [esi + 0x53]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [esp + 0x3c], eax
mov ecx, dword [eax + 0x2c]
test ecx, ecx
jne 0x1003472f
push 0
push 0x1004b47c
jmp 0x1003480d
mov ecx, 0x15
xor eax, eax
lea edi, [esp + 0x258]
push ebx
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov word [esp + 0x280], 1
mov dword [esp + 0x274], ebx
call fcn.100304e0
add esp, 4
test eax, eax
jne 0x10034ca0
mov eax, dword [ebp + 5]
mov edx, dword [esi + 0x53]
lea ecx, [esp + 0x258]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
call dword [eax + 0x2c]
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x26c]
and ecx, 0xff
mov dword [esp + 0x20], eax
push ecx
push edx
call fcn.10038cc0
mov eax, dword [esp + 0x24]
add eax, 0x44
mov dword [esp + 0x24], eax
mov word [eax + 0x1c], 0
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x274]
push eax
push ecx
call fcn.10039460
push ebx
call fcn.100304a0
add esp, 0x20
test eax, eax
jne 0x10034ca0
mov edx, dword [esp + 0x10]
push edx
call fcn.100393b0
add esp, 4
test eax, eax
jne 0x10034c74
jmp case.0x10030b69.13
mov eax, dword [ebp + 1]
mov ecx, dword [edi + 0x38]
mov dword [esp + 0x3c], 0
mov esi, dword [ecx + eax*4]
mov edx, dword [esi + 0x53]
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov ecx, dword [eax + 0x24]
test ecx, ecx
jne 0x10034829
push 0
push 0x1004b458
add edi, 0x100
push edi
call fcn.1001d380
add esp, 0xc
mov dword [esp + 0x14], 1
jmp case.0x10030b69.13
push ebx
call fcn.100304e0
add esp, 4
test eax, eax
jne 0x10034ca0
mov edx, dword [esp + 0x20]
mov byte [edi + 0x10a], 1
mov ecx, dword [esi + 0x53]
push ecx
call dword [edx + 0x24]
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [edi + 0x10a], 0
jne 0x10034870
mov eax, dword [esi + 0x53]
mov ecx, dword [esp + 0x20]
push eax
call dword [ecx + 0x28]
add esp, 4
mov esi, eax
jmp 0x10034874
mov esi, dword [esp + 0x3c]
push ebx
call fcn.100304a0
add esp, 4
test eax, eax
jne 0x10034ca0
test esi, esi
jne case.0x10030b69.13
mov ebp, dword [ebp + 5]
dec ebp
mov dword [esp + 0x1c], ebp
jmp case.0x10030b69.13
mov al, byte [esi + 0x1c]
mov ebp, dword [ebp + 9]
test al, 0x12
jne 0x100348c0
mov edx, dword [esp + 0x30]
and edx, 0xff
push edx
push esi
call fcn.10038f70
add esp, 8
test eax, eax
jne 0x10034b45
push ebx
call fcn.100304e0
add esp, 4
test eax, eax
jne 0x10034ca0
push ebp
call fcn.10039d00
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp]
mov edx, dword [ecx + 0x14]
push edx
push ebp
call dword [eax + 0x4c]
push ebp
push ebx
mov dword [esp + 0x28], eax
call fcn.10039d10
push ebx
call fcn.100304a0
add esp, 0x18
test eax, eax
jne 0x10034ca0
lea eax, [esp + 0x10]
push 1
push eax
jmp 0x10034a06
mov eax, dword [ebp + 9]
mov dword [esp + 0x3c], eax
mov ecx, dword [eax]
mov eax, dword [ebp + 5]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x18], eax
mov edx, dword [ecx + 0x34]
test edx, edx
jne 0x1003494c
push 0
add edi, 0x100
push 0x1004b448
push edi
call fcn.1001d380
add esp, 0xc
mov dword [esp + 0x14], 1
jmp 0x100349fc
mov ecx, eax
mov edi, dword [edi + 0x2c]
shl ecx, 4
add ecx, eax
mov dword [esp + 0x68], edi
shl ecx, 2
sub esi, ecx
add esi, 0x44
test eax, eax
jle 0x1003498a
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
push esi
call fcn.100308b0
mov eax, dword [esp + 0x24]
mov dword [edi], esi
add esp, 4
add edi, 4
add esi, 0x44
dec eax
mov dword [esp + 0x20], eax
jne 0x1003496e
push ebx
call fcn.100304e0
add esp, 4
test eax, eax
jne 0x10034ca0
mov esi, dword [esp + 0x3c]
push esi
call fcn.10039d00
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x130]
push eax
mov eax, dword [esp + 0x58]
push ecx
push edx
push esi
call dword [eax + 0x34]
mov edi, eax
push esi
push ebx
mov dword [esp + 0x30], edi
call fcn.10039d10
push ebx
call fcn.100304a0
add esp, 0x20
test eax, eax
jne 0x10034ca0
mov eax, dword [ebp + 1]
test eax, eax
je 0x100349fc
test edi, edi
jne 0x100349fc
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x130]
mov dword [ebx + 0x27], ecx
mov dword [ebx + 0x2b], edx
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.10034fc0
add esp, 8
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x318]
inc edx
test eax, eax
mov dword [esp + 0x1c], edx
je 0x10030ab8
mov dword [edi + 0x7c], eax
mov esi, 1
jmp 0x10034d10
mov eax, 9
mov esi, 1
mov dword [edi + 0x7c], eax
jmp 0x10034d10
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x28], esi
mov edx, dword [ebp + 1]
mov dword [edi + 0x78], eax
mov dword [edi + 0x7c], edx
mov ecx, dword [ebp + 5]
mov dword [edi + 0x84], ecx
mov ebp, dword [ebp + 9]
test ebp, ebp
je 0x10034a7b
push 0
lea edx, [edi + 0x100]
push ebp
push edx
call fcn.1001d380
add esp, 0xc
push edi
call fcn.10037170
add esp, 4
cmp eax, 5
jne 0x10034b9d
mov esi, eax
mov dword [edi + 0x7c], esi
jmp 0x10034d20
mov eax, dword [ebp + 1]
mov ebx, dword [edi + 0x24]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, esi
shl ecx, 2
sub eax, ecx
cmp ebx, eax
mov dword [esp + 0x94], eax
jae 0x10034adb
test byte [ebx + 0x1d], 1
je 0x10034ad4
push ebx
call fcn.10038e20
add esp, 4
test eax, eax
jne 0x10034b45
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x94]
add ebx, 0x44
cmp ebx, eax
jb 0x10034ab6
mov edx, dword [edi + 0x5c]
add edx, 2
or edx, 1
cmp ebx, esi
mov dword [edi + 0x5c], edx
ja 0x10034b05
push ebx
call fcn.10038ec0
push ebx
call fcn.100308b0
mov eax, dword [esp + 0x18]
add ebx, 0x44
add esp, 8
cmp ebx, eax
jbe 0x10034aeb
mov eax, dword [edi + 0x58]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
inc eax
mov byte [edi + 0x104], 1
mov dword [edi + 0x58], eax
mov eax, dword [ebp + 1]
inc ecx
mov dword [edi + 0xfc], eax
mov dword [edi + 0x78], ecx
mov dword [edi + 0x28], edx
mov esi, 0x64
jmp 0x10034d20
lea eax, [esp + 0x16c]
push eax
call fcn.10039070
add esp, 4
mov edi, dword [esp + 0x318]
mov edx, dword [esp + 0x38]
push 0
push 0x100480cc
lea eax, [edi + 0x100]
mov byte [edx + 0x1e], 1
push eax
call fcn.1001d380
mov eax, 7
add esp, 0xc
mov dword [edi + 0x7c], eax
mov esi, 1
jmp 0x10034d10
mov dword [esp + 0x14], 0x14
jmp 0x10034ca8
mov ecx, dword [ebp + 5]
test ecx, ecx
je 0x10034baf
push ebx
call fcn.1001be20
add esp, 4
mov byte [ebx + 0x1c], 1
mov esi, dword [edi + 0x7c]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x10034d20
push edi
mov byte [ebx + 0x1c], al
call fcn.10037170
add esp, 4
cmp eax, 5
jne 0x10034b9d
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x28], ecx
mov cl, byte [esp + 0x67]
mov al, 1
mov dword [edi + 0x78], edx
sub al, cl
mov esi, 5
mov byte [ebx + 0x1c], al
mov dword [edi + 0x7c], esi
jmp 0x10034d20
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov esi, 5
mov dword [edi + 0x78], ecx
mov dword [edi + 0x7c], esi
mov dword [edi + 0x28], edx
jmp 0x10034d20
mov eax, dword [esp + 0x1c]
mov esi, 5
mov dword [edi + 0x78], eax
mov dword [edi + 0x7c], esi
mov ecx, dword [ebp + 5]
xor eax, eax
test ecx, ecx
setle al
mov edx, dword [esp + 0x10]
inc eax
mov ecx, eax
shl ecx, 4
add ecx, eax
lea eax, [edx + ecx*4]
mov dword [edi + 0x28], eax
jmp 0x10034d20
mov dword [esp + 0x14], 0xb
jmp 0x10034ca8
mov dword [esp + 0x14], 0xd
jmp 0x10034ca8
mov ebx, dword [ebx + 0x37]
push 0
sub ebx, 0xf03b7906
neg ebx
sbb ebx, ebx
and ebx, 0xc
add ebx, 9
push ebx
mov dword [esp + 0x1c], ebx
mov dword [edi + 0x7c], ebx
call fcn.1001bed0
add esp, 4
add edi, 0x100
push eax
push edi
jmp 0x10034ce3
mov edi, dword [esp + 0x318]
push 0
push 0x1004b430
lea ecx, [edi + 0x100]
push ecx
call fcn.1001d380
mov eax, 0x12
add esp, 0xc
mov dword [edi + 0x7c], eax
mov esi, 1
jmp 0x10034d10
mov dword [esp + 0x14], 0x15
mov ecx, dword [esp + 0x318]
mov eax, dword [ecx + 0x100]
lea esi, [ecx + 0x100]
test eax, eax
jne 0x10034ceb
mov edx, dword [esp + 0x38]
mov al, byte [edx + 0x1e]
test al, al
je 0x10034cd2
mov dword [esp + 0x14], 7
mov eax, dword [esp + 0x14]
push 0
push eax
call fcn.1001bed0
add esp, 4
push eax
push esi
call fcn.1001d380
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10034d04
mov edi, dword [esp + 0x318]
mov esi, 1
mov dword [edi + 0x7c], eax
jmp 0x10034d10
mov edi, dword [esp + 0x318]
mov esi, 0x65
push edi
call fcn.10037170
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [edi + 0x28], ecx
mov edx, dword [esp + 0xd8]
push edx
call fcn.100061d0
add esp, 4
mov eax, esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x304
ret