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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x248
mov eax, dword [0x100c66d0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov dword [ebp - 0xe4], eax
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x14]
mov al, byte [edx + 0x79]
xor ecx, ecx
cmp dword [esi + 0x50], 0xbdf20da3
mov dword [ebp - 0x128], esi
mov dword [ebp - 0xd8], ecx
mov byte [ebp - 0x110], al
mov dword [ebp - 0x160], ecx
je 0x1006ac1d
lea eax, [ecx + 0x15]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x80], 7
push ebx
mov ebx, dword [esi + 0x2c]
push edi
mov dword [ebp - 0xdc], ebx
je 0x1006eeaa
mov eax, dword [esi + 0x22c]
xor edi, edi
mov dword [esi + 0x80], edi
cmp eax, edi
je 0x1006ac62
lea ecx, [ebp - 0xdc]
push ecx
call fcn.1006a9b0
mov ebx, dword [ebp - 0xdc]
add esp, 4
mov dword [esi + 0x22c], edi
mov eax, dword [ebp - 0xe4]
mov byte [esi + 0x234], 0
mov dword [eax + 0x11c], edi
cmp dword [eax + 0x98], edi
jne 0x1006ee6e
mov edx, dword [esi + 0x7c]
mov dword [ebp - 0xf4], edx
lea ebx, [ebx]
call fcn.10054d20
test eax, eax
jne 0x1006eeaa
mov eax, dword [ebp - 0xf4]
mov ecx, dword [esi + 0x18]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*4]
mov eax, dword [ebp - 0xe4]
cmp dword [eax + 0xa8], 0
mov dword [ebp - 0xe0], edi
je 0x1006ad3e
mov edx, dword [eax + 0xb0]
cmp edx, dword [ebp - 0x160]
jne 0x1006ad38
push eax
call fcn.100549e0
add esp, 4
test eax, eax
jne 0x1006e594
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0xac]
mov edx, dword [eax + 0xa8]
push ecx
call edx
add esp, 4
test eax, eax
je 0x1006ad17
mov eax, dword [ebp - 0xe4]
push eax
call fcn.100549a0
mov dword [ebp - 0xd8], 4
jmp 0x1006ec04
mov ecx, dword [ebp - 0xe4]
push ecx
mov dword [ebp - 0x160], 0
call fcn.100549a0
add esp, 4
test eax, eax
jne 0x1006e594
inc dword [ebp - 0x160]
mov al, byte [edi]
movzx ecx, al
mov dword [ebp - 0xe8], ecx
dec ecx
cmp ecx, 0x8e
ja case.0x1006ad56.13
jmp dword [ecx*4 + 0x1006ef04]
mov edx, dword [ebp - 0xe4]
cmp dword [edx + 0x98], 0
jne 0x1006ee68
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
mov eax, dword [ebp - 0xf4]
mov ecx, dword [esi + 0x220]
inc eax
mov dword [esi + ecx*4 + 0x90], eax
inc dword [esi + 0x220]
mov edx, dword [edi + 8]
dec edx
mov dword [ebp - 0xf4], edx
jmp case.0x1006ad56.13
dec dword [esi + 0x220]
mov eax, dword [esi + 0x220]
mov esi, dword [esi + eax*4 + 0x90]
dec esi
mov dword [ebp - 0xf4], esi
jmp case.0x1006ad56.13
add ebx, 0x40
mov eax, 4
mov word [ebx + 0x18], ax
mov eax, dword [edi + 4]
cdq
mov dword [ebx], eax
mov dword [ebp - 0xdc], ebx
mov dword [ebx + 4], edx
jmp case.0x1006ad56.13
add ebx, 0x40
mov ecx, 0xa2
mov word [ebx + 0x18], cx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xdc], ebx
mov dword [ebx + 0x10], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1006ae02
sub eax, edx
mov dword [ebx + 0x14], eax
push ebx
mov byte [ebx + 0x1b], 1
call fcn.100556a0
mov dword [ebx], eax
add esp, 4
mov dword [ebx + 4], edx
or word [ebx + 0x18], 4
jmp case.0x1006ad56.13
add ebx, 0x40
mov edx, 0xa2
mov word [ebx + 0x18], dx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xdc], ebx
mov dword [ebx + 0x10], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1006ae45
sub eax, edx
mov dword [ebx + 0x14], eax
push ebx
mov byte [ebx + 0x1b], 1
call fcn.10055720
fstp qword [ebx + 8]
movzx eax, byte [ebp - 0x110]
or word [ebx + 0x18], 8
push eax
push ebx
call fcn.10055340
add esp, 0xc
jmp case.0x1006ad56.13
mov edx, dword [edi + 0xc]
mov eax, edx
lea ecx, [eax + 1]
mov byte [edi], 0x1a
mov dword [ebp - 0xec], ecx
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1006ae90
sub eax, dword [ebp - 0xec]
cmp byte [ebp - 0x110], 1
mov dword [edi + 4], eax
je case.0x1006ad56.26
push 0
push 1
push 0xffffffffffffffff
add ebx, 0x40
push edx
push ebx
mov dword [ebp - 0xdc], ebx
call fcn.10055a20
movzx edx, byte [ebp - 0x110]
push edx
push ebx
call fcn.10055340
add esp, 0x1c
test eax, eax
jne 0x1006eeaa
push ebx
call fcn.10055370
add esp, 4
test eax, eax
jne 0x1006eeaa
mov ax, word [ebx + 0x18]
mov ecx, 0xffbf
and ax, cx
mov edx, 0x80
or ax, dx
or esi, 0xffffffff
mov word [ebx + 0x18], ax
cmp dword [edi + 0x10], esi
jne 0x1006af19
mov eax, dword [edi + 0xc]
push eax
call fcn.10054130
add esp, 4
mov dword [edi + 0x10], esi
mov ecx, dword [ebx + 0x10]
mov dword [edi + 0xc], ecx
mov edx, dword [ebx + 0x14]
mov dword [edi + 4], edx
jmp case.0x1006ad56.13
add ebx, 0x40
mov eax, 0xa2
mov word [ebx + 0x18], ax
mov ecx, dword [edi + 0xc]
mov al, byte [ebp - 0x110]
mov dword [ebx + 0x10], ecx
mov edx, dword [edi + 4]
mov dword [ebx + 0x14], edx
mov dword [ebp - 0xdc], ebx
mov byte [ebx + 0x1b], al
jmp case.0x1006ad56.13
add ebx, 0x40
mov ecx, 1
mov word [ebx + 0x18], cx
mov dword [ebp - 0xdc], ebx
mov dword [ebx + 0x14], 0
jmp case.0x1006ad56.13
mov edx, dword [edi + 0xc]
mov eax, edx
lea ecx, [eax + 1]
mov byte [edi], 0x7b
mov dword [ebp - 0xec], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1006af88
sub eax, dword [ebp - 0xec]
shr eax, 1
mov dword [edi + 4], eax
je 0x1006afd5
push edx
call fcn.10054fd0
add esp, 4
mov dword [ebp - 0xec], eax
test eax, eax
je 0x1006eeaa
or esi, 0xffffffff
cmp dword [edi + 0x10], esi
jne 0x1006afc7
mov edx, dword [edi + 0xc]
push edx
call fcn.10054130
add esp, 4
mov eax, dword [ebp - 0xec]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], esi
jmp case.0x1006ad56.123
cmp dword [edi + 0x10], 0xffffffff
jne 0x1006afe4
push edx
call fcn.10054130
add esp, 4
mov dword [edi + 0x10], 0xfffffffe
mov dword [edi + 0xc], 0x100b6252
mov ecx, dword [edi + 4]
mov edx, dword [edi + 0xc]
push 0
push 0
push ecx
add ebx, 0x40
push edx
push ebx
mov dword [ebp - 0xdc], ebx
call fcn.10055a20
add esp, 0x14
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x44]
shl eax, 6
push 0x80
lea edx, [eax + ecx - 0x40]
add ebx, 0x40
push edx
push ebx
mov dword [ebp - 0xdc], ebx
call fcn.10055910
add esp, 0xc
jmp case.0x1006ad56.13
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [edi + 4]
jmp 0x1006ebf9
mov ecx, dword [edi + 4]
shl ecx, 6
mov eax, ebx
sub eax, ecx
push 0x100
add ebx, 0x40
push eax
push ebx
mov dword [ebp - 0xdc], ebx
call fcn.10055910
add esp, 0xc
cmp dword [edi + 8], 0
je case.0x1006ad56.13
mov edx, 0x100
test word [ebx + 0x18], dx
je case.0x1006ad56.13
push ebx
call fcn.100553e0
add esp, 4
test eax, eax
jne 0x1006eeaa
jmp case.0x1006ad56.13
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 4]
shl ecx, 6
mov eax, ebx
sub eax, ecx
mov edx, 0x100
mov ecx, 0x10
mov esi, eax
lea edi, [ebp - 0x248]
mov dword [ebp - 0xec], eax
rep movsd dword es:[edi], dword [esi]
test word [ebx + 0x18], dx
je 0x1006b0e6
push ebx
call fcn.100553e0
add esp, 4
test eax, eax
jne 0x1006eea4
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xe0]
cmp dword [ecx + 4], 0
mov dword [ebp - 0xe8], 0
jle 0x1006b16b
add eax, 0x40
mov dword [ebp - 0xf8], eax
mov edx, 0x100
test word [eax + 0x18], dx
je 0x1006b12d
mov eax, dword [ebp - 0xf8]
push eax
call fcn.100553e0
add esp, 4
test eax, eax
jne 0x1006eea4
mov eax, dword [ebp - 0xf8]
lea edi, [eax - 0x40]
mov ecx, 0x10
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x200
test word [eax - 0x28], cx
je 0x1006b14a
lea edx, [eax - 0x20]
mov dword [eax - 0x30], edx
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe0]
inc ecx
add eax, 0x40
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xf8], eax
cmp ecx, dword [edx + 4]
jl 0x1006b105
mov ecx, 0x10
lea esi, [ebp - 0x248]
mov edi, ebx
mov eax, 0x200
rep movsd dword es:[edi], dword [esi]
test word [ebx + 0x18], ax
je case.0x1006ad56.13
lea ecx, [ebx + 0x20]
mov dword [ebx + 0x10], ecx
jmp case.0x1006ad56.13
mov edx, dword [edi + 4]
shl edx, 6
mov eax, ebx
sub eax, edx
push ebx
push eax
call fcn.100559b0
add esp, 8
sub ebx, 0x40
mov dword [ebp - 0xdc], ebx
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
add eax, 2
mov ecx, eax
shl ecx, 6
mov edx, ebx
sub edx, ecx
lea ecx, [edx + 0x40]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xf0], ecx
xor ecx, ecx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0xe8], ecx
cmp eax, ecx
jle 0x1006b28f
mov eax, dword [ebp - 0xf0]
movzx eax, word [eax + 0x18]
test al, 1
jne 0x1006b257
test al, 0x12
jne 0x1006b221
movzx ecx, byte [ebp - 0x110]
mov edx, dword [ebp - 0xf0]
push ecx
push edx
call fcn.100554f0
add esp, 8
test eax, eax
jne 0x1006eeaa
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx + 0x14]
add dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xe8]
inc eax
add ecx, 0x40
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf0], ecx
cmp eax, dword [ebp - 0x104]
jl 0x1006b1f0
cmp dword [ebp - 0x120], 0
jge 0x1006b28f
cmp dword [edi + 8], 0
jne 0x1006b278
mov eax, dword [ebp - 0x104]
lea ecx, [ebp - 0xdc]
push ecx
call fcn.1006a9b0
mov ebx, dword [ebp - 0xdc]
add esp, 4
add ebx, 0x40
mov edx, 1
mov dword [ebp - 0xdc], ebx
mov word [ebx + 0x18], dx
jmp case.0x1006ad56.13
mov eax, dword [ebp - 0x120]
add eax, 2
push 1
push eax
call fcn.10054d50
add esp, 8
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x1006eeaa
mov ecx, dword [ebp - 0x104]
xor eax, eax
mov dword [ebp - 0xf0], eax
test ecx, ecx
jle 0x1006b311
mov esi, dword [ebp - 0xec]
add esi, 0x10
mov dword [ebp - 0xe8], ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edx, dword [ebp - 0xf0]
add edx, dword [ebp - 0xf8]
push eax
push ecx
push edx
mov dword [ebp - 0xec], eax
call fcn.1003fe30
mov ecx, dword [ebp - 0xec]
add dword [ebp - 0xf0], ecx
add esp, 0xc
add esi, 0x40
dec dword [ebp - 0xe8]
jne 0x1006b2d2
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf8]
mov word [eax + ecx], 0
cmp dword [edi + 8], 0
jne 0x1006b344
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0xdc]
push edx
call fcn.1006a9b0
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xf0]
add esp, 4
mov cl, byte [ebp - 0x110]
mov edx, dword [ebp - 0xf8]
add ebx, 0x40
mov dword [ebx + 0x14], eax
mov eax, 0x62
mov word [ebx + 0x18], ax
mov dword [ebx + 0x1c], 0
mov byte [ebx + 0x1b], cl
mov dword [ebp - 0xdc], ebx
mov dword [ebx + 0x10], edx
jmp case.0x1006ad56.13
movzx ecx, word [ebx - 0x28]
movzx edx, word [ebx + 0x18]
lea esi, [ebx - 0x40]
mov eax, ecx
or eax, edx
mov dword [ebp - 0x100], eax
test al, 1
movzx eax, word [ebx + 0x18]
mov dword [ebp - 0xe0], esi
je 0x1006b3cc
test al, 0x40
je 0x1006b3a7
push ebx
call fcn.10055620
add esp, 4
mov ebx, esi
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0xdc], ebx
je 0x1006b3be
push ebx
call fcn.10055620
add esp, 4
mov eax, 1
mov word [ebx + 0x18], ax
jmp case.0x1006ad56.13
and cl, al
test cl, 4
je 0x1006b478
mov edx, dword [ebp - 0xe8]
mov edi, dword [esi]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov esi, dword [esi + 4]
add edx, 0xffffffb1
cmp edx, 3
ja case.default.0x1006b3ef
jmp dword [edx*4 + 0x1006f140]
add edi, eax
adc esi, ecx
jmp 0x1006b439
sub edi, eax
sbb esi, ecx
jmp 0x1006b439
push ecx
push eax
push esi
push edi
call fcn.100504b0
jmp 0x1006b435
mov edx, eax
or edx, ecx
je 0x1006b571
push ecx
push eax
push esi
push edi
call fcn.10046f50
jmp 0x1006b435
mov edx, eax
or edx, ecx
je 0x1006b571
push ecx
push eax
push esi
push edi
call fcn.10047000
mov edi, eax
mov esi, edx
movzx eax, word [ebx + 0x18]
test al, 0x40
je 0x1006b44a
push ebx
call fcn.10055620
add esp, 4
mov ebx, dword [ebp - 0xe0]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0xdc], ebx
je 0x1006b465
push ebx
call fcn.10055620
add esp, 4
mov dword [ebx], edi
mov eax, 4
mov dword [ebx + 4], esi
mov word [ebx + 0x18], ax
jmp case.0x1006ad56.13
push ebx
call fcn.10055720
fstp qword [ebp - 0x118]
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.10055720
movzx eax, byte [edi]
add eax, 0xffffffb1
add esp, 8
cmp eax, 3
ja case.default.0x1006b49e
jmp dword [eax*4 + 0x1006f150]
fadd qword [ebp - 0x118]
jmp 0x1006b514
fsub qword [ebp - 0x118]
jmp 0x1006b514
fmul qword [ebp - 0x118]
jmp 0x1006b514
fld qword [ebp - 0x118]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1006b56d
fdivp st(1)
jmp 0x1006b514
fld qword [ebp - 0x118]
call fcn.1009fd50
mov esi, eax
mov dword [ebp - 0xec], esi
call fcn.1009fd50
fild dword [ebp - 0xec]
fldz
mov ecx, eax
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1006b571
mov eax, ecx
cdq
idiv esi
mov dword [ebp - 0xec], edx
fild dword [ebp - 0xec]
test byte [ebx + 0x18], 0x40
fstp qword [ebp - 0x118]
je 0x1006b529
push ebx
call fcn.10055620
add esp, 4
mov ebx, dword [ebp - 0xe0]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0xdc], ebx
je 0x1006b544
push ebx
call fcn.10055620
add esp, 4
fld qword [ebp - 0x118]
mov eax, 8
fstp qword [ebx + 8]
mov word [ebx + 0x18], ax
test byte [ebp - 0x100], al
jne case.0x1006ad56.13
push ebx
call fcn.100557a0
jmp 0x1006ec04
fstp st(0)
fstp st(0)
test byte [ebx + 0x18], 0x40
je 0x1006b580
push ebx
call fcn.10055620
add esp, 4
mov ebx, dword [ebp - 0xe0]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0xdc], ebx
je 0x1006b59b
push ebx
call fcn.10055620
add esp, 4
mov edx, 1
mov word [ebx + 0x18], dx
jmp case.0x1006ad56.13
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0xe8], ecx
mov edx, eax
shl edx, 6
mov ecx, ebx
sub ecx, edx
add ecx, 0x40
xor edx, edx
mov dword [ebp - 0xf8], eax
test eax, eax
jle 0x1006b5ea
lea ecx, [ecx]
mov eax, dword [ebp - 0xe8]
mov dword [eax + edx*4], ecx
call fcn.1006a980
inc edx
add ecx, 0x40
cmp edx, dword [ebp - 0xf8]
jl 0x1006b5d0
mov eax, dword [edi + 0xc]
xor ecx, ecx
cmp dword [edi + 0x10], 0xfffffffb
jne 0x1006b5fd
mov dword [ebp - 0xd0], ecx
jmp 0x1006b605
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov edx, 1
mov dword [ebp - 0xd4], eax
mov word [ebp - 0xb4], dx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb0], ecx
mov byte [ebp - 0x88], 0
cmp byte [eax + 3], 0
je 0x1006b639
mov eax, dword [edi - 8]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.100549e0
add esp, 4
test eax, eax
jne 0x1006e594
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xf8]
push edx
mov edx, dword [ebp - 0xd4]
push eax
mov eax, dword [edx + 0x10]
lea ecx, [ebp - 0xd4]
push ecx
call eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.100549a0
add esp, 0x10
test eax, eax
jne 0x1006e594
call fcn.10054d20
test eax, eax
jne 0x1006eeaa
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0xdc]
push edx
call fcn.1006a9b0
mov eax, dword [ebp - 0xd0]
add esp, 4
test eax, eax
je 0x1006b6d0
mov ecx, dword [edi + 4]
push ecx
push eax
call fcn.100643a0
mov edx, dword [ebp - 0xd0]
add esp, 8
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], 0xfffffff9
cmp byte [ebp - 0x88], 0
je 0x1006b704
lea eax, [ebp - 0xcc]
push 0
push eax
call fcn.100668c0
add esp, 4
push eax
add esi, 0x230
push esi
call fcn.10054f00
add esp, 0xc
mov dword [ebp - 0xd8], 1
movzx ecx, byte [ebp - 0x110]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.10055340
mov ebx, dword [ebp - 0xdc]
lea ecx, [ebp - 0xcc]
add ebx, 0x40
push ecx
xor eax, eax
push ebx
mov dword [ebp - 0xdc], ebx
mov word [ebx + 0x18], ax
call fcn.100559b0
add esp, 0x10
jmp case.0x1006ad56.13
mov dl, byte [ebx - 0x28]
or dl, byte [ebx + 0x18]
lea eax, [ebx - 0x40]
mov dword [ebp - 0xe0], eax
test dl, 1
je 0x1006b78e
mov esi, 2
jmp 0x1006b760
dec esi
test byte [ebx + 0x18], 0x40
je 0x1006b770
push ebx
call fcn.10055620
add esp, 4
sub ebx, 0x40
test esi, esi
jg 0x1006b760
add ebx, 0x40
mov dword [ebp - 0xdc], ebx
mov eax, 1
mov word [ebx + 0x18], ax
jmp case.0x1006ad56.13
push eax
call fcn.100556a0
push ebx
mov esi, eax
mov dword [ebp - 0x158], edx
call fcn.100556a0
mov ecx, eax
movzx eax, byte [edi]
add eax, 0xffffffb5
add esp, 8
cmp eax, 3
ja case.default.0x1006b7b2
jmp dword [eax*4 + 0x1006f160]
and esi, ecx
and dword [ebp - 0x158], edx
jmp case.default.0x1006b7b2
or esi, ecx
or dword [ebp - 0x158], edx
jmp case.default.0x1006b7b2
mov edx, dword [ebp - 0x158]
mov eax, esi
call fcn.100a00a0
jmp 0x1006b7e9
mov edx, dword [ebp - 0x158]
mov eax, esi
call fcn.100a0070
mov dword [ebp - 0x158], edx
mov esi, eax
test byte [ebx + 0x18], 0x40
je 0x1006b800
push ebx
call fcn.10055620
add esp, 4
mov ebx, dword [ebp - 0xe0]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0xdc], ebx
je 0x1006b81b
push ebx
call fcn.10055620
add esp, 4
mov ecx, dword [ebp - 0x158]
mov dword [ebx], esi
mov edx, 4
mov dword [ebx + 4], ecx
mov word [ebx + 0x18], dx
jmp case.0x1006ad56.13
push ebx
call fcn.100557d0
mov eax, dword [edi + 4]
cdq
add esp, 4
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x1006ad56.13
mov esi, ebx
call fcn.1006aa20
test byte [ebx + 0x18], 8
je 0x1006b861
push ebx
call fcn.100557a0
add esp, 4
movzx eax, word [ebx + 0x18]
test al, 0xc
jne 0x1006b88e
test al, 0x40
je 0x1006b876
push ebx
call fcn.10055620
add esp, 4
sub ebx, 0x40
mov dword [ebp - 0xdc], ebx
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
test al, 4
je 0x1006b8b9
cmp dword [edi + 4], 0
je 0x1006b8aa
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov eax, 1
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x1006b921
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
xor eax, eax
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x1006b921
push ebx
call fcn.10055800
fld qword [ebx + 8]
add esp, 4
call fcn.1009fd50
cdq
mov esi, eax
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x14c], edx
fild qword [ebp - 0x150]
fcomp qword [ebx + 8]
fnstsw ax
test ah, 5
jp 0x1006b8f9
add esi, 1
adc dword [ebp - 0x14c], 0
mov dword [ebp - 0x150], esi
cmp dword [edi + 4], 0
je 0x1006b91b
fild qword [ebp - 0x150]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1006b91b
add esi, 1
adc dword [ebp - 0x14c], 0
mov edi, dword [ebp - 0x14c]
test byte [ebx + 0x18], 0x40
je 0x1006b930
push ebx
call fcn.10055620
add esp, 4
mov dword [ebx], esi
mov eax, 4
mov dword [ebx + 4], edi
mov word [ebx + 0x18], ax
jmp case.0x1006ad56.13
mov esi, ebx
call fcn.1006aa20
test byte [ebx + 0x18], 8
je 0x1006b959
push ebx
call fcn.100557a0
add esp, 4
movzx eax, word [ebx + 0x18]
test al, 4
jne 0x1006b99e
cmp dword [edi + 8], 0
je 0x1006ed6d
cmp dword [edi + 4], 0
je 0x1006b87f
test al, 0x40
je 0x1006b876
push ebx
call fcn.10055620
mov edi, dword [edi + 8]
sub ebx, 0x40
add esp, 4
dec edi
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
test al, 0x40
je 0x1006b9ab
push ebx
call fcn.10055620
add esp, 4
mov ecx, 4
mov word [ebx + 0x18], cx
jmp case.0x1006ad56.13
test byte [ebx + 0x18], 4
je case.0x1006ad56.13
push ebx
call fcn.10055800
jmp 0x1006ec04
test byte [ebx + 0x18], 1
jne case.0x1006ad56.13
movzx eax, word [ebx + 0x18]
mov edx, eax
shr edx, 3
and edx, 2
or edx, eax
movzx eax, dx
mov word [ebx + 0x18], dx
test al, 2
jne 0x1006ba06
test al, 0xc
je 0x1006ba06
movzx eax, byte [ebp - 0x110]
push eax
push ebx
call fcn.100554f0
add esp, 8
mov ecx, 0xfff3
and word [ebx + 0x18], cx
mov edx, 0xffe3
and word [ebx + 0x18], dx
jmp case.0x1006ad56.13
movzx eax, word [ebx + 0x18]
test al, 1
jne case.0x1006ad56.13
test al, 0x10
jne 0x1006ba58
movzx eax, word [ebx + 0x18]
test al, 2
jne 0x1006ba4a
test al, 0xc
je 0x1006ba4a
movzx eax, byte [ebp - 0x110]
push eax
push ebx
call fcn.100554f0
add esp, 8
mov ecx, 0xfff3
and word [ebx + 0x18], cx
or word [ebx + 0x18], 0x10
mov edx, 0xfff1
and word [ebx + 0x18], dx
jmp case.0x1006ad56.13
test byte [ebx + 0x18], 1
jne case.0x1006ad56.13
push ebx
call fcn.10055830
jmp 0x1006ec04
test byte [ebx + 0x18], 1
jne case.0x1006ad56.13
push ebx
call fcn.100557d0
jmp 0x1006ec04
test byte [ebx + 0x18], 1
jne case.0x1006ad56.13
push ebx
call fcn.10055800
jmp 0x1006ec04
movzx eax, word [ebx + 0x18]
mov cl, byte [ebx - 0x28]
lea esi, [ebx - 0x40]
or cl, al
test cl, 1
je 0x1006bae6
test dword [edi + 4], 0x200
je 0x1006bb42
not eax
and eax, 1
cdq
push edx
push eax
push ebx
call fcn.100558b0
movzx eax, word [esi + 0x18]
not eax
and eax, 1
cdq
push edx
push eax
push esi
call fcn.100558b0
add esp, 0x18
mov al, byte [edi + 4]
mov byte [ebp - 0xf9], al
test al, al
je 0x1006bb1e
mov eax, dword [ebp - 0x110]
push eax
mov al, byte [ebp - 0xf9]
mov ecx, esi
call fcn.1006aab0
mov ecx, dword [ebp - 0x110]
mov al, byte [ebp - 0xf9]
push ecx
mov ecx, ebx
call fcn.1006aab0
add esp, 8
mov edx, dword [edi + 0xc]
push edx
push ebx
push esi
call fcn.10055d60
movzx ecx, byte [edi]
add ecx, 0xffffffbc
add esp, 0xc
cmp ecx, 4
ja case.default.0x1006bb3b
jmp dword [ecx*4 + 0x1006f170]
mov esi, 2
dec esi
test byte [ebx + 0x18], 0x40
je 0x1006bb57
push ebx
call fcn.10055620
add esp, 4
sub ebx, 0x40
test esi, esi
jg 0x1006bb47
mov eax, dword [edi + 8]
mov dword [ebp - 0xdc], ebx
test eax, eax
je 0x1006b278
test dword [edi + 4], 0x100
je case.0x1006ad56.13
dec eax
mov dword [ebp - 0xf4], eax
jmp case.0x1006ad56.13
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0xe0], ecx
jmp 0x1006bbd4
xor edx, edx
test eax, eax
setne dl
jmp 0x1006bbce
xor ecx, ecx
test eax, eax
sets cl
mov dword [ebp - 0xe0], ecx
jmp 0x1006bbd4
xor edx, edx
test eax, eax
setle dl
jmp 0x1006bbce
xor ecx, ecx
test eax, eax
setg cl
mov dword [ebp - 0xe0], ecx
jmp 0x1006bbd4
xor edx, edx
test eax, eax
setns dl
mov dword [ebp - 0xe0], edx
mov esi, 2
lea esp, [esp]
dec esi
test byte [ebx + 0x18], 0x40
je 0x1006bbf0
push ebx
call fcn.10055620
add esp, 4
sub ebx, 0x40
test esi, esi
jg 0x1006bbe0
mov edi, dword [edi + 8]
mov dword [ebp - 0xdc], ebx
test edi, edi
je 0x1006bc1d
cmp dword [ebp - 0xe0], 0
je case.0x1006ad56.13
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
add ebx, 0x40
mov eax, 4
mov word [ebx + 0x18], ax
mov eax, dword [ebp - 0xe0]
cdq
mov dword [ebx], eax
mov dword [ebp - 0xdc], ebx
mov dword [ebx + 4], edx
jmp case.0x1006ad56.13
test byte [ebx + 0x18], 1
je 0x1006bc4d
mov esi, 2
jmp 0x1006bc64
push ebx
call fcn.100557d0
mov ecx, dword [ebx]
add esp, 4
or ecx, dword [ebx + 4]
jne 0x1006bc62
lea esi, [ecx + 1]
jmp 0x1006bc64
xor esi, esi
test byte [ebx - 0x28], 1
lea eax, [ebx - 0x40]
je 0x1006bc74
mov eax, 2
jmp 0x1006bc8c
push eax
call fcn.100557d0
mov edx, dword [ebx - 0x40]
add esp, 4
or edx, dword [ebx - 0x3c]
jne 0x1006bc8a
lea eax, [edx + 1]
jmp 0x1006bc8c
xor eax, eax
cmp byte [edi], 0x3e
jne 0x1006bc9e
lea eax, [eax + esi*2]
movzx edi, byte [esi + eax + 0x100b0050]
jmp 0x1006bca9
lea ecx, [eax + esi*2]
movzx edi, byte [esi + ecx + 0x100b005c]
mov esi, 2
mov edi, edi
dec esi
test byte [ebx + 0x18], 0x40
je 0x1006bcc0
push ebx
call fcn.10055620
add esp, 4
sub ebx, 0x40
test esi, esi
jg 0x1006bcb0
add ebx, 0x40
mov dword [ebp - 0xdc], ebx
cmp edi, 2
jne 0x1006bce3
mov edx, 1
mov word [ebx + 0x18], dx
jmp case.0x1006ad56.13
xor eax, eax
test edi, edi
sete al
cdq
mov dword [ebx], eax
mov eax, 4
mov dword [ebx + 4], edx
mov word [ebx + 0x18], ax
jmp case.0x1006ad56.13
movzx eax, word [ebx + 0x18]
test al, 8
jne 0x1006bd59
test al, 4
je 0x1006bd48
test al, 0x40
je 0x1006bd17
push ebx
call fcn.10055620
add esp, 4
cmp byte [edi], 0x55
je 0x1006bd29
cmp dword [ebx + 4], 0
jg 0x1006bd3a
jl 0x1006bd29
cmp dword [ebx], 0
jae 0x1006bd3a
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
neg ecx
adc edx, 0
neg edx
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov eax, 4
mov word [ebx + 0x18], ax
jmp case.0x1006ad56.13
test al, 1
jne case.0x1006ad56.13
push ebx
call fcn.10055830
add esp, 4
test byte [ebx + 0x18], 0x40
je 0x1006bd68
push ebx
call fcn.10055620
add esp, 4
cmp byte [edi], 0x55
je 0x1006bd79
fldz
fcomp qword [ebx + 8]
fnstsw ax
test ah, 0x41
jne 0x1006bd81
fld qword [ebx + 8]
fchs
fstp qword [ebx + 8]
mov ecx, 8
mov word [ebx + 0x18], cx
jmp case.0x1006ad56.13
test byte [ebx + 0x18], 1
jne case.0x1006ad56.13
push ebx
call fcn.100557d0
mov edx, dword [ebx]
add esp, 4
or edx, dword [ebx + 4]
jne 0x1006bdc2
mov eax, 1
cdq
mov dword [ebx], eax
mov eax, 4
mov dword [ebx + 4], edx
mov word [ebx + 0x18], ax
jmp case.0x1006ad56.13
xor eax, eax
cdq
mov dword [ebx], eax
mov eax, 4
mov dword [ebx + 4], edx
mov word [ebx + 0x18], ax
jmp case.0x1006ad56.13
test byte [ebx + 0x18], 1
jne case.0x1006ad56.13
push ebx
call fcn.100557d0
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
not ecx
not edx
mov dword [ebx], ecx
mov eax, 4
mov dword [ebx + 4], edx
mov word [ebx + 0x18], ax
jmp 0x1006ec04
test byte [ebx + 0x18], 1
je 0x1006be0f
mov esi, dword [edi + 4]
jmp 0x1006be3a
push ebx
call fcn.10055720
fldz
fucompp
add esp, 4
fnstsw ax
test ah, 0x44
jnp 0x1006be2a
mov esi, 1
jmp 0x1006be2c
xor esi, esi
cmp byte [edi], 0x59
jne 0x1006be3a
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
test byte [ebx + 0x18], 0x40
je 0x1006be49
push ebx
call fcn.10055620
add esp, 4
sub ebx, 0x40
mov dword [ebp - 0xdc], ebx
test esi, esi
je case.0x1006ad56.13
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
mov esi, dword [edi + 4]
mov eax, esi
test eax, eax
jns 0x1006be74
neg eax
mov edx, eax
shl edx, 6
mov ecx, ebx
sub ecx, edx
xor edx, edx
test eax, eax
jle 0x1006be9f
add ecx, 0x58
test byte [ecx], 1
jne 0x1006be95
inc edx
add ecx, 0x40
cmp edx, eax
jl 0x1006be86
jmp 0x1006be9f
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
test esi, esi
jle case.0x1006ad56.13
lea ecx, [ebp - 0xdc]
push ecx
jmp 0x1006ebf9
mov eax, dword [edi + 4]
mov dword [ebp - 0xec], eax
test eax, eax
jns 0x1006bec2
neg eax
xor edx, edx
test eax, eax
jle 0x1006bee7
mov esi, eax
shl esi, 6
mov ecx, ebx
sub ecx, esi
add ecx, 0x58
test byte [ecx], 1
jne 0x1006bee3
inc edx
add ecx, 0x40
cmp edx, eax
jl 0x1006bed4
jmp 0x1006bee7
cmp edx, eax
jl 0x1006bef1
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
cmp dword [ebp - 0xec], 0
jle case.0x1006ad56.13
lea edx, [ebp - 0xdc]
push edx
jmp 0x1006ebf9
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + eax*4]
mov eax, dword [edi + 8]
mov dword [edx + 0x50], eax
jmp case.0x1006ad56.13
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
xor edx, edx
mov dword [ebp - 0xe8], ecx
mov word [ebp - 0xa4], dx
add ebx, 0x40
mov ecx, 1
mov word [ebx + 0x18], cx
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + eax*4]
xor ecx, ecx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xe0], eax
cmp dword [eax], ecx
je 0x1006c02a
push eax
call fcn.100643f0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax]
xor ecx, ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x104], edx
cmp byte [eax + 0x1c], cl
je 0x1006bf95
mov dword [ebp - 0x11c], ecx
jmp 0x1006bfee
mov ecx, dword [eax + 0x68]
cmp ecx, dword [esi + 0x60]
jne 0x1006bfb1
mov edx, dword [eax + 0x6c]
mov dword [ebp - 0x11c], edx
mov ecx, dword [eax + 0x78]
mov dword [ebp - 0x120], ecx
jmp 0x1006bfee
cmp byte [eax + 0x21], 0
mov eax, dword [ebp - 0x104]
je 0x1006bfd8
lea edx, [ebp - 0x200]
push edx
push eax
call fcn.1005c3f0
mov ecx, dword [ebp - 0x200]
mov dword [ebp - 0x11c], ecx
jmp 0x1006bfe5
lea edx, [ebp - 0x11c]
push edx
push eax
call fcn.1005c4a0
mov eax, dword [ebp - 0xe0]
add esp, 8
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x124], ecx
xor ecx, ecx
cmp dword [ebp - 0x11c], ecx
je case.0x1006ad56.13
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0x68]
cmp ecx, dword [esi + 0x60]
jne 0x1006c060
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xf8], eax
jmp 0x1006c2b1
cmp byte [eax + 0x1e], cl
je 0x1006c055
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x11c], edx
mov edx, dword [eax + 0x38]
mov dword [eax + 0x68], ecx
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x104], ecx
jmp 0x1006bff9
mov dword [ebp - 0x11c], ecx
jmp case.0x1006ad56.13
mov eax, dword [eax + 0x70]
mov dword [ebp - 0xf0], eax
test eax, eax
jne 0x1006c09c
mov ecx, dword [ebp - 0x124]
lea edx, [ecx*8]
push 1
push edx
call fcn.10054d50
mov ecx, dword [ebp - 0xe0]
add esp, 8
mov dword [ebp - 0xf0], eax
mov dword [ecx + 0x70], eax
test eax, eax
je 0x1006eeaa
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x124]
lea ecx, [edx + eax*4]
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x74], ecx
mov dword [ebp - 0xf8], ecx
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 0x6c], ecx
mov edx, dword [esi + 0x60]
mov esi, dword [ebp - 0x120]
mov dword [eax + 0x68], edx
test esi, esi
jne 0x1006c132
cmp byte [eax + 0x21], 0
je 0x1006c0ee
mov ecx, dword [ebp - 0x104]
lea eax, [ebp - 0x168]
push eax
push ecx
call fcn.10058490
jmp 0x1006c101
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0x168]
push edx
push eax
call fcn.10058500
mov ecx, dword [ebp - 0x168]
add esp, 8
mov esi, eax
cmp ecx, dword [ebp - 0x11c]
jb 0x1006c125
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x120], esi
mov dword [edx + 0x78], esi
jmp 0x1006c132
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x78], 0
movzx eax, byte [esi]
mov dword [ebp - 0x134], eax
cmp eax, 0x7f
ja 0x1006c14c
mov dword [ebp - 0x100], 1
jmp 0x1006c162
lea ecx, [ebp - 0x134]
push ecx
push esi
call fcn.10054c40
add esp, 8
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x120], 0
jne 0x1006c1b1
mov eax, dword [ebp - 0x134]
cmp dword [ebp - 0x168], eax
jae 0x1006c1b1
mov ecx, dword [ebp - 0xe0]
lea edx, [ebp - 0xbc]
push edx
movzx edx, byte [ecx + 0x21]
push edx
push eax
mov eax, dword [ebp - 0x104]
push 0
push eax
call fcn.10055b30
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x1006ad56.13
mov esi, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x100]
add ecx, esi
mov dword [ebp - 0xec], ecx
mov ecx, dword [ebp - 0x124]
add edx, esi
mov dword [ebp - 0xd8], edx
test ecx, ecx
je 0x1006c269
mov esi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf8]
sub eax, esi
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x100], ecx
jmp 0x1006c200
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xec]
jae 0x1006c257
mov edx, dword [ebp - 0x134]
mov dword [eax + esi], edx
movzx eax, byte [ecx]
mov dword [esi], eax
cmp eax, 0x7f
ja 0x1006c228
mov eax, 1
jmp 0x1006c238
mov eax, dword [ebp - 0xd8]
push esi
push eax
call fcn.10054c40
add esp, 8
mov ecx, dword [esi]
add dword [ebp - 0xd8], eax
push ecx
call fcn.10064570
add esp, 4
add dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x124]
jmp 0x1006c25e
mov dword [eax + esi], 0
add esi, 4
dec dword [ebp - 0x100]
jne 0x1006c200
test byte [ebp - 0xa4], 0x40
je 0x1006c281
lea edx, [ebp - 0xbc]
push edx
call fcn.10055620
add esp, 4
mov ecx, dword [ebp - 0xec]
mov eax, 1
mov word [ebp - 0xa4], ax
cmp dword [ebp - 0xd8], ecx
ja 0x1006c3a1
mov edx, dword [ebp - 0x134]
cmp edx, dword [ebp - 0x11c]
ja 0x1006c3a1
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x1006c350
mov ecx, dword [ebp - 0x120]
test ecx, ecx
je 0x1006c2d6
add eax, ecx
jmp 0x1006c32b
mov edx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xe8]
mov eax, dword [edx + esi*4]
push eax
call fcn.10064570
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xbc]
push ecx
movzx ecx, byte [edx + 0x21]
mov edx, dword [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0x104]
push eax
mov eax, dword [edx + esi*4]
push eax
push ecx
call fcn.10055b30
add esp, 0x18
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x1006ad56.13
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xf0]
mov edx, dword [edx + ecx*4]
push ebx
push edx
push eax
call fcn.10064620
mov al, byte [ebp - 0x110]
add esp, 0xc
mov byte [ebx + 0x1b], al
jmp 0x1006c373
cmp dword [edi + 0x10], 0xfffffff8
jne 0x1006c36a
mov ecx, dword [edi + 0xc]
push 0x80
push ecx
push ebx
call fcn.10055910
add esp, 0xc
jmp 0x1006c373
mov edx, 1
mov word [ebx + 0x18], dx
test byte [ebp - 0xa4], 0x40
je 0x1006c390
mov ax, word [ebx + 0x18]
mov ecx, 0xfeff
and ax, cx
or ax, 0x60
mov word [ebx + 0x18], ax
push ebx
call fcn.100553e0
mov dword [ebp - 0xd8], eax
jmp 0x1006ec04
mov dword [ebp - 0xd8], 0xb
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
xor edx, edx
xor ecx, ecx
cmp eax, ecx
setl dl
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x100], 0
mov ecx, edx
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp - 0x138], ecx
mov ecx, dword [edi + 8]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xec], ecx
lea edx, [edx + edx - 1]
imul eax, edx
xor edx, edx
cmp byte [edi], 0x37
mov dword [ebp - 0x114], eax
sete dl
mov dword [ebp - 0xf8], edx
mov edx, eax
shl edx, 6
mov eax, ebx
sub eax, edx
lea edi, [eax + 0x40]
mov dword [ebp - 0x140], eax
movzx eax, byte [esi + 0x239]
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0x124], eax
cmp edi, ebx
ja 0x1006c4cd
mov eax, 0xffffffe8
sub eax, edi
mov dword [ebp - 0x198], eax
mov edi, edi
cmp dword [ebp - 0xec], 0
je 0x1006c480
mov edx, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x110]
push ecx
mov ecx, dword [ebp - 0xec]
lea eax, [edx + edi + 0x18]
sar eax, 6
mov al, byte [eax + ecx]
mov ecx, edi
call fcn.1006aab0
add esp, 4
test byte [edi + 0x18], 1
je 0x1006c490
mov dword [ebp - 0x100], 1
mov edx, dword [ebp - 0x124]
push edx
push edi
call fcn.10064480
push eax
mov dword [ebp - 0x1a0], eax
call fcn.10064570
add dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x1a0]
push 0
push eax
call fcn.10054cc0
add dword [ebp - 0x104], eax
add edi, 0x40
add esp, 0x14
cmp edi, ebx
jbe 0x1006c450
cmp dword [ebp - 0xf8], 0
je 0x1006c513
mov edi, dword [ebp - 0x140]
push edi
mov dword [ebp - 0x120], edi
call fcn.100557d0
push 0
push edi
call fcn.10064480
mov edi, eax
push edi
call fcn.10064570
add dword [ebp - 0xf0], eax
push 0
push edi
call fcn.10054cc0
mov edi, dword [ebp - 0x104]
add esp, 0x18
add edi, eax
jmp 0x1006c519
mov edi, dword [ebp - 0x104]
mov eax, edi
cdq
push edx
push eax
call fcn.10054cc0
add edi, eax
mov dword [ebp - 0x140], eax
mov eax, edi
cdq
push edx
push eax
mov dword [ebp - 0x104], edi
call fcn.10054cc0
add esp, 0x10
cmp dword [ebp - 0x140], eax
jge 0x1006c54d
inc edi
mov dword [ebp - 0x104], edi
mov ecx, dword [ebp - 0xf0]
lea eax, [edi + ecx]
mov dword [ebp - 0x140], eax
cmp eax, 0x20
jbe 0x1006c582
push 1
push eax
call fcn.10054d50
add esp, 8
mov dword [ebp - 0xf0], eax
test eax, eax
je 0x1006eeaa
mov edi, dword [ebp - 0x104]
jmp 0x1006c58b
lea edx, [ebp - 0x24]
mov dword [ebp - 0xf0], edx
mov eax, edi
mov edi, dword [ebp - 0xf0]
cdq
push edx
push eax
push edi
call fcn.10054a50
lea esi, [edi + eax]
mov edi, dword [ebp - 0xe8]
add esp, 0xc
cmp edi, ebx
ja 0x1006c5d2
lea esp, [esp]
mov eax, dword [ebp - 0x124]
push eax
push edi
call fcn.10064480
push 0
push eax
push esi
call fcn.10054a50
add edi, 0x40
add esp, 0x14
add esi, eax
cmp edi, ebx
jbe 0x1006c5b0
cmp dword [ebp - 0xf8], 0
je 0x1006c5f7
mov ecx, dword [ebp - 0x120]
push 0
push ecx
call fcn.10064480
push 0
push eax
push esi
call fcn.10054a50
add esp, 0x14
add esi, eax
mov edi, dword [ebp - 0xe8]
cmp edi, ebx
ja 0x1006c61b
mov edx, dword [ebp - 0x124]
push edx
push edi
push esi
call fcn.10064590
add edi, 0x40
add esp, 0xc
add esi, eax
cmp edi, ebx
jbe 0x1006c601
cmp dword [ebp - 0xf8], 0
je 0x1006c636
mov eax, dword [ebp - 0x120]
push 0
push eax
push esi
call fcn.10064590
add esp, 0xc
cmp dword [ebp - 0x138], 0
jne 0x1006c663
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0xf8]
lea eax, [eax + ecx]
lea ecx, [ebp - 0xdc]
push ecx
call fcn.1006a9b0
mov ebx, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0x140]
add ebx, 0x40
mov dword [ebp - 0xdc], ebx
mov dword [ebx + 0x14], ecx
cmp ecx, 0x20
ja 0x1006c699
push ecx
lea edx, [ebp - 0x24]
lea eax, [ebx + 0x20]
push edx
push eax
mov dword [ebx + 0x10], eax
call fcn.1003fe30
mov eax, 0x210
add esp, 0xc
mov word [ebx + 0x18], ax
jmp 0x1006c6b2
mov ecx, dword [ebp - 0xf0]
mov dword [ebx + 0x10], ecx
mov edx, 0x50
mov word [ebx + 0x18], dx
mov dword [ebx + 0x1c], 0
cmp dword [ebp - 0xe0], 0
mov byte [ebx + 0x1b], 1
je case.0x1006ad56.13
cmp dword [ebp - 0x100], 0
je case.0x1006ad56.13
mov eax, dword [ebp - 0xe0]
dec eax
mov dword [ebp - 0xf4], eax
jmp case.0x1006ad56.13
mov edi, dword [edi + 4]
test edi, edi
js case.0x1006ad56.13
mov ecx, dword [ebp - 0xe4]
cmp edi, dword [ecx]
jge case.0x1006ad56.13
mov eax, ecx
mov ecx, dword [eax + 4]
lea edx, [edi + edi*2]
mov esi, dword [ecx + edx*8 + 4]
test esi, esi
je case.0x1006ad56.13
mov edx, eax
cmp byte [edx + 0x10], 0
jne case.0x1006ad56.13
push esi
call fcn.1005bcb0
add esp, 4
test eax, eax
jne case.0x1006ad56.13
push esi
call fcn.100581e0
mov dword [ebp - 0xd8], eax
jmp 0x1006ec04
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx + 0x54], 1
mov al, byte [edi + 4]
mov dl, byte [edi + 8]
mov byte [ebp - 0xf9], al
jle 0x1006c798
test al, al
je 0x1006c798
cmp byte [ecx + 0x10], 0
jne 0x1006c798
mov eax, str.rollback
test dl, dl
jne 0x1006c76d
mov eax, str.commit
push 0
push str._transaction___SQL_statements_in_progress
push eax
push str.cannot
add esi, 0x230
push esi
call fcn.10054f00
add esp, 0x14
mov dword [ebp - 0xd8], 1
jmp case.0x1006ad56.13
cmp al, byte [ecx + 0x10]
jne 0x1006ed7c
test al, al
jne 0x1006c7ac
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1006c7ba
mov eax, str.cannot_rollback___no_transaction_is_active
test dl, dl
jne 0x1006c7ba
mov eax, str.cannot_commit___no_transaction_is_active
push 0
push eax
add esi, 0x230
push esi
call fcn.10054f00
add esp, 0xc
mov dword [ebp - 0xd8], 1
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
test eax, eax
je case.0x1006ad56.13
mov ecx, dword [edi + 8]
push ecx
push eax
call fcn.10057bc0
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, 5
je 0x1006edf7
test eax, eax
je case.0x1006ad56.13
cmp eax, 8
jne 0x1006e59e
jmp case.0x1006ad56.13
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [ebp - 0x1bc]
push edx
mov edx, dword [ebp - 0xe4]
inc eax
push eax
mov eax, dword [edx + 4]
lea ecx, [edi + edi*2]
mov ecx, dword [eax + ecx*8 + 4]
push ecx
call fcn.1005b1b0
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x1bc]
cdq
add esp, 0xc
add ebx, 0x40
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, 4
mov dword [ebp - 0xdc], ebx
mov word [ebx + 0x18], dx
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
push ebx
lea esi, [edx + eax*8]
call fcn.100557d0
mov eax, dword [ebx]
mov ecx, dword [edi + 8]
mov edx, dword [esi + 4]
push eax
inc ecx
push ecx
push edx
call fcn.1005b2a0
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 8]
add esp, 0x10
test eax, eax
jne 0x1006c8c5
mov eax, dword [esi + 0x14]
mov ecx, dword [ebx]
mov dword [eax], ecx
mov eax, dword [ebp - 0xe4]
or dword [eax + 8], 0x10
jmp 0x1006c8d2
cmp eax, 1
jne 0x1006c8d2
mov edx, dword [esi + 0x14]
mov al, byte [ebx]
mov byte [edx + 0x78], al
sub ebx, 0x40
cmp dword [edi + 4], 1
mov dword [ebp - 0xdc], ebx
jne case.0x1006ad56.13
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.10064dd0
jmp 0x1006ec04
mov eax, dword [edi + 4]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx*8 + 4]
xor ecx, ecx
cmp eax, ecx
je 0x1006c963
lea edx, [ebp - 0x18c]
push edx
push 1
push eax
call fcn.1005b1b0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x1006ad56.13
mov eax, dword [ebp - 0x18c]
cmp eax, dword [edi + 8]
je case.0x1006ad56.13
push 0
push str.database_schema_has_changed
add esi, 0x230
push esi
call fcn.10054f00
add esp, 0xc
mov dword [ebp - 0xd8], 0x11
jmp case.0x1006ad56.13
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x18c], ecx
jmp 0x1006c92f
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
push ebx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0xe8], edx
call fcn.100557d0
mov eax, dword [ebx]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x114], eax
lea eax, [eax + eax*2]
mov ecx, dword [edx + eax*8 + 4]
lea eax, [edx + eax*8]
sub ebx, 0x40
add esp, 4
cmp byte [edi], 9
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0x100], ecx
jne 0x1006c9db
mov edx, dword [eax + 0x14]
mov al, byte [edx + 0x78]
mov dword [ebp - 0xec], 1
cmp al, byte [esi + 0x239]
jae 0x1006c9e5
mov byte [esi + 0x239], al
jmp 0x1006c9e5
mov dword [ebp - 0xec], 0
cmp dword [ebp - 0xe8], 0
jg 0x1006ca08
push ebx
call fcn.100557d0
mov eax, dword [ebx]
add esp, 4
sub ebx, 0x40
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0x114]
mov edi, dword [ebp - 0x138]
mov esi, dword [ebp - 0x128]
push ecx
call fcn.1006a9e0
mov esi, eax
add esp, 4
test esi, esi
je 0x1006eea4
cmp dword [ebp - 0x100], 0
mov byte [esi + 0x1c], 1
je case.0x1006ad56.13
mov edi, dword [ebp - 0xe0]
mov edx, dword [edi + 0xc]
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xe8]
push esi
push edx
mov edx, dword [ebp - 0x100]
push fcn.10064870
push eax
push ecx
push edx
call fcn.1005c200
add esp, 0x18
cmp dword [edi + 0x10], 0xfffffffa
mov dword [ebp - 0xd8], eax
jne 0x1006ca9f
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x4c], ecx
inc ecx
mov dword [esi + 0x48], ecx
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
mov eax, dword [edx + 0x14]
mov al, byte [eax + 0x79]
mov edx, dword [esi + 0x4c]
mov byte [edx], al
mov eax, dword [ebp - 0xd8]
jmp 0x1006cab2
lea ecx, [esi + 0x22]
mov dword [esi + 0x48], ecx
mov ecx, dword [ebp - 0x128]
mov dword [esi + 0x4c], 0
test eax, eax
je 0x1006caef
cmp eax, 5
je 0x1006ee1f
cmp eax, 0x10
jne 0x1006e59e
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0x10], 0xfffffffa
mov dword [ebp - 0xd8], 0
setne al
test al, al
mov byte [esi + 0x20], al
sete al
mov byte [esi + 0x21], al
jmp case.0x1006ad56.13
mov ecx, dword [esi]
push ecx
call fcn.1005b300
add esp, 4
test al, 0xf0
jne 0x1006cb3e
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x1006cb0d
cmp ecx, 2
jne 0x1006cb3e
mov dl, al
shr eax, 1
and dl, 1
and al, 1
mov byte [esi + 0x20], dl
mov byte [esi + 0x21], al
test dl, dl
je 0x1006cb26
cmp dword [edi + 0x10], 0xfffffffa
je 0x1006cb3e
test al, al
je case.0x1006ad56.13
mov eax, dword [ebp - 0xe0]
cmp dword [eax + 0x10], 0xfffffffa
je case.0x1006ad56.13
mov dword [ebp - 0xd8], 0xb
jmp 0x1006e59e
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ecx + 4]
mov esi, dword [ebp - 0x128]
push 0xffffffffffffffff
call fcn.1006a9e0
mov esi, eax
add esp, 4
test esi, esi
je 0x1006eea4
mov edx, dword [ebp - 0xe4]
lea edi, [esi + 0x30]
push edi
push 0x1f4
push 1
push 0
push edx
mov byte [esi + 0x1c], 1
call fcn.10053770
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006cc5b
mov eax, dword [edi]
push 1
push eax
call fcn.10057bc0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006cc5b
mov ecx, dword [ebp - 0xe0]
cmp dword [ecx + 0xc], 0
mov eax, dword [edi]
je 0x1006cc39
push 2
lea edx, [ebp - 0x1c8]
push edx
push eax
call fcn.1005c8c0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006cc33
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [edi]
push esi
push edx
push fcn.10064870
push 1
push eax
push ecx
call fcn.1005c200
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0xd8], eax
mov eax, dword [edx + 0xc]
mov dword [esi + 0x4c], eax
mov edx, dword [ecx]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + 0x14]
mov cl, byte [edx + 0x79]
mov byte [eax], cl
mov edx, dword [esi + 0x4c]
add esp, 0x18
inc edx
mov dword [esi + 0x48], edx
mov byte [esi + 0x20], 0
jmp 0x1006cc5b
push esi
push 0
push 0
push 1
push 1
push eax
call fcn.1005c200
lea ecx, [esi + 0x22]
add esp, 0x18
mov dword [ebp - 0xd8], eax
mov byte [esi + 0x20], 1
mov dword [esi + 0x48], ecx
cmp byte [esi + 0x20], 0
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 8]
sete cl
mov dword [esi + 0x50], eax
mov byte [esi + 0x21], cl
jmp case.0x1006ad56.13
mov edx, dword [ebp - 0xe0]
mov edi, dword [edx + 4]
mov esi, dword [ebp - 0x128]
push 0xffffffffffffffff
call fcn.1006a9e0
add esp, 4
test eax, eax
je 0x1006eea4
lea ecx, [eax + 0x22]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x1e], 1
mov dword [eax + 0x48], ecx
mov word [eax + 0x20], 1
jmp case.0x1006ad56.13
mov edi, dword [edi + 4]
test edi, edi
js case.0x1006ad56.13
cmp edi, dword [esi + 0x38]
jge case.0x1006ad56.13
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + edi*4]
push eax
push esi
call fcn.10063c60
mov ecx, dword [esi + 0x3c]
add esp, 8
mov dword [ecx + edi*4], 0
jmp case.0x1006ad56.13
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x3c]
mov esi, dword [eax + edx*4]
cmp dword [esi], 0
je 0x1006ce54
mov eax, dword [ebp - 0xe8]
mov byte [esi + 0x1c], 0
cmp eax, 7
je 0x1006cd0d
cmp eax, 0x56
je 0x1006cd0d
xor eax, eax
jmp 0x1006cd12
mov eax, 1
mov ecx, dword [esi + 0x48]
mov byte [ecx], al
cmp byte [esi + 0x20], 0
je 0x1006cd8b
push ebx
call fcn.100557d0
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add esp, 4
cmp dword [edi + 8], 0
jne 0x1006cd4e
cmp byte [edi], 0x80
jne 0x1006cd4e
sub ebx, 0x40
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov byte [esi + 0x1f], 1
mov dword [ebp - 0xdc], ebx
jmp case.0x1006ad56.13
lea edx, [ebp - 0x12c]
push edx
push ecx
push eax
mov eax, dword [esi]
push 0
push eax
call fcn.100588d0
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
mov ecx, dword [ebx]
cmp dword [ebp - 0x12c], eax
mov dword [esi + 8], ecx
mov edx, dword [ebx + 4]
sete al
mov dword [esi + 0xc], edx
mov byte [esi + 0x19], al
jmp 0x1006cdb8
mov eax, dword [ebx + 0x14]
cdq
lea ecx, [ebp - 0x12c]
push ecx
push edx
mov edx, dword [ebx + 0x10]
push eax
mov eax, dword [esi]
push edx
push eax
call fcn.100588d0
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
mov byte [esi + 0x19], al
mov eax, dword [ebp - 0xe8]
mov edx, dword [esi + 0x48]
xor ecx, ecx
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], ecx
mov byte [edx], cl
cmp eax, 0x80
je 0x1006ce1b
cmp eax, 7
je 0x1006ce1b
cmp dword [ebp - 0x12c], ecx
jl 0x1006cdf1
mov ecx, dword [esi]
lea eax, [ebp - 0x12c]
push eax
push ecx
call fcn.1005c730
jmp 0x1006ce32
mov edx, dword [esi]
push edx
call fcn.10058c00
add esp, 4
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x1006ce54
mov edi, dword [edi + 8]
test edi, edi
jle 0x1006ce50
dec edi
mov dword [ebp - 0xf4], edi
jmp 0x1006ce54
cmp dword [ebp - 0x12c], ecx
jge 0x1006ce48
mov ecx, dword [esi]
lea eax, [ebp - 0x12c]
push eax
push ecx
call fcn.1005c5c0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
mov byte [esi + 0x19], al
jmp 0x1006ce02
mov dword [ebp - 0x12c], ecx
jmp 0x1006ce54
mov byte [esi + 0x1c], 1
test byte [ebx + 0x18], 0x40
je 0x1006ce63
push ebx
call fcn.10055620
add esp, 4
sub ebx, 0x40
mov dword [ebp - 0xdc], ebx
jmp case.0x1006ad56.13
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + edx*4]
xor eax, eax
mov dword [ebp - 0x114], ecx
cmp dword [ecx], eax
je 0x1006cee7
test byte [ebx + 0x18], 0x12
jne 0x1006cea5
movzx edx, byte [ebp - 0x110]
push edx
push ebx
call fcn.100554f0
add esp, 8
test eax, eax
jne 0x1006eeaa
mov ecx, dword [ebx + 0x10]
mov esi, dword [ebp - 0x114]
lea eax, [ebp - 0x1ac]
push eax
mov eax, dword [ebx + 0x14]
cdq
push edx
mov edx, dword [esi]
push eax
push ecx
push edx
call fcn.100588d0
add esp, 0x14
test eax, eax
jne 0x1006ceda
cmp dword [ebp - 0x1ac], eax
jne 0x1006ceda
mov eax, 1
jmp 0x1006cedc
xor eax, eax
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
mov cl, byte [edi]
cmp cl, 0x86
jne 0x1006cef4
test eax, eax
je 0x1006cf02
jmp 0x1006cef8
test eax, eax
jne 0x1006cf02
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
cmp cl, 0x70
je case.0x1006ad56.13
jmp 0x1006ce54
mov eax, dword [edi + 4]
lea ecx, [ebx - 0x40]
push ebx
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xe0], ecx
call fcn.100557d0
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x3c]
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0x1a8], edx
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x100], eax
mov eax, dword [eax]
add esp, 4
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xe8], eax
test eax, eax
je case.0x1006ad56.13
mov eax, ebx
test byte [eax + 0x18], 0x12
jne 0x1006cf8d
movzx ecx, byte [ebp - 0x110]
push ecx
mov edx, ebx
push edx
call fcn.100554f0
add esp, 8
test eax, eax
jne 0x1006eeaa
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x10]
mov esi, dword [ecx + 0x14]
push eax
mov dword [ebp - 0xec], eax
call fcn.10064b70
sub esi, eax
mov eax, dword [ebp - 0x100]
mov dword [eax + 0x68], 0
lea ecx, [ebp - 0x13c]
push ecx
mov eax, esi
cdq
push edx
mov edx, dword [ebp - 0xec]
push eax
mov eax, dword [ebp - 0xe8]
push edx
push eax
call fcn.100588d0
add esp, 0x18
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
cmp dword [ebp - 0x13c], eax
jge 0x1006d020
mov edx, dword [ebp - 0xe8]
lea ecx, [ebp - 0x13c]
push ecx
push edx
call fcn.1005c5c0
add esp, 8
cmp dword [ebp - 0x13c], 0
mov dword [ebp - 0xd8], eax
je 0x1006d020
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0x100]
lea eax, [ebp - 0x13c]
push eax
push ecx
push esi
push edx
call fcn.10064cb0
add esp, 0x10
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
cmp dword [ebp - 0x13c], eax
jle 0x1006d063
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
mov ecx, dword [ebp - 0xe8]
lea eax, [ebp - 0x1b4]
push eax
push ecx
call fcn.10064bc0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
mov eax, dword [ebp - 0x1b4]
cmp eax, dword [ebp - 0x1a8]
jne 0x1006d0b2
mov edx, dword [ebp - 0x1b0]
cmp edx, dword [ebp - 0x1a4]
jne 0x1006d0b2
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
add ebx, 0x40
mov dword [ebx], eax
mov eax, dword [ebp - 0x1b0]
mov ecx, 4
mov dword [ebx + 4], eax
mov dword [ebp - 0xdc], ebx
mov word [ebx + 0x18], cx
jmp case.0x1006ad56.13
mov eax, dword [esi + 0x3c]
mov edx, dword [edi + 4]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
test eax, eax
je 0x1006ce54
mov ecx, dword [ebx]
lea edx, [ebp - 0x1c0]
push edx
mov edx, dword [ebx + 4]
push edx
push ecx
push 0
push eax
call fcn.100588d0
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebx + 4]
add esp, 0x14
test eax, eax
sete dl
mov dword [esi + 0xc], ecx
mov byte [esi + 0x19], dl
mov byte [esi + 0x1c], 0
mov dword [esi + 0x68], 0
test eax, eax
je 0x1006ce54
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
mov byte [esi + 0x19], 0
jmp 0x1006ce54
mov edi, dword [edi + 4]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax + 0x58]
add ebx, 0x40
mov dword [ebx], ecx
mov edx, dword [eax + 0x5c]
mov dword [ebx + 4], edx
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + edi*4]
add dword [eax + 0x58], 1
mov ecx, 4
mov dword [ebp - 0xdc], ebx
adc dword [eax + 0x5c], 0
mov word [ebx + 0x18], cx
jmp case.0x1006ad56.13
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x3c]
xor ecx, ecx
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x108], ecx
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xe0], eax
mov eax, dword [eax]
cmp eax, ecx
je 0x1006d453
push eax
mov dword [ebp - 0xe8], ecx
call fcn.1005b300
and al, 3
add esp, 4
cmp al, 1
jne 0x1006cb3e
mov ecx, dword [ebp - 0xe0]
cmp byte [ecx + 0x1b], 0
jne 0x1006d32a
mov eax, ecx
cmp byte [eax + 0x1d], 0
je 0x1006d1ed
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x10c], edx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x108], eax
jmp 0x1006d274
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx]
lea ecx, [ebp - 0x16c]
push ecx
push eax
call fcn.10058890
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
cmp dword [ebp - 0x16c], eax
je 0x1006d22d
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x108], eax
jmp 0x1006d274
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx]
lea ecx, [ebp - 0x10c]
push ecx
push eax
call fcn.1005c3f0
add esp, 8
cmp dword [ebp - 0x10c], 0xffffffff
jne 0x1006d266
cmp dword [ebp - 0x108], 0x7fffffff
jne 0x1006d266
mov ecx, dword [ebp - 0xe0]
mov byte [ecx + 0x1b], 1
jmp 0x1006d274
add dword [ebp - 0x10c], 1
adc dword [ebp - 0x108], 0
mov edi, dword [edi + 8]
test edi, edi
je 0x1006d2e5
shl edi, 6
add edi, dword [esi + 0x58]
push edi
call fcn.100557d0
mov eax, dword [edi]
mov ecx, dword [edi + 4]
add esp, 4
cmp eax, 0xffffffff
jne 0x1006d2a0
cmp ecx, 0x7fffffff
je 0x1006ee59
mov edx, dword [ebp - 0xe0]
cmp byte [edx + 0x1b], 0
jne 0x1006ee59
add eax, 1
adc ecx, 0
cmp dword [ebp - 0x108], ecx
jg 0x1006d2d4
jl 0x1006d2c8
cmp dword [ebp - 0x10c], eax
jae 0x1006d2d4
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], ecx
mov eax, dword [ebp - 0x10c]
mov dword [edi], eax
mov ecx, dword [ebp - 0x108]
mov dword [edi + 4], ecx
cmp dword [ebp - 0x108], 0x7fffffff
ja 0x1006d320
jb 0x1006d2fc
cmp dword [ebp - 0x10c], 0xffffffff
jae 0x1006d320
mov eax, dword [ebp - 0xe0]
mov byte [eax + 0x1d], 1
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x108]
add edx, 1
adc ecx, 0
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
jmp 0x1006d32a
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x1b], 0
je 0x1006d43e
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x108], eax
xor esi, esi
or ecx, eax
je 0x1006d395
cmp esi, 2
jg 0x1006d395
lea ecx, [ebp - 0x12d]
push ecx
push 1
call fcn.1007d6e0
movzx eax, byte [ebp - 0x12d]
mov ecx, dword [ebp - 0x10c]
inc eax
cdq
add esp, 8
add ecx, eax
mov eax, dword [ebp - 0x108]
adc eax, edx
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x108], eax
jmp 0x1006d3cd
lea edx, [ebp - 0x10c]
push edx
push 8
call fcn.1007d6e0
mov ecx, dword [ebp - 0x10c]
add esp, 8
cmp esi, 5
jge 0x1006d3c7
and ecx, 0xffffff
xor eax, eax
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x108], eax
jmp 0x1006d3cd
mov eax, dword [ebp - 0x108]
mov edx, ecx
or edx, eax
je 0x1006d402
lea edx, [ebp - 0x16c]
push edx
push eax
mov eax, dword [ebp - 0xe0]
push ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.100588d0
mov ecx, dword [ebp - 0x10c]
add esp, 0x14
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x108]
inc esi
mov edi, dword [ebp - 0x16c]
cmp esi, 0x3e8
jge 0x1006d421
cmp dword [ebp - 0xe8], 0
jne 0x1006d421
test edi, edi
je 0x1006d354
cmp dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], eax
jne 0x1006d43e
test edi, edi
je 0x1006ee59
mov eax, dword [ebp - 0xe0]
mov byte [eax + 0x19], 0
mov byte [eax + 0x1f], 0
mov dword [eax + 0x68], 0
mov edx, dword [ebp - 0x10c]
add ebx, 0x40
mov dword [ebx], edx
mov eax, dword [ebp - 0x108]
mov ecx, 4
mov dword [ebx + 4], eax
mov dword [ebp - 0xdc], ebx
mov word [ebx + 0x18], cx
jmp case.0x1006ad56.13
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + edx*4]
cmp dword [eax], 0
mov dword [ebp - 0xe0], eax
jne 0x1006d499
cmp byte [eax + 0x1e], 0
je 0x1006d645
test byte [edi + 8], 1
mov ecx, dword [ebx - 0x40]
mov edx, dword [ebx - 0x3c]
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x170], edx
je 0x1006d4b7
inc dword [esi + 0x23c]
test byte [edi + 8], 2
je 0x1006d4cf
mov edx, dword [ebx - 0x40]
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x20], edx
mov edx, dword [ebx - 0x3c]
mov dword [ecx + 0x24], edx
cmp byte [eax + 0x1d], 0
je 0x1006d4eb
mov ecx, dword [ebx - 0x3c]
cmp ecx, dword [eax + 0x14]
jl 0x1006d4eb
jg 0x1006d4e7
mov edx, dword [ebx - 0x40]
cmp edx, dword [eax + 0x10]
jb 0x1006d4eb
mov byte [eax + 0x1d], 0
test byte [ebx + 0x18], 1
je 0x1006d4f9
xor ecx, ecx
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], ecx
cmp byte [eax + 0x1e], 0
je 0x1006d5a6
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0x38]
push ecx
call fcn.10054130
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x174]
mov dword [ecx + 0x40], edx
mov dword [ecx + 0x44], eax
mov eax, dword [ebx + 0x14]
add esp, 4
mov dword [ecx + 0x34], eax
test byte [ebx + 0x18], 0x40
je 0x1006d557
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebp - 0xe0]
mov edx, 1
mov dword [eax + 0x38], ecx
mov word [ebx + 0x18], dx
mov byte [eax + 0x1c], 0
jmp 0x1006d5db
add eax, 2
push 1
push eax
call fcn.10054d50
mov ecx, dword [ebp - 0xe0]
add esp, 8
mov dword [ecx + 0x38], eax
test eax, eax
je 0x1006eeaa
mov esi, ecx
mov edx, dword [esi + 0x34]
mov ecx, dword [ebx + 0x10]
push edx
push ecx
push eax
call fcn.1003fe30
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x38]
mov byte [edx + eax], 0
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x38]
mov eax, esi
mov byte [ecx + edx + 1], 0
add esp, 0xc
mov byte [eax + 0x1c], 0
jmp 0x1006d5db
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp - 0x170]
push eax
mov eax, dword [ebp - 0x174]
push ecx
mov ecx, dword [ebp - 0xe0]
push edx
mov edx, dword [ecx]
push eax
push 0
push edx
call fcn.1005d0a0
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe0]
add esp, 0x18
cmp dword [ebp - 0xd8], 0
mov byte [eax + 0x19], 0
mov byte [eax + 0x1f], 0
mov dword [eax + 0x68], 0
jne 0x1006d645
mov esi, dword [ebp - 0xe4]
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x1006d645
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1006d645
mov edx, dword [ebp - 0x170]
push edx
mov edx, dword [ebp - 0x174]
push edx
push eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea edx, [eax + eax*2]
mov eax, dword [esi + 4]
mov edx, dword [eax + edx*8]
mov eax, dword [edi + 8]
push edx
and al, 4
movsx edx, al
mov eax, dword [esi + 0x78]
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push eax
call ecx
add esp, 0x18
mov esi, 2
lea ebx, [ebx]
dec esi
test byte [ebx + 0x18], 0x40
je 0x1006d660
push ebx
call fcn.10055620
add esp, 4
sub ebx, 0x40
test esi, esi
jg 0x1006d650
mov dword [ebp - 0xdc], ebx
jmp case.0x1006ad56.13
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xf0], eax
mov eax, dword [eax]
test eax, eax
je 0x1006d771
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx + 0x7c], 0
je 0x1006d6db
cmp dword [edi + 0xc], 0
je 0x1006d6db
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx + 0x19], 0
je 0x1006d6bd
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x190], eax
jmp 0x1006d6db
lea ecx, [ebp - 0x194]
push ecx
push eax
call fcn.1005c3f0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
mov edx, dword [ebp - 0xf0]
push edx
call fcn.100643f0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax]
push ecx
call fcn.1005d280
mov ecx, dword [ebp - 0xf0]
add esp, 4
mov dword [ebp - 0xd8], eax
mov byte [ecx + 0x1d], 0
mov dword [ecx + 0x68], 0
test eax, eax
jne 0x1006d771
mov edx, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x7c]
test ecx, ecx
je 0x1006d771
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1006d771
mov edx, dword [ebp - 0x190]
push edx
mov edx, dword [ebp - 0x194]
push edx
push eax
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 4]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 4]
mov edx, dword [eax + edx*8]
mov eax, dword [ebp - 0xe4]
push edx
mov edx, dword [eax + 0x78]
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.0x1006ad56.13
inc dword [esi + 0x23c]
jmp case.0x1006ad56.13
cmp dword [edi + 4], 0
je 0x1006d7a2
mov eax, dword [esi + 0x23c]
mov ecx, dword [ebp - 0xe4]
push eax
push ecx
call fcn.10064da0
add esp, 8
mov dword [esi + 0x23c], 0
jmp case.0x1006ad56.13
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x3c]
mov edi, dword [eax + edx*4]
add ebx, 0x40
cmp byte [edi + 0x1c], 0
mov dword [ebp - 0xdc], ebx
je 0x1006d7da
mov ecx, 1
mov word [ebx + 0x18], cx
mov byte [ebx + 0x1b], cl
jmp case.0x1006ad56.13
mov eax, dword [edi]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x1006d8d2
push edi
call fcn.100643f0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
cmp byte [edi + 0x1c], al
je 0x1006d814
mov edx, 1
mov word [ebx + 0x18], dx
jmp case.0x1006ad56.13
cmp byte [edi + 0x21], 0
mov ecx, dword [ebp - 0xf8]
je 0x1006d83b
lea eax, [ebp - 0x208]
push eax
push ecx
call fcn.1005c3f0
mov edx, dword [ebp - 0x208]
mov dword [ebp - 0x148], edx
jmp 0x1006d848
lea eax, [ebp - 0x148]
push eax
push ecx
call fcn.1005c4a0
mov edx, dword [ebp - 0x148]
mov dword [ebx + 0x14], edx
mov eax, dword [ebp - 0x148]
add esp, 8
cmp eax, 0x20
ja 0x1006d870
mov eax, 0x210
lea ecx, [ebx + 0x20]
mov word [ebx + 0x18], ax
mov dword [ebx + 0x10], ecx
jmp 0x1006d896
push 1
push eax
call fcn.10054d50
add esp, 8
test eax, eax
je 0x1006eeaa
mov edx, 0x50
mov word [ebx + 0x18], dx
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x10], eax
cmp byte [edi + 0x21], 0
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0xf8]
push eax
push ecx
push 0
push edx
je 0x1006d8c1
call fcn.10058440
add esp, 0x10
mov byte [ebx + 0x1b], 1
jmp case.0x1006ad56.13
call fcn.1005c550
add esp, 0x10
mov byte [ebx + 0x1b], 1
jmp case.0x1006ad56.13
cmp byte [edi + 0x1e], 0
je 0x1006d8f6
mov eax, dword [edi + 0x34]
mov dword [ebx + 0x14], eax
mov ecx, dword [edi + 0x38]
mov dword [ebx + 0x10], ecx
mov edx, 0x110
mov word [ebx + 0x18], dx
mov byte [ebx + 0x1b], 1
jmp case.0x1006ad56.13
mov eax, 1
mov word [ebx + 0x18], ax
mov byte [ebx + 0x1b], al
jmp case.0x1006ad56.13
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x3c]
mov esi, dword [edx + ecx*4]
push esi
call fcn.100643f0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
add ebx, 0x40
mov dword [ebp - 0xdc], ebx
cmp byte [esi + 0x19], al
je 0x1006d949
mov eax, dword [esi + 8]
mov dword [ebp - 0x180], eax
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x17c], ecx
jmp 0x1006d987
cmp byte [esi + 0x1e], 0
je 0x1006d963
mov edx, dword [esi + 0x40]
mov dword [ebp - 0x180], edx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x17c], eax
jmp 0x1006d987
cmp byte [esi + 0x1c], 0
jne 0x1006b59b
mov esi, dword [esi]
test esi, esi
je 0x1006b59b
lea ecx, [ebp - 0x180]
push ecx
push esi
call fcn.1005c3f0
add esp, 8
mov edx, dword [ebp - 0x180]
mov dword [ebx], edx
mov eax, dword [ebp - 0x17c]
mov ecx, 4
mov dword [ebx + 4], eax
mov word [ebx + 0x18], cx
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x3c]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x1c], 1
mov byte [eax + 0x19], 0
jmp case.0x1006ad56.13
mov eax, dword [esi + 0x3c]
mov edx, dword [edi + 4]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
test eax, eax
je 0x1006d9f9
lea ecx, [ebp - 0x1b8]
push ecx
push eax
call fcn.10058890
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x1b8]
add esp, 8
mov byte [esi + 0x1c], al
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
test eax, eax
jmp 0x1006da5b
mov byte [esi + 0x1c], 0
jmp case.0x1006ad56.13
mov eax, dword [esi + 0x3c]
mov edx, dword [edi + 4]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
test eax, eax
je 0x1006da41
lea ecx, [ebp - 0x154]
push ecx
push eax
call fcn.10058850
add esp, 8
cmp dword [ebp - 0x154], 0
mov dword [ebp - 0xd8], eax
sete dl
mov byte [esi + 0x1a], dl
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
jmp 0x1006da4b
mov dword [ebp - 0x154], 1
mov al, byte [ebp - 0x154]
mov byte [esi + 0x1c], al
cmp dword [ebp - 0x154], 0
je case.0x1006ad56.13
mov edi, dword [edi + 8]
test edi, edi
jle case.0x1006ad56.13
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx + 0x98], 0
jne 0x1006ee68
mov ecx, dword [esi + 0x3c]
mov edx, dword [edi + 4]
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi]
test ecx, ecx
je 0x1006db02
cmp byte [esi + 0x1c], 0
je 0x1006dab3
mov dword [ebp - 0x178], 1
mov byte [esi + 0x19], 0
jmp case.0x1006ad56.13
cmp al, 0x6e
jne 0x1006dac6
lea edx, [ebp - 0x178]
push edx
push ecx
call fcn.1005c5c0
jmp 0x1006dad3
lea eax, [ebp - 0x178]
push eax
push ecx
call fcn.1005c730
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x178]
add esp, 8
mov byte [esi + 0x1c], al
mov dword [esi + 0x68], 0
test eax, eax
jne 0x1006db06
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
mov byte [esi + 0x19], al
jmp case.0x1006ad56.13
mov byte [esi + 0x1c], 1
mov byte [esi + 0x19], 0
jmp case.0x1006ad56.13
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x3c]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esi]
test ecx, ecx
je 0x1006ce54
mov eax, dword [ebx + 0x14]
mov edi, dword [ebx + 0x10]
push 0
push 0x100b6252
cdq
push edx
push eax
push edi
push ecx
call fcn.1005d0a0
add esp, 0x18
mov dword [ebp - 0xd8], eax
mov dword [esi + 0x68], 0
jmp 0x1006ce54
mov ecx, dword [esi + 0x3c]
mov eax, dword [edi + 4]
mov edi, dword [ecx + eax*4]
mov esi, dword [edi]
test esi, esi
je 0x1006ce54
mov eax, dword [ebx + 0x14]
lea edx, [ebp - 0x19c]
push edx
cdq
push edx
push eax
mov eax, dword [ebx + 0x10]
push eax
push esi
call fcn.100588d0
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006db9c
cmp dword [ebp - 0x19c], eax
jne 0x1006db9c
push esi
call fcn.1005d280
add esp, 4
mov dword [ebp - 0xd8], eax
mov dword [edi + 0x68], 0
jmp 0x1006ce54
mov edi, dword [edi + 4]
add ebx, 0x40
mov ecx, 1
mov word [ebx + 0x18], cx
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + edi*4]
mov ecx, dword [eax]
mov dword [ebp - 0xdc], ebx
test ecx, ecx
je case.0x1006ad56.13
cmp byte [eax + 0x1c], 0
je 0x1006dbe1
mov eax, 1
mov word [ebx + 0x18], ax
jmp case.0x1006ad56.13
lea edx, [ebp - 0x1dc]
push edx
push ecx
call fcn.10064bc0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1006e59e
mov eax, 4
mov word [ebx + 0x18], ax
mov ecx, dword [ebp - 0x1dc]
mov dword [ebx], ecx
mov edx, dword [ebp - 0x1d8]
mov dword [ebx + 4], edx
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x3c]
mov eax, dword [ecx + eax*4]
cmp dword [eax], 0
mov dword [ebp - 0x114], eax
je 0x1006ce54
test byte [ebx + 0x18], 0x12
jne 0x1006dc55
movzx edx, byte [ebp - 0x110]
push edx
push ebx
call fcn.100554f0
add esp, 8
test eax, eax
jne 0x1006eeaa
cmp dword [edi + 0xc], 0
mov esi, dword [ebp - 0x114]
mov ecx, dword [esi + 0x48]
setne al
mov byte [ecx], al
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
lea edx, [ebp - 0x144]
push edx
push eax
push ecx
push esi
call fcn.10064cb0
mov edx, dword [esi + 0x48]
add esp, 0x10
mov dword [ebp - 0xd8], eax
mov byte [edx], 0
test eax, eax
jne case.0x1006ad56.13
mov al, byte [edi]
cmp al, 0x27
jne 0x1006dca3
mov eax, dword [ebp - 0x144]
neg eax
jmp 0x1006dcae
cmp al, 0x40
mov eax, dword [ebp - 0x144]
jne 0x1006dcb4
inc eax
mov dword [ebp - 0x144], eax
test eax, eax
jle 0x1006ce54
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp 0x1006ce54
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x14]
lea edx, [ebp - 0x184]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x10]
push edx
push eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xec], ecx
call fcn.10054c40
mov esi, eax
add esp, 8
cmp esi, dword [ebp - 0xec]
jge 0x1006ce54
jmp 0x1006dd10
cmp dword [ebp - 0xe8], 0
jle 0x1006ce54
mov ecx, dword [ebp - 0x114]
lea eax, [ebp - 0x184]
push eax
lea edx, [esi + ecx]
push edx
call fcn.10054c40
add esp, 8
add esi, eax
cmp dword [ebp - 0x184], 0
je 0x1006dcbc
dec dword [ebp - 0xe8]
cmp esi, dword [ebp - 0xec]
jl 0x1006dd10
jmp 0x1006ce54
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x50]
xor ecx, ecx
test eax, eax
je 0x1006dda0
mov edx, 0xbdf20da3
lea esp, [esp]
cmp dword [eax + 0x50], edx
jne 0x1006dd85
cmp byte [eax + 0x23a], 2
jae 0x1006dd85
cmp dword [eax + 0x7c], 0
jl 0x1006dd85
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x1006dd70
cmp ecx, 1
jle 0x1006dda0
mov dword [ebp - 0xd8], 6
jmp case.0x1006ad56.13
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
lea ecx, [ebp - 0x188]
push ecx
mov ecx, dword [ebp - 0xe4]
push edx
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8 + 4]
push eax
call fcn.1005d5d0
add ebx, 0x40
mov ecx, eax
mov edx, 4
mov word [ebx + 0x18], dx
mov eax, dword [ebp - 0x188]
cdq
add esp, 0xc
mov dword [ebx], eax
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xdc], ebx
mov dword [ebx + 4], edx
test ecx, ecx
jne case.0x1006ad56.13
mov eax, dword [ebp - 0x188]
test eax, eax
je case.0x1006ad56.13
mov ecx, dword [edi + 4]
mov edi, dword [edi + 8]
push ecx
push eax
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + 4]
lea edx, [edi + edi*2]
lea edx, [ecx + edx*8]
push edx
call fcn.1005fc60
add esp, 0xc
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
mov edx, dword [ebp - 0xe4]
push eax
mov eax, dword [edx + 4]
lea ecx, [edi + edi*2]
mov ecx, dword [eax + ecx*8 + 4]
push ecx
call fcn.1005d530
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.0x1006ad56.13
mov edi, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
mov ecx, dword [ecx + 4]
lea edx, [edi + edi*2]
lea esi, [ecx + edx*8]
mov ecx, dword [esi + 4]
xor edx, edx
cmp al, 0x34
setne dl
lea eax, [ebp - 0x1c4]
dec edx
and edx, 3
add edx, 2
push edx
push eax
push ecx
call fcn.1005c8c0
add ebx, 0x40
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xdc], ebx
test eax, eax
jne 0x1006b780
mov eax, dword [ebp - 0x1c4]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov edx, 4
mov word [ebx + 0x18], dx
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xe4]
mov edx, dword [edx + 4]
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8]
mov edx, dword [ecx + 0x14]
test byte [edx + 0x7a], 1
je case.0x1006ad56.13
mov dword [ebp - 0xec], str.sqlite_temp_master
cmp eax, 1
je 0x1006def0
mov dword [ebp - 0xec], str.sqlite_master
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x1f8], edx
lea edx, [esi + 0x230]
mov dword [ebp - 0x1f4], edx
mov edx, dword [edi + 0xc]
mov ecx, dword [ecx]
push edx
mov edx, dword [ebp - 0xec]
push edx
push ecx
push eax
push str.SELECT_name__rootpage__sql___d_FROM__q._s_WHERE__s
call fcn.1006a850
mov edi, eax
add esp, 0x14
test edi, edi
je 0x1006eeaa
mov edx, dword [ebp - 0xe4]
push edx
call fcn.100549e0
mov eax, dword [ebp - 0xe4]
push 0
lea ecx, [ebp - 0x1f8]
push ecx
push fcn.10068d30
push edi
push eax
mov byte [eax + 0x44], 1
call fcn.10053ea0
add esp, 0x18
mov dword [ebp - 0xd8], eax
cmp eax, 4
jne 0x1006df73
mov edx, dword [ebp - 0x1f0]
mov dword [ebp - 0xd8], edx
push edi
call fcn.10054130
mov eax, dword [ebp - 0xe4]
push eax
mov byte [eax + 0x44], 0
call fcn.100549a0
add esp, 8
cmp dword [ebp - 0xd8], 7
jne case.0x1006ad56.13
call fcn.10054d40
jmp 0x1006eeaa
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
push eax
push ecx
call fcn.100803b0
add esp, 8
jmp case.0x1006ad56.13
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
push edx
push eax
push ecx
call fcn.1005ed90
add esp, 0xc
jmp case.0x1006ad56.13
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
push edx
push eax
push ecx
call fcn.1005ea40
add esp, 0xc
jmp case.0x1006ad56.13
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
push edx
push eax
push ecx
call fcn.1007b730
add esp, 0xc
jmp case.0x1006ad56.13
xor ecx, ecx
mov dword [ebp - 0xf8], ecx
cmp ebx, dword [esi + 0x28]
jb 0x1006e03b
mov eax, ebx
mov edi, edi
test byte [eax + 0x18], 4
je 0x1006e035
inc ecx
mov edx, ecx
shl edx, 6
mov eax, ebx
sub eax, edx
cmp eax, dword [esi + 0x28]
jae 0x1006e020
mov dword [ebp - 0xf8], ecx
mov eax, dword [ebp - 0xf8]
lea ecx, [eax*4 + 4]
push 1
push ecx
call fcn.10054d50
add esp, 8
mov dword [ebp - 0x124], eax
test eax, eax
je 0x1006eeaa
mov esi, dword [ebp - 0xf8]
xor eax, eax
test esi, esi
jle 0x1006e080
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebx]
mov dword [ecx + eax*4], edx
inc eax
sub ebx, 0x40
cmp eax, esi
jl 0x1006e073
mov ecx, dword [ebp - 0x124]
lea edx, [ebp - 0xdc]
mov dword [ecx + eax*4], 0
push edx
mov eax, esi
call fcn.1006a9b0
mov eax, dword [ebp - 0x124]
mov edi, dword [edi + 8]
mov edx, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xdc]
push esi
push eax
mov eax, dword [edx + 4]
lea ecx, [edi + edi*2]
mov ecx, dword [eax + ecx*8 + 4]
add ebx, 0x40
push ecx
mov dword [ebp - 0xdc], ebx
call fcn.1005cb20
add esp, 0x10
test eax, eax
je 0x1006e107
cmp byte [eax], 0
je 0x1006e0fe
mov dword [ebx + 0x10], eax
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1006e0e0
sub eax, edx
mov dword [ebx + 0x14], eax
mov edx, 0x62
mov word [ebx + 0x18], dx
mov dword [ebx + 0x1c], 0
jmp 0x1006e11e
push eax
call fcn.10054130
add esp, 4
mov dword [ebx + 0x10], 0x100b0108
mov eax, 0xa2
mov dword [ebx + 0x14], 2
mov word [ebx + 0x18], ax
movzx ecx, byte [ebp - 0x110]
push ecx
push ebx
mov byte [ebx + 0x1b], 1
call fcn.10055340
mov edx, dword [ebp - 0x124]
push edx
call fcn.10054130
add esp, 0xc
jmp case.0x1006ad56.13
push ebx
call fcn.100557d0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
add esi, 0x64
push esi
call fcn.1007d840
add esp, 0x10
sub ebx, 0x40
mov dword [ebp - 0xdc], ebx
jmp case.0x1006ad56.13
mov edx, dword [ebp - 0xe4]
cmp dword [edx + 0x98], 0
jne 0x1006ee68
lea eax, [ebp - 0x1d4]
push eax
add esi, 0x64
push esi
call fcn.1007d8f0
add esp, 8
cmp eax, 0x65
jne 0x1006e1a5
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
mov ecx, dword [ebp - 0x1d4]
add ebx, 0x40
mov dword [ebx], ecx
mov edx, dword [ebp - 0x1d0]
mov eax, 4
mov dword [ebx + 4], edx
mov dword [ebp - 0xdc], ebx
mov word [ebx + 0x18], ax
jmp case.0x1006ad56.13
mov edi, dword [esi + 0x70]
lea eax, [edi + 1]
mov dword [esi + 0x70], eax
cmp edi, dword [esi + 0x74]
jl 0x1006e1ff
lea ecx, [edi + edi*2 + 3]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [esi + 0x74], eax
lea eax, [esi + 0x78]
push ecx
push eax
call fcn.10055150
add esp, 8
cmp dword [esi + 0x78], 0
je 0x1006eeaa
mov eax, dword [esi + 0x78]
mov ecx, dword [ebp - 0xe4]
lea edx, [edi + edi*2]
lea eax, [eax + edx*8]
mov edx, dword [ecx + 0x20]
mov dword [eax], edx
mov ecx, dword [ecx + 0x24]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x23c]
add esi, 0x64
mov dword [eax + 8], edx
mov ecx, dword [esi]
mov dword [eax + 0xc], ecx
mov edx, dword [esi + 4]
mov dword [eax + 0x10], edx
mov ecx, dword [esi + 8]
push esi
mov dword [eax + 0x14], ecx
call fcn.1007d820
jmp 0x1006ec04
dec dword [esi + 0x70]
mov eax, dword [esi + 0x70]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + edx*8]
lea edi, [eax + edx*8]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x20], ecx
mov edx, dword [edi + 4]
mov dword [eax + 0x24], edx
mov eax, dword [edi + 8]
mov dword [esi + 0x23c], eax
add esi, 0x64
push esi
call fcn.1007d950
mov ecx, dword [edi + 0xc]
mov dword [esi], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 4], edx
mov eax, dword [edi + 0x14]
mov dword [esi + 8], eax
jmp 0x1006ec04
mov ecx, dword [edi + 4]
shl ecx, 6
add ecx, dword [esi + 0x58]
push ebx
push ecx
call fcn.100559b0
sub ebx, 0x40
add esp, 8
cmp dword [edi + 8], 0
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xdc], ebx
jne case.0x1006ad56.13
mov edx, dword [edi + 4]
shl edx, 6
add edx, dword [esi + 0x58]
push 0x100
add ebx, 0x40
push edx
push ebx
mov dword [ebp - 0xdc], ebx
call fcn.10055910
add esp, 0xc
jmp case.0x1006ad56.13
mov edi, dword [edi + 4]
shl edi, 6
add edi, dword [esi + 0x58]
push edi
call fcn.100557d0
push ebx
call fcn.100557d0
mov eax, dword [ebx + 4]
mov edx, dword [edi + 4]
mov ecx, dword [ebx]
add esp, 8
cmp edx, eax
jg case.0x1006ad56.13
jl 0x1006e310
mov edx, dword [edi]
cmp edx, ecx
jae case.0x1006ad56.13
mov dword [edi], ecx
mov dword [edi + 4], eax
jmp case.0x1006ad56.13
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
shl ecx, 6
add ecx, dword [esi + 0x58]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x58]
shl eax, 6
cmp dword [eax + esi + 4], 0
jl case.0x1006ad56.13
jg 0x1006e351
cmp dword [eax + esi], 0
jbe case.0x1006ad56.13
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x58]
shl eax, 6
cmp dword [eax + esi + 4], 0
jg case.0x1006ad56.13
jl 0x1006e380
cmp dword [eax + esi], 0
jae case.0x1006ad56.13
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x58]
shl eax, 6
mov ecx, dword [eax + esi]
or ecx, dword [eax + esi + 4]
jne case.0x1006ad56.13
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
mov edx, dword [edi + 4]
shl edx, 6
add edx, dword [esi + 0x58]
push edx
call fcn.10055880
jmp 0x1006ec04
mov eax, dword [edi + 4]
cdq
push edx
push eax
mov eax, dword [edi + 8]
shl eax, 6
add eax, dword [esi + 0x58]
push eax
call fcn.100558b0
add esp, 0xc
jmp case.0x1006ad56.13
mov ecx, dword [edi + 8]
mov esi, dword [esi + 0x58]
mov edx, dword [edi + 4]
shl ecx, 6
add ecx, esi
shl edx, 6
push ecx
add edx, esi
push edx
call fcn.100559b0
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.0x1006ad56.13
mov edx, dword [edi + 8]
mov eax, edx
shl eax, 6
sub ebx, eax
mov eax, dword [esi + 0x30]
lea ecx, [ebx + 0x40]
xor ebx, ebx
mov dword [ebp - 0x114], edx
mov dword [ebp - 0xec], eax
test edx, edx
jle 0x1006e446
nop
mov eax, dword [ebp - 0xec]
mov dword [eax + ebx*4], ecx
call fcn.1006a980
inc ebx
add ecx, 0x40
cmp ebx, edx
jl 0x1006e430
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0xc]
shl eax, 6
add eax, dword [esi + 0x58]
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0x8c], eax
inc dword [eax + 0x14]
xor eax, eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0x88], al
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xd4]
mov edx, 1
mov word [ebp - 0xb4], dx
cmp byte [eax + 3], 0
je 0x1006e49c
mov ecx, dword [edi - 8]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0xec]
mov edi, dword [ebp - 0x114]
push edx
mov edx, dword [eax + 0x14]
lea ecx, [ebp - 0xd4]
push edi
push ecx
call edx
lea eax, [ebp - 0xdc]
push eax
mov eax, edi
call fcn.1006a9b0
add esp, 0x10
cmp byte [ebp - 0x88], 0
je 0x1006e4fb
lea ecx, [ebp - 0xcc]
push 0
push ecx
call fcn.100668c0
add esp, 4
push eax
add esi, 0x230
push esi
call fcn.10054f00
add esp, 0xc
mov dword [ebp - 0xd8], 1
lea edx, [ebp - 0xcc]
push edx
call fcn.10055620
jmp 0x1006ebfe
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0xc]
shl eax, 6
add eax, dword [esi + 0x58]
push ecx
push eax
mov dword [ebp - 0x114], eax
call fcn.10055570
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, 1
jne case.0x1006ad56.13
mov edx, dword [ebp - 0x114]
push 0
push edx
call fcn.100668c0
add esp, 4
push eax
add esi, 0x230
push esi
call fcn.10054f00
add esp, 0xc
jmp case.0x1006ad56.13
mov edi, dword [ebp - 0xe4]
push edi
call fcn.100549e0
add esp, 4
test eax, eax
jne 0x1006e594
push edi
add esi, 0x230
push esi
call fcn.10080620
push edi
mov dword [ebp - 0xd8], eax
call fcn.100549a0
add esp, 0xc
test eax, eax
je case.0x1006ad56.13
mov dword [ebp - 0xd8], 0x15
mov esi, dword [ebp - 0x128]
cmp dword [esi + 0x230], 0
lea edi, [esi + 0x230]
jne 0x1006e5e1
call fcn.10054d20
test eax, eax
je 0x1006e5c6
mov dword [ebp - 0xd8], 7
mov eax, dword [ebp - 0xd8]
push 0
push eax
call fcn.100530e0
add esp, 4
push eax
push edi
call fcn.10054f00
add esp, 0xc
cmp dword [ebp - 0xd8], 0
je 0x1006eedd
mov ecx, dword [ebp - 0xd8]
mov dword [esi + 0x80], ecx
mov edi, 1
jmp 0x1006eee2
cmp dword [edi + 4], 0
jne 0x1006e61b
mov eax, dword [ebp - 0xe4]
push eax
call fcn.10064dd0
jmp 0x1006ec04
mov byte [esi + 0x238], 1
jmp case.0x1006ad56.13
mov eax, dword [edi + 4]
test eax, eax
sets cl
mov byte [ebp - 0x1cc], cl
test cl, cl
je 0x1006e640
or ecx, 0xffffffff
sub ecx, eax
mov eax, ecx
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [edi + 8]
push edx
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0xe4]
push ecx
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*8 + 4]
push edx
call fcn.1005bd80
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp eax, 6
jne case.0x1006ad56.13
mov eax, dword [edi + 0xc]
push 0
push eax
push str.database_table_is_locked:
add esi, 0x230
push esi
call fcn.10054f00
add esp, 0x10
jmp case.0x1006ad56.13
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xe4]
push ecx
push edx
call fcn.1005e410
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.0x1006ad56.13
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xe4]
add esi, 0x230
push esi
push eax
push ecx
push edx
call fcn.1005e0c0
add esp, 0x10
mov dword [ebp - 0xd8], eax
jmp case.0x1006ad56.13
mov edx, dword [ebp - 0xe4]
mov byte [esi + 0x23a], 2
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.1005e260
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov byte [esi + 0x23a], 0
jmp case.0x1006ad56.13
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xf0], 0
mov esi, dword [edi]
push eax
mov dword [ebp - 0x114], esi
call fcn.100549e0
add esp, 4
test eax, eax
jne 0x1006e594
mov edx, dword [esi + 0x18]
lea ecx, [ebp - 0xf0]
push ecx
push edi
call edx
mov esi, eax
mov eax, dword [ebp - 0xe4]
push eax
mov dword [ebp - 0xd8], esi
call fcn.100549a0
add esp, 0xc
test eax, eax
jne 0x1006e594
test esi, esi
jne case.0x1006ad56.13
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0x128]
mov dword [ecx], edi
mov edi, dword [edx + 4]
push 0xffffffffffffffff
call fcn.1006a9e0
add esp, 4
test eax, eax
je 0x1006e7a9
mov ecx, dword [ebp - 0xf0]
mov dword [eax + 0x60], ecx
mov edx, dword [ebp - 0xf0]
mov ecx, dword [edx]
mov edx, dword [ecx]
mov dword [eax + 0x64], edx
jmp case.0x1006ad56.13
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x114]
mov edx, dword [ecx + 0x1c]
push eax
call edx
jmp 0x1006ec04
mov ecx, dword [esi + 0x3c]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0x60]
mov ecx, dword [ebx - 0x40]
mov dword [ebp - 0x100], eax
mov eax, dword [edx]
mov eax, dword [eax]
cmp dword [eax + 0x20], 0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf8], ecx
je 0x1006e8cd
mov edx, dword [esi + 0x30]
mov dword [ebp - 0xec], edx
mov eax, ecx
xor edx, edx
test eax, eax
jle 0x1006e82a
inc eax
shl eax, 6
mov ecx, ebx
sub ecx, eax
jmp 0x1006e810
mov eax, dword [ebp - 0xec]
mov dword [eax + edx*4], ecx
call fcn.1006a980
inc edx
add ecx, 0x40
cmp edx, dword [ebp - 0xf8]
jl 0x1006e810
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.100549e0
add esp, 4
test eax, eax
jne 0x1006e594
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf8]
push edx
mov byte [esi + 0x23a], 1
mov ecx, dword [edi + 0xc]
mov edx, dword [ebx]
push eax
mov eax, dword [ebp - 0x100]
push ecx
mov ecx, dword [eax + 0x60]
push edx
mov edx, dword [ebp - 0xe8]
mov eax, dword [edx + 0x20]
push ecx
call eax
add esp, 0x14
mov dword [ebp - 0xd8], eax
mov byte [esi + 0x23a], 0
test eax, eax
jne 0x1006e8a4
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x28]
push edx
call ecx
add esp, 4
mov dword [ebp - 0x164], eax
mov edx, dword [ebp - 0xe4]
push edx
call fcn.100549a0
add esp, 4
test eax, eax
jne 0x1006e594
cmp dword [ebp - 0x164], eax
je 0x1006e8cd
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
mov eax, dword [ebp - 0xf8]
lea ecx, [ebp - 0xdc]
add eax, 2
push ecx
jmp 0x1006ebf9
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x3c]
mov edi, dword [eax + edx*4]
mov ecx, dword [edi + 0x60]
mov edx, dword [ecx]
mov eax, dword [edx]
cmp dword [eax + 0x30], 0
mov dword [ebp - 0x114], eax
jne 0x1006e90a
push 0
push str.Unsupported_module_operation:_xRowid
jmp 0x1006c7bd
mov esi, dword [ebp - 0xe4]
push esi
call fcn.100549e0
add esp, 4
test eax, eax
jne 0x1006e594
mov ecx, dword [edi + 0x60]
mov edx, dword [ebp - 0x114]
lea eax, [ebp - 0x1e4]
push eax
mov eax, dword [edx + 0x30]
push ecx
call eax
push esi
mov dword [ebp - 0xd8], eax
call fcn.100549a0
add esp, 0xc
test eax, eax
jne 0x1006e594
add ebx, 0x40
mov ecx, 4
mov word [ebx + 0x18], cx
mov edx, dword [ebp - 0x1e4]
mov dword [ebx], edx
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0xdc], ebx
mov dword [ebx + 4], eax
jmp case.0x1006ad56.13
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x114], eax
mov eax, dword [eax + 0x60]
mov ecx, dword [eax]
mov eax, dword [ecx]
cmp dword [eax + 0x2c], 0
mov dword [ebp - 0x138], eax
jne 0x1006e9a4
push 0
push str.Unsupported_module_operation:_xColumn
jmp 0x1006c7bd
push 0x58
lea edx, [ebp - 0x7c]
push 0
push edx
call fcn.10044ad0
mov esi, dword [ebp - 0xe4]
mov eax, 1
push esi
mov word [ebp - 0x5c], ax
call fcn.100549e0
add esp, 0x10
test eax, eax
jne 0x1006e594
mov ecx, dword [edi + 8]
mov eax, dword [ebp - 0x114]
push ecx
mov ecx, dword [eax + 0x60]
lea edx, [ebp - 0x7c]
push edx
mov edx, dword [ebp - 0x138]
mov eax, dword [edx + 0x2c]
push ecx
call eax
movzx ecx, byte [ebp - 0x110]
push ecx
lea edx, [ebp - 0x74]
push edx
mov dword [ebp - 0xd8], eax
call fcn.10055340
lea ecx, [ebp - 0x74]
add ebx, 0x40
push ecx
xor eax, eax
push ebx
mov dword [ebp - 0xdc], ebx
mov word [ebx + 0x18], ax
call fcn.100559b0
push esi
call fcn.100549a0
add esp, 0x20
test eax, eax
jne 0x1006e594
jmp case.0x1006ad56.13
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx]
mov dword [ebp - 0xec], eax
mov eax, dword [edx]
cmp dword [eax + 0x24], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x100], eax
jne 0x1006ea6c
push 0
push str.Unsupported_module_operation:_xNext
jmp 0x1006c7bd
mov eax, dword [ebp - 0xe4]
push eax
call fcn.100549e0
add esp, 4
test eax, eax
jne 0x1006e594
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x100]
mov byte [esi + 0x23a], 1
mov edx, dword [ecx + 0x60]
mov ecx, dword [eax + 0x24]
push edx
call ecx
add esp, 4
mov dword [ebp - 0xd8], eax
mov byte [esi + 0x23a], 0
test eax, eax
jne 0x1006eacf
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 0x28]
push eax
call edx
add esp, 4
mov esi, eax
jmp 0x1006ead5
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0xe4]
push eax
call fcn.100549a0
add esp, 4
test eax, eax
jne 0x1006e594
test esi, esi
jne case.0x1006ad56.13
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1006ad56.13
mov eax, dword [edi + 0xc]
mov ecx, dword [eax]
cmp dword [ecx + 0x34], 0
mov dword [ebp - 0x114], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0xe8], eax
jne 0x1006eb48
push 0
push str.read_only_table
add esi, 0x230
push esi
call fcn.10054f00
add esp, 0xc
mov dword [ebp - 0xd8], 1
jmp 0x1006ebec
mov esi, dword [esi + 0x30]
mov edx, eax
shl edx, 6
mov ecx, ebx
sub ecx, edx
add ecx, 0x40
xor edx, edx
test eax, eax
jle 0x1006eb74
lea ecx, [ecx]
call fcn.1006a980
mov dword [esi + edx*4], ecx
inc edx
add ecx, 0x40
cmp edx, dword [ebp - 0xe8]
jl 0x1006eb60
mov eax, dword [ebp - 0xe4]
push eax
call fcn.100549e0
add esp, 4
test eax, eax
jne 0x1006e594
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 0x1ec]
push ecx
mov ecx, dword [ebp - 0x138]
push esi
push edx
mov edx, dword [ecx + 0x34]
push eax
call edx
mov esi, eax
mov eax, dword [ebp - 0xe4]
push eax
mov dword [ebp - 0xd8], esi
call fcn.100549a0
add esp, 0x14
test eax, eax
jne 0x1006e594
cmp dword [edi + 4], eax
je 0x1006ebec
test esi, esi
jne 0x1006ebec
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ebp - 0x1e8]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0xe8]
call fcn.1006a9b0
mov ebx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xf4]
cmp dword [ebp - 0xd8], 0
mov esi, dword [ebp - 0x128]
je 0x1006ac90
mov ecx, dword [ebp - 0xd8]
mov dword [esi + 0x80], ecx
mov edi, 1
jmp 0x1006eee2
mov edx, dword [ebp - 0xf4]
mov dword [esi + 0x2c], ebx
mov ecx, dword [edi + 4]
mov dword [esi + 0x80], ecx
mov dword [esi + 0x7c], edx
mov eax, dword [edi + 8]
mov dword [esi + 0x88], eax
mov edi, dword [edi + 0xc]
test edi, edi
je 0x1006ec6d
push 0
lea ecx, [esi + 0x230]
push edi
push ecx
call fcn.10054f00
add esp, 0xc
push esi
call fcn.100650c0
add esp, 4
cmp eax, 5
je 0x1006edd7
mov eax, dword [esi + 0x80]
neg eax
sbb eax, eax
pop edi
and eax, 0xffffff9c
pop ebx
add eax, 0x65
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x28]
shl edx, 6
mov eax, ebx
sub eax, edx
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x11c], ecx
cmp ecx, eax
jae 0x1006ecfb
lea ecx, [ecx]
mov eax, 0x100
test word [ecx + 0x18], ax
je 0x1006ece2
mov ecx, dword [ebp - 0x11c]
push ecx
call fcn.100553e0
add esp, 4
test eax, eax
jne 0x1006eeaa
mov eax, dword [ebp - 0x11c]
add eax, 0x40
mov dword [ebp - 0x11c], eax
mov ecx, eax
cmp eax, dword [ebp - 0x164]
jb 0x1006ecc0
mov edx, dword [esi + 0x60]
add edx, 2
or edx, 1
mov dword [esi + 0x60], edx
cmp ecx, ebx
ja 0x1006ed37
jmp 0x1006ed10
mov eax, dword [ebp - 0x11c]
push eax
call fcn.10055460
mov ecx, dword [ebp - 0x11c]
add esp, 4
call fcn.1006a980
add ecx, 0x40
mov dword [ebp - 0x11c], ecx
cmp ecx, ebx
jbe 0x1006ed10
inc dword [esi + 0x5c]
mov edx, dword [ebp - 0xf4]
mov byte [esi + 0x234], 1
mov ecx, dword [edi + 4]
pop edi
mov dword [esi + 0x2c], ebx
inc edx
pop ebx
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x7c], edx
mov eax, 0x64
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0xd8], 0x14
jmp 0x1006e59e
cmp dword [edi + 8], 0
je 0x1006eda7
mov esi, ecx
push esi
call fcn.10053040
add esp, 4
mov byte [esi + 0x10], 1
pop edi
pop ebx
mov eax, 0x65
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
mov al, byte [ebp - 0xf9]
mov edi, ecx
push esi
mov byte [edi + 0x10], al
call fcn.100650c0
add esp, 4
cmp eax, 5
jne 0x1006ed91
mov ecx, dword [ebp - 0xf4]
mov dl, 1
sub dl, byte [ebp - 0xf9]
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x7c], ecx
mov byte [edi + 0x10], dl
pop edi
pop ebx
mov dword [esi + 0x80], 5
mov eax, 5
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xf4]
mov dword [esi + 0x7c], eax
pop edi
mov dword [esi + 0x2c], ebx
mov eax, 5
pop ebx
mov dword [esi + 0x80], eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xf4]
xor eax, eax
mov dword [ecx + 0x7c], edx
mov dword [ecx + 0x80], 5
cmp dword [edi + 8], eax
pop edi
setle al
inc eax
shl eax, 6
add eax, ebx
pop ebx
mov dword [ecx + 0x2c], eax
mov eax, 5
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0xd8], 0xd
jmp 0x1006e59e
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x30]
sub eax, 0xf03b7906
neg eax
sbb eax, eax
and eax, 0xc
add eax, 9
push 0
push eax
mov dword [ebp - 0xd8], eax
mov dword [esi + 0x80], eax
call fcn.100530e0
add esp, 4
push eax
lea ecx, [esi + 0x230]
push ecx
jmp 0x1006e5d9
mov esi, dword [ebp - 0x128]
push 0
lea edx, [esi + 0x230]
push str.out_of_memory
push edx
call fcn.10054f00
mov dword [ebp - 0xd8], 7
mov ecx, dword [ebp - 0xd8]
add esp, 0xc
mov dword [esi + 0x80], ecx
mov edi, 1
jmp 0x1006eee2
mov edi, 0x65
push esi
call fcn.100650c0
mov ecx, dword [ebp - 4]
add esp, 4
mov eax, edi
pop edi
mov dword [esi + 0x2c], ebx
pop ebx
xor ecx, ebp
pop esi
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret