Function at 0x1008cb00
Capabilities:
Parse credit card information
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x364
mov eax, dword [0x100c58c0]
xor eax, esp
mov dword [esp + 0x35c], eax
push ebx
push ebp
push esi
xor eax, eax
push edi
mov edi, ecx
mov esi, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x10]
mov ebx, dword [edi + 8]
mov dword [esp + 0xa0], ecx
mov ecx, dword [edx + 0xc]
mov dl, byte [ecx + 0x4d]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
mov byte [esp + 0x63], al
mov dword [esp + 0xb4], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x90], eax
mov eax, dword [esi + 0x20]
push edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x18], esi
mov byte [esp + 0x47], dl
mov dword [esp + 0x58], ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
call fcn.10024750
add esp, 4
cmp dword [edi + 0x50], 7
je 0x1008e38e
xor ecx, ecx
mov dword [edi + 0x50], ecx
mov dword [edi + 0x88], ecx
mov dword [edi + 0x8c], ecx
mov dword [edi + 0x14], ecx
mov edx, dword [esi + 0xe8]
test edx, edx
mov dword [esi + 0x1bc], ecx
jne 0x10091249
cmp dword [esi + 0x11c], ecx
je 0x1008cbef
mov eax, dword [edi + 0x7c]
cmp eax, ecx
jne 0x1008cbe0
mov eax, dword [esi + 0x124]
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x20], ecx
mov eax, ecx
jmp 0x1008cc04
xor edx, edx
div dword [esi + 0x124]
mov dword [esp + 0x84], edx
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x20], ecx
mov eax, ecx
jmp 0x1008cc04
mov ebx, dword [esp + 0x54]
cmp byte [esi + 0x40], 0
jne 0x1008e38e
add dword [esp + 0x88], 1
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xa0]
test byte [eax + edx*4 + 2], 2
lea ebp, [eax + edx*4]
je 0x1008cc4f
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
test word [ebx + ecx*8 + 0x1c], 0x2460
lea eax, [ebx + ecx*8]
mov dword [esp + 0x18], eax
je 0x1008cc49
call fcn.10026b60
mov eax, dword [esp + 0x18]
mov word [eax + 0x1c], 4
mov dl, byte [ebp]
movzx eax, dl
add eax, 0xffffffff
cmp eax, 0x9a
ja case.default.0x1008cc63
jmp dword [eax*4 + 0x1009128c]
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
lea ebx, [ebx + edx*8]
cdq
mov dword [ebx + 0x10], eax
mov word [ebx + 0x1c], 4
mov dword [ebx + 0x14], edx
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [esp + 0x20], eax
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
mov edx, dword [ebx + ecx*8 + 0x10]
lea eax, [ebx + ecx*8]
mov dword [esp + 0x20], edx
mov word [eax + 0x1c], 0x80
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
sub eax, 1
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov word [ebx + 0x1c], 4
mov ebp, dword [ebp + 8]
test ebp, ebp
mov dword [esp + 0x18], ebx
je case.default.0x1008cc63
add ebp, 0xffffffff
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
mov eax, dword [ebx + ecx*8 + 0x10]
lea ebx, [ebx + ecx*8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + edx*4 + 8]
sub eax, 1
mov dword [esp + 0x20], eax
mov word [ebx + 0x1c], 0x80
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
mov eax, dword [esp + 0x20]
lea ecx, [ebp + ebp*4]
lea ebx, [ebx + ecx*8]
mov ecx, dword [ebx + 0x10]
cdq
mov word [ebx + 0x1c], 4
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov dword [esp + 0x20], ecx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
je case.default.0x1008cc63
cmp dword [ebp + 4], 0
jne 0x10091039
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x10091039
mov ecx, dword [eax + 4]
add dword [edi + 0xb8], 0xffffffff
mov dword [edi + 0xb0], ecx
mov ecx, dword [edi + 0x5c]
add dword [esi + 0x54], ecx
mov dword [esi + 0x50], ecx
call fcn.10013780
cmp dword [ebp + 8], 4
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
jne 0x1008cdac
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4 + 8]
sub ecx, 1
mov dword [esp + 0x20], ecx
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x54], eax
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x18]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 0x10]
mov ecx, dword [ebp]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp + 4]
mov dword [eax + 0x14], edx
jmp case.default.0x1008cc63
mov eax, dword [esp + 0x18]
mov word [eax + 0x1c], 8
mov ecx, dword [ebp + 0x10]
fld qword [ecx]
fstp qword [eax + 8]
jmp case.default.0x1008cc63
mov ecx, dword [ebp + 0x10]
mov byte [ebp], 0x1b
call fcn.10016110
cmp byte [esp + 0x43], 1
mov dword [ebp + 4], eax
je 0x1008ce84
mov edx, dword [esp + 0x18]
push 1
push ecx
or ebx, 0xffffffff
xor eax, eax
mov ecx, ebx
call fcn.1003a940
add esp, 8
cmp eax, 0x12
mov dword [esp + 0x10], eax
je 0x1008d6fc
movzx ecx, byte [esp + 0x43]
mov eax, dword [esp + 0x18]
call fcn.1003abb0
test eax, eax
jne 0x1008e38e
mov esi, dword [esp + 0x18]
or word [esi + 0x1c], 0x800
mov dword [esi + 0x24], eax
cmp byte [ebp + 1], bl
jne 0x1008ce71
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
call fcn.10021de0
mov byte [ebp + 1], bl
mov edx, dword [esi + 4]
mov dword [ebp + 0x10], edx
mov eax, dword [esi + 0x18]
mov esi, dword [esp + 0x14]
mov dword [ebp + 4], eax
mov ecx, dword [ebp + 4]
cmp ecx, dword [esi + 0x58]
jg 0x1008d6fc
mov eax, dword [esp + 0x18]
mov word [eax + 0x1c], 0xa02
mov edx, dword [ebp + 0x10]
mov dword [eax + 4], edx
mov ecx, dword [ebp + 4]
mov dl, byte [esp + 0x43]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1e], dl
jmp case.default.0x1008cc63
mov esi, dword [ebp + 0xc]
sub esi, dword [ebp + 8]
mov eax, dword [ebp + 4]
neg eax
sbb eax, eax
and eax, 0x100
add eax, 1
test esi, esi
movzx edi, ax
mov eax, dword [esp + 0x18]
mov word [eax + 0x1c], di
jle case.default.0x1008cc63
lea ebx, [ebx]
add eax, 0x28
test word [eax + 0x1c], 0x2460
mov dword [esp + 0x18], eax
je 0x1008cef8
call fcn.10026b60
mov eax, dword [esp + 0x18]
sub esi, 1
test esi, esi
mov word [eax + 0x1c], di
jg 0x1008cee0
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
mov dx, word [ebx + ecx*8 + 0x1c]
lea ebx, [ebx + ecx*8]
and dx, 0xff7f
or dx, 1
mov dword [esp + 0x18], ebx
mov word [ebx + 0x1c], dx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 0x10]
mov esi, dword [esp + 0x18]
mov ecx, dword [ebp + 4]
push 0
push eax
xor eax, eax
mov edx, esi
call fcn.1003a940
mov cl, byte [esp + 0x4b]
add esp, 8
mov byte [esi + 0x1e], cl
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
mov eax, dword [edi + 0x3c]
lea edx, [ebp + ebp*4]
lea esi, [eax + edx*8 - 0x28]
mov ecx, esi
call fcn.100139c0
test eax, eax
jne 0x1008d6fc
mov ebx, dword [esp + 0x18]
push 0x800
push esi
call fcn.1002a110
add esp, 8
jmp case.default.0x1008cc63
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea edx, [eax + eax*4]
mov dword [esp + 0x1c], ecx
lea eax, [ebx + edx*8]
lea ecx, [ebp + ebp*4]
lea edx, [ebx + ecx*8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], edx
jmp 0x1008cfb0
mov eax, dword [esp + 0x18]
test word [eax + 0x1c], 0x2460
je 0x1008cfc1
call fcn.10026b60
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov ebx, dword [edx + 0x24]
mov esi, eax
mov edi, edx
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov word [eax + 0x1c], 0x80
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], ebx
add eax, 0x28
add edx, 0x28
sub dword [esp + 0x1c], 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], edx
jne 0x1008cfb0
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov edi, dword [ebp + 0xc]
mov ebp, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ebp + ebp*4]
lea esi, [ebx + eax*8]
lea ebx, [ebx + ecx*8]
push 0x1000
push esi
mov dword [esp + 0x20], ebx
call fcn.1002a110
add esp, 8
test word [ebx + 0x1c], 0x1000
je 0x1008d040
mov eax, ebx
call fcn.10036060
test eax, eax
jne 0x1008e38e
mov edx, edi
sub edi, 1
test edx, edx
je case.default.0x1008cc63
mov ebx, dword [esp + 0x18]
add ebx, 0x28
add esi, 0x28
jmp 0x1008d017
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [ebp + ebp*4]
lea eax, [ebx + eax*8]
lea edx, [ebx + ecx*8]
push 0x1000
push edx
mov ebx, eax
mov dword [esp + 0x20], eax
call fcn.1002a110
add esp, 8
jmp case.default.0x1008cc63
mov eax, dword [esi + 0x11c]
test eax, eax
je 0x1008d0b3
mov ecx, dword [esp + 0x88]
cmp ecx, dword [esp + 0x84]
jb 0x1008d0b3
mov edx, dword [esi + 0x120]
push edx
call eax
add esp, 4
test eax, eax
jne 0x10090d71
push 0
mov esi, edi
call fcn.10030140
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1008cc63
push 1
push edi
call fcn.10066b30
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1008cc63
mov edx, dword [edi + 0x48]
add edx, 2
or edx, 1
mov dword [edi + 0x48], edx
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [edi + 0x14], ebx
xor edi, edi
cmp dword [ebp + 8], edi
jle 0x1008d12c
mov esi, ebx
test word [esi + 0x1c], 0x1000
je 0x1008d11a
mov eax, esi
call fcn.10036060
test eax, eax
jne 0x1008e38e
mov eax, esi
call fcn.10035fb0
add edi, 1
add esi, 0x28
cmp edi, dword [ebp + 8]
jl 0x1008d103
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x40], 0
jne 0x1008e38e
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
add edx, 1
mov dword [edi + 0x4c], edx
mov ebx, 0x64
jmp 0x10090dec
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
movzx ecx, word [edi + 0x1c]
lea edx, [ebp + ebp*4]
lea esi, [ebx + edx*8]
mov dl, byte [eax + 0x1c]
or dl, cl
test dl, 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], esi
je 0x1008d192
call fcn.10026b20
jmp case.default.0x1008cc63
test ecx, 0x4000
je 0x1008d1b1
mov eax, edi
call fcn.10036000
test eax, eax
jne 0x1008e38e
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
test word [eax + 0x1c], 0x4000
je 0x1008d1ce
call fcn.10036000
test eax, eax
jne 0x1008e38e
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov bl, 0x12
test byte [edi + 0x1c], bl
jne 0x1008d1f1
movzx esi, byte [esp + 0x43]
mov eax, edi
call fcn.1003fd90
test eax, eax
jne 0x1008e38e
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
test byte [eax + 0x1c], bl
jne 0x1008d210
movzx esi, byte [esp + 0x43]
call fcn.1003fd90
test eax, eax
jne 0x1008e38e
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov eax, dword [eax + 0x18]
add eax, dword [edi + 0x18]
cdq
mov ebx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
mov ecx, edx
cdq
cmp ecx, edx
jg 0x1008d6fc
jl 0x1008d235
cmp ebx, eax
ja 0x1008d6fc
mov edi, dword [esp + 0x18]
xor ecx, ecx
cmp edi, dword [esp + 0x28]
lea eax, [ebx + 2]
sete cl
push ecx
call fcn.10030460
add esp, 4
test eax, eax
jne 0x1008e38e
mov esi, edi
mov dx, word [esi + 0x1c]
mov edi, dword [esp + 0x28]
and dx, 0xbe02
or dx, 2
cmp esi, edi
mov word [esi + 0x1c], dx
je 0x1008d285
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 4]
push eax
push ecx
push edx
call fcn.10008750
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [edi + 0x18]
add eax, dword [esi + 4]
push ecx
push edx
push eax
call fcn.10008750
mov ecx, dword [esi + 4]
mov al, byte [esp + 0x4f]
mov byte [ebx + ecx], 0
mov edx, dword [esi + 4]
mov byte [edx + ebx + 1], 0
add esp, 0xc
or word [esi + 0x1c], 0x200
mov dword [esi + 0x18], ebx
mov byte [esi + 0x1e], al
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea edi, [ebx + ecx*8]
mov esi, edi
call fcn.100201b0
movzx edx, ax
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov dword [esp + 0x30], edx
call fcn.100201b0
movzx ecx, ax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1c], ecx
mov cl, byte [esi + 0x1c]
or cl, byte [edi + 0x1c]
lea edx, [eax + eax*4]
test cl, 1
lea eax, [ebx + edx*8]
mov dword [esp + 0x18], eax
jne 0x1008d52d
mov dl, byte [esp + 0x1c]
and dl, byte [esp + 0x30]
test dl, 4
je 0x1008d433
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x10]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x7c], edx
movzx edx, byte [ebp]
add edx, 0xffffffa7
cmp edx, 3
mov dword [esp + 0x78], ebx
mov byte [esp + 0x47], 1
ja case.default.0x1008d346
jmp dword [edx*4 + 0x100914f8]
push ecx
push eax
lea eax, [esp + 0x80]
push eax
call fcn.10015560
add esp, 0xc
test eax, eax
jne 0x1008d438
jmp 0x1008d40b
push ecx
push eax
lea edx, [esp + 0x80]
call fcn.1001d060
add esp, 8
test eax, eax
jne 0x1008d438
jmp 0x1008d40b
push ecx
push eax
lea ecx, [esp + 0x80]
push ecx
call fcn.1001cf50
add esp, 0xc
test eax, eax
jne 0x1008d438
jmp 0x1008d40b
mov edx, eax
or edx, ecx
je 0x1008d52d
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1008d3c7
test ebx, ebx
jne 0x1008d3c7
cmp dword [esp + 0x7c], 0x80000000
je 0x1008d438
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
push ebx
call fcn.10005dd0
jmp 0x1008d403
mov edx, eax
or edx, ecx
je 0x1008d52d
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1008d3f3
mov eax, 1
xor ecx, ecx
push ecx
push eax
mov eax, dword [esp + 0x84]
push eax
push ebx
call fcn.10005e80
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x10], ecx
mov cx, word [eax + 0x1c]
and cx, 0xbe04
or cx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.default.0x1008cc63
mov byte [esp + 0x47], 0
mov eax, edi
call fcn.1001b3d0
fstp qword [esp + 0x38]
mov eax, esi
call fcn.1001b3d0
movzx eax, byte [ebp]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x1008d456
jmp dword [eax*4 + 0x10091508]
fadd qword [esp + 0x38]
jmp 0x1008d4d2
fsub qword [esp + 0x38]
jmp 0x1008d4d2
fmul qword [esp + 0x38]
jmp 0x1008d4d2
fldz
fld qword [esp + 0x38]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x1008d529
fdivp st(1)
jmp 0x1008d4d2
fld qword [esp + 0x38]
call fcn.100a2956
mov esi, eax
mov edi, edx
call fcn.100a2956
mov ecx, esi
or ecx, edi
je 0x1008d52d
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x1008d4b4
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.10005e80
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], edx
fild qword [esp + 0x158]
sub esp, 8
fst qword [esp + 0x40]
fstp qword [esp]
call fcn.10016130
add esp, 8
test eax, eax
jne 0x1008d52d
mov esi, dword [esp + 0x18]
fld qword [esp + 0x38]
mov dx, word [esi + 0x1c]
fstp qword [esi + 8]
mov al, byte [esp + 0x1c]
or al, byte [esp + 0x30]
and dx, 0xbe08
or dx, 8
test al, 8
mov word [esi + 0x1c], dx
jne case.default.0x1008cc63
cmp byte [esp + 0x47], 0
jne case.default.0x1008cc63
call fcn.1001b370
jmp case.default.0x1008cc63
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x18]
call fcn.10026b20
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
test ebp, ebp
je case.default.0x1008cc63
lea eax, [ebp + ebp*4]
push 0
push 0
lea esi, [ebx + eax*8]
call fcn.1002d280
add esp, 8
jmp case.default.0x1008cc63
mov edx, dword [edi + 0xc]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [ebp + 3]
lea eax, [eax + eax*4]
mov dword [esp + 0x1c], edx
lea edx, [ebx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
xor esi, esi
test ecx, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], edx
lea ebx, [ebx + eax*8]
jle 0x1008d5b3
mov edi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [ecx + esi*4], ebx
test word [ebx + 0x1c], 0x1000
je 0x1008d5a9
mov eax, ebx
call fcn.10036060
test eax, eax
jne 0x1008e38e
add esi, 1
add ebx, 0x28
cmp esi, edi
jl 0x1008d58b
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x218], edx
mov dword [esp + 0x250], ecx
mov dword [esp + 0x254], eax
mov ecx, 0xa
mov esi, ebx
lea edi, [esp + 0x220]
rep movsd dword es:[edi], dword [esi]
mov word [ebx + 0x1c], 1
xor edi, edi
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x24], edi
mov edx, dword [esp + 0x23c]
mov eax, dword [esp + 0x218]
and edx, 0xbe01
or edx, 1
mov word [esp + 0x23c], dx
mov byte [esp + 0x25d], 0
test byte [eax + 2], 0x20
je 0x1008d62c
mov ecx, dword [ebp - 4]
mov dword [esp + 0x24c], ecx
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x6c]
mov dword [esi + 0x20], edx
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x24], ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
push edx
push ecx
lea edx, [esp + 0x220]
push edx
call eax
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
add esp, 0xc
cmp byte [esi + 0x40], 0
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
jne 0x100910f6
cmp byte [esp + 0x25d], 0
je 0x1008d6cc
cmp dword [esp + 0x258], edi
je 0x1008d6b3
mov bl, 1
lea edi, [esp + 0x220]
call fcn.10044860
mov edi, dword [esp + 0x24]
push eax
push 0x100af5a4
add edi, 0x2c
mov eax, esi
call fcn.1002e3a0
mov eax, dword [esp + 0x260]
add esp, 8
mov dword [esp + 0x10], eax
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
push ecx
push edx
call fcn.10024640
mov ebx, dword [esp + 0x20]
add esp, 8
movzx ecx, byte [esp + 0x43]
lea eax, [esp + 0x220]
call fcn.1003abb0
mov ecx, 0xa
lea esi, [esp + 0x220]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.100139c0
test eax, eax
je case.default.0x1008cc63
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
push str.string_or_blob_too_big
add edi, 0x2c
call fcn.1002e3a0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x10], 0x12
jmp 0x10090d79
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
mov al, byte [ebx + ecx*8 + 0x1c]
or al, byte [edi + 0x1c]
lea ecx, [ebx + ecx*8]
test al, 1
lea esi, [ebx + edx*8]
mov dword [esp + 0x18], esi
je 0x1008d75d
call fcn.10026b20
jmp case.default.0x1008cc63
call fcn.100204a0
mov ecx, edi
mov ebx, eax
mov esi, edx
call fcn.100204a0
mov edi, eax
mov al, byte [ebp]
cmp al, 0x55
jne 0x1008d77f
and ebx, edi
and esi, edx
jmp 0x1008d83b
cmp al, 0x56
jne 0x1008d78c
or ebx, edi
or esi, edx
jmp 0x1008d83b
mov ecx, edi
or ecx, edx
je 0x1008d83b
test edx, edx
jg 0x1008d7c4
jl 0x1008d7a0
test edi, edi
jae 0x1008d7b9
mov cl, 0xaf
sub cl, al
cmp edx, 0xffffffff
mov al, cl
jl 0x1008d7c4
jg 0x1008d7b2
cmp edi, 0xffffffc0
jbe 0x1008d7c4
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x1008d7e5
jg 0x1008d7c4
cmp edi, 0x40
jb 0x1008d7e5
test esi, esi
jg 0x1008d7dc
jl 0x1008d7ce
test ebx, ebx
jae 0x1008d7dc
cmp al, 0x57
je 0x1008d7dc
or eax, 0xffffffff
cdq
mov ebx, eax
mov esi, edx
jmp 0x1008d83b
xor eax, eax
cdq
mov ebx, eax
mov esi, edx
jmp 0x1008d83b
cmp al, 0x57
mov edx, esi
mov ecx, edi
mov eax, ebx
jne 0x1008d7ff
call fcn.100a2900
mov ebp, eax
mov dword [esp + 0xfc], edx
jmp 0x1008d832
call fcn.1000bc70
test esi, esi
mov ebp, eax
mov dword [esp + 0xfc], edx
jg 0x1008d832
jl 0x1008d817
test ebx, ebx
jae 0x1008d832
mov ecx, 0x40
sub ecx, edi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.100a2900
or ebp, eax
or dword [esp + 0xfc], edx
mov esi, dword [esp + 0xfc]
mov ebx, ebp
mov eax, dword [esp + 0x18]
mov dx, word [eax + 0x1c]
and dx, 0xbe04
or dx, 4
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], esi
mov word [eax + 0x1c], dx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
call fcn.10024820
mov eax, dword [ebp + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
movzx eax, word [ebx + ecx*8 + 0x1c]
test al, 4
lea esi, [ebx + ecx*8]
jne 0x1008d8b9
call fcn.10020210
test byte [esi + 0x1c], 8
je 0x1008d89a
call fcn.1001b370
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x1008d8b9
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x1009110b
add ebp, 0xffffffff
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
and eax, 0xbe04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
test byte [ebx + edx*8 + 0x1c], 4
lea esi, [ebx + edx*8]
je case.default.0x1008cc63
call fcn.10020440
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
movzx ecx, word [ebx + eax*8 + 0x1c]
test cl, 1
lea ebx, [ebx + eax*8]
jne case.default.0x1008cc63
movzx eax, cl
shr al, 3
and eax, 2
or eax, ecx
test al, 2
mov word [ebx + 0x1c], ax
jne 0x1008d924
test al, 0xc
je 0x1008d924
movzx esi, byte [esp + 0x43]
mov eax, ebx
call fcn.1003fd90
and word [ebx + 0x1c], 0xfff3
movzx eax, word [ebx + 0x1c]
test eax, 0x4000
je 0x1008d94b
mov eax, ebx
call fcn.10036000
and word [ebx + 0x1c], 0xbfe3
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
and word [ebx + 0x1c], 0xbfe3
mov dword [esp + 0x10], 0
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
movzx eax, word [ebx + ecx*8 + 0x1c]
test al, 1
lea edi, [ebx + ecx*8]
jne case.default.0x1008cc63
test al, 0x10
jne 0x1008d9a3
test al, 2
jne 0x1008d98d
test al, 0xc
je 0x1008d98d
movzx esi, byte [esp + 0x43]
mov eax, edi
call fcn.1003fd90
mov dx, word [edi + 0x1c]
and dx, 0xbe10
or dx, 0x10
mov word [edi + 0x1c], dx
jmp case.default.0x1008cc63
and eax, 0xfe10
mov word [edi + 0x1c], ax
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
lea eax, [ebp + ebp*4]
lea eax, [ebx + eax*8]
call fcn.100203d0
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
lea ecx, [ebp + ebp*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea esi, [ebx + ecx*8]
jne case.default.0x1008cc63
call fcn.10024820
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
lea edx, [ebp + ebp*4]
test byte [ebx + edx*8 + 0x1c], 1
lea esi, [ebx + edx*8]
jne case.default.0x1008cc63
call fcn.10020440
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
movzx edx, word [ebx + eax*8 + 0x1c]
lea esi, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea edi, [ebx + ecx*8]
movzx ecx, word [edi + 0x1c]
mov al, cl
or al, dl
test al, 1
mov dword [esp + 0x30], edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x38], ecx
je 0x1008da9c
mov al, byte [ebp + 3]
test al, al
jns 0x1008da5c
test dl, 1
je 0x1008da52
test cl, 1
je 0x1008da52
test ecx, 0x100
jne 0x1008da52
xor eax, eax
jmp 0x1008db09
mov eax, 1
jmp 0x1008db09
test al, 0x10
je 0x1008da85
mov ebp, dword [ebp + 8]
lea ecx, [ebp + ebp*4]
mov dx, word [ebx + ecx*8 + 0x1c]
lea ebx, [ebx + ecx*8]
and dx, 0xbe01
or dx, 1
mov dword [esp + 0x18], ebx
mov word [ebx + 0x1c], dx
jmp case.default.0x1008cc63
test al, 8
je case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov bl, byte [ebp + 3]
and bl, 0x67
je 0x1008dad6
mov eax, dword [esp + 0x43]
push eax
mov al, bl
mov edi, esi
call fcn.100443c0
mov ecx, dword [esp + 0x47]
mov edi, dword [esp + 0x34]
add esp, 4
push ecx
mov al, bl
call fcn.100443c0
mov edx, dword [esp + 0x18]
add esp, 4
cmp byte [edx + 0x40], 0
jne 0x1008e38e
mov ebx, 0x4000
test word [esi + 0x1c], bx
je 0x1008dae8
mov eax, esi
call fcn.10036000
test word [edi + 0x1c], bx
je 0x1008daf5
mov eax, edi
call fcn.10036000
mov ecx, dword [ebp + 0x10]
mov edx, esi
mov eax, edi
call fcn.1004af50
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x38]
movzx edx, byte [ebp]
add edx, 0xffffffb2
cmp edx, 4
ja case.default.0x1008db15
jmp dword [edx*4 + 0x10091518]
xor edx, edx
test eax, eax
sete dl
jmp 0x1008db50
xor edx, edx
test eax, eax
setne dl
jmp 0x1008db50
xor edx, edx
test eax, eax
setl dl
jmp 0x1008db50
xor edx, edx
test eax, eax
setle dl
jmp 0x1008db50
xor edx, edx
test eax, eax
setg dl
jmp 0x1008db50
xor edx, edx
test eax, eax
setge dl
test byte [ebp + 3], 0x10
mov eax, edx
je 0x1008db80
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea ebx, [ebx + edx*8]
mov dx, word [ebx + 0x1c]
and dx, 0xbe04
or dx, 4
mov word [ebx + 0x1c], dx
cdq
mov dword [esp + 0x18], ebx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x1008db8e
test eax, eax
je 0x1008db8e
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
mov ax, word [esi + 0x1c]
xor ax, word [esp + 0x48]
and ax, 0x1ff
xor word [esi + 0x1c], ax
mov dx, word [edi + 0x1c]
xor dx, cx
and dx, 0x1ff
xor word [edi + 0x1c], dx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x90], eax
jmp case.default.0x1008cc63
test byte [ebp + 3], 1
jne 0x1008dbd4
mov dword [esp + 0x90], 0
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
xor ebp, ebp
test eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x74], ecx
mov dword [esp + 0x48], edx
jle 0x1008dc74
add edi, 0x14
lea esp, [esp]
mov eax, dword [esp + 0x90]
test eax, eax
je 0x1008dc10
mov esi, dword [eax + ebp*4]
jmp 0x1008dc12
mov esi, ebp
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x10]
movzx eax, byte [edx + ebp]
mov edx, dword [esp + 0x48]
mov ecx, dword [edi]
mov dword [esp + 0x50], eax
lea eax, [esi + edx]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [esp + 0x74]
add eax, esi
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
call fcn.1004af50
test eax, eax
mov dword [esp + 0xb4], eax
jne 0x1008dc64
add ebp, 1
add edi, 4
cmp ebp, dword [esp + 0x4c]
jl 0x1008dc00
mov dword [esp + 0x90], eax
jmp case.default.0x1008cc63
cmp dword [esp + 0x50], 0
je 0x1008dc74
neg eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x90], 0
jmp case.default.0x1008cc63
mov eax, dword [esp + 0xb4]
test eax, eax
jge 0x1008dc9e
mov ebp, dword [ebp + 4]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
je 0x1008de61
mov ebp, dword [ebp + 0xc]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea ecx, [ebx + ecx*8]
je 0x1008dcca
mov esi, 2
jmp 0x1008dcdc
call fcn.100204a0
or eax, edx
je 0x1008dcda
mov esi, 1
jmp 0x1008dcdc
xor esi, esi
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
lea ecx, [ebx + edx*8]
je 0x1008dcf3
mov eax, 2
jmp 0x1008dd05
call fcn.100204a0
or eax, edx
je 0x1008dd03
mov eax, 1
jmp 0x1008dd05
xor eax, eax
cmp byte [ebp], 0x48
jne 0x1008dd18
lea eax, [eax + esi*2]
movzx eax, byte [esi + eax + 0x100abb54]
jmp 0x1008dd23
lea ecx, [eax + esi*2]
movzx eax, byte [esi + ecx + 0x100abb98]
cmp eax, 2
mov ebp, dword [ebp + 0xc]
lea edx, [ebp + ebp*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x18], ebx
jne 0x1008dd4b
mov ax, word [ebx + 0x1c]
and ax, 0xbe01
or ax, 1
mov word [ebx + 0x1c], ax
jmp case.default.0x1008cc63
mov cx, word [ebx + 0x1c]
cdq
and cx, 0xbe04
or cx, 4
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov word [ebx + 0x1c], cx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
lea eax, [ebp + ebp*4]
lea ecx, [ebx + edx*8]
lea esi, [ebx + eax*8]
mov dword [esp + 0x18], esi
je 0x1008dd90
call fcn.10026b20
jmp case.default.0x1008cc63
call fcn.100204a0
or eax, edx
jne 0x1008ddae
mov eax, 1
cdq
push edx
push eax
call fcn.1002d280
add esp, 8
jmp case.default.0x1008cc63
xor eax, eax
cdq
push edx
push eax
call fcn.1002d280
add esp, 8
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 1
lea edx, [ebp + ebp*4]
lea ecx, [ebx + ecx*8]
lea esi, [ebx + edx*8]
mov dword [esp + 0x18], esi
je 0x1008dde8
call fcn.10026b20
jmp case.default.0x1008cc63
call fcn.100204a0
not edx
not eax
push edx
push eax
call fcn.1002d280
add esp, 8
jmp case.default.0x1008cc63
mov eax, dword [edi + 0xc8]
mov ecx, dword [ebp + 4]
add eax, ecx
cmp byte [eax], 0
jne 0x1008de61
mov byte [eax], 1
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
lea ebx, [ebx + edx*8]
je 0x1008de2d
mov eax, dword [ebp + 0xc]
jmp 0x1008de59
mov eax, ebx
call fcn.1001b3d0
fcomp qword [0x100b4ab8]
fnstsw ax
test ah, 0x44
jnp 0x1008de48
mov eax, 1
jmp 0x1008de4a
xor eax, eax
cmp byte [ebp], 0x2d
jne 0x1008de59
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 1
je case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
jne case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x54]
lea esi, [eax + edx*8]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x38]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp + 4]
mov edi, dword [eax + ecx*4]
movsx ecx, word [edi + 0x14]
mov eax, dword [edi]
lea edx, [edi + ecx*4 + 0x58]
mov ebx, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], eax
call fcn.10079300
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008e9b0
mov ecx, dword [edi + 0x44]
mov edx, dword [esp + 0x24]
cmp ecx, dword [edx + 0x48]
jne 0x1008df10
test byte [ebp + 3], 0x20
je 0x1008e025
cmp byte [edi + 0x19], 0
je 0x1008df51
cmp dword [esp + 0x34], 0
jne 0x1008df3c
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x54]
lea eax, [eax + eax*4]
mov ebx, dword [ecx + eax*8 + 0x18]
lea eax, [ecx + eax*8]
mov dword [edi + 0x4c], ebx
mov dword [edi + 0x48], ebx
mov edx, dword [eax + 4]
mov dword [edi + 0x54], edx
jmp 0x1008dfbb
mov ax, word [esi + 0x1c]
and ax, 0xbe01
or ax, 1
mov word [esi + 0x1c], ax
jmp 0x1008e373
test byte [edi + 0x1c], 4
mov esi, dword [esp + 0x34]
jne 0x1008df85
lea ecx, [esp + 0x150]
push ecx
call fcn.1002a2a0
movzx edx, word [esi + 0x2c]
movzx ebx, word [esi + 0x2e]
add esp, 4
add edx, dword [esi + 0x20]
mov dword [edi + 0x54], edx
mov eax, dword [esp + 0x150]
mov dword [edi + 0x48], eax
jmp 0x1008df9f
lea eax, [edi + 0x48]
push eax
call fcn.1002a250
movzx ecx, word [esi + 0x2c]
movzx ebx, word [esi + 0x2e]
add esp, 4
add ecx, dword [esi + 0x20]
mov dword [edi + 0x54], ecx
mov eax, dword [edi + 0x48]
cmp eax, ebx
ja 0x1008dfab
mov dword [edi + 0x4c], eax
jmp 0x1008dfae
mov dword [edi + 0x4c], ebx
mov edx, dword [esp + 0x14]
cmp eax, dword [edx + 0x58]
ja 0x1008d6fc
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x48]
mov dword [edi + 0x44], ecx
mov ecx, dword [edi + 0x54]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1008dfdf
movzx eax, al
mov dword [esp + 0x80], eax
mov ecx, 1
jmp 0x1008dff5
lea esi, [esp + 0x80]
call fcn.1001d0b0
movzx ecx, al
mov eax, dword [esp + 0x80]
movzx edx, cl
mov dword [edi + 0x50], edx
mov edx, dword [esp + 0x28]
xor ecx, ecx
cmp ebx, eax
mov word [edi + 0x16], cx
mov dword [edx], eax
jae 0x1008e011
mov dword [edi + 0x54], ecx
mov dword [edi + 0x4c], ecx
cmp eax, 0x18003
ja 0x1008e3bf
cmp eax, dword [edi + 0x48]
ja 0x1008e3bf
movzx ecx, word [edi + 0x16]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
jg 0x1008e1fa
mov edx, dword [edi + 0x50]
mov ecx, dword [esp + 0x28]
cmp edx, dword [ecx]
jae 0x1008e1c8
mov eax, dword [edi + 0x54]
test eax, eax
jne 0x1008e0d1
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov eax, dword [edi + 0x1c]
mov ebx, dword [ecx]
mov ecx, dword [esp + 0x34]
shr eax, 2
not eax
and eax, 1
push eax
push 0
lea eax, [esp + 0xc0]
call fcn.10079e50
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1008cc63
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x30], ecx
jmp 0x1008e0d5
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
movzx ecx, word [edi + 0x16]
mov ebx, dword [edi + 0x50]
mov edx, dword [eax]
add ebx, dword [esp + 0x30]
add edx, dword [esp + 0x30]
mov esi, dword [eax + ecx*4]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x80], esi
mov dword [esp + 0x4c], edx
lea esp, [esp]
mov al, byte [ebx]
cmp al, 0x80
jae 0x1008e115
movzx eax, al
mov dword [esp + 0x94], eax
add ebx, 1
jmp 0x1008e13e
lea esi, [esp + 0x94]
mov ecx, ebx
call fcn.1001d0b0
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x50]
movzx edx, al
mov eax, dword [esp + 0x94]
add ebx, edx
mov edx, dword [esp + 0x4c]
mov dword [edi + ecx*4 + 0x58], eax
call fcn.10013640
add esi, eax
cmp esi, eax
mov dword [esp + 0x80], esi
jb 0x1008e16e
mov eax, dword [esp + 0x28]
add ecx, 1
cmp ecx, dword [esp + 0x1c]
mov dword [esp + 0x50], ecx
mov dword [eax + ecx*4], esi
jg 0x1008e171
cmp ebx, edx
jb 0x1008e100
jmp 0x1008e171
lea ebx, [edx + 1]
mov word [edi + 0x16], cx
mov ecx, ebx
sub ecx, dword [esp + 0x30]
cmp dword [edi + 0x54], 0
mov dword [edi + 0x50], ecx
jne 0x1008e1a2
lea edx, [esp + 0xb8]
push edx
call fcn.1002a1a0
mov edx, dword [esp + 0x50]
add esp, 4
mov word [esp + 0xd4], 1
cmp ebx, edx
ja 0x1008e1b5
mov eax, dword [edi + 0x48]
cmp esi, eax
ja 0x1008e1b5
cmp ebx, edx
jne 0x1008e1c8
cmp esi, eax
je 0x1008e1c8
mov eax, 0x11148
call fcn.1005f050
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
movzx ecx, word [edi + 0x16]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
jg 0x1008e1fa
cmp byte [ebp + 1], 0xf8
mov esi, dword [esp + 0x2c]
jne 0x1008df3c
mov edx, dword [ebp + 0x10]
push 0x800
push edx
mov ebx, esi
call fcn.1002a110
add esp, 8
jmp 0x1008e373
mov ecx, dword [edi + 0x4c]
mov edx, dword [esp + 0x28]
cmp ecx, dword [edx + eax*4 + 4]
lea esi, [eax*4]
mov dword [esp + 0x38], esi
jb 0x1008e243
mov eax, dword [esp + 0x2c]
test word [eax + 0x1c], 0x2460
je 0x1008e223
call fcn.10026b60
mov eax, dword [esp + 0x38]
mov ecx, dword [edi + 0x54]
mov edx, dword [esp + 0x28]
add ecx, dword [edx + eax]
mov esi, dword [esp + 0x2c]
mov edx, dword [edi + eax + 0x58]
call fcn.1001b0c0
jmp 0x1008e368
mov al, byte [ebp + 3]
test al, 0xc0
mov edx, dword [edi + esi + 0x58]
mov dword [esp + 0x94], edx
je 0x1008e263
cmp edx, 0xc
jb 0x1008e25f
test dl, 1
je 0x1008e270
test al, al
js 0x1008e270
mov eax, edx
call fcn.10013640
mov ebp, eax
test ebp, ebp
jne 0x1008e294
mov eax, 0xd
cmp eax, edx
sbb ecx, ecx
not ecx
lea eax, [esp + 0x150]
and ecx, eax
mov dword [esp + 0xdc], 0
jmp 0x1008e32f
mov ebx, dword [esp + 0x2c]
xor eax, eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
lea eax, [esp + 0xb8]
call fcn.1002d0e0
mov ecx, dword [edi + 0x1c]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + esi]
shr ecx, 2
not ecx
and ecx, 1
push ecx
mov ecx, dword [esp + 0x38]
push eax
lea eax, [esp + 0xc0]
mov ebx, ebp
call fcn.10079e50
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1008cc63
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x2c]
call fcn.1001b0c0
cmp dword [esp + 0xdc], 0
je 0x1008e368
mov cx, word [esi + 0x1c]
and cx, 0xe7ff
or cx, 0x200
mov word [esi + 0x1c], cx
mov edx, dword [esp + 0xbc]
mov dword [esi + 4], edx
mov eax, dword [esp + 0xdc]
mov dword [esi + 0x24], eax
mov cl, byte [esp + 0x43]
mov byte [esi + 0x1e], cl
mov esi, dword [esp + 0x2c]
test word [esi + 0x1c], 0x1000
je case.default.0x1008cc63
mov eax, esi
call fcn.10036060
test eax, eax
je case.default.0x1008cc63
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
push str.out_of_memory
add edi, 0x2c
mov byte [eax + 0x40], 1
call fcn.1002e3a0
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x10], 7
jmp 0x10090d79
mov eax, 0x11106
call fcn.1005f050
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 4]
mov al, byte [esi]
test al, al
lea edx, [ebp + ebp*4]
lea edi, [ebx + edx*8]
je case.default.0x1008cc63
mov ebx, dword [esp + 0x43]
lea ecx, [ecx]
push ebx
add esi, 1
call fcn.100443c0
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x1008e3f0
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov esi, dword [ebp + 0x10]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ebp + 8]
mov ebp, dword [ebp + 0xc]
lea eax, [eax + eax*4]
mov dword [esp + 0x1c], ecx
lea ecx, [ecx + eax*8 - 0x28]
movzx eax, byte [edi + 0x57]
xor edx, edx
cmp esi, edx
mov dword [esp + 0x50], ecx
lea ecx, [ebp + ebp*4]
mov dword [esp + 0x4c], eax
lea eax, [ebx + ecx*8]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], eax
je 0x1008e47a
mov edi, dword [esp + 0x1c]
mov al, byte [esi]
mov ebx, dword [esp + 0x43]
push ebx
call fcn.100443c0
mov al, byte [esi + 1]
add esi, 1
add esp, 4
add edi, 0x28
test al, al
jne 0x1008e464
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
push ecx
mov edx, edi
call fcn.10013660
add esp, 4
mov ebx, eax
call fcn.10013640
test word [edi + 0x1c], 0x4000
mov ebp, eax
je 0x1008e4c4
mov edx, dword [esp + 0x98]
or edx, dword [esp + 0x9c]
je 0x1008e4bb
mov eax, edi
call fcn.10036000
jmp 0x1008e4c4
mov eax, dword [edi + 0x10]
add dword [esp + 0x28], eax
sub ebp, eax
mov eax, ebp
cdq
add dword [esp + 0x98], eax
adc dword [esp + 0x9c], edx
cmp ebx, 0x7f
ja 0x1008e4e1
mov eax, 1
jmp 0x1008e4ec
push 0
push ebx
call fcn.10015660
add esp, 8
sub edi, 0x28
add esi, eax
cmp edi, dword [esp + 0x1c]
jae 0x1008e482
cmp esi, 0x7e
jle 0x1008e51f
mov eax, esi
cdq
push edx
push eax
call fcn.10015660
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [esp + 0x44], esi
call fcn.10015660
add esp, 0x10
cmp edi, eax
jge 0x1008e526
add esi, 1
mov dword [esp + 0x34], esi
mov eax, esi
cdq
mov edi, eax
add edi, dword [esp + 0x98]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
mov ecx, edx
adc ecx, dword [esp + 0x9c]
cdq
cmp ecx, edx
mov dword [esp + 0x188], edi
jg 0x1008d6fc
jl 0x1008e55c
cmp edi, eax
ja 0x1008d6fc
mov eax, edi
mov edi, dword [esp + 0x18]
push 0
call fcn.10030460
add esp, 4
test eax, eax
jne 0x1008e38e
mov ebx, dword [esp + 0x34]
cmp ebx, 0x80
mov ecx, edi
mov ebp, dword [ecx + 4]
jae 0x1008e58f
mov byte [ebp], bl
mov eax, 1
jmp 0x1008e598
mov eax, ebx
mov ecx, ebp
call fcn.1001d130
mov esi, dword [esp + 0x1c]
movzx edx, al
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x4c]
push eax
mov edx, esi
call fcn.10013660
mov ebx, eax
add esp, 4
cmp ebx, 0x80
jae 0x1008e5ce
mov ecx, dword [esp + 0x30]
mov byte [ecx + ebp], bl
mov eax, 1
jmp 0x1008e5dc
mov edx, dword [esp + 0x30]
lea ecx, [edx + ebp]
mov eax, ebx
call fcn.1001d130
mov ecx, dword [esp + 0x34]
movzx eax, al
add dword [esp + 0x30], eax
lea edi, [ecx + ebp]
mov ecx, ebx
mov eax, esi
call fcn.1001b2b0
add dword [esp + 0x34], eax
add esi, 0x28
cmp esi, dword [esp + 0x50]
jbe 0x1008e5a7
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
test ecx, ecx
mov edx, dword [esp + 0x188]
mov dword [eax + 0x18], edx
mov word [eax + 0x1c], 0x10
mov dword [eax + 0x20], 0
je 0x1008e62c
mov dword [eax + 0x10], ecx
mov word [eax + 0x1c], 0x4010
mov byte [eax + 0x1e], 1
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
xor ecx, ecx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], ecx
lea ecx, [esp + 0xe8]
push ecx
call fcn.1006d260
mov edx, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
test eax, eax
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x2c], eax
jne 0x1008e74a
cmp dword [esi + 0x94], eax
jle 0x1008e6a5
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x1008e7ba
mov ecx, ebx
call fcn.10016110
mov edx, dword [esi + 0x1ec]
add edx, dword [esi + 0x1e8]
mov ebp, eax
push edx
push 0
push esi
call fcn.10011d60
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008e9b8
mov esi, dword [esp + 0x14]
lea ecx, [ebp + 0x21]
call fcn.10027660
mov edi, eax
test edi, edi
je case.default.0x1008cc63
add ebp, 1
push ebp
lea eax, [edi + 0x20]
push ebx
push eax
mov dword [edi], eax
call fcn.10008750
add esp, 0xc
cmp byte [esi + 0x3e], 0
je 0x1008e70b
mov byte [esi + 0x3e], 0
mov byte [esi + 0x45], 1
jmp 0x1008e712
add dword [esi + 0x1e8], 1
mov eax, dword [esi + 0x1e0]
mov dword [edi + 0x18], eax
mov ecx, dword [esi + 0x1f0]
mov dword [esi + 0x1e0], edi
mov dword [edi + 8], ecx
mov edx, dword [esi + 0x1f4]
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x1f8]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 0x1fc]
mov dword [edi + 0x14], ecx
jmp case.default.0x1008cc63
mov ebp, dword [esi + 0x1e0]
test ebp, ebp
mov dword [esp + 0x28], 0
je 0x1008e77d
lea esp, [esp]
mov edx, dword [ebp]
push ebx
push edx
call sym.SQLite.Interop.dll_sqlite3_stricmp
add esp, 8
test eax, eax
je 0x1008e7a3
mov ebp, dword [ebp + 0x18]
add dword [esp + 0x28], 1
test ebp, ebp
jne 0x1008e760
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
push ebx
push str.no_such_savepoint:__s
add edi, 0x2c
call fcn.1002e3a0
add esp, 8
mov dword [esp + 0x10], 1
jmp case.default.0x1008cc63
cmp dword [esi + 0x94], 0
mov eax, dword [esp + 0x2c]
jle 0x1008e7da
cmp eax, 1
jne 0x1008e7da
push str.cannot_release_savepoint___SQL_statements_in_progress
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
add edi, 0x2c
call fcn.1002e3a0
add esp, 4
mov dword [esp + 0x10], 5
jmp case.default.0x1008cc63
cmp dword [ebp + 0x18], 0
jne 0x1008e82f
cmp byte [esi + 0x45], 0
je 0x1008e82f
cmp eax, 1
mov dword [esp + 0x30], 1
jne 0x1008e837
push eax
mov esi, edi
call fcn.10030140
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x10090dec
mov esi, dword [esp + 0x14]
mov eax, edi
mov byte [esi + 0x3e], 1
call fcn.1007ef60
cmp eax, 5
je 0x10091118
mov byte [esi + 0x45], bl
mov eax, dword [edi + 0x50]
mov dword [esp + 0x10], eax
jmp 0x1008e8ff
mov dword [esp + 0x30], 0
mov ecx, dword [esi + 0x1e8]
sub ecx, dword [esp + 0x28]
sub ecx, 1
cmp eax, 2
mov dword [esp + 0x28], ecx
jne 0x1008e883
xor ebx, ebx
cmp dword [esi + 0x14], ebx
jle 0x1008e883
mov dword [esp + 0x1c], ebx
jmp 0x1008e860
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + edx + 4]
push 4
push ecx
call fcn.10026c70
add dword [esp + 0x24], 0x10
add ebx, 1
add esp, 8
cmp ebx, dword [esi + 0x14]
jl 0x1008e860
cmp dword [esi + 0x14], 0
mov dword [esp + 0x4c], 0
jle 0x1008e8dd
mov dword [esp + 0x1c], 0
lea esp, [esp]
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov eax, dword [ecx + eax + 4]
push edx
call fcn.10065b70
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008e9b8
mov eax, dword [esp + 0x4c]
add dword [esp + 0x1c], 0x10
add eax, 1
cmp eax, dword [esi + 0x14]
mov dword [esp + 0x4c], eax
jl 0x1008e8a0
mov edi, 2
cmp dword [esp + 0x2c], edi
jne 0x1008e8ff
test byte [esi + 0x18], 2
je 0x1008e8ff
mov eax, esi
call fcn.100134f0
mov eax, esi
call fcn.1003e5b0
or dword [esi + 0x18], edi
cmp dword [esi + 0x1e0], ebp
je 0x1008e935
jmp 0x1008e910
mov eax, dword [esi + 0x1e0]
mov edx, dword [eax + 0x18]
mov ecx, esi
mov dword [esi + 0x1e0], edx
call fcn.10021de0
add dword [esi + 0x1e8], 0xffffffff
cmp dword [esi + 0x1e0], ebp
jne 0x1008e910
cmp dword [esp + 0x2c], 1
jne 0x1008e962
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x1e0], eax
mov eax, ebp
mov ecx, esi
call fcn.10021de0
cmp dword [esp + 0x30], 0
jne case.default.0x1008cc63
add dword [esi + 0x1e8], 0xffffffff
jmp 0x1008e991
cmp dword [esp + 0x30], 0
mov ecx, dword [ebp + 8]
mov dword [esi + 0x1f0], ecx
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x1f4], edx
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x1f8], eax
mov ecx, dword [ebp + 0x14]
mov dword [esi + 0x1fc], ecx
jne case.default.0x1008cc63
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push edx
push eax
push esi
call fcn.10011d60
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
je case.default.0x1008cc63
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x40], 0
je 0x100911f6
mov dword [esp + 0x10], 7
mov ecx, dword [esp + 0x10]
mov eax, str.unknown_error
call fcn.10011490
jmp 0x10091223
mov eax, dword [ebp + 4]
test eax, eax
mov ebp, dword [ebp + 8]
mov dword [esp + 0x38], eax
je 0x1008ea07
cmp byte [esi + 0x3e], 0
jne 0x1008ea07
test ebp, ebp
jne 0x1008ea07
cmp dword [esi + 0x94], ebp
jle 0x1008ea07
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1008e7ba
movzx ecx, byte [esi + 0x3e]
cmp eax, ecx
jne 0x10091130
test eax, eax
jne 0x1008ea1e
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1008ea2c
test ebp, ebp
mov eax, str.cannot_rollback___no_transaction_is_active
jne 0x1008ea2c
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x18]
add edi, 0x2c
call fcn.1002e3a0
add esp, 4
mov dword [esp + 0x10], 1
jmp case.default.0x1008cc63
mov eax, dword [ebp + 8]
test eax, eax
je 0x1008ea61
test dword [esi + 0x18], 0x2000000
jne 0x100911a8
mov edx, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
shl edx, 4
mov ebx, dword [edx + ecx + 4]
test ebx, ebx
je 0x1008eb5e
push eax
push ebx
call fcn.1006aee0
add esp, 8
cmp eax, 5
mov dword [esp + 0x10], eax
je 0x100911b5
test eax, eax
jne 0x1008e9b0
cmp dword [ebp + 8], eax
mov esi, dword [esp + 0x14]
je 0x1008eb38
mov edi, dword [esp + 0x24]
test byte [edi + 0x58], 0x80
je 0x1008eb38
cmp byte [esi + 0x3e], al
je 0x1008eabe
cmp dword [esi + 0x90], 1
jle 0x1008eb38
cmp dword [edi + 0x68], 0
jne 0x1008eadc
add dword [esi + 0x1ec], 1
mov eax, dword [esi + 0x1ec]
mov edx, dword [esi + 0x1e8]
add edx, eax
mov dword [edi + 0x68], edx
mov eax, dword [edi + 0x68]
sub eax, 1
push eax
push 0
push esi
call fcn.10011d60
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008eb08
mov ecx, dword [edi + 0x68]
push ecx
mov eax, ebx
call fcn.10030570
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esi + 0x1f0]
mov dword [edi + 0x98], edx
mov eax, dword [esi + 0x1f4]
mov dword [edi + 0x9c], eax
mov ecx, dword [esi + 0x1f8]
mov dword [edi + 0xa0], ecx
mov edx, dword [esi + 0x1fc]
mov dword [edi + 0xa4], edx
lea eax, [esp + 0xa4]
push eax
push 1
mov eax, ebx
call fcn.10024920
mov ecx, dword [ebp + 4]
mov edx, dword [esi + 0x10]
add esp, 8
shl ecx, 4
mov eax, dword [ecx + edx + 0xc]
mov eax, dword [eax + 4]
jmp 0x1008eb6b
mov dword [esp + 0xa4], 0
xor eax, eax
cmp byte [ebp + 3], 0
je case.default.0x1008cc63
mov ecx, dword [esp + 0xa4]
cmp ecx, dword [ebp + 0xc]
jne 0x1008eb8a
cmp eax, dword [ebp + 0x10]
je case.default.0x1008cc63
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x2c]
mov ecx, esi
call fcn.10021de0
push esi
mov ebx, str.database_schema_has_changed
call fcn.1002b420
mov dword [edi + 0x2c], eax
mov ebp, dword [ebp + 4]
mov eax, dword [esi + 0x10]
mov edx, ebp
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
mov edx, dword [esp + 0xa8]
add esp, 4
cmp dword [ecx], edx
je 0x1008ebd6
mov edi, dword [esp + 0x14]
mov esi, ebp
call fcn.1003e640
mov edi, dword [esp + 0x24]
or dword [edi + 0x58], 0x20
mov dword [esp + 0x10], 0x11
jmp case.default.0x1008cc63
mov edx, dword [ebp + 4]
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x130]
push eax
mov eax, dword [esi + 0x10]
shl edx, 4
mov eax, dword [edx + eax + 4]
push ecx
call fcn.10024920
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x20]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
shl eax, 4
add eax, dword [ecx + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
call fcn.10024820
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ebp + 8]
push eax
mov eax, dword [ecx + 4]
call fcn.10044b70
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
add esp, 4
cmp eax, 1
jne 0x1008ec76
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
or dword [eax + 0x18], 2
jmp 0x1008ec88
cmp eax, 2
jne 0x1008ec88
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
mov cl, byte [esi + 0x10]
mov byte [eax + 0x4c], cl
cmp dword [ebp + 4], 1
jne case.default.0x1008cc63
mov eax, dword [esp + 0x14]
call fcn.100134f0
and dword [edi + 0x58], 0xffffffdf
jmp case.default.0x1008cc63
test byte [edi + 0x58], 0x20
je 0x1008ecb7
mov dword [esp + 0x10], 4
jmp case.default.0x1008cc63
mov eax, dword [ebp + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x48], eax
shl eax, 4
add eax, dword [esi + 0x10]
xor ecx, ecx
cmp dl, 0x35
mov esi, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x74], esi
jne 0x1008ecf9
mov edx, dword [eax + 0xc]
mov al, byte [edx + 0x4c]
cmp al, byte [edi + 0x57]
mov dword [esp + 0x50], 1
jae 0x1008ed01
mov byte [edi + 0x57], al
jmp 0x1008ed01
mov dword [esp + 0x50], 0
test byte [ebp + 3], 2
je 0x1008ed2c
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov esi, ebx
call fcn.10024820
mov ebx, dword [ebx + 0x10]
cmp ebx, 2
mov dword [esp + 0x1c], ebx
jl 0x100911c9
mov ecx, dword [esp + 0x38]
mov al, byte [ebp + 1]
cmp al, 0xfa
mov esi, dword [esp + 0x4c]
jne 0x1008ed46
mov esi, dword [ebp + 0x10]
movzx ecx, word [esi + 8]
movzx edx, word [esi + 6]
add ecx, edx
jmp 0x1008ed4d
cmp al, 0xf2
jne 0x1008ed4d
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x48]
push 1
push eax
push ecx
mov ecx, dword [ebp + 4]
push ecx
mov ebx, edi
call fcn.10079250
mov edi, eax
add esp, 0x10
test edi, edi
je 0x1008e38e
mov edx, dword [esp + 0x1c]
mov eax, dword [edi]
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x74]
or dword [edi + 0x1c], 8
push esi
push edx
mov byte [edi + 0x19], 1
call fcn.10024980
mov ecx, dword [edi]
mov dword [edi + 8], esi
mov dword [esp + 0x18], eax
mov al, byte [ebp + 3]
xor edx, edx
and al, 1
mov byte [ecx + 0x52], al
add esp, 8
cmp byte [ebp + 1], 0xfa
setne dl
add edx, edx
add edx, edx
xor edx, dword [edi + 0x1c]
and edx, 4
xor dword [edi + 0x1c], edx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, edi
call fcn.10079250
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1008e38e
or dword [esi + 0x1c], 1
mov eax, dword [esp + 0x14]
mov byte [esi + 0x19], 1
movzx edx, byte [ebp + 3]
push 0x41e
or edx, 5
push edx
push eax
mov eax, dword [eax]
lea edi, [esi + 4]
push eax
mov ecx, edi
xor edx, edx
call fcn.1006b1a0
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008ee93
mov ecx, dword [edi]
push 1
push ecx
call fcn.1006aee0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008ee93
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x1008ee76
movzx edx, byte [ebp + 3]
or edx, 2
push edx
lea eax, [esp + 0x110]
push eax
mov eax, dword [edi]
call fcn.10078350
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008ee70
mov ecx, dword [esp + 0x10c]
mov eax, dword [esi]
push ebx
mov dword [esi + 8], ebx
push ecx
mov ecx, dword [edi]
mov ebx, 1
call fcn.10024980
add esp, 8
mov dword [esp + 0x10], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x1008ee93
mov eax, dword [esi]
mov ecx, dword [edi]
push 0
push 1
mov ebx, 1
call fcn.10024980
add esp, 8
or dword [esi + 0x1c], 4
mov dword [esp + 0x10], eax
xor edx, edx
cmp byte [ebp + 3], 8
setne dl
add edx, edx
add edx, edx
add edx, edx
xor edx, dword [esi + 0x1c]
and edx, 8
xor dword [esi + 0x1c], edx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, edi
call fcn.10079250
add esp, 0x10
test eax, eax
je 0x1008e38e
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 0x10]
push ecx
mov dword [eax + 8], edx
call fcn.1002cca0
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
push 0
push 0xffffffffffffffff
push edx
push eax
mov ebx, edi
call fcn.10079250
add esp, 0x10
test eax, eax
je 0x1008e38e
mov byte [eax + 0x19], 1
mov ecx, dword [ebp + 8]
or dword [eax + 0x1c], 4
mov dword [eax + 0x10], ecx
jmp case.default.0x1008cc63
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
push edi
call fcn.10077ef0
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
add esp, 4
mov dword [edx + ecx*4], 0
jmp case.default.0x1008cc63
mov ecx, dword [edi + 0x38]
mov eax, dword [ebp + 4]
mov edi, dword [ecx + eax*4]
test byte [edi + 0x1c], 4
movzx ecx, byte [ebp]
mov dword [esp + 0x28], ecx
mov byte [edi + 0x19], 0
je 0x1008f017
mov eax, dword [ebp + 0xc]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
call fcn.10020210
mov ecx, esi
call fcn.100204a0
mov ebx, eax
mov byte [edi + 0x1a], 0
movzx eax, word [esi + 0x1c]
test al, 4
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], edx
jne 0x1008efd9
test al, 8
jne 0x1008efa2
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
fild qword [esp + 0x110]
fcom qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x1008efc3
test byte [esp + 0x28], 1
fstp st(0)
jne 0x1008efd9
sub dword [esp + 0x28], 1
jmp 0x1008efd9
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x1008efd9
test byte [esp + 0x28], 1
je 0x1008efd9
add dword [esp + 0x28], 1
lea eax, [esp + 0x64]
push eax
mov eax, dword [edi]
push 0
push edx
push ebx
push 0
call fcn.1006e4d0
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008e9b0
cmp dword [esp + 0x64], eax
jne 0x1008f08b
mov ecx, dword [esp + 0x114]
mov byte [edi + 0x1a], 1
mov dword [edi + 0x38], ebx
mov dword [edi + 0x3c], ecx
jmp 0x1008f08b
mov eax, dword [ebp + 0x10]
mov edx, dword [edi + 8]
add ecx, 0xffffffff
mov word [esp + 0x1f4], ax
test cl, 1
sete al
mov dword [esp + 0x1f0], edx
lea eax, [eax + eax - 1]
mov byte [esp + 0x1f6], al
mov eax, dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea ebx, [ebx + ecx*8]
mov dword [esp + 0x1f8], ebx
test word [ebx + 0x1c], 0x4000
je 0x1008f05f
mov eax, ebx
call fcn.10036000
lea edx, [esp + 0x64]
push edx
push 0
push 0
lea eax, [esp + 0x1fc]
push 0
push eax
mov eax, dword [edi]
call fcn.1006e4d0
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008e9b0
mov byte [edi + 0x1a], al
mov ecx, dword [esp + 0x28]
xor esi, esi
cmp ecx, 0x3d
mov byte [edi + 0x1b], 0
mov dword [edi + 0x44], esi
mov eax, dword [esp + 0x64]
jl 0x1008f0c8
cmp eax, esi
jl 0x1008f0b5
jne 0x1008f0ac
cmp ecx, 0x3e
je 0x1008f0b5
mov dword [esp + 0x64], esi
jmp case.default.0x1008cc63
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], esi
mov edx, dword [edi]
push ecx
push edx
call fcn.10078790
jmp 0x1008f0f5
cmp eax, esi
jg 0x1008f0e4
jne 0x1008f0d3
cmp ecx, 0x3b
je 0x1008f0e4
mov eax, dword [edi]
xor ecx, ecx
cmp byte [eax + 0x51], 1
setne cl
mov dword [esp + 0x64], ecx
jmp 0x1008f108
lea edx, [esp + 0x64]
mov dword [esp + 0x64], esi
mov eax, dword [edi]
push edx
push eax
call fcn.10078600
add esp, 8
cmp eax, esi
mov dword [esp + 0x10], eax
jne 0x1008e9b0
mov byte [edi + 0x1a], 0
cmp dword [esp + 0x64], 0
je case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov byte [esi + 0x19], 0
mov ebp, dword [ebp + 8]
lea eax, [ebp + ebp*4]
lea ecx, [ebx + eax*8]
call fcn.100204a0
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 0
mov byte [esi + 0x1b], 1
jmp case.default.0x1008cc63
mov eax, dword [ebp + 0xc]
mov edx, dword [edi + 0x38]
mov ecx, dword [ebp + 4]
mov ecx, dword [edx + ecx*4]
lea eax, [eax + eax*4]
xor edi, edi
cmp dword [ebp + 0x10], edi
lea ebx, [ebx + eax*8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], edi
jle 0x1008f1d0
mov ecx, dword [ecx + 8]
mov dword [esp + 0x134], ecx
mov cx, word [ebp + 0x10]
cmp cx, di
mov word [esp + 0x138], cx
mov dword [esp + 0x13c], ebx
jbe 0x1008f1c7
xor ebx, ebx
mov edx, dword [esp + 0x13c]
test word [ebx + edx + 0x1c], 0x4000
lea eax, [ebx + edx]
je 0x1008f1ba
call fcn.10036000
mov cx, word [esp + 0x138]
movzx eax, cx
add edi, 1
add ebx, 0x28
cmp edi, eax
jl 0x1008f19a
lea edi, [esp + 0x134]
jmp 0x1008f21a
mov ecx, dword [esp + 0x1c]
mov edi, dword [ecx + 8]
push 0xbf
lea ebx, [esp + 0x50]
lea edx, [esp + 0x2ac]
call fcn.1002a010
mov edi, eax
add esp, 4
test edi, edi
je 0x1008e38e
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x1c]
push edi
push edx
mov edx, dword [ecx + 8]
push eax
push edx
call fcn.100202e0
mov esi, dword [esp + 0x24]
add esp, 0x10
mov byte [edi + 6], 0
cmp byte [ebp], 0x40
jne 0x1008f25b
movzx edx, word [esp + 0x138]
xor eax, eax
test edx, edx
jle 0x1008f25b
mov ecx, dword [esp + 0x13c]
add ecx, 0x1c
lea esp, [esp]
test byte [ecx], 1
jne 0x1008f251
add eax, 1
add ecx, 0x28
cmp eax, edx
jl 0x1008f240
jmp 0x1008f25b
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [esp + 0x20], eax
lea eax, [esp + 0x120]
push eax
push 0
push 0
push 0
push edi
mov edi, dword [esp + 0x30]
mov eax, dword [edi]
call fcn.1006e4d0
add esp, 0x14
cmp dword [ebp + 0x10], 0
mov ebx, eax
mov dword [esp + 0x10], ebx
jne 0x1008f28f
mov eax, dword [esp + 0x4c]
mov ecx, esi
call fcn.10021de0
test ebx, ebx
jne case.default.0x1008cc63
mov ecx, dword [esp + 0x120]
xor eax, eax
test ecx, ecx
mov dword [edi + 0xc], ecx
sete al
mov cl, 1
sub cl, al
mov byte [edi + 0x19], cl
mov byte [edi + 0x1b], bl
mov dword [edi + 0x44], ebx
cmp byte [ebp], 0x42
je 0x1008de59
test eax, eax
jne case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [ebp + 0xc]
mov ecx, dword [edi + 0x38]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov esi, dword [ecx + eax*4]
mov ecx, dword [ebx + edx*8 + 0x10]
mov eax, dword [esi]
lea ebx, [ebx + edx*8]
mov edx, dword [ebx + 0x14]
lea edi, [esp + 0x50]
push edi
push 0
push edx
push ecx
push 0
mov dword [esp + 0x64], 0
call fcn.1006e4d0
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x24], eax
mov dword [esi + 0x38], edx
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x64]
add esp, 0x14
test eax, eax
sete cl
test eax, eax
mov byte [esi + 0x1a], cl
mov byte [esi + 0x19], 0
mov dword [esi + 0x44], 0
mov byte [esi + 0x1b], 0
je 0x1008f345
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
mov dword [esi + 0xc], eax
jmp case.default.0x1008cc63
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x28]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x10], edx
mov eax, dword [eax + 0x2c]
mov dword [ecx + 0x14], eax
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ecx]
xor edx, edx
cmp eax, edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], ecx
je 0x1008f57a
test byte [ecx + 0x1c], 2
jne 0x1008f41c
lea edi, [esp + 0x34]
mov esi, eax
call fcn.1006e960
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008e9b0
cmp dword [esp + 0x34], eax
je 0x1008f3d2
mov dword [esp + 0x58], 1
mov dword [esp + 0x5c], eax
jmp 0x1008f410
mov eax, dword [esp + 0x28]
mov esi, dword [eax]
lea edx, [esp + 0x58]
push edx
call fcn.1002a2a0
add esp, 4
cmp dword [esp + 0x5c], 0x7fffffff
mov dword [esp + 0x10], eax
jl 0x1008f406
jg 0x1008f3fc
cmp dword [esp + 0x58], 0xffffffff
jb 0x1008f406
mov eax, dword [esp + 0x28]
or dword [eax + 0x1c], 2
jmp 0x1008f410
add dword [esp + 0x58], 1
adc dword [esp + 0x5c], 0
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov ebp, dword [ebp + 0xc]
test ebp, ebp
je 0x1008f4ac
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x1008f44d
mov eax, dword [ecx + 4]
test eax, eax
je 0x1008f441
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x1008f438
mov eax, dword [ecx + 0xc]
lea edx, [ebp + ebp*4]
lea esi, [eax + edx*8]
jmp 0x1008f454
lea ecx, [ebp + ebp*4]
lea esi, [ebx + ecx*8]
call fcn.10024820
mov eax, dword [esi + 0x10]
cmp eax, 0xffffffff
mov ecx, dword [esi + 0x14]
jne 0x1008f470
cmp ecx, 0x7fffffff
je 0x100911dc
mov edx, dword [esp + 0x28]
test byte [edx + 0x1c], 2
jne 0x100911dc
mov edx, dword [esp + 0x5c]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x1008f49e
jl 0x1008f494
cmp dword [esp + 0x58], eax
jae 0x1008f49e
mov edx, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x58]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x1c], 2
mov ebx, ecx
je 0x1008f56b
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
and eax, 0x3fffffff
add ecx, 1
adc eax, 0
lea edx, [esp + 0x34]
push edx
xor ebp, ebp
push ebp
push eax
push ecx
mov dword [esp + 0x6c], eax
mov eax, dword [ebx]
push ebp
mov dword [esp + 0x6c], ecx
call fcn.1006e4d0
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008f56b
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x1008f55c
add ebp, 1
cmp ebp, 0x64
jge 0x1008f55c
lea eax, [esp + 0x58]
push eax
push 8
call sym.SQLite.Interop.dll_sqlite3_randomness
mov eax, dword [esp + 0x60]
add esp, 8
cmp ebp, 5
jge 0x1008f525
and eax, 0xffffff
xor ecx, ecx
jmp 0x1008f52f
mov ecx, dword [esp + 0x5c]
and ecx, 0x3fffffff
add eax, 1
lea edx, [esp + 0x34]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [esp + 0x68], eax
mov eax, dword [ebx]
push 0
mov dword [esp + 0x70], ecx
call fcn.1006e4d0
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
je 0x1008f4f4
jmp 0x1008f56b
cmp dword [esp + 0x10], 0
jne 0x1008f56b
test eax, eax
je 0x100911e9
mov byte [ebx + 0x1a], 0
mov byte [ebx + 0x1b], 0
mov dword [ebx + 0x44], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp case.default.0x1008cc63
cmp dl, 0x46
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ebp + 4]
mov dword [esp + 0x38], ecx
mov ecx, dword [edi + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x48], ecx
jne 0x1008f5c0
lea edx, [eax + eax*4]
mov eax, dword [ebx + edx*8 + 0x10]
mov ebx, dword [ebx + edx*8 + 0x14]
jmp 0x1008f5c3
cdq
mov ebx, edx
test byte [ebp + 3], 1
mov dword [esp + 0x148], eax
je 0x1008f5d4
add dword [edi + 0x5c], 1
test byte [ebp + 3], 2
je 0x1008f5e8
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ebx
mov esi, dword [esp + 0x38]
movzx edx, word [esi + 0x1c]
test dl, 1
je 0x1008f5fd
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov al, byte [ebp + 3]
test al, 0x10
je 0x1008f609
mov edi, dword [ecx + 0xc]
jmp 0x1008f60b
xor edi, edi
test edx, 0x4000
je 0x1008f618
mov ecx, dword [esi + 0x10]
jmp 0x1008f61a
xor ecx, ecx
mov edx, dword [esi + 0x18]
push edi
mov edi, dword [esp + 0x14c]
shr eax, 3
and eax, 1
push eax
mov eax, dword [esi + 4]
mov esi, dword [esp + 0x50]
push ecx
mov ecx, dword [esi]
push edx
push eax
push ebx
push edi
push 0
push ecx
call fcn.100783a0
add esp, 0x24
test eax, eax
mov dword [esp + 0x10], eax
mov byte [esi + 0x1a], 0
mov byte [esi + 0x1b], 0
mov dword [esi + 0x44], 0
jne case.default.0x1008cc63
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0xc8]
test ecx, ecx
je case.default.0x1008cc63
mov eax, dword [ebp + 0x10]
test eax, eax
je case.default.0x1008cc63
movsx edx, byte [esi + 0x18]
push ebx
push edi
push eax
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0xc4]
shl edx, 4
mov edx, dword [edx + esi]
push edx
mov dl, byte [ebp + 3]
and dl, 4
neg dl
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
jmp case.default.0x1008cc63
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov ebx, dword [edx + ecx*4]
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
call fcn.10079300
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008e9b8
mov eax, dword [ebx]
call fcn.1007a9d0
test eax, eax
mov dword [esp + 0x10], eax
mov dword [ebx + 0x44], 0
jne 0x1008f73c
mov ecx, dword [esi + 0xc8]
test ecx, ecx
je 0x1008f73c
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1008f73c
test byte [ebx + 0x1c], 4
je 0x1008f73c
mov edx, dword [esp + 0x11c]
push edx
mov edx, dword [esp + 0x11c]
push edx
mov edx, dword [esi + 0x10]
push eax
movsx eax, byte [ebx + 0x18]
shl eax, 4
mov eax, dword [eax + edx]
mov edx, dword [esi + 0xc4]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [ebp + 8], 1
je case.default.0x1008cc63
mov eax, dword [esp + 0x24]
add dword [eax + 0x5c], 1
jmp case.default.0x1008cc63
mov eax, dword [edi + 0x5c]
add dword [esi + 0x54], eax
mov dword [esi + 0x50], eax
mov dword [edi + 0x5c], 0
jmp case.default.0x1008cc63
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x38]
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0x54]
mov ebx, dword [ebp + 0x10]
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*8]
lea ecx, [esp + 0x128]
push ecx
call fcn.10063700
add esp, 4
cmp dword [esp + 0x128], 0
mov dword [esp + 0x10], eax
je case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea ecx, [ebx + edx*8]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x18], ecx
call fcn.10035580
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edi + 0x38]
mov ebx, dword [eax + edx*4]
mov ebp, dword [ebx]
mov dword [esp + 0x18], ecx
call fcn.10079300
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008e9b8
test byte [ebx + 0x1c], 4
mov esi, ebp
jne 0x1008f84c
lea ecx, [esp + 0x180]
push ecx
call fcn.1002a2a0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x58]
mov ecx, dword [esp + 0x188]
cdq
add esp, 4
cmp ecx, edx
jg 0x1008d6fc
mov esi, dword [esp + 0x180]
jl 0x1008f843
cmp esi, eax
ja 0x1008d6fc
mov dword [esp + 0xe4], esi
jmp 0x1008f870
lea edx, [esp + 0xe4]
push edx
call fcn.1002a250
mov esi, dword [esp + 0xe8]
mov eax, dword [esp + 0x18]
add esp, 4
cmp esi, dword [eax + 0x58]
ja 0x1008d6fc
mov edi, dword [esp + 0x18]
push 0
mov eax, esi
call fcn.10030460
add esp, 4
test eax, eax
jne 0x1008e38e
mov cx, word [edi + 0x1c]
and cx, 0xbe10
or cx, 0x10
mov dword [edi + 0x18], esi
mov word [edi + 0x1c], cx
test byte [ebx + 0x1c], 4
jne 0x1008f8c2
mov eax, dword [edi + 4]
push 0
push eax
push esi
push 0
mov esi, ebp
call fcn.1006a9e0
mov dword [esp + 0x20], eax
add esp, 0x10
mov byte [edi + 0x1e], 1
jmp case.default.0x1008cc63
mov edx, dword [edi + 4]
push edx
push esi
push 0
push ebp
call fcn.100788f0
mov dword [esp + 0x20], eax
add esp, 0x10
mov byte [edi + 0x1e], 1
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov ebx, dword [ecx + eax*4]
cmp byte [ebx + 0x19], 0
je 0x1008f8fd
mov edx, dword [esp + 0x18]
mov word [edx + 0x1c], 1
jmp case.default.0x1008cc63
cmp byte [ebx + 0x1b], 0
je 0x1008f919
mov eax, dword [ebx + 0x30]
mov dword [esp + 0xa8], eax
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0xac], ecx
jmp 0x1008f986
cmp dword [ebx + 0x20], 0
je 0x1008f944
mov ebx, dword [ebx + 0x20]
mov esi, dword [ebx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
lea edx, [esp + 0xa8]
push edx
push ebx
call eax
push esi
push edi
mov dword [esp + 0x20], eax
call fcn.1002ce80
add esp, 0x10
jmp 0x1008f986
call fcn.10079300
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008e9b8
cmp byte [ebx + 0x1a], al
je 0x1008f970
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0xa8], ecx
mov edx, dword [ebx + 0x3c]
mov dword [esp + 0xac], edx
jmp 0x1008f986
mov esi, dword [ebx]
lea eax, [esp + 0xa8]
push eax
call fcn.1002a2a0
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x19], 1
mov byte [eax + 0x1a], 0
mov dword [eax + 0x44], 0
mov eax, dword [eax]
test eax, eax
je case.default.0x1008cc63
mov esi, eax
call fcn.10020730
jmp case.default.0x1008cc63
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x38]
mov ebx, dword [ecx + edx*4]
mov esi, dword [ebx]
lea edi, [esp + 0x2c]
mov dword [esp + 0x2c], 0
call fcn.1006e960
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov byte [ebx + 0x19], al
mov byte [ebx + 0x1b], 0
mov byte [ebx + 0x1a], 0
mov dword [ebx + 0x44], 0
mov ebp, dword [ebp + 8]
test ebp, ebp
jle case.default.0x1008cc63
test eax, eax
je case.default.0x1008cc63
add ebp, 0xffffffff
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
add dword [edi + 0x74], 1
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov ebx, dword [eax + edx*4]
cmp dword [ebx + 0x40], 0
mov dword [esp + 0x1c], 1
je 0x1008fa66
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebx
mov edx, esi
call fcn.10066660
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
add esp, 4
mov byte [ebx + 0x19], al
jmp 0x1008de59
mov esi, dword [ebx]
lea edi, [esp + 0x1c]
call fcn.1006e9b0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov byte [ebx + 0x1b], 0
mov dword [ebx + 0x44], 0
mov byte [ebx + 0x1a], 0
mov byte [ebx + 0x19], al
jmp 0x1008de59
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov ebx, dword [eax + edx*4]
lea ecx, [esp + 0x8c]
push ecx
push ebx
mov eax, esi
mov dword [esp + 0x94], 0
call fcn.10063750
jmp 0x1008fae9
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
cmp dword [eax + edx*4], 0
je case.default.0x1008cc63
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov ebx, dword [edx + ecx*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x8c], eax
mov edx, dword [ebx]
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x8c]
push ecx
push edx
call eax
add esp, 8
mov dword [ebx + 0x44], 0
cmp dword [esp + 0x8c], 0
mov dword [esp + 0x10], eax
jne 0x1008fb25
mov byte [ebx + 0x19], 0
mov eax, dword [ebp + 8]
movzx ecx, byte [ebp + 3]
sub eax, 1
add dword [edi + ecx*4 + 0x6c], 1
mov dword [esp + 0x20], eax
lea eax, [edi + ecx*4 + 0x6c]
mov byte [ebx + 0x1a], 0
jmp 0x10090d14
mov byte [ebx + 0x19], 1
mov byte [ebx + 0x1a], 0
jmp 0x10090d14
test byte [ebp + 3], 1
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x1c], ecx
lea ebx, [ebx + edx*8]
mov dword [esp + 0x38], eax
je 0x1008fb58
add dword [edi + 0x5c], 1
test word [ebx + 0x1c], 0x4000
je 0x1008fb77
mov eax, ebx
call fcn.10036000
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1008cc63
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x40], 0
je 0x1008fb95
mov ecx, dword [esp + 0x1c]
push ebx
push ecx
push esi
call fcn.10066960
add esp, 0xc
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
test byte [ebp + 3], 0x10
mov eax, dword [ebx + 0x18]
mov ebx, dword [ebx + 4]
je 0x1008fba6
mov ecx, dword [ecx + 0xc]
jmp 0x1008fba8
xor ecx, ecx
mov edx, dword [ebp + 0xc]
push ecx
push edx
push 0
push 0
cdq
push 0x100af3b4
push edx
push eax
mov eax, dword [esp + 0x54]
push ebx
push eax
call fcn.100783a0
mov ecx, dword [esp + 0x40]
add esp, 0x24
mov dword [esp + 0x10], eax
mov dword [ecx + 0x44], 0
jmp case.default.0x1008cc63
mov edx, dword [ebp + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
mov edi, dword [esi]
mov ecx, dword [esi + 8]
mov dx, word [ebp + 0xc]
mov ebp, dword [ebp + 8]
mov word [esp + 0x1e0], dx
lea edx, [esp + 0x12c]
push edx
push 0
lea eax, [ebp + ebp*4]
mov dword [esp + 0x1e4], ecx
lea ecx, [ebx + eax*8]
push 0
lea eax, [esp + 0x1e8]
push 0
push eax
mov eax, edi
mov byte [esp + 0x1f6], 0
mov dword [esp + 0x1f8], ecx
call fcn.1006e4d0
add esp, 0x14
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008fc51
cmp dword [esp + 0x12c], eax
jne 0x1008fc51
mov eax, edi
call fcn.1007a9d0
mov dword [esp + 0x10], eax
mov dword [esi + 0x44], 0
jmp case.default.0x1008cc63
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov ebx, dword [edx + ecx*4]
mov eax, dword [esp + 0x18]
mov ebp, dword [ebx]
mov word [eax + 0x1c], 1
call fcn.10079300
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1008e9b8
cmp byte [ebx + 0x19], al
jne case.default.0x1008cc63
lea ecx, [esp + 0xf0]
xor ebx, ebx
push ecx
mov eax, ebp
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
call fcn.1007ee00
add esp, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x1008e9b8
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
mov word [eax + 0x1c], 4
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x38]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi + 8]
mov cx, word [ebp + 0x10]
mov dword [esp + 0x204], eax
mov eax, dword [ebp + 0xc]
cmp dl, 0x70
mov word [esp + 0x208], cx
mov ecx, dword [esp + 0x54]
sbb dl, dl
lea eax, [eax + eax*4]
mov byte [esp + 0x20a], dl
lea edx, [ecx + eax*8]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x208]
push ecx
mov dword [esp + 0x214], edx
mov dword [esp + 0x30], 0
call fcn.1007ed20
add esp, 8
test byte [ebp], 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
jne 0x1008fd4f
neg eax
jmp 0x1008fd52
add eax, 1
test eax, eax
jle case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [esi + 4]
xor edx, edx
test eax, eax
je 0x1008fd9e
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x1008fd97
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x1008fd97
and cl, 0xc
cmp cl, 8
jae 0x1008fd97
cmp dword [eax + 0x4c], 0
jl 0x1008fd97
add edx, 1
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x1008fd72
cmp edx, 1
mov eax, dword [esp + 0x18]
mov word [eax + 0x1c], 1
jle 0x1008fdbe
mov dword [esp + 0x10], 6
mov byte [edi + 0x56], 2
jmp case.default.0x1008cc63
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [esi + 0x10]
mov eax, ebx
shl eax, 4
mov eax, dword [eax + ecx + 4]
push edx
mov dword [esp + 0x7c], 0
call fcn.1007a980
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x20]
mov edi, eax
mov eax, esi
cdq
add esp, 8
test edi, edi
mov dword [esp + 0x10], edi
mov word [ecx + 0x1c], 4
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jne case.default.0x1008cc63
test esi, esi
je case.default.0x1008cc63
mov edi, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
mov eax, ebx
call fcn.100124d0
add bl, 1
mov byte [esp + 0x63], bl
jmp case.default.0x1008cc63
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
neg edx
sbb edx, edx
lea eax, [esp + 0x48]
and edx, eax
mov eax, dword [esi + 0x10]
push edx
mov edx, dword [ebp + 8]
push ecx
shl edx, 4
mov dword [esp + 0x50], 0
mov ecx, dword [edx + eax + 4]
push ecx
call fcn.10074890
add esp, 0xc
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x10], eax
je case.default.0x1008cc63
mov eax, dword [esp + 0x48]
add dword [edi + 0x5c], eax
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jle case.default.0x1008cc63
lea edx, [ebp + ebp*4]
lea ecx, [ebx + edx*8 + 0x10]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.default.0x1008cc63
mov ecx, dword [edi + 0x38]
mov eax, dword [ebp + 4]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 0x40]
test edi, edi
je 0x1008feb2
mov edx, dword [esp + 0x14]
push edx
call fcn.10026a60
add esp, 4
jmp case.default.0x1008cc63
mov eax, dword [eax]
call fcn.10078330
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
mov ebp, dword [ebp + 4]
xor eax, eax
shl ebp, 4
add ebp, dword [esi + 0x10]
cmp dl, 0x76
setne al
mov dword [esp + 0x38], 0
add eax, 1
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, dword [ebp + 4]
call fcn.10078350
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
cdq
add esp, 8
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
cmp eax, 1
mov ecx, str.sqlite_temp_master
je 0x1008ff19
mov ecx, str.sqlite_master
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 0x14]
push edx
push ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x178], eax
add edi, 0x2c
shl eax, 4
mov dword [esp + 0x170], esi
mov dword [esp + 0x174], edi
mov edx, dword [eax + ecx]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.10030b20
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x1008ff61
mov dword [esp + 0x10], 7
jmp 0x1008ffb7
push 0
lea eax, [esp + 0x16c]
push eax
push fcn.1008b0d0
push edi
push esi
mov byte [esi + 0x89], 1
mov dword [esp + 0x188], 0
call sym.SQLite.Interop.dll_sqlite3_exec
mov ebx, eax
add esp, 0x14
test ebx, ebx
mov dword [esp + 0x10], ebx
jne 0x1008ffa3
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x10], ecx
mov ebx, ecx
mov eax, edi
mov ecx, esi
call fcn.10021de0
test ebx, ebx
mov byte [esi + 0x89], 0
je 0x1008ffbe
mov eax, esi
call fcn.1003e5b0
cmp dword [esp + 0x10], 7
je 0x1008e38e
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
push esi
call fcn.1008c640
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push esi
call fcn.1003e520
add esp, 4
jmp case.default.0x1008cc63
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push esi
call fcn.10034a60
add esp, 4
jmp case.default.0x1008cc63
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push esi
call fcn.1003c130
add esp, 4
jmp case.default.0x1008cc63
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x14]
lea ecx, [eax*4 + 4]
mov dword [esp + 0x30], eax
call fcn.10027660
mov ebx, eax
test ebx, ebx
je 0x1008e38e
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x54]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
xor edi, edi
cmp dword [esp + 0x30], edi
lea eax, [ecx + eax*8]
lea esi, [ecx + edx*8]
mov dword [esp + 0x2c], eax
jle 0x10090080
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
call fcn.100204a0
add dword [esp + 0x1c], 0x28
mov dword [ebx + edi*4], eax
add edi, 1
cmp edi, dword [esp + 0x30]
jl 0x10090066
mov eax, dword [esp + 0x30]
mov dword [ebx + edi*4], 0
mov edx, dword [esi + 0x10]
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x124]
push ecx
push edx
movzx edx, byte [ebp + 3]
push eax
mov eax, dword [edi + 0x10]
shl edx, 4
mov edx, dword [edx + eax + 4]
mov ecx, ebx
call fcn.1006ce40
mov ebp, eax
add esp, 0xc
mov eax, ebx
mov ecx, edi
call fcn.10021de0
mov edi, dword [esp + 0x124]
mov eax, edi
cdq
sub dword [esi + 0x10], eax
sbb dword [esi + 0x14], edx
mov esi, dword [esp + 0x2c]
call fcn.10026b20
test edi, edi
je 0x100900f9
test ebp, ebp
je 0x1008e38e
push 1
push ebp
mov eax, sym.SQLite.Interop.dll_sqlite3_free
or ecx, 0xffffffff
mov edx, esi
call fcn.1003a940
add esp, 8
movzx ecx, byte [esp + 0x43]
mov eax, dword [esp + 0x2c]
call fcn.1003abb0
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ebp, dword [ebp + 8]
lea ecx, [eax + eax*4]
lea edx, [ebp + ebp*4]
lea edi, [ebx + ecx*8]
lea esi, [ebx + edx*8]
mov bl, 0x20
test byte [edi + 0x1c], bl
jne 0x10090134
call fcn.1002d130
test byte [edi + 0x1c], bl
je 0x1008e38e
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edi, dword [edi + 0x10]
push eax
push ecx
call fcn.1002dd00
add esp, 8
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
test byte [ebx + edx*8 + 0x1c], 0x20
lea eax, [ebx + edx*8]
mov dword [esp + 0x2c], eax
je 0x1009019e
mov eax, dword [eax + 0x10]
lea esi, [esp + 0x178]
call fcn.10027050
test eax, eax
je 0x1009019e
mov ecx, dword [esp + 0x17c]
mov ebp, dword [ebp + 0xc]
mov edx, dword [esp + 0x178]
push ecx
lea eax, [ebp + ebp*4]
push edx
lea esi, [ebx + eax*8]
call fcn.1002d280
mov esi, dword [esp + 0x1c]
add esp, 8
jmp 0x10090d14
mov esi, dword [esp + 0x2c]
call fcn.10026b20
mov esi, dword [esp + 0x14]
jmp case.0x1008cc63.15
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
test byte [ebx + ecx*8 + 0x1c], 0x20
mov eax, dword [ebp + 0xc]
lea edi, [ebx + ecx*8]
lea edx, [eax + eax*4]
lea esi, [ebx + edx*8]
mov ebx, dword [ebp + 0x10]
jne 0x100901db
call fcn.1002d130
test byte [edi + 0x1c], 0x20
je 0x1008e38e
test ebx, ebx
je 0x10090203
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edi + 0x10]
push ecx
push ebx
call fcn.1002dbc0
add esp, 0xc
test eax, eax
jne 0x1008de61
test ebx, ebx
jl case.default.0x1008cc63
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov edi, dword [edi + 0x10]
push edx
push eax
call fcn.1002dd00
add esp, 8
jmp case.default.0x1008cc63
cmp byte [ebp + 3], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
lea edx, [eax + eax*4]
mov dword [esp + 0x1c], ecx
lea ebx, [ebx + edx*8]
je 0x10090250
mov eax, dword [edi + 0xb0]
test eax, eax
mov ecx, dword [ecx + 0x14]
je 0x10090250
mov edi, edi
cmp dword [eax + 0x18], ecx
je case.default.0x1008cc63
mov eax, dword [eax + 4]
test eax, eax
jne 0x10090240
mov eax, dword [edi + 0xb8]
cmp eax, dword [esi + 0x80]
jl 0x10090283
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
push str.too_many_levels_of_trigger_recursion
add edi, 0x2c
mov dword [esp + 0x14], 1
call fcn.1002e3a0
add esp, 4
jmp case.default.0x1008cc63
test byte [ebx + 0x1c], 0x40
jne 0x10090346
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xc]
mov ebp, dword [ecx + 8]
mov ecx, dword [ecx + 0x10]
add ebp, eax
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*2]
lea edi, [ecx + eax*4 + 0x48]
mov eax, dword [esp + 0x14]
call fcn.100276e0
mov esi, eax
test esi, esi
je 0x1008e38e
push ebx
call fcn.1002a1a0
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov word [ebx + 0x1c], 0x40
mov dword [ebx + 0x10], esi
mov dword [esi], eax
mov dword [esi + 0x3c], ebp
mov edx, dword [edi + 0xc]
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x40], edx
mov edx, dword [eax + 8]
mov dword [esi + 0xc], edx
mov ecx, dword [eax + 0x1c]
mov dword [esi + 0x34], ecx
mov edx, dword [eax + 0x38]
mov dword [esi + 0x14], edx
mov ecx, dword [eax + 0x24]
mov dword [esi + 0x28], ecx
mov edx, dword [eax + 4]
mov dword [esi + 8], edx
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x30], ecx
mov edx, dword [edi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [eax + 0xc8]
mov dword [esi + 0x10], ecx
mov edx, dword [eax + 0xc4]
lea ecx, [ebp + ebp*4]
mov dword [esi + 0x38], edx
lea edx, [esi + ecx*8 + 0x48]
lea ecx, [esi + 0x48]
add esp, 4
cmp ecx, edx
je 0x10090351
mov ebx, dword [esp + 0x14]
mov word [ecx + 0x1c], 0x80
mov dword [ecx], ebx
add ecx, 0x28
cmp ecx, edx
jne 0x10090335
jmp 0x10090351
mov esi, dword [ebx + 0x10]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
add dword [eax + 0xb8], 1
mov edx, dword [eax + 0xb0]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esi + 0x20], edx
mov edx, dword [esp + 0x6c]
mov dword [esi + 0x24], edx
mov edx, dword [eax + 0x5c]
mov dword [esi + 0x44], edx
lea ecx, [esi + 0x20]
mov dword [eax + 8], ecx
mov dword [eax + 0x5c], 0
mov dword [eax + 0xb0], esi
mov edx, dword [esi + 0x3c]
mov dword [eax + 0x1c], edx
movzx edx, word [esi + 0x40]
mov dword [eax + 0x24], edx
mov edx, dword [eax + 0x1c]
add edx, 1
lea edx, [edx + edx*4]
lea edx, [ecx + edx*8]
mov dword [esp + 0x54], ecx
mov dword [eax + 0x38], edx
mov ecx, dword [edi]
mov dword [eax + 4], ecx
mov dword [esp + 0xa0], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0x20], ecx
mov ecx, dword [eax + 0x24]
lea ecx, [edx + ecx*4]
mov dword [eax + 0xc8], ecx
mov edi, dword [edi + 0x10]
push edi
push 0
push ecx
mov dword [eax + 0xc4], edi
mov dword [esp + 0x2c], 0xffffffff
call fcn.10003bb0
add esp, 0xc
jmp case.default.0x1008cc63
mov edi, dword [edi + 0xb0]
mov eax, dword [edi + 0x2c]
mov ebx, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [ebp + 4]
mov edx, dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
push 0x1000
push eax
call fcn.1002a110
add esp, 8
jmp case.default.0x1008cc63
test dword [esi + 0x18], 0x1000000
mov eax, dword [ebp + 8]
cdq
je 0x1009043c
add dword [esi + 0x1f8], eax
adc dword [esi + 0x1fc], edx
jmp case.default.0x1008cc63
cmp dword [ebp + 4], 0
je 0x10090453
add dword [esi + 0x1f0], eax
adc dword [esi + 0x1f4], edx
jmp case.default.0x1008cc63
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.default.0x1008cc63
cmp dword [ebp + 4], 0
je 0x1009049d
mov ecx, dword [esi + 0x1f0]
or ecx, dword [esi + 0x1f4]
jne case.default.0x1008cc63
mov edx, dword [esi + 0x1f8]
or edx, dword [esi + 0x1fc]
jne case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jne case.default.0x1008cc63
mov ecx, dword [esi + 0x1f8]
or ecx, dword [esi + 0x1fc]
jne case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov edi, dword [edi + 0xb0]
test edi, edi
je 0x100904fa
mov ecx, edi
mov eax, dword [ecx + 4]
test eax, eax
je 0x100904ec
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x100904e3
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0xc]
lea edi, [eax + edx*8]
jmp 0x10090503
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
lea edi, [ebx + ecx*8]
mov esi, edi
call fcn.10024820
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea esi, [ebx + edx*8]
call fcn.10024820
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov ecx, dword [edi + 0x14]
cmp ecx, esi
jg case.default.0x1008cc63
jl 0x10090537
mov edx, dword [edi + 0x10]
cmp edx, eax
jae case.default.0x1008cc63
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], esi
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
jl case.default.0x1008cc63
jg 0x1008de61
cmp dword [ebx + eax*8 + 0x10], 0
jbe case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 0x14], 0
jg case.default.0x1008cc63
jl 0x1008de61
cmp dword [ebx + eax*8 + 0x10], 0
jae case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
cdq
add dword [ebx + 0x10], eax
mov ecx, dword [ebx + 0x10]
adc dword [ebx + 0x14], edx
or ecx, dword [ebx + 0x14]
jne case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
jmp case.default.0x1008cc63
mov eax, dword [ebp + 8]
movzx edx, byte [ebp + 3]
mov edi, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
xor eax, eax
test edx, edx
jle 0x100905fd
jmp 0x100905f0
mov dword [edi + eax*4], ecx
add eax, 1
add ecx, 0x28
cmp eax, edx
jl 0x100905f0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
mov dword [esp + 0x190], ecx
lea eax, [ebx + eax*8]
mov dword [esp + 0x1c0], eax
mov ecx, 1
add dword [eax + 0x18], ecx
xor eax, eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1c4], eax
mov byte [esp + 0x1d4], al
mov eax, dword [esp + 0x190]
mov word [esp + 0x1b4], cx
mov dword [esp + 0x198], esi
test byte [eax + 2], 0x20
je 0x10090671
mov ecx, dword [ebp - 4]
mov dword [esp + 0x1c4], ecx
mov eax, dword [eax + 0x10]
push edi
push edx
lea edx, [esp + 0x198]
push edx
call eax
add esp, 0xc
cmp dword [esp + 0x1d0], 0
je 0x100906c3
mov bl, 1
lea edi, [esp + 0x198]
call fcn.10044860
mov edi, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x18]
push 0x100af5a4
add edi, 0x2c
call fcn.1002e3a0
mov ecx, dword [esp + 0x1d8]
mov ebx, dword [esp + 0x5c]
add esp, 8
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x1d4], 0
je 0x100906e7
mov ebp, dword [ebp - 0x10]
test ebp, ebp
je 0x100906e7
lea edx, [ebp + ebp*4]
push 0
push 1
lea esi, [ebx + edx*8]
call fcn.1002d280
add esp, 8
lea eax, [esp + 0x198]
push eax
call fcn.1002a1a0
add esp, 4
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x10]
lea esi, [ebx + ecx*8]
mov ecx, esi
call fcn.10024840
test eax, eax
mov dword [esp + 0x10], eax
je 0x10090739
mov bl, 1
mov edi, esi
call fcn.10044860
mov edi, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x18]
push 0x100af5a4
add edi, 0x2c
call fcn.1002e3a0
add esp, 8
movzx ecx, byte [esp + 0x43]
mov eax, esi
call fcn.1003abb0
mov ecx, esi
call fcn.100139c0
test eax, eax
jne 0x1008d6fc
jmp case.default.0x1008cc63
mov ecx, dword [ebp + 4]
or eax, 0xffffffff
mov dword [esp + 0x108], eax
mov dword [esp + 0x104], eax
mov eax, dword [ebp + 8]
lea edx, [esp + 0x108]
push edx
push eax
push ecx
xor edi, edi
push esi
lea eax, [esp + 0x114]
mov dword [esp + 0x110], edi
call fcn.10065fc0
add esp, 0x10
cmp eax, 5
mov dword [esp + 0x10], eax
jne 0x100907ab
mov dword [esp + 0x10], edi
mov dword [esp + 0x100], 1
mov ebp, dword [ebp + 0xc]
lea edx, [ebp + ebp*4]
lea ebx, [ebx + edx*8]
mov eax, dword [esp + edi*4 + 0x100]
cdq
push edx
push eax
mov esi, ebx
call fcn.1002d280
add edi, 1
add esp, 8
add ebx, 0x28
cmp edi, 3
jl 0x100907b5
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
mov edi, dword [ebp + 0xc]
shl eax, 4
cmp edi, 0xffffffff
mov eax, dword [eax + ecx + 4]
mov edx, dword [eax + 4]
mov edx, dword [edx]
mov dword [esp + 0x38], eax
movzx eax, byte [edx + 5]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x34], eax
jne 0x10090805
mov edi, eax
mov eax, edx
call fcn.10014210
test eax, eax
mov eax, dword [esp + 0x34]
jne 0x10090816
mov edi, eax
cmp byte [edx + 0xf], 0
mov ecx, 0x100af3b4
jne 0x10090827
mov ecx, dword [edx + 0xa8]
cmp edi, 5
jne 0x10090882
call fcn.10016110
test eax, eax
je 0x10090840
mov eax, edx
call fcn.10014170
test eax, eax
jne 0x1009087e
mov edi, dword [esp + 0x34]
cmp dword [esp + 0x10], 0
je 0x1009084f
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
mov ecx, edi
call fcn.10067f70
cmp eax, 6
mov ebp, dword [ebp + 8]
lea edx, [ebp + ebp*4]
lea ebx, [ebx + edx*8]
mov dword [esp + 0x18], ebx
mov word [ebx + 0x1c], 0xa02
jne 0x10090930
xor eax, eax
jmp 0x10090937
mov eax, dword [esp + 0x34]
cmp edi, eax
je 0x10090844
cmp eax, 5
je 0x10090890
cmp edi, 5
jne 0x10090844
cmp byte [esi + 0x3e], 0
je 0x100908fb
cmp dword [esi + 0x90], 1
jg 0x100908fb
cmp eax, 5
jne 0x100908bd
mov esi, dword [esp + 0x1c]
mov eax, esi
call fcn.10064f40
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1009084b
mov ecx, edi
mov eax, esi
jmp 0x100908c9
cmp eax, 4
jne 0x100908ce
lea ecx, [eax - 2]
mov eax, dword [esp + 0x1c]
call fcn.10067f70
cmp dword [esp + 0x10], 0
jne 0x1009084b
mov ecx, dword [esp + 0x38]
xor eax, eax
cmp edi, 5
sete al
add eax, 1
push eax
push ecx
call fcn.1006ba00
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x10090844
cmp edi, 5
mov dword [esp + 0x10], 1
mov eax, str.into
je 0x10090912
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
add edi, 0x2c
call fcn.1002e3a0
add esp, 8
jmp case.default.0x1008cc63
mov eax, dword [eax*4 + 0x100ac3b8]
mov ecx, eax
mov dword [ebx + 4], eax
call fcn.10016110
movzx ecx, byte [esp + 0x43]
mov dword [ebx + 0x18], eax
mov eax, ebx
mov byte [ebx + 0x1e], 1
call fcn.1003abb0
jmp case.default.0x1008cc63
push esi
lea eax, [edi + 0x2c]
call fcn.1008c790
add esp, 4
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ecx, dword [esi + 0x10]
shl eax, 4
mov eax, dword [eax + ecx + 4]
push eax
call fcn.10075080
add esp, 4
cmp eax, 0x65
mov dword [esp + 0x10], eax
jne case.default.0x1008cc63
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
mov dword [esp + 0x10], 0
jmp case.default.0x1008cc63
cmp dword [ebp + 4], 0
jne 0x100909ba
mov eax, esi
call fcn.100134f0
jmp case.default.0x1008cc63
or dword [edi + 0x58], 0x20
jmp case.default.0x1008cc63
mov cl, byte [ebp + 0xc]
test cl, cl
jne 0x100909d7
test dword [esi + 0x18], 0x4000
jne case.default.0x1008cc63
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 4]
push edx
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 0x10]
shl eax, 4
mov esi, dword [eax + edx + 4]
call fcn.1002d330
add esp, 4
cmp al, 6
mov dword [esp + 0x10], eax
jne case.default.0x1008cc63
mov eax, dword [ebp + 0x10]
push eax
push str.database_table_is_locked:__s
jmp 0x10090918
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
call fcn.1002ea70
test edi, edi
mov dword [esp + 0x10], eax
je case.default.0x1008cc63
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x24]
push ecx
push edx
call fcn.1002ce80
add esp, 8
jmp case.default.0x1008cc63
mov eax, dword [ebp + 0x10]
add edi, 0x2c
push edi
push eax
mov eax, dword [ebp + 4]
mov ecx, esi
call fcn.10037f00
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
mov ecx, dword [edi + 0x58]
and ecx, 0xfffffffb
or ecx, 8
mov dword [edi + 0x58], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 4]
push edx
mov ecx, esi
call fcn.100264d0
add esp, 4
and dword [edi + 0x58], 0xfffffff3
mov dword [esp + 0x10], eax
jmp case.default.0x1008cc63
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x30], 0
mov ebx, dword [eax + 8]
mov eax, dword [ebx]
mov edx, dword [eax + 0x18]
lea ecx, [esp + 0x30]
push ecx
push ebx
mov dword [esp + 0x40], eax
call edx
push ebx
push edi
mov dword [esp + 0x20], eax
call fcn.1002ce80
add esp, 0x10
cmp dword [esp + 0x10], 0
jne case.default.0x1008cc63
mov eax, dword [esp + 0x30]
push 0
mov dword [eax], ebx
mov ecx, dword [ebp + 4]
push 0xffffffffffffffff
push 0
push ecx
mov ebx, edi
call fcn.10079250
add esp, 0x10
test eax, eax
je 0x10090ae6
mov edx, dword [esp + 0x30]
mov dword [eax + 0x20], edx
jmp case.default.0x1008cc63
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov byte [esi + 0x40], 1
mov edx, dword [ecx + 0x1c]
push eax
call edx
add esp, 4
jmp case.default.0x1008cc63
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [edx + ecx*4]
mov esi, dword [eax + 0x20]
mov ecx, dword [ebx + 0x10]
mov edx, dword [edi + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [esi]
mov dword [esp + 0x74], eax
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x48], ecx
xor ecx, ecx
test eax, eax
jle 0x10090b4d
add ebx, 0x50
jmp 0x10090b40
mov dword [edx + ecx*4], ebx
add ecx, 1
add ebx, 0x28
cmp ecx, eax
jl 0x10090b40
mov ecx, dword [edi + 0x58]
push edx
and ecx, 0xfffffff7
or ecx, 4
mov dword [edi + 0x58], ecx
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x50]
push edx
mov edx, dword [ecx + 0x20]
push eax
push esi
call edx
and dword [edi + 0x58], 0xfffffff3
mov ebx, eax
mov eax, dword [esp + 0x88]
add esp, 0x14
push eax
push edi
mov dword [esp + 0x18], ebx
call fcn.1002ce80
add esp, 8
test ebx, ebx
jne 0x10090bab
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x28]
push esi
call edx
add esp, 4
test eax, eax
je 0x10090bab
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x4c]
mov byte [eax + 0x19], 0
jmp case.default.0x1008cc63
mov ecx, dword [ebp + 4]
mov eax, dword [ebp + 0xc]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
cmp byte [esi + 0x19], 0
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov dword [esp + 0x1c], ecx
je 0x10090be0
mov esi, ecx
call fcn.10026b20
jmp case.default.0x1008cc63
mov edx, dword [esi + 0x20]
mov eax, dword [edx]
push 0x48
mov dword [esp + 0x4c], eax
mov eax, dword [eax]
lea ecx, [esp + 0x264]
push 0
push ecx
mov dword [esp + 0x44], eax
call fcn.10003bb0
mov ebx, dword [esp + 0x28]
add esp, 0xc
lea eax, [esp + 0x268]
call fcn.1002d0e0
mov edx, dword [esp + 0x284]
mov eax, dword [ebp + 8]
and edx, 0xbe01
or edx, 1
push eax
mov eax, dword [esp + 0x3c]
mov word [esp + 0x288], dx
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x264]
push ecx
mov ecx, dword [eax + 0x2c]
push edx
call ecx
mov edx, dword [esp + 0x54]
add esp, 0xc
push edx
push edi
mov dword [esp + 0x18], eax
call fcn.1002ce80
mov eax, dword [esp + 0x2a8]
add esp, 8
test eax, eax
je 0x10090c68
mov dword [esp + 0x10], eax
movzx ecx, byte [esp + 0x43]
lea eax, [esp + 0x268]
call fcn.1003abb0
mov esi, dword [esp + 0x1c]
lea ebx, [esp + 0x268]
mov eax, esi
call fcn.1002d0e0
mov ecx, esi
call fcn.100139c0
test eax, eax
jne 0x1008d6fc
jmp case.default.0x1008cc63
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x38]
mov ebx, dword [ecx + eax*4]
cmp byte [ebx + 0x19], 0
jne case.default.0x1008cc63
mov edx, dword [ebx + 0x20]
mov eax, dword [edx]
mov ecx, dword [edi + 0x58]
and ecx, 0xfffffff7
mov dword [esp + 0x38], eax
mov eax, dword [eax]
or ecx, 4
mov dword [edi + 0x58], ecx
mov edx, dword [ebx + 0x20]
mov dword [esp + 0x48], eax
mov eax, dword [eax + 0x24]
push edx
call eax
mov ecx, dword [esp + 0x3c]
and dword [edi + 0x58], 0xfffffff3
add esp, 4
push ecx
push edi
mov dword [esp + 0x18], eax
call fcn.1002ce80
add esp, 8
cmp dword [esp + 0x10], 0
jne case.0x1008cc63.15
mov edx, dword [ebx + 0x20]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x28]
push edx
call ecx
add esp, 4
test eax, eax
jne 0x10090d14
mov ebp, dword [ebp + 8]
sub ebp, 1
mov dword [esp + 0x20], ebp
mov edx, dword [esi + 0xe8]
test edx, edx
jne 0x10091249
mov esi, dword [esp + 0x14]
mov ebx, dword [esi + 0x11c]
test ebx, ebx
je case.default.0x1008cc63
mov ebp, dword [esp + 0x88]
cmp ebp, dword [esp + 0x84]
jb case.default.0x1008cc63
mov ecx, dword [esi + 0x124]
mov eax, ebp
div ecx
mov eax, dword [esi + 0x120]
push eax
sub ecx, edx
add ecx, ebp
mov dword [esp + 0x88], ecx
call ebx
add esp, 4
test eax, eax
je case.default.0x1008cc63
mov dword [esp + 0x10], 9
mov edx, dword [edi + 0x2c]
mov eax, dword [edi + 0xa8]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
push edx
push eax
push ecx
push str.statement_aborts_at__d:___s___s
push ebx
mov dword [edi + 0x50], ebx
call sym.SQLite.Interop.dll_sqlite3_log
add esp, 0x14
mov eax, edi
call fcn.1007ef60
cmp ebx, 0xc0a
jne 0x10090db1
mov byte [esi + 0x40], 1
mov al, byte [esp + 0x63]
test al, al
mov ebx, 1
jbe 0x10090dec
movzx ebp, al
mov eax, dword [esi + 0x10]
sub ebp, 1
mov edx, ebp
shl edx, 4
mov ecx, dword [edx + eax + 0xc]
push ecx
call fcn.1003df30
add esp, 4
cmp ebp, ebx
je 0x10090dec
mov edx, dword [esi + 0x10]
mov eax, dword [edx + 0x1c]
push eax
call fcn.1003df30
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov eax, dword [esp + 0x88]
add dword [edi + 0x7c], eax
push edi
call fcn.100246d0
mov ecx, dword [esp + 0x370]
add esp, 4
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.100019b7
add esp, 0x364
ret
mov ecx, dword [ebp + 0x10]
mov ebp, dword [ebp + 4]
mov esi, dword [ecx + 8]
lea edx, [ebp + ebp*4]
lea ebx, [ebx + edx*8]
mov ecx, 1
mov eax, ebx
call fcn.1003abb0
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1008cc63
mov ecx, dword [ebx + 4]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
push ecx
push esi
call edx
push esi
push edi
mov dword [esp + 0x20], eax
call fcn.1002ce80
add esp, 0x10
and dword [edi + 0x58], 0xffffffdf
jmp case.default.0x1008cc63
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x38], eax
mov eax, dword [eax]
cmp dword [eax + 0x34], 0
mov dword [esp + 0x48], eax
je case.default.0x1008cc63
mov eax, dword [ebp + 0xc]
mov dl, byte [esi + 0x44]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
xor eax, eax
test ecx, ecx
mov byte [esp + 0x47], dl
mov edx, dword [edi + 0xc]
jle 0x10090ebd
lea ecx, [ecx]
mov dword [edx + eax*4], ebx
add eax, 1
add ebx, 0x28
cmp eax, ecx
jl 0x10090eb0
movzx eax, byte [ebp + 3]
mov ebx, dword [esp + 0x38]
mov byte [esi + 0x44], al
lea eax, [esp + 0x160]
push eax
push edx
push ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 0x34]
push ebx
call edx
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x57]
push ebx
push edi
mov byte [esi + 0x44], al
call fcn.1002ce80
mov edx, dword [esp + 0x28]
add esp, 0x18
test edx, edx
jne 0x10090f1b
cmp dword [ebp + 4], edx
je 0x10090f1b
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
cmp dl, 0x13
jne 0x10090f59
mov ecx, dword [ebp + 0x10]
cmp byte [ecx + 0x10], 0
je 0x10090f59
mov al, byte [ebp + 3]
cmp al, 4
jne 0x10090f3d
mov dword [esp + 0x10], 0
jmp case.default.0x1008cc63
cmp al, 5
jne 0x10090f4e
mov eax, 2
mov byte [edi + 0x56], al
jmp case.default.0x1008cc63
movzx eax, al
mov byte [edi + 0x56], al
jmp case.default.0x1008cc63
add dword [edi + 0x5c], 1
jmp case.default.0x1008cc63
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x10]
shl edx, 4
mov ecx, dword [edx + eax + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [edx + 0x2c]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0
jmp case.default.0x1008cc63
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x10]
mov ebp, dword [ebp + 0xc]
shl edx, 4
mov ecx, dword [edx + eax + 4]
xor eax, eax
test ebp, ebp
je 0x10090faa
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x2c]
cmp eax, ebp
jae 0x10090faa
mov eax, ebp
call fcn.10024b40
mov ecx, dword [esp + 0x18]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x1008cc63
mov eax, dword [ebp + 8]
test eax, eax
je 0x10090fca
add eax, 0xffffffff
mov dword [esp + 0x20], eax
cmp dword [esi + 0xa4], 0
je case.default.0x1008cc63
test dword [edi + 0x58], 0x800
jne case.default.0x1008cc63
mov ebp, dword [ebp + 0x10]
test ebp, ebp
mov ecx, ebp
jne 0x10090feb
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je case.default.0x1008cc63
push edi
call fcn.1005c1a0
mov ecx, dword [esi + 0xa4]
mov edi, eax
mov eax, dword [esi + 0xa8]
add esp, 4
push edi
push eax
call ecx
add esp, 8
mov eax, edi
mov ecx, esi
call fcn.10021de0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
add eax, 1
cmp dword [esp + 0x10], 0
mov dword [esp + 0x20], eax
je 0x1008cc00
jmp 0x10090d79
mov edx, dword [ebp + 4]
test edx, edx
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x50], edx
mov al, byte [ebp + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], ecx
je 0x100910de
mov al, byte [ebp + 3]
test al, al
je 0x1009108c
movzx edx, al
mov eax, dword [edx*4 + 0x100abb84]
test eax, eax
je 0x1009108e
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x1009108e
mov edi, dword [esp + 0x24]
push ecx
push eax
mov eax, dword [esp + 0x1c]
add edi, 0x2c
push str._s_constraint_failed:__s
call fcn.1002e3a0
add esp, 0xc
jmp 0x100910b6
xor eax, eax
mov edi, dword [esp + 0x24]
mov ecx, dword [ebp + 0x10]
add edi, 0x2c
test ecx, ecx
je 0x100910a4
push ecx
push 0x100af5a4
jmp 0x100910aa
push eax
push str._s_constraint_failed
mov eax, dword [esp + 0x1c]
call fcn.1002e3a0
add esp, 8
mov eax, dword [edi]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0xa8]
mov ecx, dword [ebp + 4]
push eax
mov eax, dword [esp + 0x24]
push edx
push eax
push str.abort_at__d_in___s_:__s
push ecx
call sym.SQLite.Interop.dll_sqlite3_log
mov edi, dword [esp + 0x38]
add esp, 0x14
mov eax, edi
call fcn.1007ef60
mov ebx, 5
cmp eax, ebx
jne 0x1009114e
mov dword [edi + 0x50], ebx
jmp 0x10090dec
lea eax, [esp + 0x220]
push eax
call fcn.1002a1a0
add esp, 4
jmp 0x1008e38e
mov dword [esp + 0x10], 0x14
jmp 0x1008e9b4
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x4c], ecx
mov ebx, 5
mov byte [esi + 0x3e], 0
mov dword [edi + 0x50], ebx
jmp 0x10090dec
test ebp, ebp
je 0x10091160
mov esi, dword [esp + 0x14]
push 0x204
call fcn.100752f0
add esp, 4
mov byte [esi + 0x3e], 1
call fcn.10023740
mov ebx, dword [edi + 0x50]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x10090dec
push 1
mov esi, edi
call fcn.10030140
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x10090dec
mov esi, dword [esp + 0x14]
mov bl, byte [esp + 0x38]
mov eax, edi
mov byte [esi + 0x3e], bl
call fcn.1007ef60
cmp eax, 5
jne 0x10091149
mov edx, dword [esp + 0x20]
mov al, 1
sub al, bl
mov dword [edi + 0x4c], edx
mov ebx, 5
mov byte [esi + 0x3e], al
mov dword [edi + 0x50], ebx
jmp 0x10090dec
mov dword [esp + 0x10], 8
jmp 0x1008e9b8
mov ecx, dword [esp + 0x20]
mov ebx, 5
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x50], ebx
jmp 0x10090dec
mov eax, 0x11473
call fcn.1005f050
mov dword [esp + 0x10], eax
jmp 0x1008e9b4
mov dword [esp + 0x10], 0xd
jmp 0x1008e9b4
mov dword [esp + 0x10], 0xd
jmp 0x1008e9b8
cmp dword [esp + 0x10], 0xc0a
je 0x10090d79
cmp dword [esp + 0x10], 0x204
je 0x1009121e
mov ecx, dword [esp + 0x10]
mov eax, str.unknown_error
call fcn.10011490
jmp 0x10091223
mov eax, str.abort_due_to_ROLLBACK
mov edi, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x18]
push 0x100af5a4
add edi, 0x2c
call fcn.1002e3a0
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
add esp, 8
jmp 0x10090d79
mov eax, 9
mov dword [edi + 0x50], eax
mov ecx, dword [str.interrupted]
test ecx, ecx
mov dword [esp + 0x10], eax
mov eax, str.unknown_error
je 0x10091266
mov eax, ecx
mov edi, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x18]
push 0x100af5a4
add edi, 0x2c
call fcn.1002e3a0
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
add esp, 8
jmp 0x10090d79