Function at 0x1007fee0
Capabilities:
Enumerate pe sections
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x1016e750]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ecx]
push esi
mov esi, dword [ecx + 4]
push edi
mov eax, dword [ebx + 0x10]
mov edi, dword [ecx + 8]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], 0
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xe8], ebx
mov al, byte [eax + 0x4d]
mov byte [ebp - 0xf0], al
xor eax, eax
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0x24]
mov byte [ebp - 0xf9], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xec], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x104], eax
call fcn.1007b170
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x58], 7
je 0x10085fbf
mov dword [ecx + 0x58], 0
mov dword [ecx + 0x14], 0
cmp dword [ebx + 0xe0], 0
mov dword [ebx + 0x1b4], 0
jne 0x10085f79
mov eax, dword [ecx + 0x54]
xor edx, edx
cmp dword [ebx + 0x114], edx
mov dword [ebp - 0xd8], eax
setne dl
mov dword [ebp - 0x120], edx
lea esp, [esp]
cmp byte [ebx + 0x36], 0
jne 0x10085fbf
lea edi, [eax + eax*4]
test edx, edx
je 0x1008000f
mov eax, dword [ebp - 0x114]
cmp dword [ebx + 0x11c], eax
jne 0x10080008
push dword [ebx + 0x118]
mov eax, dword [ebx + 0x114]
call eax
add esp, 4
test eax, eax
jne 0x10085d02
inc eax
mov dword [ebp - 0x114], eax
test byte [esi + edi*4 + 2], 2
je 0x1008004f
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, 0x2460
mov dword [ebp - 0xec], edx
test word [edx + 0x1c], ax
je 0x10080044
mov ecx, edx
call fcn.10079360
mov edx, dword [ebp - 0xec]
mov eax, 4
mov word [edx + 0x1c], ax
jmp 0x10080055
mov edx, dword [ebp - 0xec]
movzx eax, byte [esi + edi*4]
dec eax
cmp eax, 0x93
ja case.default.0x10080065
jmp dword [eax*4 + 0x10086098]
cmp dword [ebx + 0xe0], 0
jne 0x10085f79
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov ecx, dword [esi + edi*4 + 4]
mov edx, 4
mov eax, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xe4]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, dword [ebp - 0xd8]
cdq
mov dword [ebx + ecx*8 + 0x10], eax
mov eax, ebx
mov dword [eax + ecx*8 + 0x14], edx
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov ebx, dword [ebp - 0xe8]
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xe4]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [edi + ecx*8 + 0x1c], ax
mov eax, dword [edi + ecx*8 + 0x10]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd8]
cdq
mov dword [edi + ecx*8 + 0x10], eax
mov dword [edi + ecx*8 + 0x14], edx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.default.0x10080065
cmp dword [esi + edi*4 + 4], 0
mov edx, dword [ebp - 0xdc]
jne 0x10085d0c
mov ecx, dword [edx + 0xa8]
test ecx, ecx
je 0x10085d0c
mov eax, dword [ecx + 4]
dec dword [edx + 0xb0]
mov dword [edx + 0xa8], eax
mov eax, dword [edx + 0x68]
add dword [ebx + 0x48], eax
mov dword [ebx + 0x44], eax
call fcn.1007bb50
cmp dword [esi + edi*4 + 8], 4
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x104], ecx
jne 0x100801b4
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xe4], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xec]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x10080065
mov ecx, dword [esi + edi*4 + 0x10]
mov eax, dword [ecx]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edx + 0x14], eax
jmp case.default.0x10080065
mov eax, 8
mov word [edx + 0x1c], ax
mov eax, dword [esi + edi*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [edx + 8], xmm0
jmp case.default.0x10080065
mov ecx, dword [esi + edi*4 + 0x10]
mov byte [esi + edi*4], 9
call fcn.10061200
cmp byte [ebp - 0xf0], 1
mov dword [esi + edi*4 + 4], eax
je 0x100802bf
push 0
push 1
mov edx, ecx
mov ecx, dword [ebp - 0xec]
push 0xffffffffffffffff
call fcn.10079b10
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp eax, 0x12
je 0x10085f5d
movzx edx, byte [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
call fcn.10078fd0
test eax, eax
jne 0x10085fbf
mov edx, dword [ebp - 0xec]
mov ecx, 0xfbff
mov dword [edx + 0x24], eax
mov ax, word [edx + 0x1c]
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [edx + 0x1c], ax
cmp byte [esi + edi*4 + 1], 0xff
jne 0x100802ac
mov edx, dword [esi + edi*4 + 0x10]
mov ecx, ebx
call fcn.1005f110
mov edx, dword [ebp - 0xec]
mov byte [esi + edi*4 + 1], 0xff
mov eax, dword [edx + 4]
mov dword [esi + edi*4 + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [esi + edi*4 + 4], eax
mov eax, dword [esi + edi*4 + 4]
cmp eax, dword [ebx + 0x4c]
jg 0x10085f5d
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [esi + edi*4 + 0x10]
mov dword [edx + 4], eax
mov eax, dword [esi + edi*4 + 4]
mov dword [edx + 0x18], eax
mov al, byte [ebp - 0xf0]
mov byte [edx + 0x1f], al
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 0xc]
sub eax, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xd0], eax
mov eax, 1
mov word [edi + 0x1c], ax
cmp dword [ebp - 0xd0], 0
jle case.default.0x10080065
mov ebx, eax
mov esi, 0x2460
add edi, 0x28
test word [edi + 0x1c], si
je 0x10080332
mov ecx, edi
call fcn.10079360
mov word [edi + 0x1c], bx
mov eax, dword [ebp - 0xd0]
dec eax
mov dword [ebp - 0xd0], eax
test eax, eax
jg 0x10080322
mov dword [ebp - 0xec], edi
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
mov edx, dword [esi + edi*4 + 0x10]
push 0
push 0
push dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xec]
mov ecx, edi
call fcn.10079b10
mov al, byte [ebp - 0xf0]
add esp, 0xc
mov byte [edi + 0x1f], al
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xdc]
lea ecx, [ecx - 5]
mov eax, dword [eax + 0x44]
lea esi, [eax + ecx*8]
mov ecx, esi
mov dword [ebp - 0xd0], esi
call fcn.10079980
test eax, eax
jne 0x10085f5d
mov ecx, dword [ebp - 0xec]
mov edx, esi
push 0x800
call fcn.100799b0
mov esi, dword [ebp - 0xe0]
add esp, 4
jmp case.default.0x10080065
mov edx, dword [esi + edi*4 + 0xc]
mov dword [ebp - 0xcc], edx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [esi + edi*4 + 8]
mov edi, dword [ebp - 0xe4]
mov dword [ebp - 0xc4], ecx
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
lea eax, [ecx + ecx*4]
lea edi, [edi + eax*8]
mov dword [ebp - 0xec], edi
test edx, edx
je 0x1008044f
lea ecx, [ecx]
dec edx
mov ecx, edi
mov dword [ebp - 0xcc], edx
mov edx, esi
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xd0], eax
mov dword [edi + 0x24], 0
call fcn.10079a90
mov eax, dword [ebp - 0xd0]
add edi, 0x28
mov dword [esi + 0x24], eax
add esi, 0x28
mov edx, dword [ebp - 0xcc]
test edx, edx
jne 0x10080410
mov dword [ebp - 0xec], edi
mov esi, dword [ebp - 0xe0]
dec edx
mov dword [ebp - 0xcc], edx
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe4]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xec], eax
mov eax, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xec]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, edi
call fcn.100799b0
mov eax, 0x1000
add esp, 4
test word [edi + 0x1c], ax
je case.default.0x10080065
mov ecx, edi
call fcn.10079110
test eax, eax
jne 0x10085fbf
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
mov edx, dword [ebp - 0xe4]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xec], ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.100799b0
add esp, 4
jmp case.default.0x10080065
mov ecx, dword [ebp - 0xdc]
xor edx, edx
call fcn.1007c5f0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ce0
mov ecx, dword [ebp - 0xdc]
lea edx, [eax + 1]
call fcn.1007c4d0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ce0
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx + 0x50]
add eax, 2
or eax, 1
mov dword [ecx + 0x50], eax
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ecx + 0x14], edx
xor ecx, ecx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], ecx
cmp dword [esi + edi*4 + 8], ecx
jle 0x10085db3
nop
lea eax, [ecx + ecx*4]
mov ebx, 0x1000
test word [edx + eax*8 + 0x1c], bx
lea eax, [edx + eax*8]
mov ebx, dword [ebp - 0xe8]
je 0x10080593
mov ecx, eax
call fcn.10079110
test eax, eax
jne 0x10085fbf
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd0]
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
call fcn.100791d0
mov eax, dword [ebp - 0xcc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + ecx*8]
call fcn.1007fbe0
mov ecx, dword [ebp - 0xcc]
inc ecx
mov dword [ebp - 0xcc], ecx
cmp ecx, dword [esi + edi*4 + 8]
jge 0x10085db3
mov edx, dword [ebp - 0xd0]
jmp 0x10080560
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov al, byte [esi + 0x1c]
or al, cl
mov dword [ebp - 0xec], edi
test al, 1
je 0x10080629
mov ecx, edi
call fcn.10079730
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
test ecx, 0x4000
je 0x10080640
mov ecx, ebx
call fcn.10079170
test eax, eax
jne 0x10085fb9
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x1008065a
mov ecx, esi
call fcn.10079170
test eax, eax
jne 0x10085fb9
test byte [ebx + 0x1c], 0x12
jne 0x10080676
movzx edx, byte [ebp - 0xf0]
mov ecx, ebx
call fcn.10079220
test eax, eax
jne 0x10085fb9
test byte [esi + 0x1c], 0x12
jne 0x10080692
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.10079220
test eax, eax
jne 0x10085fb9
mov eax, dword [ebx + 0x18]
add eax, dword [esi + 0x18]
cdq
mov ecx, edx
mov edi, eax
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], ecx
mov eax, dword [edx + 0x4c]
cdq
cmp ecx, edx
jg 0x10085f57
jl 0x100806c5
cmp edi, eax
ja 0x10085f57
mov edi, dword [ebp - 0xec]
mov ecx, 0xbf02
mov ax, word [edi + 0x1c]
and ax, cx
mov ecx, edi
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
mov edx, dword [ebp - 0xd0]
cmp edi, esi
sete al
push eax
lea edx, [edx + 2]
call fcn.10078ff0
add esp, 4
test eax, eax
jne 0x10085fb9
cmp edi, esi
je 0x10080717
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 4]
call fcn.10107980
add esp, 0xc
push dword [ebx + 0x18]
mov eax, dword [esi + 0x18]
push dword [ebx + 4]
add eax, dword [edi + 4]
push eax
call fcn.10107980
mov eax, dword [ebp - 0xd0]
add esp, 0xc
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe0]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edi + 4]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
or word [edi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
mov dword [edi + 0x18], eax
mov al, byte [ebp - 0xf0]
mov byte [edi + 0x1f], al
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.1007fd20
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov ecx, ebx
call fcn.1007fd20
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov dword [ebp - 0xec], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [ebp - 0xd0], ecx
test cl, 1
jne 0x10080a8a
mov al, byte [ebx + 0x1c]
and al, byte [esi + 0x1c]
test al, 4
je 0x10080845
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xc8], ecx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xc0], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xe0]
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x10080826
jmp dword [eax*4 + 0x100862e8]
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.10062210
add esp, 8
test eax, eax
je 0x1008093d
mov ecx, esi
call fcn.100794b0
mov ecx, ebx
movsd qword [ebp - 0xb8], xmm0
call fcn.100794b0
mov esi, dword [ebp - 0xe0]
movsd qword [ebp - 0xb0], xmm0
movsd qword [ebp - 0xf8], xmm0
movzx eax, byte [esi + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x10080881
jmp dword [eax*4 + 0x100862f8]
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.100622b0
add esp, 8
test eax, eax
jne 0x10080845
jmp 0x1008093d
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.10062300
add esp, 8
test eax, eax
jne 0x10080845
jmp 0x1008093d
mov eax, ecx
or eax, edx
je 0x10080a8a
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xf4]
jne 0x100808e7
test eax, eax
jne 0x100808e7
cmp dword [ebp - 0x100], 0x80000000
je 0x10080845
push edx
push ecx
push dword [ebp - 0x100]
push eax
call fcn.10115b60
jmp 0x10080931
mov eax, ecx
or eax, edx
je 0x10080a8a
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x1008091d
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xf4]
push edx
push ecx
push dword [ebp - 0x100]
push eax
call fcn.10115c10
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xec]
mov edx, 0xbf04
mov eax, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 0x14], eax
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 4
mov word [ecx + 0x1c], ax
jmp case.default.0x10080065
addsd xmm0, qword [ebp - 0xb8]
jmp 0x10080a33
subsd xmm0, qword [ebp - 0xb8]
jmp 0x10080a33
mulsd xmm0, qword [ebp - 0xb8]
jmp 0x10080a33
movsd xmm1, qword [ebp - 0xb8]
ucomisd xmm1, qword [0x101609b0]
lahf
test ah, 0x44
jnp 0x10080a8a
divsd xmm0, xmm1
jmp 0x10080a33
movsd xmm0, qword [ebp - 0xb8]
call fcn.1011dcdd
movsd xmm0, qword [ebp - 0xf8]
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
call fcn.1011dcdd
mov ecx, esi
mov dword [ebp - 0xc0], eax
or ecx, edi
mov dword [ebp - 0xbc], edx
je 0x10080a8a
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x10080a1d
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
push edi
push esi
push edx
push eax
call fcn.10115c10
mov ecx, eax
call fcn.1011de7d
mov esi, dword [ebp - 0xe0]
movsd qword [ebp - 0xb0], xmm0
call fcn.100611c0
test eax, eax
jne 0x10080a8a
mov edi, dword [ebp - 0xec]
mov ecx, 0xbf08
movsd xmm0, qword [ebp - 0xb0]
mov ax, word [edi + 0x1c]
and ax, cx
movsd qword [edi + 8], xmm0
or ax, 8
mov word [edi + 0x1c], ax
test byte [ebp - 0xd0], 8
jne 0x100800c2
mov ecx, edi
call fcn.10079510
mov ebx, dword [ebp - 0xe8]
jmp case.default.0x10080065
mov ecx, dword [ebp - 0xec]
call fcn.10079730
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
test eax, eax
je case.default.0x10080065
push 0
push 0
jmp 0x100848f9
movzx ecx, byte [esi + edi*4 + 3]
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xe4]
mov dword [ebp - 0x84], ecx
mov esi, dword [eax + 0xc]
mov dword [ebp - 0x88], esi
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0xec], eax
mov eax, dword [edx + edi*4 + 8]
mov edx, ebx
mov ebx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], eax
test ecx, ecx
jle 0x10080b78
jmp 0x10080b20
mov dword [esi + eax*4], edx
mov eax, 0x1000
mov ecx, dword [ebp - 0xcc]
test word [ecx + 0x1c], ax
je 0x10080b47
call fcn.10079110
test eax, eax
jne 0x10085fbf
mov ecx, dword [ebp - 0xcc]
call fcn.1007fbe0
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
inc eax
add edx, 0x28
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
cmp eax, dword [ebp - 0x84]
jge 0x10080b78
mov esi, dword [ebp - 0x88]
jmp 0x10080b20
mov esi, dword [ebp - 0xe0]
cmp byte [esi + edi*4 + 1], 0xfb
mov eax, dword [esi + edi*4 + 0x10]
jne 0x10080b95
mov dword [ebp - 0xc4], 0
jmp 0x10080b9d
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov edx, dword [ebp - 0xec]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
mov eax, 1
mov word [ebp - 0xa4], ax
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
call fcn.10079a90
mov eax, dword [ebp - 0xa4]
and eax, 0xbf01
mov dword [ebp - 0x90], 0
or eax, 1
mov word [ebp - 0xa4], ax
mov eax, dword [ebp - 0xc8]
test byte [eax + 3], 8
je 0x10080c0f
mov eax, dword [esi + edi*4 - 4]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x108]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x104]
mov dword [ebx + 0x24], eax
lea eax, [ebp - 0xc8]
push dword [ebp - 0x88]
push dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [ebx + 0x20]
add esp, 0xc
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x104], eax
test ecx, ecx
je 0x10080c76
mov edx, dword [esi + edi*4 + 4]
call fcn.1007cbf0
mov eax, dword [ebp - 0xc4]
mov dword [esi + edi*4 + 0x10], eax
mov byte [esi + edi*4 + 1], 0xf9
cmp byte [ebx + 0x36], 0
jne 0x10085dd7
cmp dword [ebp - 0x90], 0
je 0x10080cbb
mov dl, 1
lea ecx, [ebp - 0xc0]
call fcn.1007a0b0
push eax
mov eax, dword [ebp - 0xdc]
push 0x10141f2c
add eax, 0x34
push ebx
push eax
call fcn.1005f510
mov eax, dword [ebp - 0x90]
add esp, 0x10
mov dword [ebp - 0xd4], eax
movzx edx, byte [ebp - 0xf0]
lea ecx, [ebp - 0xc0]
call fcn.10078fd0
mov ecx, dword [ebp - 0xec]
lea edx, [ebp - 0xc0]
call fcn.10079a90
mov ecx, dword [ebp - 0xec]
call fcn.10079980
test eax, eax
jne 0x10085f5d
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0xec], edx
test al, 1
je 0x10080d48
mov ecx, edx
call fcn.10079730
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
call fcn.10079400
mov ecx, esi
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
call fcn.10079400
mov esi, eax
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc0], esi
mov cl, byte [eax + edi*4]
mov byte [ebp - 0xb8], cl
cmp cl, 0x52
jne 0x10080d9b
mov ecx, dword [ebp - 0xd0]
and ecx, esi
and dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
jmp 0x10080ef4
cmp cl, 0x53
jne 0x10080db9
mov ecx, dword [ebp - 0xd0]
or ecx, esi
or dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
jmp 0x10080ef4
mov eax, esi
or eax, edx
je 0x10080eee
test edx, edx
jg 0x10080e03
jl 0x10080dcd
test esi, esi
jae 0x10080df8
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [ebp - 0xb8], cl
cmp edx, 0xffffffff
jl 0x10080e33
jg 0x10080de5
cmp esi, 0xffffffc0
jbe 0x10080e33
neg esi
mov dword [ebp - 0xc0], esi
adc edx, 0
neg edx
mov dword [ebp - 0xbc], edx
test edx, edx
jl 0x10080e5f
jg 0x10080e03
cmp esi, 0x40
jb 0x10080e5f
cmp dword [ebp - 0xcc], 0
jg 0x10080e49
jl 0x10080e17
cmp dword [ebp - 0xd0], 0
jae 0x10080e49
cmp cl, 0x54
je 0x10080e49
or eax, 0xffffffff
cdq
mov ecx, eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
jmp 0x10080ef4
mov dword [ebp - 0xc0], 0x40
mov dword [ebp - 0xbc], 0
jmp 0x10080e03
xor eax, eax
cdq
mov ecx, eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
jmp 0x10080ef4
movq xmm1, qword [ebp - 0xd0]
movd xmm0, esi
cmp cl, 0x54
jne 0x10080e96
psllq xmm1, xmm0
movq qword [ebp - 0xc8], xmm1
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
jmp 0x10080ef4
cmp dword [ebp - 0xcc], 0
psrlq xmm1, xmm0
movq qword [ebp - 0xc8], xmm1
jg 0x10080ed4
jl 0x10080eb6
cmp dword [ebp - 0xd0], 0
jae 0x10080ed4
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.1011da40
or dword [ebp - 0xc8], eax
or dword [ebp - 0xc4], edx
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
jmp 0x10080ef4
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
mov dword [edx + 0x10], ecx
mov ecx, 0xbf04
mov eax, dword [ebp - 0xcc]
mov dword [edx + 0x14], eax
mov ax, word [edx + 0x1c]
and ax, cx
or ax, 4
mov word [edx + 0x1c], ax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100795b0
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.1007fd20
test byte [esi + 0x1c], 8
je 0x10080f7c
mov ecx, esi
call fcn.10079510
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x10080fa2
mov esi, dword [ebp - 0xe0]
mov eax, dword [esi + edi*4 + 8]
test eax, eax
je 0x10085de7
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea ecx, [ecx + eax*8]
je case.default.0x10080065
call fcn.100795e0
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x10080353
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
test al, 2
jne 0x1008101f
test al, 0xc
je 0x1008101f
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.10079220
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x10081054
mov ecx, esi
call fcn.10079170
mov ecx, 0xbfe3
mov dword [ebp - 0xd4], eax
and word [esi + 0x1c], cx
mov esi, dword [ebp - 0xe0]
jmp 0x10085ce0
xor eax, eax
mov ecx, 0xbfe3
and word [esi + 0x1c], cx
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x10080353
test al, 0x10
jne 0x100810c5
test al, 2
jne 0x100810a6
test al, 0xc
je 0x100810a6
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.10079220
mov ax, word [esi + 0x1c]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
and eax, 0xff10
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.10079660
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne case.default.0x10080065
call fcn.100795b0
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne case.default.0x10080065
call fcn.100795e0
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [ebp - 0xca], ax
movzx eax, word [ecx + 0x1c]
mov bl, byte [ebp - 0xca]
mov dword [ebp - 0xf4], ecx
mov cl, al
mov word [ebp - 0xc8], ax
or al, bl
test al, 1
je 0x100811f8
mov al, byte [edx + edi*4 + 3]
test al, al
jns 0x100811a1
and cl, bl
mov edx, 0
test cl, 1
sete dl
jmp 0x1008128a
mov esi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xe8]
test al, 0x10
je 0x100811e0
mov eax, dword [esi + edi*4 + 8]
mov edx, 0xbf01
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ebp - 0xec], ecx
or ax, 1
mov word [ecx + 0x1c], ax
jmp case.default.0x10080065
test al, 8
je case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov dl, byte [edx + edi*4 + 3]
and dl, 0x67
mov byte [ebp - 0xcc], dl
je 0x10081242
mov ebx, dword [ebp - 0xf0]
mov ecx, esi
push ebx
call fcn.1007fdb0
mov dl, byte [ebp - 0xcc]
add esp, 4
push ebx
mov ebx, dword [ebp - 0xf4]
mov ecx, ebx
call fcn.1007fdb0
mov edx, dword [ebp - 0xe8]
add esp, 4
cmp byte [edx + 0x36], 0
je 0x10081248
mov ebx, edx
jmp 0x10085fbf
mov ebx, dword [ebp - 0xf4]
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x1008125f
mov ecx, esi
call fcn.10079170
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x1008126c
mov ecx, ebx
call fcn.10079170
mov eax, dword [ebp - 0xe0]
mov edx, esi
mov ecx, ebx
push dword [eax + edi*4 + 0x10]
call fcn.10079cd0
mov bl, byte [ebp - 0xca]
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], edx
movzx ecx, byte [eax + edi*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x100812a2
jmp dword [ecx*4 + 0x10086308]
xor eax, eax
test edx, edx
sete al
jmp 0x100812dd
xor eax, eax
test edx, edx
setne al
jmp 0x100812dd
xor eax, eax
test edx, edx
sets al
jmp 0x100812dd
xor eax, eax
test edx, edx
setle al
jmp 0x100812dd
xor eax, eax
test edx, edx
setg al
jmp 0x100812dd
xor eax, eax
test edx, edx
setns al
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], eax
test byte [ecx + edi*4 + 3], 0x10
je 0x1008132f
mov eax, dword [ecx + edi*4 + 8]
mov edx, 0xbf04
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ebp - 0xec], ecx
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov bl, byte [ebp - 0xca]
jmp 0x1008133e
test eax, eax
je 0x1008133e
mov eax, dword [ecx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xf4]
mov byte [esi + 0x1c], bl
mov al, byte [ebp - 0xc8]
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe0]
mov byte [ecx + 0x1c], al
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0x110], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 0xc]
xor edx, edx
mov dword [ebp - 0xd0], eax
mov ebx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xc0], ebx
mov ecx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xc8], ecx
mov edi, dword [esi + edi*4 + 8]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xcc], edx
test eax, eax
jle 0x10081457
mov edi, edi
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x100813bf
mov esi, dword [eax + edx*4]
jmp 0x100813c1
mov esi, edx
mov dword [ebp - 0xbc], esi
mov ecx, dword [ebx + edx*4 + 0xc]
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebx + 8]
push ecx
movzx eax, byte [eax + edx]
mov dword [ebp - 0xb4], eax
lea eax, [esi + edi]
mov edi, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [ebp - 0xf4]
add eax, esi
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.10079cd0
add esp, 4
mov dword [ebp - 0x10c], eax
test eax, eax
jne 0x10081440
mov edx, dword [ebp - 0xcc]
inc edx
mov dword [ebp - 0xcc], edx
cmp edx, dword [ebp - 0xd0]
jge 0x10081451
mov ecx, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0xf4], ecx
jmp 0x100813b0
cmp dword [ebp - 0xb4], 0
je 0x10081451
neg eax
mov dword [ebp - 0x10c], eax
mov esi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xe8]
xor eax, eax
mov dword [ebp - 0x110], eax
jmp case.default.0x10080065
mov eax, dword [ebp - 0x10c]
test eax, eax
jns 0x10081484
mov eax, dword [esi + edi*4 + 4]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
jne 0x10081496
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 0xc]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x100814c4
mov ecx, 2
jmp 0x100814d6
call fcn.10079400
or eax, edx
je 0x100814d4
mov ecx, 1
jmp 0x100814d6
xor ecx, ecx
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea eax, [edx + eax*8]
je 0x100814fa
mov eax, 2
jmp 0x1008151a
mov ecx, eax
call fcn.10079400
mov ecx, dword [ebp - 0xd0]
or eax, edx
mov edx, dword [ebp - 0xe4]
je 0x10081518
mov eax, 1
jmp 0x1008151a
xor eax, eax
mov dword [ebp - 0xcc], eax
lea eax, [eax + ecx*2]
cmp byte [esi + edi*4], 0x45
jne 0x10081533
movzx ecx, byte [ecx + eax + 0x10133a04]
jmp 0x1008153b
movzx ecx, byte [ecx + eax + 0x1013514c]
mov dword [ebp - 0xd0], ecx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xec], edi
cmp ecx, 2
jne 0x1008156f
mov ax, word [edi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [edi + 0x1c], ax
jmp case.default.0x10080065
mov eax, ecx
mov ecx, 0xbf04
cdq
mov dword [edi + 0x10], eax
mov ax, word [edi + 0x1c]
and ax, cx
mov dword [edi + 0x14], edx
or ax, 4
mov word [edi + 0x1c], ax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xec], edi
je 0x100815c4
mov ecx, edi
call fcn.10079730
jmp case.default.0x10080065
call fcn.10079400
or eax, edx
jne 0x100815e4
mov eax, 1
mov ecx, edi
cdq
push edx
push eax
call fcn.10079780
add esp, 8
jmp case.default.0x10080065
xor eax, eax
mov ecx, edi
cdq
push edx
push eax
call fcn.10079780
add esp, 8
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 0x1c], 1
lea ecx, [edx + eax*8]
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [ebp - 0xec], edi
je 0x1008162b
mov ecx, edi
call fcn.10079730
jmp case.default.0x10080065
call fcn.10079400
not edx
not eax
push edx
push eax
mov ecx, edi
call fcn.10079780
add esp, 8
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0xc0]
cmp byte [eax + ecx], 0
je 0x1008166b
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov byte [eax + ecx], 1
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x1008169c
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
mov dword [ebp - 0xd0], ecx
jmp 0x100811e2
call fcn.100794b0
ucomisd xmm0, qword [0x101609b0]
lahf
test ah, 0x44
jnp 0x100816b6
mov ecx, 1
jmp 0x100816b8
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
cmp byte [esi + edi*4], 0x1c
jne 0x100816d3
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xd0], ecx
test ecx, ecx
jmp 0x100811e2
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jmp 0x100811e2
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov ecx, dword [esi + edi*4 + 4]
xorps xmm0, xmm0
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], ecx
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], 0
movdqu xmmword [ebp - 0x90], xmm0
movdqu xmmword [ebp - 0x80], xmm0
movq qword [ebp - 0x70], xmm0
mov eax, dword [esi + edi*4 + 0xc]
mov dword [ebp - 0xb4], 0
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x40]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], edx
mov eax, dword [edx]
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x10081805
mov ecx, edx
call fcn.1007ce50
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x1c], al
jne 0x10081d13
mov edx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x50]
cmp eax, dword [edx + 0x50]
jne 0x100817d3
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xd0], edx
mov eax, dword [ecx + 0x60]
mov dword [ebp - 0xb4], eax
jmp 0x10081854
cmp byte [ecx + 0x1f], 0
mov ecx, dword [ebp - 0xb0]
je 0x100817f8
lea edx, [ebp - 0xc8]
call fcn.100726f0
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], edx
jmp 0x1008184e
lea edx, [ebp - 0xd0]
call fcn.10072780
jmp 0x10081848
mov eax, dword [edx + 0x10]
test eax, eax
jle 0x10081d13
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xb4], eax
test byte [esi + edi*4 + 3], 0x20
je 0x1008183c
xor eax, eax
jmp 0x10081845
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x50]
mov dword [edx + 0x50], eax
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xb8]
test edx, edx
je 0x10081d1d
cmp edx, dword [ebx + 0x4c]
ja 0x10085f5d
mov esi, dword [ecx + 0x14]
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0xa4], esi
mov edx, dword [ecx + 0x58]
mov dword [ebp - 0xac], edx
mov eax, dword [ecx + 0x50]
cmp eax, dword [ebx + 0x50]
mov ebx, dword [ebp - 0xe8]
jne 0x10081899
mov ecx, dword [ecx + 0x5c]
mov dword [ebp - 0xa8], ecx
jmp 0x10081af9
lea eax, [edx + esi*4]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0xa8], eax
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x50]
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x50], ecx
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x100818df
mov dword [ebp - 0x98], ecx
jmp 0x10081949
mov edx, dword [ebp - 0xb8]
cmp byte [edx + 0x1f], 0
je 0x100818fb
mov ecx, dword [ebp - 0xb0]
lea edx, [ebp - 0x54]
call fcn.10072dc0
jmp 0x10081918
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
cmp byte [eax + 0x5b], 1
jne 0x10081920
push 1
lea edx, [ebp - 0x54]
mov ecx, eax
call fcn.10072d30
add esp, 4
mov edx, dword [ebp - 0xb8]
mov ecx, eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x98], ecx
cmp eax, dword [ebp - 0x54]
ja 0x1008193c
mov dword [ebp - 0xb4], ecx
mov dword [edx + 0x60], ecx
jmp 0x10081943
mov dword [edx + 0x60], 0
mov ecx, dword [ebp - 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1008195c
movzx edx, al
mov eax, 1
mov dword [ebp - 0x60], edx
jmp 0x10081970
lea edx, [ebp - 0x60]
call fcn.10062040
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x98]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x58], eax
cmp edx, 0x18003
jbe 0x10081999
mov ecx, 0x109d0
call fcn.100c2000
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov ebx, dword [ebp - 0xa4]
lea esi, [ebx*4 + 3]
add esi, ebx
cmp esi, edx
cmovg esi, edx
cmp dword [ebp - 0xb4], 0
mov dword [ebp - 0xa0], esi
jne 0x10081a1b
cmp dword [ebp - 0x54], esi
jge 0x10081a1b
mov ecx, dword [ebp - 0xb0]
xor eax, eax
mov word [ebp - 0x74], ax
xor edx, edx
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 0xb8]
movzx eax, byte [eax + 0x1f]
push eax
push esi
call fcn.10079f40
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0xd4], ebx
test ebx, ebx
jne 0x1008034d
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0xa0]
mov ebx, dword [ebp - 0xa4]
mov dword [ebp - 0x98], ecx
lea eax, [ecx + esi]
mov esi, dword [ebp - 0x58]
add esi, ecx
mov dword [ebp - 0x64], eax
xor ecx, ecx
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x9c], ecx
test ebx, ebx
jle 0x10081aa8
jmp 0x10081a40
cmp esi, eax
mov eax, dword [ebp - 0xa8]
jae 0x10081b75
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x80
jae 0x10081a66
movzx edx, al
inc ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x68], ecx
jmp 0x10081a77
lea edx, [ebp - 0x50]
call fcn.10062040
mov edx, dword [ebp - 0x50]
movzx eax, al
add dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x50]
call fcn.1007cff0
mov edx, dword [ebp - 0x60]
add edx, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], edx
cmp edx, eax
jae 0x10081b7f
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x90]
call fcn.100793c0
mov edx, dword [ebp - 0x68]
mov eax, 1
mov esi, dword [ebp - 0x64]
mov word [ebp - 0x74], ax
cmp edx, esi
ja 0x10081cf2
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xd0]
cmp eax, ecx
ja 0x10081cf2
cmp edx, esi
jne 0x10081ae7
cmp eax, ecx
jne 0x10081cf2
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xbc]
cmp dword [ecx + eax*4], 0
je 0x10081c63
cmp dword [ebp - 0xb4], 0
je 0x10081ba3
mov esi, dword [ebp - 0x94]
mov edi, 0x2460
test word [esi + 0x1c], di
je 0x10081b46
mov ecx, esi
call fcn.10079360
mov esi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp - 0xb4]
mov edx, dword [edx + eax*4]
push esi
call fcn.1007d0d0
mov eax, dword [ebp - 0x94]
add esp, 4
mov cl, byte [ebp - 0xf0]
mov esi, dword [ebp - 0xe0]
mov byte [eax + 0x1f], cl
jmp 0x10081c9d
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x9c]
inc ecx
mov dword [ebp - 0x9c], ecx
cmp ecx, dword [ebp - 0xa4]
jge 0x10081aa8
mov eax, dword [ebp - 0x64]
mov esi, dword [ebp - 0x68]
jmp 0x10081a40
mov esi, dword [ebp - 0xe0]
mov edx, dword [edx + eax*4]
mov dword [ebp - 0x50], edx
mov al, byte [esi + edi*4 + 3]
test al, 0xc0
je 0x10081bd4
cmp edx, 0xc
jb 0x10081bc1
test dl, 1
je 0x10081bc5
test al, al
jns 0x10081bd4
cmp edx, 0xc
lea eax, [ebp - 0xc8]
sbb ecx, ecx
and ecx, eax
jmp 0x10081c3e
mov ecx, edx
call fcn.1007cff0
mov edx, dword [ebp - 0x94]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0xa0], eax
call fcn.10079a90
mov edx, dword [ebp - 0xbc]
lea eax, [ebp - 0x90]
mov ecx, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xb8]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [ebp - 0xa8]
push dword [ebp - 0xa0]
mov edx, dword [eax + edx*4]
call fcn.10079f40
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ce0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x50]
push dword [ebp - 0x94]
mov dword [ebp - 0x98], ecx
call fcn.1007d0d0
mov eax, dword [ebp - 0x94]
add esp, 4
mov cl, byte [ebp - 0xf0]
mov byte [eax + 0x1f], cl
jmp 0x10081c9d
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x94]
cmp byte [esi + edi*4 + 1], 0xf8
jne 0x10081c89
mov edx, dword [esi + edi*4 + 0x10]
push 0x800
call fcn.100799b0
add esp, 4
jmp 0x10081c9d
mov ax, word [ecx + 0x1c]
mov edx, 0xbf01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0x6c], 0
je 0x10081cdc
mov eax, dword [ebp - 0x94]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [ebp - 0x94]
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x8c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x6c]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x94]
call fcn.10079110
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov ecx, 0x10a20
call fcn.100c2000
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], eax
jmp case.default.0x10080065
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0x94]
mov edx, 0xbf01
mov ax, word [ecx + 0x1c]
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
jmp case.default.0x10080065
mov ecx, dword [esi + edi*4 + 0x10]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [ecx]
mov byte [ebp - 0xcc], al
test al, al
je 0x10081db7
mov ebx, 0x4000
jmp 0x10081d70
inc ecx
mov dword [ebp - 0xd0], ecx
test word [esi + 0x1c], bx
je 0x10081d8a
mov ecx, esi
call fcn.10079170
mov al, byte [ebp - 0xcc]
push dword [ebp - 0xf0]
mov dl, al
mov ecx, esi
call fcn.1007fdb0
mov ecx, dword [ebp - 0xd0]
add esp, 4
add esi, 0x28
mov al, byte [ecx]
mov byte [ebp - 0xcc], al
test al, al
jne 0x10081d70
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe0]
inc ecx
mov dword [ebp - 0xd0], ecx
jmp case.default.0x10080065
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0xc0], edx
xorps xmm0, xmm0
movlpd qword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb0], ebx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0x9c], eax
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0x98], ecx
lea eax, [eax + eax*4]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xe4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xa4], ecx
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0x9c], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
add ecx, 0xffffffd8
mov dword [ebp - 0xa0], ecx
movzx eax, byte [eax + 0x61]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xa4]
mov esi, eax
mov dword [ebp - 0xcc], esi
cmp eax, ecx
ja 0x10081f5f
mov edi, dword [ebp - 0xf4]
test edi, edi
je 0x10081eaf
push dword [ebp - 0xf0]
mov ecx, esi
sub ecx, eax
mov eax, 0x66666667
imul ecx
mov ecx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, byte [eax + edi]
call fcn.1007fdb0
mov ecx, dword [ebp - 0x98]
add esp, 4
mov ebx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xf4], ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x10081edf
cmp dword [esi + 0x18], 0
jle 0x10081edf
mov ecx, esi
call fcn.10079170
mov ecx, dword [ebp - 0x98]
mov ebx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0x94]
mov ecx, esi
call fcn.1007cef0
mov ecx, eax
mov dword [ebp - 0xa8], ecx
call fcn.1007cff0
mov edi, eax
cdq
add dword [ebp - 0xc8], eax
push 0
adc dword [ebp - 0xc4], edx
push ecx
mov dword [ebp - 0x8c], edi
call fcn.100620c0
mov edx, dword [ebp - 0xc0]
add esp, 8
add edx, eax
mov eax, 0x4000
mov dword [ebp - 0xc0], edx
test word [esi + 0x1c], ax
je 0x10081f37
add ebx, dword [esi + 0x10]
jmp 0x10081f3e
xor eax, eax
test edi, edi
cmovne ebx, eax
mov eax, dword [ebp - 0xa4]
add esi, 0x28
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xcc], esi
cmp esi, dword [ebp - 0xa0]
jbe 0x10081e65
mov eax, edx
cdq
push edx
push eax
call fcn.100620c0
mov edi, dword [ebp - 0xc0]
mov esi, eax
add edi, esi
mov dword [ebp - 0xac], esi
mov eax, edi
mov dword [ebp - 0xc0], edi
cdq
push edx
push eax
call fcn.100620c0
add esp, 0x10
cmp esi, eax
jge 0x10081f97
inc edi
mov dword [ebp - 0xc0], edi
mov eax, ebx
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
mov ebx, eax
mov edi, edx
mov edx, dword [ebp - 0xe8]
sub ebx, ecx
sbb edi, esi
add ebx, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], ebx
adc edi, dword [ebp - 0xc4]
mov dword [ebp - 0xb4], edi
mov eax, dword [edx + 0x4c]
cdq
cmp edi, edx
jg 0x10085f57
jl 0x10081fdd
cmp ebx, eax
ja 0x10085f57
mov edi, dword [ebp - 0xec]
mov edx, ebx
push 0
mov ecx, edi
call fcn.10078ff0
add esp, 4
test eax, eax
jne 0x10085fb9
mov edx, dword [ebp - 0xc0]
mov ecx, dword [edi + 4]
mov dword [ebp - 0xd0], ecx
cmp edx, 0x80
jae 0x1008201b
mov al, dl
mov byte [ecx], al
mov eax, 1
jmp 0x10082020
call fcn.10061e90
mov ecx, dword [ebp - 0xa0]
movzx esi, al
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xcc], eax
cmp eax, ecx
ja 0x100820ad
nop
mov edx, dword [ebp - 0x94]
mov ecx, eax
call fcn.1007cef0
mov edx, eax
mov dword [ebp - 0xa8], edx
cmp edx, 0x80
jae 0x1008206f
mov cl, al
mov eax, dword [ebp - 0xd0]
mov byte [esi + eax], cl
mov eax, 1
jmp 0x1008207d
mov ecx, dword [ebp - 0xd0]
lea ecx, [esi + ecx]
call fcn.10061e90
mov esi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa0]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xcc], eax
cmp eax, ecx
jbe 0x10082040
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], eax
cmp eax, ecx
ja 0x10082105
jmp 0x100820c0
mov ecx, dword [ebp - 0xd0]
push dword [ebp - 0x94]
mov edx, dword [ebp - 0xb8]
push eax
sub edx, esi
lea ecx, [esi + ecx]
call fcn.1007d010
mov esi, dword [ebp - 0x90]
add esp, 8
add esi, eax
mov eax, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebp - 0xa0]
jbe 0x100820c0
mov eax, dword [ebp - 0xb8]
mov dword [edi + 0x18], eax
mov eax, 0x410
mov word [edi + 0x1c], ax
mov dword [edi + 0x20], 0
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x10082134
mov dword [edi + 0x10], eax
mov eax, 0x4410
mov word [edi + 0x1c], ax
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe0]
mov byte [edi + 0x1f], 1
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x10082193
lea edx, [ebp - 0xd0]
call fcn.10076d30
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x14], eax
jmp case.default.0x10080065
mov ecx, dword [ebp - 0xec]
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x14], eax
jmp case.default.0x10080065
mov ebx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xd0], ebx
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xcc], eax
test ebx, ebx
jne 0x100822dd
mov ebx, dword [ebp - 0xe8]
cmp dword [ebx + 0x84], 0
jle 0x10082214
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [ebp - 0xdc]
add eax, 0x34
push ebx
push eax
call fcn.1005f510
mov eax, 5
add esp, 0xc
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov ecx, eax
call fcn.10061200
mov dword [ebp - 0xc8], eax
xor edx, edx
mov eax, dword [ebx + 0x1e4]
mov ecx, ebx
add eax, dword [ebx + 0x1e0]
push eax
call fcn.100b4a80
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
mov edx, dword [ebp - 0xc8]
mov ecx, ebx
lea edx, [edx + 0x19]
call fcn.1005f370
mov dword [ebp - 0xc4], eax
test eax, eax
je case.default.0x10080065
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc8]
inc eax
push eax
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xcc]
push dword [eax]
call fcn.10107980
add esp, 0xc
cmp byte [ebx + 0x34], 0
je 0x10082299
mov byte [ebx + 0x34], 0
mov byte [ebx + 0x3b], 1
jmp 0x1008229f
inc dword [ebx + 0x1e0]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebx + 0x1d8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebx + 0x1e8]
mov dword [ebx + 0x1d8], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebx + 0x1ec]
mov dword [eax + 0xc], ecx
jmp case.default.0x10080065
mov edx, dword [ebp - 0xe8]
xor edi, edi
mov dword [ebp - 0xb8], edi
mov esi, dword [edx + 0x1d8]
mov dword [ebp - 0xc0], esi
test esi, esi
je 0x10082327
jmp 0x10082300
mov ecx, dword [esi]
mov edx, eax
call fcn.10061400
test eax, eax
je 0x1008235c
mov eax, dword [ebp - 0xf4]
inc edi
mov dword [ebp - 0xb8], edi
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xc0], esi
test esi, esi
jne 0x10082300
mov ebx, dword [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0xdc]
push str.no_such_savepoint:__s
add eax, 0x34
push ebx
push eax
call fcn.1005f510
mov esi, dword [ebp - 0xe0]
mov eax, 1
add esp, 0x10
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x84], 0
jle 0x100823a0
cmp ebx, 1
jne 0x100823a0
mov ebx, eax
mov eax, dword [ebp - 0xdc]
push str.cannot_release_savepoint___SQL_statements_in_progress
add eax, 0x34
push ebx
push eax
call fcn.1005f510
mov esi, dword [ebp - 0xe0]
mov eax, 5
add esp, 0xc
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
cmp dword [esi + 0x10], 0
jne 0x10082400
cmp byte [eax + 0x3b], 0
je 0x10082400
mov dword [ebp - 0xf4], 1
cmp ebx, 1
jne 0x1008240a
mov edx, ebx
mov ebx, dword [ebp - 0xdc]
mov ecx, ebx
call fcn.1007c5f0
mov edi, eax
test edi, edi
jne 0x10086060
mov edi, dword [ebp - 0xe8]
mov ecx, ebx
mov byte [edi + 0x34], 1
call fcn.1007c650
cmp eax, 5
je 0x10085df7
mov byte [edi + 0x3b], 0
mov eax, dword [ebx + 0x58]
mov dword [ebp - 0xd4], eax
jmp 0x100824d8
mov dword [ebp - 0xf4], 0
mov eax, dword [eax + 0x1e0]
sub eax, edi
mov edi, dword [ebp - 0xe8]
dec eax
mov dword [ebp - 0xb8], eax
cmp ebx, 2
jne 0x10082462
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [edi + 0x14], eax
jle 0x10082462
mov ecx, dword [edi + 0x10]
add eax, eax
mov edx, 4
mov ecx, dword [ecx + eax*8 + 4]
call fcn.10072170
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, dword [edi + 0x14]
jl 0x10082431
mov esi, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xd0]
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [edi + 0x14], eax
jle 0x100824b7
nop
mov ecx, dword [edi + 0x10]
add eax, eax
push dword [ebp - 0xb8]
mov edx, ebx
mov ecx, dword [ecx + eax*8 + 4]
call fcn.10072430
mov ebx, eax
add esp, 4
mov dword [ebp - 0xd4], ebx
test ebx, ebx
jne 0x10085ed2
mov eax, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, dword [edi + 0x14]
jl 0x10082470
mov esi, dword [ebp - 0xc0]
cmp ebx, 2
jne 0x100824e4
test dword [edi + 0x18], 0x200
je 0x100824e4
mov ecx, edi
call fcn.1007d8d0
call fcn.100933a0
or dword [edi + 0x18], 0x200
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xc0]
cmp dword [edi + 0x1d8], esi
je 0x1008252c
lea esp, [esp]
mov eax, dword [edi + 0x1d8]
mov ecx, edi
mov dword [ebp - 0xbc], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1d8], eax
mov edx, dword [ebp - 0xbc]
call fcn.1005f110
dec dword [edi + 0x1e0]
mov esi, dword [ebp - 0xc0]
cmp dword [edi + 0x1d8], esi
jne 0x100824f0
mov ebx, dword [ebp - 0xd0]
cmp ebx, 1
mov ebx, dword [ebp - 0xe8]
jne 0x10082562
mov eax, dword [esi + 0x10]
mov ecx, ebx
mov dword [ebx + 0x1d8], eax
mov edx, dword [ebp - 0xc0]
call fcn.1005f110
cmp dword [ebp - 0xf4], 0
jne 0x10080353
dec dword [ebx + 0x1e0]
jmp 0x10082581
cmp dword [ebp - 0xf4], 0
mov eax, dword [esi + 8]
mov dword [ebx + 0x1e8], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x1ec], eax
jne 0x10080353
push dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
mov ecx, ebx
call fcn.100b4a80
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
mov esi, dword [ebp - 0xe0]
jmp 0x10085ce0
mov edx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xd0], edx
mov ecx, dword [esi + edi*4 + 8]
mov dword [ebp - 0xcc], ecx
test edx, edx
je 0x100825ee
cmp byte [ebx + 0x34], 0
jne 0x100825ee
mov dword [ebp - 0xc8], 1
test ecx, ecx
jne 0x100825f8
cmp dword [ebx + 0x84], ecx
jle 0x100825f8
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x100821f1
mov dword [ebp - 0xc8], 0
movzx eax, byte [ebx + 0x34]
cmp edx, eax
jne 0x10085e13
test edx, edx
jne 0x1008260f
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1008261e
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
mov eax, dword [ebp - 0xdc]
add eax, 0x34
push ebx
push eax
call fcn.1005f510
mov eax, 1
add esp, 0xc
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], ecx
test ecx, ecx
je case.default.0x10080065
mov edx, dword [esi + edi*4 + 8]
call fcn.10071230
mov dword [ebp - 0xd4], eax
cmp eax, 5
je 0x10085ea6
test eax, eax
jne 0x10085ede
cmp dword [esi + edi*4 + 8], eax
je 0x10085ce0
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x63], al
je 0x10085ce0
cmp byte [ebx + 0x34], al
je 0x100826a8
cmp dword [ebx + 0x80], 1
jle 0x10085ce0
mov eax, ecx
cmp dword [eax + 0x74], 0
jne 0x100826c7
mov eax, dword [ebx + 0x1e0]
inc dword [ebx + 0x1e4]
add eax, dword [ebx + 0x1e4]
mov dword [ecx + 0x74], eax
mov eax, ecx
mov eax, dword [eax + 0x74]
xor edx, edx
dec eax
mov ecx, ebx
push eax
call fcn.100b4a80
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x100826fc
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [eax + 0x74]
call fcn.100723e0
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebx + 0x1e8]
mov dword [ecx + 0x98], eax
mov eax, dword [ebx + 0x1ec]
mov dword [ecx + 0x9c], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
add eax, eax
mov edx, dword [esi + edi*4 + 0xc]
mov dword [ebp - 0xc8], edx
push ecx
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.10076c20
mov eax, dword [ebp - 0xd0]
add esp, 4
mov ecx, dword [ebp - 0xec]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
shl eax, 4
add eax, dword [ebx + 0x10]
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100795b0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd0]
push dword [esi + 0x10]
mov edx, dword [eax + edi*4 + 8]
mov ecx, dword [ecx + 4]
call fcn.10076c90
mov dword [ebp - 0xd4], eax
add esp, 4
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 8]
cmp eax, 1
jne 0x100827d4
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov dword [ecx], eax
or dword [ebx + 0x18], 0x200
jmp 0x100827e8
cmp eax, 2
jne 0x100827e8
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
mov esi, dword [ebp - 0xe0]
cmp dword [esi + edi*4 + 4], 1
jne case.default.0x10080065
mov ecx, ebx
call fcn.1007d8d0
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x5f], 0
jmp case.default.0x10080065
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x10082852
lea eax, [ebp - 0xd0]
mov edx, 1
push eax
call fcn.10076c20
mov ecx, dword [esi + edi*4 + 4]
add esp, 4
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
jmp 0x1008285c
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
cmp ecx, dword [esi + edi*4 + 8]
jne 0x10082872
cmp eax, dword [esi + edi*4 + 0xc]
je case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, ebx
mov edx, dword [eax + 0x34]
call fcn.1005f110
mov edx, str.database_schema_has_changed
mov ecx, ebx
call fcn.1005f480
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x34], eax
mov edx, dword [esi + edi*4 + 4]
mov ecx, edx
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd0]
je 0x100828b7
mov ecx, ebx
call fcn.10093360
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x5f], 1
mov eax, 0x11
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x5f], 0
je 0x100828ed
mov eax, 4
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov eax, dword [ebp - 0xe8]
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], ecx
mov ebx, dword [esi + edi*4 + 8]
mov dword [ebp - 0xc8], ebx
mov esi, dword [esi + edi*4 + 0xc]
mov edx, esi
mov dword [ebp - 0xc4], esi
shl edx, 4
add edx, dword [eax + 0x10]
mov dword [ebp - 0xb4], edx
mov eax, dword [edx + 4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xe0]
cmp byte [eax + edi*4], 0x28
jne 0x10082958
mov dword [ebp - 0xc0], 1
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xdc]
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x61]
jae 0x1008295e
mov byte [edx + 0x61], al
jmp 0x1008295e
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xe0]
cmp byte [edx + edi*4 + 3], cl
je 0x100829a1
mov ecx, dword [ebp - 0xe4]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100795b0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc8], eax
cmp eax, 2
jl 0x10085ec2
mov esi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe0]
mov al, byte [edx + edi*4 + 1]
cmp al, 0xfa
jne 0x100829da
mov eax, dword [ebp - 0xdc]
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xc4]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x100829e2
cmp al, 0xf2
jne 0x100829e8
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xd0], ecx
push 1
push esi
mov esi, dword [ebp - 0xe0]
push ecx
mov ecx, dword [ebp - 0xdc]
mov edx, dword [esi + edi*4 + 4]
call fcn.1007fc10
add esp, 0xc
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x10085fb9
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xbc]
push dword [eax]
push dword [ebp - 0xcc]
push dword [ebp - 0xc0]
call fcn.10072560
mov ecx, dword [ebp - 0xb8]
add esp, 0xc
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 8], eax
cmp byte [esi + edi*4 + 1], 0xfa
mov eax, dword [ebp - 0xb8]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp case.default.0x10080065
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xdc]
push 1
push 0xffffffffffffffff
push dword [esi + edi*4 + 8]
call fcn.1007fc10
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x10085fbf
mov byte [eax + 0x1c], 1
xor edx, edx
movzx eax, byte [esi + edi*4 + 3]
mov ecx, dword [ebx]
or eax, 5
push 0x41e
push eax
mov eax, dword [ebp - 0xd0]
add eax, 4
push eax
push ebx
call fcn.10070350
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10082bb8
mov ecx, dword [ebp - 0xd0]
lea edx, [eax + 1]
mov ecx, dword [ecx + 4]
call fcn.10071230
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10082bb8
mov ecx, dword [ebp - 0xd0]
cmp dword [esi + edi*4 + 0x10], eax
je 0x10082b92
movzx eax, byte [esi + edi*4 + 3]
lea edx, [ebp - 0x118]
mov ecx, dword [ecx + 4]
or eax, 2
push eax
call fcn.10076740
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10082b86
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0x118]
push dword [ecx]
mov ecx, dword [ecx + 4]
push dword [esi + edi*4 + 0x10]
push 1
call fcn.10072560
mov ecx, dword [esi + edi*4 + 0x10]
add esp, 0xc
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 0
jmp 0x10082bb8
push dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, 1
push 0
push 1
call fcn.10072560
mov dword [ebp - 0xd4], eax
add esp, 0xc
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
cmp byte [esi + edi*4 + 3], 8
mov eax, dword [ebp - 0xd0]
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp case.default.0x10080065
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xdc]
push 1
push 0xffffffffffffffff
push dword [esi + edi*4 + 8]
call fcn.1007fc10
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x10085fbf
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov ecx, ebx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x21], 1
mov edx, dword [ebp - 0xd0]
call fcn.10087320
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xdc]
push 0
push 0xffffffffffffffff
push dword [esi + edi*4 + 0xc]
call fcn.1007fc10
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x10085fbf
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xd0]
mov ecx, dword [esi + edi*4 + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1f], 0
jmp case.default.0x10080065
mov ecx, dword [ebp - 0xdc]
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ecx + 0x40]
mov edx, dword [edx + eax*4]
call fcn.1007bb00
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov dword [eax + ecx*4], 0
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp dword [ecx], 0
je 0x10080079
movzx eax, byte [esi + edi*4]
mov dword [ebp - 0xcc], eax
mov byte [ecx + 0x1c], 0
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x1e], 0
je 0x10082f1a
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0x100], ebx
call fcn.1007fd20
mov ecx, ebx
call fcn.10079400
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x9c], edx
mov byte [eax + 0x19], 0
movzx eax, word [ebx + 0x1c]
test al, 4
jne 0x10082e9c
test al, 8
jne 0x10082d69
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [ebp - 0xe8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov ebx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x9c]
test ebx, ebx
jne 0x10082e34
cmp esi, 0x80000000
jne 0x10082e34
mov edx, esi
xor ecx, ecx
call fcn.1011de7d
mov eax, dword [ebp - 0x100]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x10082db0
comisd xmm1, xmm0
jbe 0x10082e34
mov dword [ebp - 0xd0], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x10082ddf
cmp dword [ebp - 0xcc], 0x30
jl 0x10082e18
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.100731b0
jmp 0x10082dfb
cmp dword [ebp - 0xcc], 0x2f
jg 0x10082e18
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.100731e0
mov ebx, eax
mov dword [ebp - 0xd4], ebx
test ebx, ebx
jne 0x10085ed2
cmp dword [ebp - 0xd0], 0
je 0x1008034d
mov esi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xe8]
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [ebp - 0xcc]
cmp eax, 0x2e
je 0x10082e6e
cmp eax, 0x30
je 0x10082e6e
mov edx, esi
mov ecx, ebx
call fcn.1011de7d
mov eax, dword [ebp - 0x100]
comisd xmm0, xmmword [eax + 8]
jbe 0x10082ea8
add ebx, 0xffffffff
mov dword [ebp - 0xa0], ebx
adc esi, 0xffffffff
mov dword [ebp - 0x9c], esi
jmp 0x10082ea8
mov edx, esi
mov ecx, ebx
call fcn.1011de7d
mov eax, dword [ebp - 0x100]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
jbe 0x10082ea8
add ebx, 1
mov dword [ebp - 0xa0], ebx
adc esi, 0
mov dword [ebp - 0x9c], esi
jmp 0x10082ea8
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0xd0]
push eax
push 0
push esi
mov ecx, dword [ecx]
xor edx, edx
push ebx
call fcn.10073230
mov ebx, eax
add esp, 0x10
mov dword [ebp - 0xd4], ebx
test ebx, ebx
jne 0x10085ed2
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe0]
cmp dword [ebp - 0xd0], eax
jne 0x10082fac
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x9c]
mov dword [eax + 0x44], ecx
jmp 0x10082fac
mov eax, dword [esi + edi*4 + 0x10]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc0], eax
mov ax, word [ebp - 0xa8]
mov word [ebp - 0xbc], ax
mov al, byte [ebp - 0xcc]
and al, 1
mov byte [ebp - 0xba], al
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [ebp - 0xb0], eax
test word [eax + 0x1c], dx
je 0x10082f77
mov ecx, eax
call fcn.10079170
mov ecx, dword [ebp - 0xc8]
mov ecx, dword [ecx]
lea eax, [ebp - 0xd0]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0xc0]
call fcn.10073230
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp eax, 0x30
jl 0x10083004
test ecx, ecx
js 0x10082fee
jne 0x10082fdf
cmp eax, 0x31
je 0x10082fee
mov dword [ebp - 0xd0], 0
jmp case.default.0x10080065
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.100735f0
jmp 0x10083041
test ecx, ecx
jg 0x1008302d
jne 0x1008300f
cmp eax, 0x2e
je 0x1008302d
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x5b], 1
setne cl
mov dword [ebp - 0xd0], ecx
test ecx, ecx
jmp 0x100811e2
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.10073790
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0xd0], 0
jmp 0x100811e2
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
cmp dword [eax], 0
je case.default.0x10080065
mov ecx, dword [ebp - 0xe4]
mov byte [eax + 0x1c], 0
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.10079400
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 1
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
xor edx, edx
mov dword [ebp - 0xd0], edx
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x1008320a
mov edx, dword [ebp - 0xe0]
cmp dword [edx + edi*4 + 0x10], 0
jle 0x1008313e
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb8], eax
mov ax, word [edx + edi*4 + 0x10]
lea edx, [ebp - 0xb8]
mov word [ebp - 0xb4], ax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 0xb2], 2
mov dword [ebp - 0xc0], edx
jmp 0x10083197
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0xc4]
push eax
push 0x97
lea edx, [ebp - 0xa0]
call fcn.1007d320
add esp, 8
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x10085fbf
mov ecx, dword [ebp - 0xcc]
mov edx, dword [esi + 0x18]
push eax
push dword [esi + 4]
mov ecx, dword [ecx + 8]
call fcn.1007d380
mov eax, dword [ebp - 0xc0]
add esp, 8
or byte [eax + 6], 2
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx]
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
push 0
call fcn.10073230
mov esi, dword [ebp - 0xe0]
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp dword [esi + edi*4 + 0x10], 0
jne 0x100831d4
mov edx, dword [ebp - 0xc4]
mov ecx, ebx
call fcn.1005f110
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x10085ce0
cmp dword [ebp - 0xc8], eax
sete al
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
mov edx, dword [ebp - 0xd0]
jmp 0x10083210
mov esi, dword [ebp - 0xe0]
cmp byte [esi + edi*4], 0x34
jne 0x1008321d
test edx, edx
jmp 0x100811e2
test edx, edx
jne case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esi + edi*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xc0]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0xf4], ecx
xor ecx, ecx
mov dx, word [eax + 6]
xor eax, eax
mov word [ebp - 0xc4], dx
mov word [ebp - 0xd0], cx
cmp ax, dx
jae 0x100832df
jmp 0x100832c0
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x1008339b
inc cx
mov word [ebp - 0xd0], cx
cmp cx, dx
jb 0x100832c0
cmp dword [ebp - 0xf4], 0
je 0x1008034d
mov eax, dword [ebp - 0xcc]
mov ecx, ebx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc4]
inc eax
mov byte [ebp - 0xb2], 4
mov word [ebp - 0xb4], ax
mov dword [ebp - 0xa8], esi
call fcn.100795b0
mov eax, dword [ebx + 0x10]
lea edx, [ebp - 0xb8]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xcc]
add eax, 0x4c
push eax
push 0
push 0
push 0
call fcn.10073230
add esp, 0x10
mov dword [ebp - 0xd4], eax
test byte [ebp - 0xb2], 4
jne 0x100833c7
mov ecx, dword [ebp - 0xb0]
cmp ecx, dword [ebp - 0xa0]
jne 0x1008337e
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x9c]
je 0x100833c1
mov esi, dword [ebp - 0xe0]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xac]
mov dword [ebx + 0x14], eax
mov ebx, dword [ebp - 0xe8]
jmp case.default.0x10080065
mov esi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xe8]
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe0]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov dword [ebp - 0xd8], ebx
mov ebx, dword [ebp - 0xe8]
jmp 0x10085ce0
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [esi + edi*4 + 4]
lea ebx, [eax + eax*4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov esi, dword [eax]
mov dword [ebp - 0xcc], esi
test esi, esi
je 0x100834d4
mov eax, dword [ebp - 0xe4]
lea edx, [ebp - 0xc8]
push edx
mov dword [ebp - 0xc8], 0
xor edx, edx
push 0
mov ecx, dword [eax + ebx*8 + 0x10]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + ebx*8 + 0x14]
push eax
push ecx
mov ecx, esi
mov dword [ebp - 0xbc], eax
call fcn.10073230
mov edx, dword [ebp - 0xe4]
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xe0]
mov ecx, dword [edx + ebx*8 + 0x10]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*8 + 0x14]
mov dword [eax + 0x44], ecx
cmp dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xd0]
sete cl
mov byte [eax + 0x19], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je 0x100834c0
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xe8]
mov dword [eax + 0x4c], ecx
jmp case.default.0x10080065
mov esi, dword [ebp - 0xe0]
mov ebx, dword [esi + edi*4 + 8]
dec ebx
mov dword [eax + 0x4c], 0
mov dword [ebp - 0xd8], ebx
mov ebx, dword [ebp - 0xe8]
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov dword [ebp - 0xc4], 0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xc8], esi
mov edx, dword [esi]
test edx, edx
je 0x10083873
cmp byte [esi + 0x1b], 0
jne 0x10083750
mov ecx, dword [edx + 0x20]
mov eax, ecx
mov dword [ebp - 0xd0], ecx
mov edx, dword [edx + 0x24]
or eax, edx
mov dword [ebp - 0xcc], edx
jne 0x10083619
mov ecx, dword [esi]
lea edx, [ebp - 0xc4]
call fcn.100731e0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
cmp dword [ebp - 0xc4], eax
je 0x100835b5
lea ecx, [eax + 1]
xor edx, edx
jmp 0x10083607
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.100726f0
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
cmp edx, 0x7fffffff
jl 0x10083601
jg 0x100835e9
cmp ecx, 0xffffffff
jb 0x10083601
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1b], 1
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
jmp 0x10083613
add ecx, 1
adc edx, 0
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
mov esi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 0xc]
test eax, eax
je 0x10083706
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xa8]
test edx, edx
je 0x10083674
mov dword [ebp - 0xb8], edx
mov eax, dword [edx + 4]
test eax, eax
je 0x1008365f
jmp 0x10083650
mov edx, eax
mov dword [ebp - 0xb8], edx
mov eax, dword [edx + 4]
test eax, eax
jne 0x10083650
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*8]
jmp 0x10083680
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xbc], ecx
call fcn.100795b0
mov esi, dword [ebp - 0xbc]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edx, 0xffffffff
jne 0x100836a8
cmp ecx, 0x7fffffff
je 0x10085f01
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1b], 0
jne 0x10085f01
add edx, 1
adc ecx, 0
cmp dword [ebp - 0xcc], ecx
jg 0x100836e2
jl 0x100836d2
mov eax, dword [ebp - 0xd0]
cmp eax, edx
jae 0x100836e8
mov eax, edx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], eax
jmp 0x100836e8
mov eax, dword [ebp - 0xd0]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp edx, 0x7fffffff
jg 0x1008371d
jl 0x10083715
cmp ecx, 0xffffffff
jae 0x1008371d
add ecx, 1
adc edx, 0
jmp 0x10083734
xorps xmm0, xmm0
movlpd qword [ebp - 0x128], xmm0
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
push edx
push ecx
mov ecx, dword [esi]
call fcn.100725b0
mov esi, dword [ebp - 0xc8]
add esp, 8
cmp byte [esi + 0x1b], 0
je 0x10083858
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0xc4]
mov ecx, dword [ebp - 0x108]
and eax, 0x3fffffff
add ecx, 1
mov dword [ebp - 0xc0], 0
push edx
adc eax, 0
mov dword [ebp - 0xd0], ecx
push 0
push eax
mov dword [ebp - 0xcc], eax
xor edx, edx
push ecx
mov ecx, dword [esi]
call fcn.10073230
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xd4], edx
test edx, edx
jne 0x10083852
jmp 0x100837b0
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
jne 0x10083846
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, 0x64
jge 0x10083846
lea eax, [ebp - 0xd0]
push eax
push 8
call fcn.10060ab0
mov eax, dword [ebp - 0xd0]
add esp, 8
cmp dword [ebp - 0xc0], 5
jge 0x100837f9
and eax, 0xffffff
xor ecx, ecx
jmp 0x10083805
mov ecx, dword [ebp - 0xcc]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xc4]
push edx
adc ecx, 0
mov dword [ebp - 0xd0], eax
push 0
push ecx
mov dword [ebp - 0xcc], ecx
xor edx, edx
mov ecx, dword [ebp - 0xc8]
push eax
mov ecx, dword [ecx]
call fcn.10073230
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xd4], edx
test edx, edx
je 0x100837b0
jmp 0x10083852
test edx, edx
jne 0x10083852
test ecx, ecx
je 0x10085f01
mov esi, dword [ebp - 0xc8]
mov byte [esi + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xe0]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x14], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], esi
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov ebx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ebx
cmp byte [edx + edi*4], 0x39
mov eax, dword [edx + edi*4 + 0xc]
jne 0x100838f2
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 0x14]
jmp 0x100838fb
cdq
mov ecx, eax
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], edx
test byte [eax + edi*4 + 3], 1
je 0x1008391d
mov eax, dword [ebp - 0xdc]
inc dword [eax + 0x68]
mov eax, dword [ebp - 0xe0]
test byte [eax + edi*4 + 3], 2
je 0x1008394e
mov dword [ebp - 0x104], edx
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x108], ecx
mov dword [edx + 0x20], ecx
mov eax, dword [ebp - 0xc4]
mov dword [edx + 0x24], eax
mov ebx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xd0]
test byte [esi + 0x1c], 1
je 0x10083974
mov dword [esi + 4], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x18], 0
mov ebx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe0]
test byte [eax + edi*4 + 3], 0x10
je 0x1008398c
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0xb8], eax
jmp 0x10083996
mov dword [ebp - 0xb8], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x100839ac
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xbc], eax
jmp 0x100839b6
mov dword [ebp - 0xbc], 0
mov ecx, dword [ebx]
push 0
push 0
call fcn.100725b0
push dword [ebp - 0xb8]
mov esi, dword [ebp - 0xe0]
xor edx, edx
mov ecx, dword [ebp - 0xc0]
movzx eax, byte [esi + edi*4 + 3]
mov ecx, dword [ecx]
and eax, 8
push eax
push dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
push dword [eax + 0x18]
push dword [eax + 4]
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
call fcn.10076060
mov ebx, eax
add esp, 0x24
mov eax, dword [ebp - 0xc0]
test ebx, ebx
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xe8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x50], 0
jne case.default.0x10080065
cmp dword [ebx + 0xb8], 0
je case.default.0x10080065
cmp dword [esi + edi*4 + 0x10], 0
je case.default.0x10080065
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, 0x12
mov dword [ebp - 0xb4], edx
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xb0], ecx
test byte [esi + edi*4 + 3], 4
mov edi, 0x17
push ecx
cmovne eax, edi
push edx
push eax
mov dword [ebp - 0xac], eax
push dword [ebx + 0xb4]
mov eax, dword [ebx + 0xb8]
call eax
add esp, 0x18
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp dword [ebx + 0xb8], 0
je 0x10083af6
cmp dword [esi + edi*4 + 0x10], 0
je 0x10083af6
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xcc], eax
call fcn.1007ce50
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
mov ecx, dword [ebp - 0xc8]
push eax
push eax
mov ecx, dword [ecx]
call fcn.100725b0
mov ecx, dword [ebp - 0xc8]
add esp, 8
mov ecx, dword [ecx]
call fcn.10076270
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x10083b88
mov edx, dword [ebx + 0xb8]
test edx, edx
je 0x10083b88
mov eax, dword [esi + edi*4 + 0x10]
test eax, eax
je 0x10083b82
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [ebx + 0xb4]
call edx
add esp, 0x18
mov eax, dword [ebp - 0xd4]
test byte [esi + edi*4 + 8], 1
mov edx, dword [ebp - 0xd8]
je 0x10085ce6
mov ecx, dword [ebp - 0xdc]
inc dword [ecx + 0x68]
jmp 0x10085ce6
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x68]
add dword [ebx + 0x48], eax
mov dword [ebx + 0x44], eax
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x68], 0
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0xcc]
push eax
call fcn.10087e30
add esp, 4
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xcc], 0
je 0x10085ce0
mov edx, dword [esi + edi*4 + 8]
dec edx
jmp 0x10085ce6
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xec], edx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
call fcn.10087dc0
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + edi*4 + 4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xcc], eax
call fcn.1007ce50
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
cmp byte [eax + 0x1f], 0
je 0x10083ce2
lea edx, [ebp - 0xc0]
call fcn.100726f0
mov eax, dword [ebx + 0x4c]
cdq
cmp dword [ebp - 0xbc], edx
jg 0x10085f5d
mov edx, dword [ebp - 0xc0]
jl 0x10083cda
cmp edx, eax
ja 0x10085f5d
mov dword [ebp - 0xc8], edx
jmp 0x10083cfc
lea edx, [ebp - 0xc8]
call fcn.10072780
mov edx, dword [ebp - 0xc8]
cmp edx, dword [ebx + 0x4c]
ja 0x10085f5d
mov edi, dword [ebp - 0xec]
mov ecx, edi
push 0
call fcn.10078ff0
add esp, 4
test eax, eax
jne 0x10085fbf
mov eax, dword [ebp - 0xc8]
mov ecx, 0xbf10
mov dword [edi + 0x18], eax
mov ax, word [edi + 0x1c]
and ax, cx
or ax, 0x10
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1f], 0
je 0x10083d69
mov ecx, dword [ebp - 0xcc]
xor edx, edx
push 0
push dword [edi + 4]
push dword [ebp - 0xc8]
call fcn.10072980
add esp, 0xc
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x1f], 1
jmp 0x10085ce0
push dword [edi + 4]
push dword [ebp - 0xc8]
push 0
push dword [ebp - 0xcc]
call fcn.10072cf0
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov byte [edi + 0x1f], 1
jmp 0x10085ce0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
cmp byte [ecx + 0x1c], 0
je 0x10083dbb
mov eax, 1
mov word [edx + 0x1c], ax
jmp case.default.0x10080065
cmp byte [ecx + 0x1d], 0
je 0x10083df0
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x3c]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
jmp case.default.0x10080065
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x10083e4d
mov eax, dword [eax]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc0], eax
push edx
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
push dword [ecx + 0x24]
mov eax, dword [eax + 0x30]
call eax
mov edx, dword [ebp - 0xc0]
add esp, 8
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
call fcn.1007fe60
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
jmp case.default.0x10080065
call fcn.1007ce50
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x19], al
je 0x10083e9a
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x44]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
jmp case.default.0x10080065
mov ecx, dword [ecx]
lea edx, [ebp - 0xc8]
call fcn.100726f0
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
test ecx, ecx
je case.default.0x10080065
call fcn.1006f0a0
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], 0
test eax, eax
je 0x10083f4d
lea edx, [ebp - 0xc8]
mov ecx, eax
call fcn.100731e0
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xc8]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
mov eax, dword [esi + edi*4 + 8]
test eax, eax
jle case.default.0x10080065
cmp dword [ebp - 0xc8], 0
je case.default.0x10080065
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
inc dword [eax + 0x7c]
jmp 0x10083fad
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xc8], 1
cmp dword [ecx + 0x48], 0
je 0x10084001
lea eax, [ebp - 0xc8]
mov edx, ecx
push eax
mov ecx, ebx
call fcn.10087a30
mov cl, byte [ebp - 0xc8]
add esp, 4
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xc8], 0
jmp 0x100811e2
mov ecx, dword [ecx]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xcc], ecx
call fcn.100731b0
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
sete cl
mov byte [eax + 0x1a], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xc8], 0
jmp 0x100811e2
cmp dword [ebx + 0xe0], 0
jne 0x10085f79
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x10080065
cmp dword [eax + 0x48], 0
lea ecx, [ebp - 0xcc]
push ecx
je 0x100840af
mov edx, eax
mov ecx, ebx
call fcn.10087d00
add esp, 4
jmp 0x100840c4
mov dword [ebp - 0xcc], 1
push dword [eax]
mov eax, dword [esi + edi*4 + 0x10]
call eax
add esp, 8
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xcc]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
cmp dword [ebp - 0xcc], 0
jne 0x1008410f
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov al, byte [esi + edi*4 + 3]
test al, al
je 0x1008410f
mov ecx, dword [ebp - 0xdc]
movzx eax, al
inc dword [ecx + eax*4 + 0x74]
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [esi + edi*4 + 8]
mov ebx, dword [ecx]
mov dword [ebp - 0xcc], ebx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
test ebx, ebx
je 0x1008034d
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x10084182
mov ecx, esi
call fcn.10079170
mov ebx, eax
mov dword [ebp - 0xd4], ebx
test ebx, ebx
jne 0x1008034d
mov ebx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0x48], 0
je 0x100841ac
mov ebx, dword [ebp - 0xe8]
mov edx, ecx
push esi
mov ecx, ebx
call fcn.100878d0
mov esi, dword [ebp - 0xe0]
add esp, 4
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov edx, dword [esi + 0x18]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], edx
mov esi, dword [esi + 4]
mov dword [ebp - 0xc4], esi
test byte [eax + edi*4 + 3], 0x10
je 0x100841d0
mov eax, dword [ecx + 0x4c]
jmp 0x100841d2
xor eax, eax
push eax
mov eax, dword [ebp - 0xe0]
mov ecx, ebx
push dword [eax + edi*4 + 0xc]
mov eax, edx
push 0
push 0
cdq
push 0x10141177
push edx
push eax
mov edx, esi
call fcn.10076060
mov ebx, dword [ebp - 0xe8]
add esp, 0x1c
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je case.default.0x10080065
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], eax
mov ax, word [esi + edi*4 + 0xc]
mov word [ebp - 0xbc], ax
mov byte [ebp - 0xba], 0
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb0], eax
lea edx, [ebp - 0xc0]
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
push 0
call fcn.10073230
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x100842b1
cmp dword [ebp - 0xc8], eax
jne 0x100842b1
mov ecx, dword [ebp - 0xcc]
call fcn.10076270
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov edi, dword [ebp - 0xec]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, 1
mov word [edi + 0x1c], ax
cmp dword [ebp - 0xd0], 0
je case.default.0x10080065
mov ecx, dword [ebp - 0xcc]
call fcn.1007ce50
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1c], 0
jne case.default.0x10080065
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0xc8]
push eax
call fcn.1007d6c0
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ede
mov eax, dword [ebp - 0xc8]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [edi + 0x14], eax
mov eax, 4
mov word [edi + 0x1c], ax
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
cmp dword [ecx], 0
je case.default.0x10080065
mov eax, dword [ecx + 8]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], eax
mov ax, word [esi + edi*4 + 0x10]
mov word [ebp - 0xc4], ax
cmp byte [esi + edi*4 + 3], 0
setne al
add al, 2
mov byte [ebp - 0xc2], al
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb8], eax
lea edx, [ebp - 0xc8]
lea eax, [ebp - 0xcc]
push eax
call fcn.1007d810
add esp, 4
mov dword [ebp - 0xd4], eax
cmp byte [esi + edi*4], 0x64
mov eax, dword [ebp - 0xcc]
jne 0x100843ee
neg eax
jmp 0x100843ef
inc eax
mov dword [ebp - 0xcc], eax
test eax, eax
jle case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x1008444b
cmp dword [eax + 0x30], 0xbdf20da3
jne 0x1008443e
cmp byte [eax + 0x62], 2
jae 0x1008443e
cmp dword [eax + 0x54], 0
jl 0x1008443e
inc ecx
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x10084422
mov eax, 1
mov word [edx + 0x1c], ax
cmp dword [ebp - 0xcc], eax
jle 0x10084476
mov ecx, dword [ebp - 0xdc]
mov eax, 6
mov dword [ebp - 0xd4], eax
mov byte [ecx + 0x5c], 2
jmp 0x10085ce0
mov eax, dword [esi + edi*4 + 0xc]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xc4], eax
add eax, eax
mov edx, dword [esi + edi*4 + 4]
push ecx
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.10076bd0
mov ecx, dword [ebp - 0xec]
add esp, 4
mov dword [ebp - 0xd4], eax
mov eax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x14], edx
test eax, eax
jne 0x10085ce0
mov eax, dword [ebp - 0xd0]
test eax, eax
je case.default.0x10080065
push dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xc4]
mov ecx, ebx
push eax
call fcn.10095060
mov al, byte [ebp - 0xc4]
add esp, 8
inc al
mov byte [ebp - 0xf9], al
jmp case.default.0x10080065
mov dword [ebp - 0xd0], 0
lea eax, [ebp - 0xd0]
mov edx, dword [esi + edi*4 + 4]
xor ecx, ecx
cmp dword [esi + edi*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [ebx + 0x10]
push eax
mov eax, dword [esi + edi*4 + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.10076910
add esp, 4
mov dword [ebp - 0xd4], eax
cmp dword [esi + edi*4 + 0xc], 0
je 0x10085ce0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd0]
add dword [ecx + 0x68], eax
mov ecx, dword [esi + edi*4 + 0xc]
test ecx, ecx
jle case.default.0x10080065
mov edi, dword [ebp - 0xe4]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8 + 0x10], eax
adc dword [edi + ecx*8 + 0x14], edx
jmp case.default.0x10080065
mov dword [ebp - 0xd0], 0
lea edx, [ebp - 0xd0]
mov ecx, dword [esi + edi*4 + 4]
xor eax, eax
shl ecx, 4
add ecx, dword [ebx + 0x10]
mov dword [ebp - 0xc8], ecx
cmp byte [esi + edi*4], 0x69
setne al
inc eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [ecx + 4]
push eax
call fcn.10076740
mov ecx, dword [ebp - 0xec]
add esp, 4
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x10080065
mov edx, dword [esi + edi*4 + 4]
mov eax, str.sqlite_master
cmp edx, 1
mov dword [ebp - 0xd0], edx
mov ecx, str.sqlite_temp_master
mov dword [ebp - 0xc4], ebx
cmovne ecx, eax
add edx, edx
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xdc]
add eax, 0x34
mov dword [ebp - 0xc0], eax
push dword [esi + edi*4 + 0x10]
mov eax, dword [ebx + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.10060750
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x10084642
mov dword [ebp - 0xd4], 7
jmp 0x10084697
push 0
lea eax, [ebp - 0xc4]
mov byte [ebx + 0x7d], 1
push eax
push fcn.100a5a40
push dword [ebp - 0xc8]
mov dword [ebp - 0xb8], 0
push ebx
call fcn.100a27f0
mov edx, dword [ebp - 0xc8]
add esp, 0x14
test eax, eax
mov ecx, ebx
cmove eax, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], eax
call fcn.1005f110
mov eax, dword [ebp - 0xd4]
mov byte [ebx + 0x7d], 0
test eax, eax
je 0x100846a4
mov ecx, ebx
call fcn.100933a0
mov eax, dword [ebp - 0xd4]
cmp eax, 7
je 0x10085fbf
jmp 0x10085ce0
mov edx, dword [esi + edi*4 + 4]
mov ecx, ebx
call fcn.10091980
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
mov ecx, ebx
call fcn.10093670
add esp, 4
jmp case.default.0x10080065
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
mov ecx, ebx
call fcn.10093160
add esp, 4
jmp case.default.0x10080065
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
mov ecx, ebx
call fcn.100b0480
add esp, 4
jmp case.default.0x10080065
mov edx, dword [esi + edi*4 + 8]
mov ecx, ebx
mov dword [ebp - 0xd0], edx
lea edx, [edx*4 + 4]
call fcn.1005f370
mov edx, eax
mov dword [ebp - 0xcc], edx
test edx, edx
je 0x10085fbf
mov ecx, dword [esi + edi*4 + 0xc]
mov eax, dword [ebp - 0xe4]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [esi + edi*4 + 4]
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe4]
lea esi, [ecx + eax*8]
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xd0], eax
jle 0x100847a5
jmp 0x10084770
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.10079400
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0xd0]
jl 0x10084770
mov edx, dword [ebp - 0xcc]
mov dword [edx + eax*4], 0
lea eax, [ebp - 0xc4]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax + 0x10]
mov eax, dword [ebp - 0xe0]
push dword [ebp - 0xd0]
movzx eax, byte [eax + edi*4 + 3]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.10077b20
mov edx, dword [ebp - 0xcc]
add esp, 0xc
mov ecx, ebx
mov dword [ebp - 0xc0], eax
call fcn.1005f110
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc4]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
mov ecx, esi
call fcn.10079730
cmp dword [ebp - 0xc4], 0
je 0x1008483b
mov edx, dword [ebp - 0xc0]
test edx, edx
je 0x10085fbf
push fcn.1005f070
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.10079b10
add esp, 0xc
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.10078fd0
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + edi*4 + 8]
lea edi, [eax + eax*4]
jne 0x10084889
mov ecx, esi
call fcn.100798b0
test byte [esi + 0x1c], 0x20
je 0x10085fbf
mov eax, dword [ebp - 0xe4]
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 0x14]
push dword [eax + edi*8 + 0x10]
call fcn.10067040
mov esi, dword [ebp - 0xe0]
add esp, 8
jmp case.default.0x10080065
cmp dword [ebx + 0xe0], 0
jne 0x10085f79
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x10084912
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0xd0]
call fcn.10067410
test eax, eax
je 0x10084912
mov esi, dword [ebp - 0xe0]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.10079780
add esp, 8
jmp case.default.0x10080065
mov ecx, esi
call fcn.10079730
mov esi, dword [ebp - 0xe0]
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + edi*4 + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [ecx + edi*4 + 0x10]
mov dword [ebp - 0xd0], eax
test byte [esi + 0x1c], 0x20
jne 0x10084979
mov ecx, esi
call fcn.100798b0
test byte [esi + 0x1c], 0x20
je 0x10085fb9
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
test eax, eax
je 0x100849cc
js 0x10084984
and eax, 0xf
jmp 0x10084989
mov eax, 0xff
push dword [edx + ebx*8 + 0x14]
mov ecx, dword [esi + 0x10]
push dword [edx + ebx*8 + 0x10]
mov dl, al
call fcn.10067470
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x100849c4
mov esi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xe8]
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [ebp - 0xd0]
test eax, eax
js 0x1008034d
mov edi, dword [ebp - 0xe4]
mov ecx, dword [esi + 0x10]
push dword [edi + ebx*8 + 0x14]
push dword [edi + ebx*8 + 0x10]
call fcn.10067040
mov ebx, dword [ebp - 0xe8]
add esp, 8
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
mov edx, dword [esi + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xb8], edx
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], esi
cmp byte [eax + edi*4 + 3], 0
je 0x10084a66
mov eax, dword [ebp - 0xdc]
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0xb4], ecx
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x10084a66
jmp 0x10084a50
cmp dword [eax + 0x18], ecx
je 0x10080353
mov eax, dword [eax + 4]
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x10084a50
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0xb0]
cmp eax, dword [ebx + 0x74]
jl 0x10084aa3
push str.too_many_levels_of_trigger_recursion
lea eax, [ecx + 0x34]
mov dword [ebp - 0xd4], 1
push ebx
push eax
call fcn.1005f510
mov esi, dword [ebp - 0xe0]
add esp, 0xc
mov eax, 1
jmp 0x10085ce0
test byte [esi + 0x1c], 0x40
jne 0x10084c22
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov dword [ebp - 0xd0], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*2]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + 0x12]
lea edx, [eax + ecx*4]
mov ecx, ebx
mov dword [ebp - 0xcc], edx
call fcn.1005f340
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x10085fbf
mov ecx, dword [ebp - 0xc8]
call fcn.100793c0
mov eax, dword [ebp - 0xc8]
mov ecx, 0x40
mov esi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xbc]
mov dword [eax], esi
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 8]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x40]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xbc]
mov cx, word [esi + 0x2e]
mov word [eax + 0x28], cx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x30], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0xc0]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0xbc]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x3c]
lea ecx, [edx + 0x48]
mov dword [ebp - 0xc4], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 9]
lea eax, [edx + eax*8]
mov dword [ebp - 0xc0], eax
cmp ecx, eax
je 0x10084c2d
mov esi, 0x80
mov word [ecx + 0x1c], si
mov eax, dword [ebp - 0xc4]
mov dword [eax], ebx
mov ecx, dword [ebp - 0xc4]
add ecx, 0x28
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebp - 0xc0]
jne 0x10084bf1
mov esi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xbc]
jmp 0x10084c2d
mov edx, dword [esi + 0x10]
mov esi, ecx
mov dword [ebp - 0xbc], edx
inc dword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x108]
mov edi, dword [ebp - 0xdc]
mov dword [eax + 0x20], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x104]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x68]
mov dword [eax + 0x44], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0x68], 0
lea edx, [ecx + 0x20]
mov dword [esi + 8], edx
mov eax, dword [ecx + 0x3c]
mov dword [esi + 0x18], eax
mov ax, word [ecx + 0x40]
mov word [esi + 0x2e], ax
mov eax, dword [esi + 0x18]
inc eax
mov dword [ebp - 0xe4], edx
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov edx, dword [ebp - 0xb8]
mov dword [esi + 0x40], ecx
mov esi, dword [edx]
mov dword [edi + 4], esi
mov eax, dword [edx + 4]
mov dword [edi + 0x1c], eax
movzx eax, word [edi + 0x2e]
mov dword [ebp - 0xe0], esi
lea ecx, [ecx + eax*4]
mov eax, edi
mov dword [eax + 0xc0], ecx
mov eax, dword [edx + 0x10]
mov edx, edi
push eax
push 0
push ecx
mov dword [edx + 0xbc], eax
call fcn.101078f0
mov eax, dword [ebp - 0xd4]
add esp, 0xc
or edx, 0xffffffff
jmp 0x10085ce6
mov eax, dword [ebp - 0xdc]
push 0x1000
mov edx, dword [eax + 0xa8]
mov dword [ebp - 0xd0], edx
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
add eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xcc], edx
call fcn.100799b0
add esp, 4
jmp case.default.0x10080065
cmp dword [esi + edi*4 + 4], 0
mov eax, dword [esi + edi*4 + 8]
cdq
je 0x10084d58
add dword [ebx + 0x1e8], eax
adc dword [ebx + 0x1ec], edx
jmp case.default.0x10080065
mov ecx, dword [ebp - 0xdc]
add dword [ecx + 0x90], eax
mov eax, ecx
adc dword [eax + 0x94], edx
jmp case.default.0x10080065
cmp dword [esi + edi*4 + 4], 0
je 0x10084d9a
mov eax, dword [ebx + 0x1e8]
or eax, dword [ebx + 0x1ec]
jne case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + 0x90]
or eax, dword [ecx + 0x94]
jne case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x10084e03
mov dword [ebp - 0xcc], edx
mov eax, dword [edx + 4]
test eax, eax
je 0x10084df4
mov edx, eax
mov dword [ebp - 0xcc], edx
mov eax, dword [edx + 4]
test eax, eax
jne 0x10084de5
mov eax, dword [esi + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*8]
jmp 0x10084e13
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xd0], ecx
call fcn.100795b0
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100795b0
mov eax, dword [ebp - 0xd0]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x10080353
jl 0x10084e55
cmp dword [eax + 0x10], ecx
jae 0x10080353
mov esi, dword [ebp - 0xe0]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jl case.default.0x10080065
jg 0x10080079
cmp dword [ecx + eax*8 + 0x10], 0
jbe case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jg case.default.0x10080065
jl 0x10080079
cmp dword [ecx + eax*8 + 0x10], 0
jae case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ebx, dword [ebp - 0xe4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + edi*4 + 0xc]
cdq
add dword [ebx + ecx*8 + 0x10], eax
mov eax, ebx
adc dword [eax + ecx*8 + 0x14], edx
mov edx, ebx
mov eax, dword [eax + ecx*8 + 0x10]
mov ebx, dword [ebp - 0xe8]
or eax, dword [edx + ecx*8 + 0x14]
jne case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
movzx ecx, byte [esi + edi*4 + 3]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], edx
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [ebp - 0x80], esi
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x10084f97
jmp 0x10084f60
mov dword [esi + eax*4], edx
mov ecx, dword [ebp - 0xc4]
call fcn.1007fbe0
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc4]
inc eax
add edx, 0x28
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], edx
cmp eax, dword [ebp - 0xd0]
jge 0x10084f97
mov esi, dword [ebp - 0x80]
jmp 0x10084f60
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x90], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0xc0]
mov word [ebp - 0x9c], ax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x84], 0
test byte [ecx + 3], 8
je 0x1008502a
mov eax, dword [esi + edi*4 - 4]
mov dword [ebp - 0x8c], eax
push dword [ebp - 0x80]
lea eax, [ebp - 0xc0]
push dword [ebp - 0xd0]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x88], 0
je 0x1008507d
mov dl, 1
lea ecx, [ebp - 0xb8]
call fcn.1007a0b0
push eax
mov eax, dword [ebp - 0xdc]
push 0x10141f2c
add eax, 0x34
push ebx
push eax
call fcn.1005f510
mov eax, dword [ebp - 0x88]
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0x84], 0
je 0x100850ac
mov eax, dword [esi + edi*4 - 0x10]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x100850ac
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.10079780
add esp, 8
lea ecx, [ebp - 0xb8]
call fcn.100793c0
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xd0], ecx
mov edx, dword [esi + edi*4 + 0x10]
call fcn.100792d0
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x1008510b
mov ecx, dword [ebp - 0xd0]
mov dl, 1
call fcn.1007a0b0
push eax
mov eax, dword [ebp - 0xdc]
push 0x10141f2c
add eax, 0x34
push ebx
push eax
call fcn.1005f510
add esp, 0x10
movzx edx, byte [ebp - 0xf0]
mov ecx, dword [ebp - 0xd0]
call fcn.10078fd0
mov ecx, dword [ebp - 0xd0]
jmp 0x10080ce4
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xcc], 0
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc4], 0xffffffff
mov dword [ebp - 0xc8], 0xffffffff
mov ecx, ebx
mov edx, dword [esi + edi*4 + 4]
push eax
push dword [esi + edi*4 + 8]
call fcn.100c0ba0
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xd4], edx
cmp edx, 5
jne 0x10085187
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xcc], 1
mov edx, dword [ebp - 0xe4]
xor eax, eax
mov dword [ebp - 0xd0], eax
mov ecx, dword [esi + edi*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xc0], ecx
mov eax, dword [ebp + eax*4 - 0xcc]
cdq
push edx
push eax
call fcn.10079780
mov eax, dword [ebp - 0xd0]
add esp, 8
mov ecx, dword [ebp - 0xc0]
inc eax
add ecx, 0x28
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc0], ecx
cmp eax, 3
jl 0x100851a5
jmp case.default.0x10080065
mov esi, dword [esi + edi*4 + 0xc]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], esi
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xf4], eax
mov eax, dword [eax + 4]
mov ebx, dword [eax]
mov dword [ebp - 0xcc], ebx
movzx edx, byte [ebx + 5]
cmove esi, edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], esi
cmp byte [ebx + 0xf], 3
jae 0x10085243
mov eax, dword [ebx + 0x40]
cmp dword [eax], 0
je 0x1008524b
cmp dword [ebx + 0x4c], 0
jl 0x1008524b
jg 0x10085243
cmp dword [ebx + 0x48], 0
jbe 0x1008524b
mov esi, edx
mov dword [ebp - 0xc8], esi
cmp byte [ebx + 0xe], 0
mov ecx, 0x10141177
jne 0x1008525c
mov ecx, dword [ebx + 0x90]
mov dword [ebp - 0xc0], ecx
cmp esi, 5
jne 0x100852de
call fcn.10061200
test eax, eax
je 0x1008527b
mov ecx, ebx
call fcn.1006bd10
test eax, eax
jne 0x100852de
mov esi, edx
mov dword [ebp - 0xc8], esi
cmp dword [ebp - 0xd4], 0
je 0x10085294
mov esi, edx
mov dword [ebp - 0xc8], esi
mov edx, esi
mov ecx, ebx
call fcn.1006bbd0
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + edi*4 + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, 0xa02
mov word [edi + 0x1c], ax
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xec], edi
cmp ecx, 6
jne 0x10085403
xor ecx, ecx
jmp 0x1008540a
cmp esi, edx
je 0x10085283
cmp edx, 5
je 0x100852ec
cmp esi, 5
jne 0x10085283
mov eax, dword [ebp - 0xe8]
cmp byte [eax + 0x34], 0
je 0x100853ba
cmp dword [eax + 0x80], 1
jg 0x100853ba
cmp edx, 5
jne 0x10085351
mov ecx, ebx
call fcn.1006be40
mov edx, eax
mov dword [ebp - 0xd4], edx
test edx, edx
jne 0x10085340
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
call fcn.1006bbd0
mov esi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
jmp 0x1008538f
mov edx, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xcc]
jmp 0x1008528c
cmp edx, 4
jne 0x1008537c
mov edx, 2
mov ecx, ebx
call fcn.1006bbd0
mov edx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
jmp 0x10085382
mov ecx, dword [ebp - 0xf4]
cmp dword [ebp - 0xd4], 0
jne 0x1008528c
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.100781e0
mov edx, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
jmp 0x10085283
mov ebx, dword [ebp - 0xe8]
cmp esi, 5
mov ecx, str.out_of
mov dword [ebp - 0xd4], 1
mov eax, str.into
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xdc]
push str.cannot_change__s_wal_mode_from_within_a_transaction
add eax, 0x34
push ebx
push eax
call fcn.1005f510
mov esi, dword [ebp - 0xe0]
add esp, 0x10
mov eax, 1
jmp 0x10085ce0
mov ecx, dword [ecx*4 + 0x10134c60]
mov dword [edi + 4], ecx
call fcn.10061200
movzx edx, byte [ebp - 0xf0]
mov ecx, edi
mov dword [edi + 0x18], eax
mov byte [edi + 0x1f], 1
call fcn.10078fd0
mov ebx, dword [ebp - 0xe8]
jmp case.default.0x10080065
mov ecx, dword [ebp - 0xdc]
mov edx, ebx
lea ecx, [ecx + 0x34]
call fcn.100b3680
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], ecx
call fcn.10071c40
mov dword [ebp - 0xd4], eax
cmp eax, 0x65
jne 0x10085ce0
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
xor eax, eax
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
cmp dword [esi + edi*4 + 4], 0
jne 0x1008549f
mov ecx, ebx
call fcn.1007d8d0
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x5f], 1
jmp case.default.0x10080065
mov al, byte [esi + edi*4 + 0xc]
mov byte [ebp - 0x11c], al
test al, al
jne 0x100854c9
test dword [ebx + 0x18], 0x80000
jne case.default.0x10080065
mov eax, dword [esi + edi*4 + 4]
mov ecx, dword [ebx + 0x10]
add eax, eax
push dword [ebp - 0x11c]
mov edx, dword [esi + edi*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.100780c0
add esp, 4
mov dword [ebp - 0xd4], eax
cmp al, 6
jne 0x10085ce0
push dword [esi + edi*4 + 0x10]
mov eax, dword [ebp - 0xdc]
push str.database_table_is_locked:__s
add eax, 0x34
push ebx
push eax
call fcn.1005f510
add esp, 0x10
jmp case.default.0x10080065
mov edx, dword [esi + edi*4 + 0x10]
mov ecx, ebx
mov dword [ebp - 0xd0], edx
call fcn.100b49e0
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
test edx, edx
je case.default.0x10080065
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0xdc]
call fcn.1007fe60
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, ebx
mov edx, dword [esi + edi*4 + 4]
add eax, 0x34
push eax
push dword [esi + edi*4 + 0x10]
call fcn.100b4510
add esp, 8
mov dword [ebp - 0xd4], eax
jmp 0x10085ce0
mov eax, dword [ebp - 0xdc]
mov ecx, ebx
mov byte [eax + 0x62], 2
push dword [esi + edi*4 + 0x10]
mov edx, dword [esi + edi*4 + 4]
call fcn.100b47c0
mov ecx, dword [ebp - 0xdc]
add esp, 4
mov dword [ebp - 0xd4], eax
mov byte [ecx + 0x62], 0
jmp 0x10085ce0
mov dword [ebp - 0xd0], 0
lea edx, [ebp - 0xcc]
mov dword [ebp - 0xcc], 0
mov eax, dword [esi + edi*4 + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc8], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [ebp - 0xc8]
add esp, 8
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
call fcn.1007fe60
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x10085ce0
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
push 0
push 0xffffffffffffffff
mov dword [eax], ecx
mov edx, dword [esi + edi*4 + 4]
mov ecx, dword [ebp - 0xdc]
push 0
call fcn.1007fc10
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x10085656
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x28], ecx
jmp case.default.0x10080065
mov byte [ebx + 0x36], 1
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xcc]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], edx
lea esi, [edx + 0x28]
mov dword [ebp - 0xc0], esi
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xb4], eax
mov ebx, dword [eax + 0x24]
mov dword [ebp - 0xbc], ebx
mov eax, dword [ebx]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xf4], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xd0], eax
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xb0], 0
mov edx, dword [ecx + 0xc]
xor ecx, ecx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xac], ecx
test eax, eax
jle 0x1008576f
lea ebx, [ebx]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + eax*4]
call fcn.1007fbe0
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xd0]
inc ecx
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], ecx
cmp ecx, eax
jge 0x10085755
mov esi, dword [ebp - 0xc0]
jmp 0x10085710
mov ecx, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xf4], ecx
jmp 0x10085775
mov esi, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xdc]
push edx
push eax
mov eax, dword [ebp - 0xe0]
mov byte [ecx + 0x62], 1
mov ecx, dword [ebp - 0xf4]
push dword [eax + edi*4 + 0x10]
mov eax, dword [ecx + 0x20]
push esi
push ebx
call eax
mov edx, dword [ebp - 0xb8]
mov ebx, eax
mov eax, dword [ebp - 0xdc]
add esp, 0x14
mov ecx, eax
mov dword [ebp - 0xd4], ebx
mov byte [eax + 0x62], 0
call fcn.1007fe60
test ebx, ebx
jne 0x100857da
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0xbc]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xb0], eax
jmp 0x100857e0
mov eax, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xe0]
test eax, eax
je 0x100857f5
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xe8]
mov byte [eax + 0x1c], 0
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xc8], ecx
cmp byte [esi + 0x1c], 0
je 0x1008584c
call fcn.10079730
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
mov eax, dword [esi + 0x24]
push 0x40
push 0
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0xc0]
push eax
call fcn.101078f0
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0xb8]
add esp, 0xc
call fcn.10079a90
mov eax, dword [ebp - 0x9c]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xe0]
push dword [eax + edi*4 + 8]
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xcc]
push dword [esi + 0x24]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [ebp - 0xd0]
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
call fcn.1007fe60
mov eax, dword [ebp - 0x88]
test eax, eax
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ebp - 0xf0]
cmovne ecx, eax
mov dword [ebp - 0xd4], ecx
lea ecx, [ebp - 0xb8]
call fcn.10078fd0
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xb8]
call fcn.10079a90
mov ecx, dword [ebp - 0xc8]
call fcn.10079980
test eax, eax
jne 0x10085f5d
mov esi, dword [ebp - 0xe0]
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], 0
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], ecx
cmp byte [ecx + 0x1c], 0
jne case.default.0x10080065
mov eax, dword [ecx + 0x24]
mov edx, dword [ebp - 0xdc]
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov byte [edx + 0x62], 1
push dword [ecx + 0x24]
mov eax, dword [eax + 0x24]
call eax
mov edx, dword [ebp - 0xd0]
add esp, 4
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xdc]
mov ecx, eax
mov byte [eax + 0x62], 0
call fcn.1007fe60
cmp dword [ebp - 0xd4], 0
jne 0x100859c0
mov eax, dword [ebp - 0xc4]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xc8], eax
jmp 0x100859c6
mov eax, dword [ebp - 0xc8]
test eax, eax
jne case.default.0x10080065
mov eax, dword [esi + edi*4 + 8]
dec eax
mov dword [ebp - 0xd8], eax
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 0x10]
mov edx, 1
mov ecx, dword [ebp - 0xe4]
mov eax, dword [eax + 8]
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + edi*4 + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xcc], ecx
call fcn.10078fd0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x10085ce0
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
mov edx, dword [ecx]
push dword [eax + 4]
push ecx
mov eax, dword [edx + 0x4c]
call eax
mov edx, dword [ebp - 0xd0]
add esp, 8
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
call fcn.1007fe60
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x5f], 0
jmp case.default.0x10080065
mov eax, dword [esi + edi*4 + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov edx, dword [esi + edi*4 + 8]
mov dword [ebp - 0xc8], edx
cmp dword [eax + 0x34], 0
je case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov bl, byte [ebx + 0x3a]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + edi*4 + 0xc]
mov dword [ebp - 0xc4], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xb4], ecx
test edx, edx
jle 0x10085af6
call fcn.1007fbe0
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb4]
inc eax
add ecx, 0x28
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xb4], ecx
cmp eax, dword [ebp - 0xc8]
jl 0x10085ab8
mov al, byte [esi + edi*4 + 3]
mov esi, dword [ebp - 0xe8]
mov byte [esi + 0x3a], al
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
push dword [ebp - 0xc8]
push dword [ebp - 0xd0]
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [ebp - 0xdc]
add esp, 0x10
mov byte [esi + 0x3a], bl
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
call fcn.1007fe60
mov ebx, dword [ebp - 0xd4]
test ebx, ebx
jne 0x10085b97
mov esi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xe8]
cmp dword [esi + edi*4 + 4], 0
je 0x10085c1b
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
mov dword [ebx + 0x20], eax
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x104], ecx
inc dword [eax + 0x68]
jmp case.default.0x10080065
cmp ebx, 0x13
jne 0x10085c13
mov esi, dword [ebp - 0xe0]
mov eax, dword [esi + edi*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x10085bff
mov al, byte [esi + edi*4 + 3]
cmp al, 4
jne 0x10085bcb
mov ebx, dword [ebp - 0xe8]
xor eax, eax
mov dword [ebp - 0xd4], 0
jmp 0x10085ce0
cmp al, 5
jne 0x10085be8
mov ebx, dword [ebp - 0xdc]
mov eax, 2
mov byte [ebx + 0x5c], al
mov ebx, dword [ebp - 0xe8]
jmp case.default.0x10080065
mov ebx, dword [ebp - 0xdc]
movzx eax, al
mov byte [ebx + 0x5c], al
mov ebx, dword [ebp - 0xe8]
jmp case.default.0x10080065
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xe8]
inc dword [eax + 0x68]
jmp case.default.0x10080065
mov ebx, esi
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
inc dword [eax + 0x68]
jmp case.default.0x10080065
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 0
jmp case.default.0x10080065
mov ecx, dword [esi + edi*4 + 4]
xor edx, edx
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov esi, dword [esi + edi*4 + 0xc]
mov ecx, dword [eax + ecx*8 + 4]
test esi, esi
je 0x10085c6d
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.10070d50
mov ecx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe0]
cdq
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp case.default.0x10080065
cmp dword [ebx + 0x94], 0
je case.default.0x10080065
mov edx, dword [esi + edi*4 + 0x10]
mov eax, dword [ebp - 0xdc]
test edx, edx
jne 0x10085ca4
mov edx, dword [eax + 0xa0]
mov dword [ebp - 0xd0], edx
test edx, edx
je case.default.0x10080065
mov ecx, eax
call fcn.1007f870
push eax
mov dword [ebp - 0xcc], eax
push dword [ebx + 0x98]
mov eax, dword [ebx + 0x94]
call eax
mov edx, dword [ebp - 0xcc]
add esp, 8
mov ecx, ebx
call fcn.1005f110
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
inc edx
mov dword [ebp - 0xd8], edx
test eax, eax
jne 0x10085fec
mov eax, edx
mov edx, dword [ebp - 0x120]
jmp 0x1007ffd0
mov eax, 9
jmp 0x10085fe0
mov ecx, dword [esi + edi*4 + 4]
mov dword [edx + 0x58], ecx
mov al, byte [esi + edi*4 + 8]
mov byte [edx + 0x5c], al
mov eax, dword [ebp - 0xd8]
mov dword [edx + 0x54], eax
mov eax, dword [esi + edi*4 + 0x10]
test eax, eax
je 0x10085d64
push eax
push 0x10141f2c
lea eax, [edx + 0x34]
push ebx
push eax
call fcn.1005f510
push dword [esi + edi*4 + 0x10]
mov eax, dword [ebp - 0xdc]
push dword [eax + 0xa0]
push dword [ebp - 0xd8]
push str.abort_at__d_in___s_:__s
push dword [esi + edi*4 + 4]
call fcn.10060960
add esp, 0x24
jmp 0x10085d85
test ecx, ecx
je 0x10085d8b
push dword [edx + 0xa0]
push dword [ebp - 0xd8]
push str.constraint_failed_at__d_in___s_
push dword [esi + edi*4 + 4]
call fcn.10060960
add esp, 0x10
mov edx, dword [ebp - 0xdc]
mov ecx, edx
call fcn.1007c650
cmp eax, 5
mov eax, dword [ebp - 0xdc]
je 0x10085e06
cmp dword [eax + 0x58], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x10086060
cmp byte [ebx + 0x36], 0
jne 0x10085fbf
mov ecx, dword [ebp - 0xdc]
mov edi, 0x64
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ecx + 0x54], eax
jmp 0x10086060
lea ecx, [ebp - 0xc0]
call fcn.100793c0
jmp 0x10085fbf
mov eax, 0x14
mov dword [ebp - 0xd4], eax
jmp 0x10085ede
mov edx, dword [ebp - 0xd8]
mov eax, ebx
mov dword [eax + 0x54], edx
mov byte [edi + 0x34], 0
mov edi, 5
mov dword [eax + 0x58], edi
jmp 0x10086060
test ecx, ecx
je 0x10085e4a
mov edx, 0x204
mov ecx, ebx
call fcn.100c0170
mov byte [ebx + 0x34], 1
mov ecx, ebx
call fcn.100bfa20
mov eax, dword [ebp - 0xdc]
mov edi, 1
mov ecx, 0x65
cmp dword [eax + 0x58], 0
cmove edi, ecx
jmp 0x10086060
mov ecx, dword [ebp - 0xdc]
mov edx, 1
call fcn.1007c5f0
mov edi, eax
test edi, edi
jne 0x10086060
mov al, byte [ebp - 0xd0]
mov edi, dword [ebp - 0xdc]
mov ecx, edi
mov byte [ebx + 0x34], al
call fcn.1007c650
cmp eax, 5
jne 0x10085e27
mov eax, dword [ebp - 0xd8]
mov dword [edi + 0x54], eax
mov al, 1
sub al, byte [ebp - 0xd0]
mov edi, 5
mov byte [ebx + 0x34], al
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x58], edi
jmp 0x10086060
mov eax, dword [ebp - 0xdc]
mov edi, 5
mov edx, dword [ebp - 0xd8]
mov dword [eax + 0x54], edx
mov dword [eax + 0x58], edi
jmp 0x10086060
mov ecx, 0x10d49
call fcn.100c2000
mov dword [ebp - 0xd4], eax
mov ebx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd4]
cmp byte [ebx + 0x36], 0
je 0x10085f0e
mov eax, 7
mov dword [ebp - 0xd4], 7
mov edx, str.unknown_error
mov ecx, eax
call fcn.100c0250
jmp 0x10085f33
mov eax, 0xd
mov dword [ebp - 0xd4], eax
jmp 0x10085ede
cmp eax, 0xc0a
je 0x10085fe6
cmp eax, 0x204
je 0x10085f2e
mov edx, str.unknown_error
mov ecx, eax
call fcn.100c0250
jmp 0x10085f33
mov eax, str.abort_due_to_ROLLBACK
push eax
mov eax, dword [ebp - 0xdc]
push 0x10141f2c
add eax, 0x34
push ebx
push eax
call fcn.1005f510
mov eax, dword [ebp - 0xd4]
add esp, 0x10
jmp 0x10085fe6
mov ebx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xdc]
push str.string_or_blob_too_big
add eax, 0x34
push ebx
push eax
call fcn.1005f510
mov eax, 0x12
jmp 0x10085fdd
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
mov esi, dword [ebp - 0xdc]
test eax, eax
mov dword [ebp - 0xd4], 9
cmovne ecx, eax
push ecx
push 0x10141f2c
lea eax, [esi + 0x34]
mov dword [esi + 0x58], 9
push ebx
push eax
call fcn.1005f510
add esp, 0x10
mov eax, 9
jmp 0x10085fe6
mov ebx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xdc]
push str.out_of_memory
add eax, 0x34
mov byte [ebx + 0x36], 1
push ebx
push eax
call fcn.1005f510
mov eax, 7
add esp, 0xc
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
push dword [ecx + 0x34]
mov dword [ecx + 0x58], eax
push dword [ecx + 0xa0]
push edx
push str.statement_aborts_at__d:___s___s
push eax
call fcn.10060960
mov ecx, dword [ebp - 0xdc]
add esp, 0x14
call fcn.1007c650
cmp dword [ebp - 0xd4], 0xc0a
jne 0x10086028
mov byte [ebx + 0x36], 1
mov al, byte [ebp - 0xf9]
mov edi, 1
test al, al
je 0x10086060
movzx esi, al
mov eax, dword [ebx + 0x10]
dec esi
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.10098380
add esp, 4
cmp esi, edi
je 0x10086060
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.10098380
add esp, 4
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x104]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0xdc]
call fcn.1007b1d0
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10103392
mov esp, ebp
pop ebp
ret