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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x248
mov eax, dword [0x10137920]
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 0x1009e68d
lea eax, [ecx + 0x15]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006656c
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 0x100a291a
mov eax, dword [esi + 0x22c]
xor edi, edi
mov dword [esi + 0x80], edi
cmp eax, edi
je 0x1009e6d2
lea ecx, [ebp - 0xdc]
push ecx
call fcn.1009e420
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 0x100a28de
mov edx, dword [esi + 0x7c]
mov dword [ebp - 0xf4], edx
lea ebx, [ebx]
call fcn.10089170
test eax, eax
jne 0x100a291a
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 0x1009e7ae
mov edx, dword [eax + 0xb0]
cmp edx, dword [ebp - 0x160]
jne 0x1009e7a8
push eax
call fcn.10088e30
add esp, 4
test eax, eax
jne 0x100a2004
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 0x1009e787
mov eax, dword [ebp - 0xe4]
push eax
call fcn.10088df0
mov dword [ebp - 0xd8], 4
jmp 0x100a2674
mov ecx, dword [ebp - 0xe4]
push ecx
mov dword [ebp - 0x160], 0
call fcn.10088df0
add esp, 4
test eax, eax
jne 0x100a2004
inc dword [ebp - 0x160]
mov al, byte [edi]
movzx ecx, al
mov dword [ebp - 0xe8], ecx
dec ecx
cmp ecx, 0x8e
ja case.0x1009e7c6.13
jmp dword [ecx*4 + 0x100a2974]
mov edx, dword [ebp - 0xe4]
cmp dword [edx + 0x98], 0
jne 0x100a28d8
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.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.0x1009e7c6.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.0x1009e7c6.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.0x1009e7c6.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 0x1009e872
sub eax, edx
mov dword [ebx + 0x14], eax
push ebx
mov byte [ebx + 0x1b], 1
call fcn.1009a450
mov dword [ebx], eax
add esp, 4
mov dword [ebx + 4], edx
or word [ebx + 0x18], 4
jmp case.0x1009e7c6.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 0x1009e8b5
sub eax, edx
mov dword [ebx + 0x14], eax
push ebx
mov byte [ebx + 0x1b], 1
call fcn.1009a4d0
fstp qword [ebx + 8]
movzx eax, byte [ebp - 0x110]
or word [ebx + 0x18], 8
push eax
push ebx
call fcn.1009a0f0
add esp, 0xc
jmp case.0x1009e7c6.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 0x1009e900
sub eax, dword [ebp - 0xec]
cmp byte [ebp - 0x110], 1
mov dword [edi + 4], eax
je case.0x1009e7c6.26
push 0
push 1
push 0xffffffffffffffff
add ebx, 0x40
push edx
push ebx
mov dword [ebp - 0xdc], ebx
call fcn.1009a7d0
movzx edx, byte [ebp - 0x110]
push edx
push ebx
call fcn.1009a0f0
add esp, 0x1c
test eax, eax
jne 0x100a291a
push ebx
call fcn.1009a120
add esp, 4
test eax, eax
jne 0x100a291a
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 0x1009e989
mov eax, dword [edi + 0xc]
push eax
call fcn.10082dd0
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.0x1009e7c6.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.0x1009e7c6.13
add ebx, 0x40
mov ecx, 1
mov word [ebx + 0x18], cx
mov dword [ebp - 0xdc], ebx
mov dword [ebx + 0x14], 0
jmp case.0x1009e7c6.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 0x1009e9f8
sub eax, dword [ebp - 0xec]
shr eax, 1
mov dword [edi + 4], eax
je 0x1009ea45
push edx
call fcn.10089420
add esp, 4
mov dword [ebp - 0xec], eax
test eax, eax
je 0x100a291a
or esi, 0xffffffff
cmp dword [edi + 0x10], esi
jne 0x1009ea37
mov edx, dword [edi + 0xc]
push edx
call fcn.10082dd0
add esp, 4
mov eax, dword [ebp - 0xec]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], esi
jmp case.0x1009e7c6.123
cmp dword [edi + 0x10], 0xffffffff
jne 0x1009ea54
push edx
call fcn.10082dd0
add esp, 4
mov dword [edi + 0x10], 0xfffffffe
mov dword [edi + 0xc], 0x1012307e
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.1009a7d0
add esp, 0x14
jmp case.0x1009e7c6.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.1009a6c0
add esp, 0xc
jmp case.0x1009e7c6.13
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [edi + 4]
jmp 0x100a2669
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.1009a6c0
add esp, 0xc
cmp dword [edi + 8], 0
je case.0x1009e7c6.13
mov edx, 0x100
test word [ebx + 0x18], dx
je case.0x1009e7c6.13
push ebx
call fcn.1009a190
add esp, 4
test eax, eax
jne 0x100a291a
jmp case.0x1009e7c6.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 0x1009eb56
push ebx
call fcn.1009a190
add esp, 4
test eax, eax
jne 0x100a2914
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xe0]
cmp dword [ecx + 4], 0
mov dword [ebp - 0xe8], 0
jle 0x1009ebdb
add eax, 0x40
mov dword [ebp - 0xf8], eax
mov edx, 0x100
test word [eax + 0x18], dx
je 0x1009eb9d
mov eax, dword [ebp - 0xf8]
push eax
call fcn.1009a190
add esp, 4
test eax, eax
jne 0x100a2914
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 0x1009ebba
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 0x1009eb75
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.0x1009e7c6.13
lea ecx, [ebx + 0x20]
mov dword [ebx + 0x10], ecx
jmp case.0x1009e7c6.13
mov edx, dword [edi + 4]
shl edx, 6
mov eax, ebx
sub eax, edx
push ebx
push eax
call fcn.1009a760
add esp, 8
sub ebx, 0x40
mov dword [ebp - 0xdc], ebx
jmp case.0x1009e7c6.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 0x1009ecff
mov eax, dword [ebp - 0xf0]
movzx eax, word [eax + 0x18]
test al, 1
jne 0x1009ecc7
test al, 0x12
jne 0x1009ec91
movzx ecx, byte [ebp - 0x110]
mov edx, dword [ebp - 0xf0]
push ecx
push edx
call fcn.1009a2a0
add esp, 8
test eax, eax
jne 0x100a291a
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 0x1009ec60
cmp dword [ebp - 0x120], 0
jge 0x1009ecff
cmp dword [edi + 8], 0
jne 0x1009ece8
mov eax, dword [ebp - 0x104]
lea ecx, [ebp - 0xdc]
push ecx
call fcn.1009e420
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.0x1009e7c6.13
mov eax, dword [ebp - 0x120]
add eax, 2
push 1
push eax
call fcn.100891a0
add esp, 8
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x100a291a
mov ecx, dword [ebp - 0x104]
xor eax, eax
mov dword [ebp - 0xf0], eax
test ecx, ecx
jle 0x1009ed81
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.10065960
mov ecx, dword [ebp - 0xec]
add dword [ebp - 0xf0], ecx
add esp, 0xc
add esi, 0x40
dec dword [ebp - 0xe8]
jne 0x1009ed42
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf8]
mov word [eax + ecx], 0
cmp dword [edi + 8], 0
jne 0x1009edb4
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0xdc]
push edx
call fcn.1009e420
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.0x1009e7c6.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 0x1009ee3c
test al, 0x40
je 0x1009ee17
push ebx
call fcn.1009a3d0
add esp, 4
mov ebx, esi
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0xdc], ebx
je 0x1009ee2e
push ebx
call fcn.1009a3d0
add esp, 4
mov eax, 1
mov word [ebx + 0x18], ax
jmp case.0x1009e7c6.13
and cl, al
test cl, 4
je 0x1009eee8
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.0x1009ee5f
jmp dword [edx*4 + 0x100a2bb0]
add edi, eax
adc esi, ecx
jmp 0x1009eea9
sub edi, eax
sbb esi, ecx
jmp 0x1009eea9
push ecx
push eax
push esi
push edi
call fcn.10073c10
jmp 0x1009eea5
mov edx, eax
or edx, ecx
je 0x1009efe1
push ecx
push eax
push esi
push edi
call fcn.10073a70
jmp 0x1009eea5
mov edx, eax
or edx, ecx
je 0x1009efe1
push ecx
push eax
push esi
push edi
call fcn.10073b20
mov edi, eax
mov esi, edx
movzx eax, word [ebx + 0x18]
test al, 0x40
je 0x1009eeba
push ebx
call fcn.1009a3d0
add esp, 4
mov ebx, dword [ebp - 0xe0]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0xdc], ebx
je 0x1009eed5
push ebx
call fcn.1009a3d0
add esp, 4
mov dword [ebx], edi
mov eax, 4
mov dword [ebx + 4], esi
mov word [ebx + 0x18], ax
jmp case.0x1009e7c6.13
push ebx
call fcn.1009a4d0
fstp qword [ebp - 0x118]
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.1009a4d0
movzx eax, byte [edi]
add eax, 0xffffffb1
add esp, 8
cmp eax, 3
ja case.default.0x1009ef0e
jmp dword [eax*4 + 0x100a2bc0]
fadd qword [ebp - 0x118]
jmp 0x1009ef84
fsub qword [ebp - 0x118]
jmp 0x1009ef84
fmul qword [ebp - 0x118]
jmp 0x1009ef84
fld qword [ebp - 0x118]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1009efdd
fdivp st(1)
jmp 0x1009ef84
fld qword [ebp - 0x118]
call fcn.10066040
mov esi, eax
mov dword [ebp - 0xec], esi
call fcn.10066040
fild dword [ebp - 0xec]
fldz
mov ecx, eax
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1009efe1
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 0x1009ef99
push ebx
call fcn.1009a3d0
add esp, 4
mov ebx, dword [ebp - 0xe0]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0xdc], ebx
je 0x1009efb4
push ebx
call fcn.1009a3d0
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.0x1009e7c6.13
push ebx
call fcn.1009a550
jmp 0x100a2674
fstp st(0)
fstp st(0)
test byte [ebx + 0x18], 0x40
je 0x1009eff0
push ebx
call fcn.1009a3d0
add esp, 4
mov ebx, dword [ebp - 0xe0]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0xdc], ebx
je 0x1009f00b
push ebx
call fcn.1009a3d0
add esp, 4
mov edx, 1
mov word [ebx + 0x18], dx
jmp case.0x1009e7c6.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 0x1009f05a
lea ecx, [ecx]
mov eax, dword [ebp - 0xe8]
mov dword [eax + edx*4], ecx
call fcn.1009e3f0
inc edx
add ecx, 0x40
cmp edx, dword [ebp - 0xf8]
jl 0x1009f040
mov eax, dword [edi + 0xc]
xor ecx, ecx
cmp dword [edi + 0x10], 0xfffffffb
jne 0x1009f06d
mov dword [ebp - 0xd0], ecx
jmp 0x1009f075
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 0x1009f0a9
mov eax, dword [edi - 8]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.10088e30
add esp, 4
test eax, eax
jne 0x100a2004
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.10088df0
add esp, 0x10
test eax, eax
jne 0x100a2004
call fcn.10089170
test eax, eax
jne 0x100a291a
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0xdc]
push edx
call fcn.1009e420
mov eax, dword [ebp - 0xd0]
add esp, 4
test eax, eax
je 0x1009f140
mov ecx, dword [edi + 4]
push ecx
push eax
call fcn.10097580
mov edx, dword [ebp - 0xd0]
add esp, 8
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], 0xfffffff9
cmp byte [ebp - 0x88], 0
je 0x1009f174
lea eax, [ebp - 0xcc]
push 0
push eax
call fcn.100838b0
add esp, 4
push eax
add esi, 0x230
push esi
call fcn.10089350
add esp, 0xc
mov dword [ebp - 0xd8], 1
movzx ecx, byte [ebp - 0x110]
push ecx
lea edx, [ebp - 0xcc]
push edx
call fcn.1009a0f0
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.1009a760
add esp, 0x10
jmp case.0x1009e7c6.13
mov dl, byte [ebx - 0x28]
or dl, byte [ebx + 0x18]
lea eax, [ebx - 0x40]
mov dword [ebp - 0xe0], eax
test dl, 1
je 0x1009f1fe
mov esi, 2
jmp 0x1009f1d0
dec esi
test byte [ebx + 0x18], 0x40
je 0x1009f1e0
push ebx
call fcn.1009a3d0
add esp, 4
sub ebx, 0x40
test esi, esi
jg 0x1009f1d0
add ebx, 0x40
mov dword [ebp - 0xdc], ebx
mov eax, 1
mov word [ebx + 0x18], ax
jmp case.0x1009e7c6.13
push eax
call fcn.1009a450
push ebx
mov esi, eax
mov dword [ebp - 0x158], edx
call fcn.1009a450
mov ecx, eax
movzx eax, byte [edi]
add eax, 0xffffffb5
add esp, 8
cmp eax, 3
ja case.default.0x1009f222
jmp dword [eax*4 + 0x100a2bd0]
and esi, ecx
and dword [ebp - 0x158], edx
jmp case.default.0x1009f222
or esi, ecx
or dword [ebp - 0x158], edx
jmp case.default.0x1009f222
mov edx, dword [ebp - 0x158]
mov eax, esi
call fcn.10101e90
jmp 0x1009f259
mov edx, dword [ebp - 0x158]
mov eax, esi
call fcn.10101e60
mov dword [ebp - 0x158], edx
mov esi, eax
test byte [ebx + 0x18], 0x40
je 0x1009f270
push ebx
call fcn.1009a3d0
add esp, 4
mov ebx, dword [ebp - 0xe0]
test byte [ebx + 0x18], 0x40
mov dword [ebp - 0xdc], ebx
je 0x1009f28b
push ebx
call fcn.1009a3d0
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.0x1009e7c6.13
push ebx
call fcn.1009a580
mov eax, dword [edi + 4]
cdq
add esp, 4
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x1009e7c6.13
mov esi, ebx
call fcn.1009e490
test byte [ebx + 0x18], 8
je 0x1009f2d1
push ebx
call fcn.1009a550
add esp, 4
movzx eax, word [ebx + 0x18]
test al, 0xc
jne 0x1009f2fe
test al, 0x40
je 0x1009f2e6
push ebx
call fcn.1009a3d0
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.0x1009e7c6.13
test al, 4
je 0x1009f329
cmp dword [edi + 4], 0
je 0x1009f31a
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov eax, 1
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x1009f391
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
xor eax, eax
xor ecx, ecx
add esi, eax
adc edi, ecx
jmp 0x1009f391
push ebx
call fcn.1009a5b0
fld qword [ebx + 8]
add esp, 4
call fcn.10066040
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 0x1009f369
add esi, 1
adc dword [ebp - 0x14c], 0
mov dword [ebp - 0x150], esi
cmp dword [edi + 4], 0
je 0x1009f38b
fild qword [ebp - 0x150]
fld qword [ebx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1009f38b
add esi, 1
adc dword [ebp - 0x14c], 0
mov edi, dword [ebp - 0x14c]
test byte [ebx + 0x18], 0x40
je 0x1009f3a0
push ebx
call fcn.1009a3d0
add esp, 4
mov dword [ebx], esi
mov eax, 4
mov dword [ebx + 4], edi
mov word [ebx + 0x18], ax
jmp case.0x1009e7c6.13
mov esi, ebx
call fcn.1009e490
test byte [ebx + 0x18], 8
je 0x1009f3c9
push ebx
call fcn.1009a550
add esp, 4
movzx eax, word [ebx + 0x18]
test al, 4
jne 0x1009f40e
cmp dword [edi + 8], 0
je 0x100a27dd
cmp dword [edi + 4], 0
je 0x1009f2ef
test al, 0x40
je 0x1009f2e6
push ebx
call fcn.1009a3d0
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.0x1009e7c6.13
test al, 0x40
je 0x1009f41b
push ebx
call fcn.1009a3d0
add esp, 4
mov ecx, 4
mov word [ebx + 0x18], cx
jmp case.0x1009e7c6.13
test byte [ebx + 0x18], 4
je case.0x1009e7c6.13
push ebx
call fcn.1009a5b0
jmp 0x100a2674
test byte [ebx + 0x18], 1
jne case.0x1009e7c6.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 0x1009f476
test al, 0xc
je 0x1009f476
movzx eax, byte [ebp - 0x110]
push eax
push ebx
call fcn.1009a2a0
add esp, 8
mov ecx, 0xfff3
and word [ebx + 0x18], cx
mov edx, 0xffe3
and word [ebx + 0x18], dx
jmp case.0x1009e7c6.13
movzx eax, word [ebx + 0x18]
test al, 1
jne case.0x1009e7c6.13
test al, 0x10
jne 0x1009f4c8
movzx eax, word [ebx + 0x18]
test al, 2
jne 0x1009f4ba
test al, 0xc
je 0x1009f4ba
movzx eax, byte [ebp - 0x110]
push eax
push ebx
call fcn.1009a2a0
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.0x1009e7c6.13
test byte [ebx + 0x18], 1
jne case.0x1009e7c6.13
push ebx
call fcn.1009a5e0
jmp 0x100a2674
test byte [ebx + 0x18], 1
jne case.0x1009e7c6.13
push ebx
call fcn.1009a580
jmp 0x100a2674
test byte [ebx + 0x18], 1
jne case.0x1009e7c6.13
push ebx
call fcn.1009a5b0
jmp 0x100a2674
movzx eax, word [ebx + 0x18]
mov cl, byte [ebx - 0x28]
lea esi, [ebx - 0x40]
or cl, al
test cl, 1
je 0x1009f556
test dword [edi + 4], 0x200
je 0x1009f5b2
not eax
and eax, 1
cdq
push edx
push eax
push ebx
call fcn.1009a660
movzx eax, word [esi + 0x18]
not eax
and eax, 1
cdq
push edx
push eax
push esi
call fcn.1009a660
add esp, 0x18
mov al, byte [edi + 4]
mov byte [ebp - 0xf9], al
test al, al
je 0x1009f58e
mov eax, dword [ebp - 0x110]
push eax
mov al, byte [ebp - 0xf9]
mov ecx, esi
call fcn.1009e520
mov ecx, dword [ebp - 0x110]
mov al, byte [ebp - 0xf9]
push ecx
mov ecx, ebx
call fcn.1009e520
add esp, 8
mov edx, dword [edi + 0xc]
push edx
push ebx
push esi
call fcn.1009ab10
movzx ecx, byte [edi]
add ecx, 0xffffffbc
add esp, 0xc
cmp ecx, 4
ja case.default.0x1009f5ab
jmp dword [ecx*4 + 0x100a2be0]
mov esi, 2
dec esi
test byte [ebx + 0x18], 0x40
je 0x1009f5c7
push ebx
call fcn.1009a3d0
add esp, 4
sub ebx, 0x40
test esi, esi
jg 0x1009f5b7
mov eax, dword [edi + 8]
mov dword [ebp - 0xdc], ebx
test eax, eax
je 0x1009ece8
test dword [edi + 4], 0x100
je case.0x1009e7c6.13
dec eax
mov dword [ebp - 0xf4], eax
jmp case.0x1009e7c6.13
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0xe0], ecx
jmp 0x1009f644
xor edx, edx
test eax, eax
setne dl
jmp 0x1009f63e
xor ecx, ecx
test eax, eax
sets cl
mov dword [ebp - 0xe0], ecx
jmp 0x1009f644
xor edx, edx
test eax, eax
setle dl
jmp 0x1009f63e
xor ecx, ecx
test eax, eax
setg cl
mov dword [ebp - 0xe0], ecx
jmp 0x1009f644
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 0x1009f660
push ebx
call fcn.1009a3d0
add esp, 4
sub ebx, 0x40
test esi, esi
jg 0x1009f650
mov edi, dword [edi + 8]
mov dword [ebp - 0xdc], ebx
test edi, edi
je 0x1009f68d
cmp dword [ebp - 0xe0], 0
je case.0x1009e7c6.13
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.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.0x1009e7c6.13
test byte [ebx + 0x18], 1
je 0x1009f6bd
mov esi, 2
jmp 0x1009f6d4
push ebx
call fcn.1009a580
mov ecx, dword [ebx]
add esp, 4
or ecx, dword [ebx + 4]
jne 0x1009f6d2
lea esi, [ecx + 1]
jmp 0x1009f6d4
xor esi, esi
test byte [ebx - 0x28], 1
lea eax, [ebx - 0x40]
je 0x1009f6e4
mov eax, 2
jmp 0x1009f6fc
push eax
call fcn.1009a580
mov edx, dword [ebx - 0x40]
add esp, 4
or edx, dword [ebx - 0x3c]
jne 0x1009f6fa
lea eax, [edx + 1]
jmp 0x1009f6fc
xor eax, eax
cmp byte [edi], 0x3e
jne 0x1009f70e
lea eax, [eax + esi*2]
movzx edi, byte [esi + eax + 0x101150f4]
jmp 0x1009f719
lea ecx, [eax + esi*2]
movzx edi, byte [esi + ecx + 0x10115100]
mov esi, 2
mov edi, edi
dec esi
test byte [ebx + 0x18], 0x40
je 0x1009f730
push ebx
call fcn.1009a3d0
add esp, 4
sub ebx, 0x40
test esi, esi
jg 0x1009f720
add ebx, 0x40
mov dword [ebp - 0xdc], ebx
cmp edi, 2
jne 0x1009f753
mov edx, 1
mov word [ebx + 0x18], dx
jmp case.0x1009e7c6.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.0x1009e7c6.13
movzx eax, word [ebx + 0x18]
test al, 8
jne 0x1009f7c9
test al, 4
je 0x1009f7b8
test al, 0x40
je 0x1009f787
push ebx
call fcn.1009a3d0
add esp, 4
cmp byte [edi], 0x55
je 0x1009f799
cmp dword [ebx + 4], 0
jg 0x1009f7aa
jl 0x1009f799
cmp dword [ebx], 0
jae 0x1009f7aa
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.0x1009e7c6.13
test al, 1
jne case.0x1009e7c6.13
push ebx
call fcn.1009a5e0
add esp, 4
test byte [ebx + 0x18], 0x40
je 0x1009f7d8
push ebx
call fcn.1009a3d0
add esp, 4
cmp byte [edi], 0x55
je 0x1009f7e9
fldz
fcomp qword [ebx + 8]
fnstsw ax
test ah, 0x41
jne 0x1009f7f1
fld qword [ebx + 8]
fchs
fstp qword [ebx + 8]
mov ecx, 8
mov word [ebx + 0x18], cx
jmp case.0x1009e7c6.13
test byte [ebx + 0x18], 1
jne case.0x1009e7c6.13
push ebx
call fcn.1009a580
mov edx, dword [ebx]
add esp, 4
or edx, dword [ebx + 4]
jne 0x1009f832
mov eax, 1
cdq
mov dword [ebx], eax
mov eax, 4
mov dword [ebx + 4], edx
mov word [ebx + 0x18], ax
jmp case.0x1009e7c6.13
xor eax, eax
cdq
mov dword [ebx], eax
mov eax, 4
mov dword [ebx + 4], edx
mov word [ebx + 0x18], ax
jmp case.0x1009e7c6.13
test byte [ebx + 0x18], 1
jne case.0x1009e7c6.13
push ebx
call fcn.1009a580
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 0x100a2674
test byte [ebx + 0x18], 1
je 0x1009f87f
mov esi, dword [edi + 4]
jmp 0x1009f8aa
push ebx
call fcn.1009a4d0
fldz
fucompp
add esp, 4
fnstsw ax
test ah, 0x44
jnp 0x1009f89a
mov esi, 1
jmp 0x1009f89c
xor esi, esi
cmp byte [edi], 0x59
jne 0x1009f8aa
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
test byte [ebx + 0x18], 0x40
je 0x1009f8b9
push ebx
call fcn.1009a3d0
add esp, 4
sub ebx, 0x40
mov dword [ebp - 0xdc], ebx
test esi, esi
je case.0x1009e7c6.13
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.13
mov esi, dword [edi + 4]
mov eax, esi
test eax, eax
jns 0x1009f8e4
neg eax
mov edx, eax
shl edx, 6
mov ecx, ebx
sub ecx, edx
xor edx, edx
test eax, eax
jle 0x1009f90f
add ecx, 0x58
test byte [ecx], 1
jne 0x1009f905
inc edx
add ecx, 0x40
cmp edx, eax
jl 0x1009f8f6
jmp 0x1009f90f
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
test esi, esi
jle case.0x1009e7c6.13
lea ecx, [ebp - 0xdc]
push ecx
jmp 0x100a2669
mov eax, dword [edi + 4]
mov dword [ebp - 0xec], eax
test eax, eax
jns 0x1009f932
neg eax
xor edx, edx
test eax, eax
jle 0x1009f957
mov esi, eax
shl esi, 6
mov ecx, ebx
sub ecx, esi
add ecx, 0x58
test byte [ecx], 1
jne 0x1009f953
inc edx
add ecx, 0x40
cmp edx, eax
jl 0x1009f944
jmp 0x1009f957
cmp edx, eax
jl 0x1009f961
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
cmp dword [ebp - 0xec], 0
jle case.0x1009e7c6.13
lea edx, [ebp - 0xdc]
push edx
jmp 0x100a2669
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.0x1009e7c6.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 0x1009fa9a
push eax
call fcn.100975d0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
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 0x1009fa05
mov dword [ebp - 0x11c], ecx
jmp 0x1009fa5e
mov ecx, dword [eax + 0x68]
cmp ecx, dword [esi + 0x60]
jne 0x1009fa21
mov edx, dword [eax + 0x6c]
mov dword [ebp - 0x11c], edx
mov ecx, dword [eax + 0x78]
mov dword [ebp - 0x120], ecx
jmp 0x1009fa5e
cmp byte [eax + 0x21], 0
mov eax, dword [ebp - 0x104]
je 0x1009fa48
lea edx, [ebp - 0x200]
push edx
push eax
call fcn.10094930
mov ecx, dword [ebp - 0x200]
mov dword [ebp - 0x11c], ecx
jmp 0x1009fa55
lea edx, [ebp - 0x11c]
push edx
push eax
call fcn.100949e0
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.0x1009e7c6.13
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0x68]
cmp ecx, dword [esi + 0x60]
jne 0x1009fad0
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xf8], eax
jmp 0x1009fd21
cmp byte [eax + 0x1e], cl
je 0x1009fac5
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 0x1009fa69
mov dword [ebp - 0x11c], ecx
jmp case.0x1009e7c6.13
mov eax, dword [eax + 0x70]
mov dword [ebp - 0xf0], eax
test eax, eax
jne 0x1009fb0c
mov ecx, dword [ebp - 0x124]
lea edx, [ecx*8]
push 1
push edx
call fcn.100891a0
mov ecx, dword [ebp - 0xe0]
add esp, 8
mov dword [ebp - 0xf0], eax
mov dword [ecx + 0x70], eax
test eax, eax
je 0x100a291a
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 0x1009fba2
cmp byte [eax + 0x21], 0
je 0x1009fb5e
mov ecx, dword [ebp - 0x104]
lea eax, [ebp - 0x168]
push eax
push ecx
call fcn.100909d0
jmp 0x1009fb71
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0x168]
push edx
push eax
call fcn.10090a40
mov ecx, dword [ebp - 0x168]
add esp, 8
mov esi, eax
cmp ecx, dword [ebp - 0x11c]
jb 0x1009fb95
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x120], esi
mov dword [edx + 0x78], esi
jmp 0x1009fba2
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x78], 0
movzx eax, byte [esi]
mov dword [ebp - 0x134], eax
cmp eax, 0x7f
ja 0x1009fbbc
mov dword [ebp - 0x100], 1
jmp 0x1009fbd2
lea ecx, [ebp - 0x134]
push ecx
push esi
call fcn.10089090
add esp, 8
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x120], 0
jne 0x1009fc21
mov eax, dword [ebp - 0x134]
cmp dword [ebp - 0x168], eax
jae 0x1009fc21
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.1009a8e0
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x1009e7c6.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 0x1009fcd9
mov esi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf8]
sub eax, esi
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x100], ecx
jmp 0x1009fc70
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xec]
jae 0x1009fcc7
mov edx, dword [ebp - 0x134]
mov dword [eax + esi], edx
movzx eax, byte [ecx]
mov dword [esi], eax
cmp eax, 0x7f
ja 0x1009fc98
mov eax, 1
jmp 0x1009fca8
mov eax, dword [ebp - 0xd8]
push esi
push eax
call fcn.10089090
add esp, 8
mov ecx, dword [esi]
add dword [ebp - 0xd8], eax
push ecx
call fcn.10097750
add esp, 4
add dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x124]
jmp 0x1009fcce
mov dword [eax + esi], 0
add esi, 4
dec dword [ebp - 0x100]
jne 0x1009fc70
test byte [ebp - 0xa4], 0x40
je 0x1009fcf1
lea edx, [ebp - 0xbc]
push edx
call fcn.1009a3d0
add esp, 4
mov ecx, dword [ebp - 0xec]
mov eax, 1
mov word [ebp - 0xa4], ax
cmp dword [ebp - 0xd8], ecx
ja 0x1009fe11
mov edx, dword [ebp - 0x134]
cmp edx, dword [ebp - 0x11c]
ja 0x1009fe11
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x1009fdc0
mov ecx, dword [ebp - 0x120]
test ecx, ecx
je 0x1009fd46
add eax, ecx
jmp 0x1009fd9b
mov edx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xe8]
mov eax, dword [edx + esi*4]
push eax
call fcn.10097750
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.1009a8e0
add esp, 0x18
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x1009e7c6.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.10097800
mov al, byte [ebp - 0x110]
add esp, 0xc
mov byte [ebx + 0x1b], al
jmp 0x1009fde3
cmp dword [edi + 0x10], 0xfffffff8
jne 0x1009fdda
mov ecx, dword [edi + 0xc]
push 0x80
push ecx
push ebx
call fcn.1009a6c0
add esp, 0xc
jmp 0x1009fde3
mov edx, 1
mov word [ebx + 0x18], dx
test byte [ebp - 0xa4], 0x40
je 0x1009fe00
mov ax, word [ebx + 0x18]
mov ecx, 0xfeff
and ax, cx
or ax, 0x60
mov word [ebx + 0x18], ax
push ebx
call fcn.1009a190
mov dword [ebp - 0xd8], eax
jmp 0x100a2674
mov dword [ebp - 0xd8], 0xb
jmp case.0x1009e7c6.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 0x1009ff3d
mov eax, 0xffffffe8
sub eax, edi
mov dword [ebp - 0x198], eax
mov edi, edi
cmp dword [ebp - 0xec], 0
je 0x1009fef0
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.1009e520
add esp, 4
test byte [edi + 0x18], 1
je 0x1009ff00
mov dword [ebp - 0x100], 1
mov edx, dword [ebp - 0x124]
push edx
push edi
call fcn.10097660
push eax
mov dword [ebp - 0x1a0], eax
call fcn.10097750
add dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x1a0]
push 0
push eax
call fcn.10089110
add dword [ebp - 0x104], eax
add edi, 0x40
add esp, 0x14
cmp edi, ebx
jbe 0x1009fec0
cmp dword [ebp - 0xf8], 0
je 0x1009ff83
mov edi, dword [ebp - 0x140]
push edi
mov dword [ebp - 0x120], edi
call fcn.1009a580
push 0
push edi
call fcn.10097660
mov edi, eax
push edi
call fcn.10097750
add dword [ebp - 0xf0], eax
push 0
push edi
call fcn.10089110
mov edi, dword [ebp - 0x104]
add esp, 0x18
add edi, eax
jmp 0x1009ff89
mov edi, dword [ebp - 0x104]
mov eax, edi
cdq
push edx
push eax
call fcn.10089110
add edi, eax
mov dword [ebp - 0x140], eax
mov eax, edi
cdq
push edx
push eax
mov dword [ebp - 0x104], edi
call fcn.10089110
add esp, 0x10
cmp dword [ebp - 0x140], eax
jge 0x1009ffbd
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 0x1009fff2
push 1
push eax
call fcn.100891a0
add esp, 8
mov dword [ebp - 0xf0], eax
test eax, eax
je 0x100a291a
mov edi, dword [ebp - 0x104]
jmp 0x1009fffb
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.10088ea0
lea esi, [edi + eax]
mov edi, dword [ebp - 0xe8]
add esp, 0xc
cmp edi, ebx
ja 0x100a0042
lea esp, [esp]
mov eax, dword [ebp - 0x124]
push eax
push edi
call fcn.10097660
push 0
push eax
push esi
call fcn.10088ea0
add edi, 0x40
add esp, 0x14
add esi, eax
cmp edi, ebx
jbe 0x100a0020
cmp dword [ebp - 0xf8], 0
je 0x100a0067
mov ecx, dword [ebp - 0x120]
push 0
push ecx
call fcn.10097660
push 0
push eax
push esi
call fcn.10088ea0
add esp, 0x14
add esi, eax
mov edi, dword [ebp - 0xe8]
cmp edi, ebx
ja 0x100a008b
mov edx, dword [ebp - 0x124]
push edx
push edi
push esi
call fcn.10097770
add edi, 0x40
add esp, 0xc
add esi, eax
cmp edi, ebx
jbe 0x100a0071
cmp dword [ebp - 0xf8], 0
je 0x100a00a6
mov eax, dword [ebp - 0x120]
push 0
push eax
push esi
call fcn.10097770
add esp, 0xc
cmp dword [ebp - 0x138], 0
jne 0x100a00d3
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0xf8]
lea eax, [eax + ecx]
lea ecx, [ebp - 0xdc]
push ecx
call fcn.1009e420
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 0x100a0109
push ecx
lea edx, [ebp - 0x24]
lea eax, [ebx + 0x20]
push edx
push eax
mov dword [ebx + 0x10], eax
call fcn.10065960
mov eax, 0x210
add esp, 0xc
mov word [ebx + 0x18], ax
jmp 0x100a0122
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.0x1009e7c6.13
cmp dword [ebp - 0x100], 0
je case.0x1009e7c6.13
mov eax, dword [ebp - 0xe0]
dec eax
mov dword [ebp - 0xf4], eax
jmp case.0x1009e7c6.13
mov edi, dword [edi + 4]
test edi, edi
js case.0x1009e7c6.13
mov ecx, dword [ebp - 0xe4]
cmp edi, dword [ecx]
jge case.0x1009e7c6.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.0x1009e7c6.13
mov edx, eax
cmp byte [edx + 0x10], 0
jne case.0x1009e7c6.13
push esi
call fcn.100941f0
add esp, 4
test eax, eax
jne case.0x1009e7c6.13
push esi
call fcn.10090720
mov dword [ebp - 0xd8], eax
jmp 0x100a2674
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 0x100a0208
test al, al
je 0x100a0208
cmp byte [ecx + 0x10], 0
jne 0x100a0208
mov eax, str.rollback
test dl, dl
jne 0x100a01dd
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.10089350
add esp, 0x14
mov dword [ebp - 0xd8], 1
jmp case.0x1009e7c6.13
cmp al, byte [ecx + 0x10]
jne 0x100a27ec
test al, al
jne 0x100a021c
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x100a022a
mov eax, str.cannot_rollback___no_transaction_is_active
test dl, dl
jne 0x100a022a
mov eax, str.cannot_commit___no_transaction_is_active
push 0
push eax
add esi, 0x230
push esi
call fcn.10089350
add esp, 0xc
mov dword [ebp - 0xd8], 1
jmp case.0x1009e7c6.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.0x1009e7c6.13
mov ecx, dword [edi + 8]
push ecx
push eax
call fcn.10090100
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, 5
je 0x100a2867
test eax, eax
je case.0x1009e7c6.13
cmp eax, 8
jne 0x100a200e
jmp case.0x1009e7c6.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.100936f0
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.0x1009e7c6.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.1009a580
mov eax, dword [ebx]
mov ecx, dword [edi + 8]
mov edx, dword [esi + 4]
push eax
inc ecx
push ecx
push edx
call fcn.100937e0
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 8]
add esp, 0x10
test eax, eax
jne 0x100a0335
mov eax, dword [esi + 0x14]
mov ecx, dword [ebx]
mov dword [eax], ecx
mov eax, dword [ebp - 0xe4]
or dword [eax + 8], 0x10
jmp 0x100a0342
cmp eax, 1
jne 0x100a0342
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.0x1009e7c6.13
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.10097fb0
jmp 0x100a2674
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 0x100a03d3
lea edx, [ebp - 0x18c]
push edx
push 1
push eax
call fcn.100936f0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.0x1009e7c6.13
mov eax, dword [ebp - 0x18c]
cmp eax, dword [edi + 8]
je case.0x1009e7c6.13
push 0
push str.database_schema_has_changed
add esi, 0x230
push esi
call fcn.10089350
add esp, 0xc
mov dword [ebp - 0xd8], 0x11
jmp case.0x1009e7c6.13
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x18c], ecx
jmp 0x100a039f
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
push ebx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0xe8], edx
call fcn.1009a580
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 0x100a044b
mov edx, dword [eax + 0x14]
mov al, byte [edx + 0x78]
mov dword [ebp - 0xec], 1
cmp al, byte [esi + 0x239]
jae 0x100a0455
mov byte [esi + 0x239], al
jmp 0x100a0455
mov dword [ebp - 0xec], 0
cmp dword [ebp - 0xe8], 0
jg 0x100a0478
push ebx
call fcn.1009a580
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.1009e450
mov esi, eax
add esp, 4
test esi, esi
je 0x100a2914
cmp dword [ebp - 0x100], 0
mov byte [esi + 0x1c], 1
je case.0x1009e7c6.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.10097a50
push eax
push ecx
push edx
call fcn.10094740
add esp, 0x18
cmp dword [edi + 0x10], 0xfffffffa
mov dword [ebp - 0xd8], eax
jne 0x100a050f
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 0x100a0522
lea ecx, [esi + 0x22]
mov dword [esi + 0x48], ecx
mov ecx, dword [ebp - 0x128]
mov dword [esi + 0x4c], 0
test eax, eax
je 0x100a055f
cmp eax, 5
je 0x100a288f
cmp eax, 0x10
jne 0x100a200e
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.0x1009e7c6.13
mov ecx, dword [esi]
push ecx
call fcn.10093840
add esp, 4
test al, 0xf0
jne 0x100a05ae
mov ecx, eax
and ecx, 7
cmp ecx, 5
je 0x100a057d
cmp ecx, 2
jne 0x100a05ae
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 0x100a0596
cmp dword [edi + 0x10], 0xfffffffa
je 0x100a05ae
test al, al
je case.0x1009e7c6.13
mov eax, dword [ebp - 0xe0]
cmp dword [eax + 0x10], 0xfffffffa
je case.0x1009e7c6.13
mov dword [ebp - 0xd8], 0xb
jmp 0x100a200e
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ecx + 4]
mov esi, dword [ebp - 0x128]
push 0xffffffffffffffff
call fcn.1009e450
mov esi, eax
add esp, 4
test esi, esi
je 0x100a2914
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.10083100
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a06cb
mov eax, dword [edi]
push 1
push eax
call fcn.10090100
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a06cb
mov ecx, dword [ebp - 0xe0]
cmp dword [ecx + 0xc], 0
mov eax, dword [edi]
je 0x100a06a9
push 2
lea edx, [ebp - 0x1c8]
push edx
push eax
call fcn.10094e00
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a06a3
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.10097a50
push 1
push eax
push ecx
call fcn.10094740
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 0x100a06cb
push esi
push 0
push 0
push 1
push 1
push eax
call fcn.10094740
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.0x1009e7c6.13
mov edx, dword [ebp - 0xe0]
mov edi, dword [edx + 4]
mov esi, dword [ebp - 0x128]
push 0xffffffffffffffff
call fcn.1009e450
add esp, 4
test eax, eax
je 0x100a2914
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.0x1009e7c6.13
mov edi, dword [edi + 4]
test edi, edi
js case.0x1009e7c6.13
cmp edi, dword [esi + 0x38]
jge case.0x1009e7c6.13
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + edi*4]
push eax
push esi
call fcn.10096e40
mov ecx, dword [esi + 0x3c]
add esp, 8
mov dword [ecx + edi*4], 0
jmp case.0x1009e7c6.13
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x3c]
mov esi, dword [eax + edx*4]
cmp dword [esi], 0
je 0x100a08c4
mov eax, dword [ebp - 0xe8]
mov byte [esi + 0x1c], 0
cmp eax, 7
je 0x100a077d
cmp eax, 0x56
je 0x100a077d
xor eax, eax
jmp 0x100a0782
mov eax, 1
mov ecx, dword [esi + 0x48]
mov byte [ecx], al
cmp byte [esi + 0x20], 0
je 0x100a07fb
push ebx
call fcn.1009a580
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
add esp, 4
cmp dword [edi + 8], 0
jne 0x100a07be
cmp byte [edi], 0x80
jne 0x100a07be
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.0x1009e7c6.13
lea edx, [ebp - 0x12c]
push edx
push ecx
push eax
mov eax, dword [esi]
push 0
push eax
call fcn.10090e10
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
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 0x100a0828
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.10090e10
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
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 0x100a088b
cmp eax, 7
je 0x100a088b
cmp dword [ebp - 0x12c], ecx
jl 0x100a0861
mov ecx, dword [esi]
lea eax, [ebp - 0x12c]
push eax
push ecx
call fcn.10094c70
jmp 0x100a08a2
mov edx, dword [esi]
push edx
call fcn.10091140
add esp, 4
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x100a08c4
mov edi, dword [edi + 8]
test edi, edi
jle 0x100a08c0
dec edi
mov dword [ebp - 0xf4], edi
jmp 0x100a08c4
cmp dword [ebp - 0x12c], ecx
jge 0x100a08b8
mov ecx, dword [esi]
lea eax, [ebp - 0x12c]
push eax
push ecx
call fcn.10094b00
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
mov byte [esi + 0x19], al
jmp 0x100a0872
mov dword [ebp - 0x12c], ecx
jmp 0x100a08c4
mov byte [esi + 0x1c], 1
test byte [ebx + 0x18], 0x40
je 0x100a08d3
push ebx
call fcn.1009a3d0
add esp, 4
sub ebx, 0x40
mov dword [ebp - 0xdc], ebx
jmp case.0x1009e7c6.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 0x100a0957
test byte [ebx + 0x18], 0x12
jne 0x100a0915
movzx edx, byte [ebp - 0x110]
push edx
push ebx
call fcn.1009a2a0
add esp, 8
test eax, eax
jne 0x100a291a
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.10090e10
add esp, 0x14
test eax, eax
jne 0x100a094a
cmp dword [ebp - 0x1ac], eax
jne 0x100a094a
mov eax, 1
jmp 0x100a094c
xor eax, eax
mov byte [esi + 0x1f], 0
mov dword [esi + 0x68], 0
mov cl, byte [edi]
cmp cl, 0x86
jne 0x100a0964
test eax, eax
je 0x100a0972
jmp 0x100a0968
test eax, eax
jne 0x100a0972
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
cmp cl, 0x70
je case.0x1009e7c6.13
jmp 0x100a08c4
mov eax, dword [edi + 4]
lea ecx, [ebx - 0x40]
push ebx
mov dword [ebp - 0x114], eax
mov dword [ebp - 0xe0], ecx
call fcn.1009a580
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.0x1009e7c6.13
mov eax, ebx
test byte [eax + 0x18], 0x12
jne 0x100a09fd
movzx ecx, byte [ebp - 0x110]
push ecx
mov edx, ebx
push edx
call fcn.1009a2a0
add esp, 8
test eax, eax
jne 0x100a291a
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x10]
mov esi, dword [ecx + 0x14]
push eax
mov dword [ebp - 0xec], eax
call fcn.10097d50
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.10090e10
add esp, 0x18
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
cmp dword [ebp - 0x13c], eax
jge 0x100a0a90
mov edx, dword [ebp - 0xe8]
lea ecx, [ebp - 0x13c]
push ecx
push edx
call fcn.10094b00
add esp, 8
cmp dword [ebp - 0x13c], 0
mov dword [ebp - 0xd8], eax
je 0x100a0a90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.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.10097e90
add esp, 0x10
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
cmp dword [ebp - 0x13c], eax
jle 0x100a0ad3
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.13
mov ecx, dword [ebp - 0xe8]
lea eax, [ebp - 0x1b4]
push eax
push ecx
call fcn.10097da0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
mov eax, dword [ebp - 0x1b4]
cmp eax, dword [ebp - 0x1a8]
jne 0x100a0b22
mov edx, dword [ebp - 0x1b0]
cmp edx, dword [ebp - 0x1a4]
jne 0x100a0b22
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.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.0x1009e7c6.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 0x100a08c4
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.10090e10
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 0x100a08c4
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
mov byte [esi + 0x19], 0
jmp 0x100a08c4
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.0x1009e7c6.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 0x100a0ec3
push eax
mov dword [ebp - 0xe8], ecx
call fcn.10093840
and al, 3
add esp, 4
cmp al, 1
jne 0x100a05ae
mov ecx, dword [ebp - 0xe0]
cmp byte [ecx + 0x1b], 0
jne 0x100a0d9a
mov eax, ecx
cmp byte [eax + 0x1d], 0
je 0x100a0c5d
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x10c], edx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x108], eax
jmp 0x100a0ce4
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx]
lea ecx, [ebp - 0x16c]
push ecx
push eax
call fcn.10090dd0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
cmp dword [ebp - 0x16c], eax
je 0x100a0c9d
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x108], eax
jmp 0x100a0ce4
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx]
lea ecx, [ebp - 0x10c]
push ecx
push eax
call fcn.10094930
add esp, 8
cmp dword [ebp - 0x10c], 0xffffffff
jne 0x100a0cd6
cmp dword [ebp - 0x108], 0x7fffffff
jne 0x100a0cd6
mov ecx, dword [ebp - 0xe0]
mov byte [ecx + 0x1b], 1
jmp 0x100a0ce4
add dword [ebp - 0x10c], 1
adc dword [ebp - 0x108], 0
mov edi, dword [edi + 8]
test edi, edi
je 0x100a0d55
shl edi, 6
add edi, dword [esi + 0x58]
push edi
call fcn.1009a580
mov eax, dword [edi]
mov ecx, dword [edi + 4]
add esp, 4
cmp eax, 0xffffffff
jne 0x100a0d10
cmp ecx, 0x7fffffff
je 0x100a28c9
mov edx, dword [ebp - 0xe0]
cmp byte [edx + 0x1b], 0
jne 0x100a28c9
add eax, 1
adc ecx, 0
cmp dword [ebp - 0x108], ecx
jg 0x100a0d44
jl 0x100a0d38
cmp dword [ebp - 0x10c], eax
jae 0x100a0d44
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 0x100a0d90
jb 0x100a0d6c
cmp dword [ebp - 0x10c], 0xffffffff
jae 0x100a0d90
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 0x100a0d9a
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x1b], 0
je 0x100a0eae
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 0x100a0e05
cmp esi, 2
jg 0x100a0e05
lea ecx, [ebp - 0x12d]
push ecx
push 1
call fcn.100a2d80
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 0x100a0e3d
lea edx, [ebp - 0x10c]
push edx
push 8
call fcn.100a2d80
mov ecx, dword [ebp - 0x10c]
add esp, 8
cmp esi, 5
jge 0x100a0e37
and ecx, 0xffffff
xor eax, eax
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x108], eax
jmp 0x100a0e3d
mov eax, dword [ebp - 0x108]
mov edx, ecx
or edx, eax
je 0x100a0e72
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.10090e10
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 0x100a0e91
cmp dword [ebp - 0xe8], 0
jne 0x100a0e91
test edi, edi
je 0x100a0dc4
cmp dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], eax
jne 0x100a0eae
test edi, edi
je 0x100a28c9
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.0x1009e7c6.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 0x100a0f09
cmp byte [eax + 0x1e], 0
je 0x100a10b5
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 0x100a0f27
inc dword [esi + 0x23c]
test byte [edi + 8], 2
je 0x100a0f3f
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 0x100a0f5b
mov ecx, dword [ebx - 0x3c]
cmp ecx, dword [eax + 0x14]
jl 0x100a0f5b
jg 0x100a0f57
mov edx, dword [ebx - 0x40]
cmp edx, dword [eax + 0x10]
jb 0x100a0f5b
mov byte [eax + 0x1d], 0
test byte [ebx + 0x18], 1
je 0x100a0f69
xor ecx, ecx
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], ecx
cmp byte [eax + 0x1e], 0
je 0x100a1016
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0x38]
push ecx
call fcn.10082dd0
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 0x100a0fc7
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 0x100a104b
add eax, 2
push 1
push eax
call fcn.100891a0
mov ecx, dword [ebp - 0xe0]
add esp, 8
mov dword [ecx + 0x38], eax
test eax, eax
je 0x100a291a
mov esi, ecx
mov edx, dword [esi + 0x34]
mov ecx, dword [ebx + 0x10]
push edx
push ecx
push eax
call fcn.10065960
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 0x100a104b
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.100955e0
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 0x100a10b5
mov esi, dword [ebp - 0xe4]
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x100a10b5
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100a10b5
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 0x100a10d0
push ebx
call fcn.1009a3d0
add esp, 4
sub ebx, 0x40
test esi, esi
jg 0x100a10c0
mov dword [ebp - 0xdc], ebx
jmp case.0x1009e7c6.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 0x100a11e1
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx + 0x7c], 0
je 0x100a114b
cmp dword [edi + 0xc], 0
je 0x100a114b
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx + 0x19], 0
je 0x100a112d
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x190], eax
jmp 0x100a114b
lea ecx, [ebp - 0x194]
push ecx
push eax
call fcn.10094930
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
mov edx, dword [ebp - 0xf0]
push edx
call fcn.100975d0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax]
push ecx
call fcn.100957c0
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 0x100a11e1
mov edx, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x7c]
test ecx, ecx
je 0x100a11e1
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100a11e1
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.0x1009e7c6.13
inc dword [esi + 0x23c]
jmp case.0x1009e7c6.13
cmp dword [edi + 4], 0
je 0x100a1212
mov eax, dword [esi + 0x23c]
mov ecx, dword [ebp - 0xe4]
push eax
push ecx
call fcn.10097f80
add esp, 8
mov dword [esi + 0x23c], 0
jmp case.0x1009e7c6.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 0x100a124a
mov ecx, 1
mov word [ebx + 0x18], cx
mov byte [ebx + 0x1b], cl
jmp case.0x1009e7c6.13
mov eax, dword [edi]
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x100a1342
push edi
call fcn.100975d0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
cmp byte [edi + 0x1c], al
je 0x100a1284
mov edx, 1
mov word [ebx + 0x18], dx
jmp case.0x1009e7c6.13
cmp byte [edi + 0x21], 0
mov ecx, dword [ebp - 0xf8]
je 0x100a12ab
lea eax, [ebp - 0x208]
push eax
push ecx
call fcn.10094930
mov edx, dword [ebp - 0x208]
mov dword [ebp - 0x148], edx
jmp 0x100a12b8
lea eax, [ebp - 0x148]
push eax
push ecx
call fcn.100949e0
mov edx, dword [ebp - 0x148]
mov dword [ebx + 0x14], edx
mov eax, dword [ebp - 0x148]
add esp, 8
cmp eax, 0x20
ja 0x100a12e0
mov eax, 0x210
lea ecx, [ebx + 0x20]
mov word [ebx + 0x18], ax
mov dword [ebx + 0x10], ecx
jmp 0x100a1306
push 1
push eax
call fcn.100891a0
add esp, 8
test eax, eax
je 0x100a291a
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 0x100a1331
call fcn.10090980
add esp, 0x10
mov byte [ebx + 0x1b], 1
jmp case.0x1009e7c6.13
call fcn.10094a90
add esp, 0x10
mov byte [ebx + 0x1b], 1
jmp case.0x1009e7c6.13
cmp byte [edi + 0x1e], 0
je 0x100a1366
mov eax, dword [edi + 0x34]
mov dword [ebx + 0x14], eax
mov ecx, dword [edi + 0x38]
mov dword [ebx + 0x10], ecx
mov edx, pe_nt_image_headers32
mov word [ebx + 0x18], dx
mov byte [ebx + 0x1b], 1
jmp case.0x1009e7c6.13
mov eax, 1
mov word [ebx + 0x18], ax
mov byte [ebx + 0x1b], al
jmp case.0x1009e7c6.13
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x3c]
mov esi, dword [edx + ecx*4]
push esi
call fcn.100975d0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
add ebx, 0x40
mov dword [ebp - 0xdc], ebx
cmp byte [esi + 0x19], al
je 0x100a13b9
mov eax, dword [esi + 8]
mov dword [ebp - 0x180], eax
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x17c], ecx
jmp 0x100a13f7
cmp byte [esi + 0x1e], 0
je 0x100a13d3
mov edx, dword [esi + 0x40]
mov dword [ebp - 0x180], edx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x17c], eax
jmp 0x100a13f7
cmp byte [esi + 0x1c], 0
jne 0x1009f00b
mov esi, dword [esi]
test esi, esi
je 0x1009f00b
lea ecx, [ebp - 0x180]
push ecx
push esi
call fcn.10094930
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.0x1009e7c6.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.0x1009e7c6.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 0x100a1469
lea ecx, [ebp - 0x1b8]
push ecx
push eax
call fcn.10090dd0
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 0x100a14cb
mov byte [esi + 0x1c], 0
jmp case.0x1009e7c6.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 0x100a14b1
lea ecx, [ebp - 0x154]
push ecx
push eax
call fcn.10090d90
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 0x100a14bb
mov dword [ebp - 0x154], 1
mov al, byte [ebp - 0x154]
mov byte [esi + 0x1c], al
cmp dword [ebp - 0x154], 0
je case.0x1009e7c6.13
mov edi, dword [edi + 8]
test edi, edi
jle case.0x1009e7c6.13
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.13
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx + 0x98], 0
jne 0x100a28d8
mov ecx, dword [esi + 0x3c]
mov edx, dword [edi + 4]
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi]
test ecx, ecx
je 0x100a1572
cmp byte [esi + 0x1c], 0
je 0x100a1523
mov dword [ebp - 0x178], 1
mov byte [esi + 0x19], 0
jmp case.0x1009e7c6.13
cmp al, 0x6e
jne 0x100a1536
lea edx, [ebp - 0x178]
push edx
push ecx
call fcn.10094b00
jmp 0x100a1543
lea eax, [ebp - 0x178]
push eax
push ecx
call fcn.10094c70
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 0x100a1576
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
mov byte [esi + 0x19], al
jmp case.0x1009e7c6.13
mov byte [esi + 0x1c], 1
mov byte [esi + 0x19], 0
jmp case.0x1009e7c6.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 0x100a08c4
mov eax, dword [ebx + 0x14]
mov edi, dword [ebx + 0x10]
push 0
push 0x1012307e
cdq
push edx
push eax
push edi
push ecx
call fcn.100955e0
add esp, 0x18
mov dword [ebp - 0xd8], eax
mov dword [esi + 0x68], 0
jmp 0x100a08c4
mov ecx, dword [esi + 0x3c]
mov eax, dword [edi + 4]
mov edi, dword [ecx + eax*4]
mov esi, dword [edi]
test esi, esi
je 0x100a08c4
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.10090e10
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a160c
cmp dword [ebp - 0x19c], eax
jne 0x100a160c
push esi
call fcn.100957c0
add esp, 4
mov dword [ebp - 0xd8], eax
mov dword [edi + 0x68], 0
jmp 0x100a08c4
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.0x1009e7c6.13
cmp byte [eax + 0x1c], 0
je 0x100a1651
mov eax, 1
mov word [ebx + 0x18], ax
jmp case.0x1009e7c6.13
lea edx, [ebp - 0x1dc]
push edx
push ecx
call fcn.10097da0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x100a200e
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.0x1009e7c6.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 0x100a08c4
test byte [ebx + 0x18], 0x12
jne 0x100a16c5
movzx edx, byte [ebp - 0x110]
push edx
push ebx
call fcn.1009a2a0
add esp, 8
test eax, eax
jne 0x100a291a
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.10097e90
mov edx, dword [esi + 0x48]
add esp, 0x10
mov dword [ebp - 0xd8], eax
mov byte [edx], 0
test eax, eax
jne case.0x1009e7c6.13
mov al, byte [edi]
cmp al, 0x27
jne 0x100a1713
mov eax, dword [ebp - 0x144]
neg eax
jmp 0x100a171e
cmp al, 0x40
mov eax, dword [ebp - 0x144]
jne 0x100a1724
inc eax
mov dword [ebp - 0x144], eax
test eax, eax
jle 0x100a08c4
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp 0x100a08c4
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.10089090
mov esi, eax
add esp, 8
cmp esi, dword [ebp - 0xec]
jge 0x100a08c4
jmp 0x100a1780
cmp dword [ebp - 0xe8], 0
jle 0x100a08c4
mov ecx, dword [ebp - 0x114]
lea eax, [ebp - 0x184]
push eax
lea edx, [esi + ecx]
push edx
call fcn.10089090
add esp, 8
add esi, eax
cmp dword [ebp - 0x184], 0
je 0x100a172c
dec dword [ebp - 0xe8]
cmp esi, dword [ebp - 0xec]
jl 0x100a1780
jmp 0x100a08c4
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x50]
xor ecx, ecx
test eax, eax
je 0x100a1810
mov edx, 0xbdf20da3
lea esp, [esp]
cmp dword [eax + 0x50], edx
jne 0x100a17f5
cmp byte [eax + 0x23a], 2
jae 0x100a17f5
cmp dword [eax + 0x7c], 0
jl 0x100a17f5
inc ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x100a17e0
cmp ecx, 1
jle 0x100a1810
mov dword [ebp - 0xd8], 6
jmp case.0x1009e7c6.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.10095b10
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.0x1009e7c6.13
mov eax, dword [ebp - 0x188]
test eax, eax
je case.0x1009e7c6.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.1008ad00
add esp, 0xc
jmp case.0x1009e7c6.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.10095a70
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.0x1009e7c6.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.10094e00
add ebx, 0x40
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xdc], ebx
test eax, eax
jne 0x1009f1f0
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.0x1009e7c6.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.0x1009e7c6.13
mov dword [ebp - 0xec], str.sqlite_temp_master
cmp eax, 1
je 0x100a1960
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.1008eb20
mov edi, eax
add esp, 0x14
test edi, edi
je 0x100a291a
mov edx, dword [ebp - 0xe4]
push edx
call fcn.10088e30
mov eax, dword [ebp - 0xe4]
push 0
lea ecx, [ebp - 0x1f8]
push ecx
push fcn.10081c40
push edi
push eax
mov byte [eax + 0x44], 1
call fcn.10088310
add esp, 0x18
mov dword [ebp - 0xd8], eax
cmp eax, 4
jne 0x100a19e3
mov edx, dword [ebp - 0x1f0]
mov dword [ebp - 0xd8], edx
push edi
call fcn.10082dd0
mov eax, dword [ebp - 0xe4]
push eax
mov byte [eax + 0x44], 0
call fcn.10088df0
add esp, 8
cmp dword [ebp - 0xd8], 7
jne case.0x1009e7c6.13
call fcn.10089190
jmp 0x100a291a
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
push eax
push ecx
call fcn.1008da20
add esp, 8
jmp case.0x1009e7c6.13
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
push edx
push eax
push ecx
call fcn.10089e30
add esp, 0xc
jmp case.0x1009e7c6.13
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
push edx
push eax
push ecx
call fcn.10089ae0
add esp, 0xc
jmp case.0x1009e7c6.13
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe4]
push edx
push eax
push ecx
call fcn.100ab1f0
add esp, 0xc
jmp case.0x1009e7c6.13
xor ecx, ecx
mov dword [ebp - 0xf8], ecx
cmp ebx, dword [esi + 0x28]
jb 0x100a1aab
mov eax, ebx
mov edi, edi
test byte [eax + 0x18], 4
je 0x100a1aa5
inc ecx
mov edx, ecx
shl edx, 6
mov eax, ebx
sub eax, edx
cmp eax, dword [esi + 0x28]
jae 0x100a1a90
mov dword [ebp - 0xf8], ecx
mov eax, dword [ebp - 0xf8]
lea ecx, [eax*4 + 4]
push 1
push ecx
call fcn.100891a0
add esp, 8
mov dword [ebp - 0x124], eax
test eax, eax
je 0x100a291a
mov esi, dword [ebp - 0xf8]
xor eax, eax
test esi, esi
jle 0x100a1af0
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebx]
mov dword [ecx + eax*4], edx
inc eax
sub ebx, 0x40
cmp eax, esi
jl 0x100a1ae3
mov ecx, dword [ebp - 0x124]
lea edx, [ebp - 0xdc]
mov dword [ecx + eax*4], 0
push edx
mov eax, esi
call fcn.1009e420
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.10095060
add esp, 0x10
test eax, eax
je 0x100a1b77
cmp byte [eax], 0
je 0x100a1b6e
mov dword [ebx + 0x10], eax
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100a1b50
sub eax, edx
mov dword [ebx + 0x14], eax
mov edx, 0x62
mov word [ebx + 0x18], dx
mov dword [ebx + 0x1c], 0
jmp 0x100a1b8e
push eax
call fcn.10082dd0
add esp, 4
mov dword [ebx + 0x10], 0x101151ac
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.1009a0f0
mov edx, dword [ebp - 0x124]
push edx
call fcn.10082dd0
add esp, 0xc
jmp case.0x1009e7c6.13
push ebx
call fcn.1009a580
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
add esi, 0x64
push esi
call fcn.100ad1c0
add esp, 0x10
sub ebx, 0x40
mov dword [ebp - 0xdc], ebx
jmp case.0x1009e7c6.13
mov edx, dword [ebp - 0xe4]
cmp dword [edx + 0x98], 0
jne 0x100a28d8
lea eax, [ebp - 0x1d4]
push eax
add esi, 0x64
push esi
call fcn.100ad270
add esp, 8
cmp eax, 0x65
jne 0x100a1c15
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.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.0x1009e7c6.13
mov edi, dword [esi + 0x70]
lea eax, [edi + 1]
mov dword [esi + 0x70], eax
cmp edi, dword [esi + 0x74]
jl 0x100a1c6f
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.100895a0
add esp, 8
cmp dword [esi + 0x78], 0
je 0x100a291a
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.100ad1a0
jmp 0x100a2674
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.100ad2d0
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 0x100a2674
mov ecx, dword [edi + 4]
shl ecx, 6
add ecx, dword [esi + 0x58]
push ebx
push ecx
call fcn.1009a760
sub ebx, 0x40
add esp, 8
cmp dword [edi + 8], 0
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xdc], ebx
jne case.0x1009e7c6.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.1009a6c0
add esp, 0xc
jmp case.0x1009e7c6.13
mov edi, dword [edi + 4]
shl edi, 6
add edi, dword [esi + 0x58]
push edi
call fcn.1009a580
push ebx
call fcn.1009a580
mov eax, dword [ebx + 4]
mov edx, dword [edi + 4]
mov ecx, dword [ebx]
add esp, 8
cmp edx, eax
jg case.0x1009e7c6.13
jl 0x100a1d80
mov edx, dword [edi]
cmp edx, ecx
jae case.0x1009e7c6.13
mov dword [edi], ecx
mov dword [edi + 4], eax
jmp case.0x1009e7c6.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.0x1009e7c6.13
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x58]
shl eax, 6
cmp dword [eax + esi + 4], 0
jl case.0x1009e7c6.13
jg 0x100a1dc1
cmp dword [eax + esi], 0
jbe case.0x1009e7c6.13
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.13
mov eax, dword [edi + 4]
mov esi, dword [esi + 0x58]
shl eax, 6
cmp dword [eax + esi + 4], 0
jg case.0x1009e7c6.13
jl 0x100a1df0
cmp dword [eax + esi], 0
jae case.0x1009e7c6.13
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.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.0x1009e7c6.13
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.13
mov edx, dword [edi + 4]
shl edx, 6
add edx, dword [esi + 0x58]
push edx
call fcn.1009a630
jmp 0x100a2674
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.1009a660
add esp, 0xc
jmp case.0x1009e7c6.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.1009a760
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.0x1009e7c6.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 0x100a1eb6
nop
mov eax, dword [ebp - 0xec]
mov dword [eax + ebx*4], ecx
call fcn.1009e3f0
inc ebx
add ecx, 0x40
cmp ebx, edx
jl 0x100a1ea0
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 0x100a1f0c
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.1009e420
add esp, 0x10
cmp byte [ebp - 0x88], 0
je 0x100a1f6b
lea ecx, [ebp - 0xcc]
push 0
push ecx
call fcn.100838b0
add esp, 4
push eax
add esi, 0x230
push esi
call fcn.10089350
add esp, 0xc
mov dword [ebp - 0xd8], 1
lea edx, [ebp - 0xcc]
push edx
call fcn.1009a3d0
jmp 0x100a266e
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.1009a320
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, 1
jne case.0x1009e7c6.13
mov edx, dword [ebp - 0x114]
push 0
push edx
call fcn.100838b0
add esp, 4
push eax
add esi, 0x230
push esi
call fcn.10089350
add esp, 0xc
jmp case.0x1009e7c6.13
mov edi, dword [ebp - 0xe4]
push edi
call fcn.10088e30
add esp, 4
test eax, eax
jne 0x100a2004
push edi
add esi, 0x230
push esi
call fcn.100b1bd0
push edi
mov dword [ebp - 0xd8], eax
call fcn.10088df0
add esp, 0xc
test eax, eax
je case.0x1009e7c6.13
mov dword [ebp - 0xd8], 0x15
mov esi, dword [ebp - 0x128]
cmp dword [esi + 0x230], 0
lea edi, [esi + 0x230]
jne 0x100a2051
call fcn.10089170
test eax, eax
je 0x100a2036
mov dword [ebp - 0xd8], 7
mov eax, dword [ebp - 0xd8]
push 0
push eax
call fcn.10082a50
add esp, 4
push eax
push edi
call fcn.10089350
add esp, 0xc
cmp dword [ebp - 0xd8], 0
je 0x100a294d
mov ecx, dword [ebp - 0xd8]
mov dword [esi + 0x80], ecx
mov edi, 1
jmp 0x100a2952
cmp dword [edi + 4], 0
jne 0x100a208b
mov eax, dword [ebp - 0xe4]
push eax
call fcn.10097fb0
jmp 0x100a2674
mov byte [esi + 0x238], 1
jmp case.0x1009e7c6.13
mov eax, dword [edi + 4]
test eax, eax
sets cl
mov byte [ebp - 0x1cc], cl
test cl, cl
je 0x100a20b0
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.100942c0
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp eax, 6
jne case.0x1009e7c6.13
mov eax, dword [edi + 0xc]
push 0
push eax
push str.database_table_is_locked:
add esi, 0x230
push esi
call fcn.10089350
add esp, 0x10
jmp case.0x1009e7c6.13
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xe4]
push ecx
push edx
call fcn.1009bed0
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.0x1009e7c6.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.1009bb80
add esp, 0x10
mov dword [ebp - 0xd8], eax
jmp case.0x1009e7c6.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.1009bd20
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov byte [esi + 0x23a], 0
jmp case.0x1009e7c6.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.10088e30
add esp, 4
test eax, eax
jne 0x100a2004
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.10088df0
add esp, 0xc
test eax, eax
jne 0x100a2004
test esi, esi
jne case.0x1009e7c6.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.1009e450
add esp, 4
test eax, eax
je 0x100a2219
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.0x1009e7c6.13
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x114]
mov edx, dword [ecx + 0x1c]
push eax
call edx
jmp 0x100a2674
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 0x100a233d
mov edx, dword [esi + 0x30]
mov dword [ebp - 0xec], edx
mov eax, ecx
xor edx, edx
test eax, eax
jle 0x100a229a
inc eax
shl eax, 6
mov ecx, ebx
sub ecx, eax
jmp 0x100a2280
mov eax, dword [ebp - 0xec]
mov dword [eax + edx*4], ecx
call fcn.1009e3f0
inc edx
add ecx, 0x40
cmp edx, dword [ebp - 0xf8]
jl 0x100a2280
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.10088e30
add esp, 4
test eax, eax
jne 0x100a2004
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 0x100a2314
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.10088df0
add esp, 4
test eax, eax
jne 0x100a2004
cmp dword [ebp - 0x164], eax
je 0x100a233d
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 0x100a2669
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 0x100a237a
push 0
push str.Unsupported_module_operation:_xRowid
jmp 0x100a022d
mov esi, dword [ebp - 0xe4]
push esi
call fcn.10088e30
add esp, 4
test eax, eax
jne 0x100a2004
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.10088df0
add esp, 0xc
test eax, eax
jne 0x100a2004
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.0x1009e7c6.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 0x100a2414
push 0
push str.Unsupported_module_operation:_xColumn
jmp 0x100a022d
push 0x58
lea edx, [ebp - 0x7c]
push 0
push edx
call fcn.10066620
mov esi, dword [ebp - 0xe4]
mov eax, 1
push esi
mov word [ebp - 0x5c], ax
call fcn.10088e30
add esp, 0x10
test eax, eax
jne 0x100a2004
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.1009a0f0
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.1009a760
push esi
call fcn.10088df0
add esp, 0x20
test eax, eax
jne 0x100a2004
jmp case.0x1009e7c6.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 0x100a24dc
push 0
push str.Unsupported_module_operation:_xNext
jmp 0x100a022d
mov eax, dword [ebp - 0xe4]
push eax
call fcn.10088e30
add esp, 4
test eax, eax
jne 0x100a2004
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 0x100a253f
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 0x100a2545
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0xe4]
push eax
call fcn.10088df0
add esp, 4
test eax, eax
jne 0x100a2004
test esi, esi
jne case.0x1009e7c6.13
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xf4], edi
jmp case.0x1009e7c6.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 0x100a25b8
push 0
push str.read_only_table
add esi, 0x230
push esi
call fcn.10089350
add esp, 0xc
mov dword [ebp - 0xd8], 1
jmp 0x100a265c
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 0x100a25e4
lea ecx, [ecx]
call fcn.1009e3f0
mov dword [esi + edx*4], ecx
inc edx
add ecx, 0x40
cmp edx, dword [ebp - 0xe8]
jl 0x100a25d0
mov eax, dword [ebp - 0xe4]
push eax
call fcn.10088e30
add esp, 4
test eax, eax
jne 0x100a2004
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.10088df0
add esp, 0x14
test eax, eax
jne 0x100a2004
cmp dword [edi + 4], eax
je 0x100a265c
test esi, esi
jne 0x100a265c
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.1009e420
mov ebx, dword [ebp - 0xdc]
add esp, 4
inc dword [ebp - 0xf4]
cmp dword [ebp - 0xd8], 0
mov esi, dword [ebp - 0x128]
je 0x1009e700
mov ecx, dword [ebp - 0xd8]
mov dword [esi + 0x80], ecx
mov edi, 1
jmp 0x100a2952
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 0x100a26dd
push 0
lea ecx, [esi + 0x230]
push edi
push ecx
call fcn.10089350
add esp, 0xc
push esi
call fcn.100982a0
add esp, 4
cmp eax, 5
je 0x100a2847
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.1006656c
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 0x100a276b
lea ecx, [ecx]
mov eax, 0x100
test word [ecx + 0x18], ax
je 0x100a2752
mov ecx, dword [ebp - 0x11c]
push ecx
call fcn.1009a190
add esp, 4
test eax, eax
jne 0x100a291a
mov eax, dword [ebp - 0x11c]
add eax, 0x40
mov dword [ebp - 0x11c], eax
mov ecx, eax
cmp eax, dword [ebp - 0x164]
jb 0x100a2730
mov edx, dword [esi + 0x60]
add edx, 2
or edx, 1
mov dword [esi + 0x60], edx
cmp ecx, ebx
ja 0x100a27a7
jmp 0x100a2780
mov eax, dword [ebp - 0x11c]
push eax
call fcn.1009a210
mov ecx, dword [ebp - 0x11c]
add esp, 4
call fcn.1009e3f0
add ecx, 0x40
mov dword [ebp - 0x11c], ecx
cmp ecx, ebx
jbe 0x100a2780
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.1006656c
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0xd8], 0x14
jmp 0x100a200e
cmp dword [edi + 8], 0
je 0x100a2817
mov esi, ecx
push esi
call fcn.100829b0
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.1006656c
mov esp, ebp
pop ebp
ret
mov al, byte [ebp - 0xf9]
mov edi, ecx
push esi
mov byte [edi + 0x10], al
call fcn.100982a0
add esp, 4
cmp eax, 5
jne 0x100a2801
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.1006656c
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.1006656c
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.1006656c
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0xd8], 0xd
jmp 0x100a200e
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.10082a50
add esp, 4
push eax
lea ecx, [esi + 0x230]
push ecx
jmp 0x100a2049
mov esi, dword [ebp - 0x128]
push 0
lea edx, [esi + 0x230]
push 0x101287b0
push edx
call fcn.10089350
mov dword [ebp - 0xd8], 7
mov ecx, dword [ebp - 0xd8]
add esp, 0xc
mov dword [esi + 0x80], ecx
mov edi, 1
jmp 0x100a2952
mov edi, 0x65
push esi
call fcn.100982a0
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.1006656c
mov esp, ebp
pop ebp
ret