Function at 0x1004b490
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x31c
mov eax, dword [0x101ec05c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor eax, eax
push esi
push edi
mov edi, ecx
mov ebx, dword [edi]
mov ecx, dword [edi + 4]
mov dl, byte [ebx + 0x3e]
mov esi, dword [edi + 8]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x164], ecx
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0x122], al
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x158], eax
mov eax, dword [ebx + 0x20]
push edi
mov dword [ebp - 0x114], edi
mov dword [ebp - 0xdc], ebx
mov byte [ebp - 0x121], dl
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], ecx
call fcn.10045180
add esp, 4
cmp dword [edi + 0x50], 7
je 0x1004eef3
xor ecx, ecx
mov dword [edi + 0x50], ecx
mov dword [edi + 0x88], ecx
mov dword [edi + 0x8c], ecx
mov dword [edi + 0x14], ecx
mov edx, dword [ebx + 0xf0]
mov dword [ebx + 0x1c4], ecx
test edx, edx
jne 0x100503c1
cmp dword [ebx + 0x124], ecx
je 0x1004b57b
mov eax, dword [edi + 0x7c]
cmp eax, ecx
jne 0x1004b56d
mov eax, dword [ebx + 0x12c]
mov dword [ebp - 0x154], eax
jmp 0x1004b57b
xor edx, edx
div dword [ebx + 0x12c]
mov dword [ebp - 0x154], edx
mov ecx, dword [edi + 0x4c]
mov dword [ebp - 0xe4], ecx
cmp byte [ebx + 0x41], 0
jne 0x1004eef3
mov eax, dword [ebp - 0xe4]
inc dword [ebp - 0x14c]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x164]
test byte [eax + edx*4 + 2], 2
lea ebx, [eax + edx*4]
mov dword [ebp - 0x104], ebx
je 0x1004b5e9
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
lea eax, [esi + ecx*8]
mov edx, 0x2460
mov dword [ebp - 0xe8], eax
test word [eax + 8], dx
je 0x1004b5e0
mov esi, eax
call fcn.100432d0
mov esi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xe8]
mov ecx, 4
mov word [eax + 8], cx
mov dl, byte [ebx]
mov ecx, dword [ebp - 0xe8]
movzx eax, dl
dec eax
cmp eax, 0x98
ja case.default.0x1004b600
jmp dword [eax*4 + 0x100503fc]
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0xe4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov ecx, dword [ebx + 8]
dec ecx
mov dword [ebp - 0xe4], ecx
jmp case.default.0x1004b600
mov ebx, dword [ebx + 4]
lea edx, [ebx + ebx*4]
mov ecx, dword [esi + edx*8]
lea eax, [esi + edx*8]
mov edx, 0x80
mov dword [ebp - 0xe4], ecx
mov word [eax + 8], dx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [ebx + 0xc]
dec eax
cdq
mov ecx, 4
mov dword [esi], eax
mov dword [esi + 4], edx
mov word [esi + 8], cx
mov ebx, dword [ebx + 8]
mov dword [ebp - 0xe8], esi
test ebx, ebx
je case.default.0x1004b600
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov ebx, dword [ebx + 4]
mov ecx, dword [ebp - 0x164]
lea edx, [ebx + ebx*4]
mov eax, dword [esi + edx*8]
lea esi, [esi + edx*8]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov edx, 0x80
mov dword [ebp - 0xe4], eax
mov word [esi + 8], dx
jmp case.default.0x1004b600
mov ebx, dword [ebx + 4]
lea eax, [ebx + ebx*4]
lea esi, [esi + eax*8]
mov eax, dword [ebp - 0xe4]
mov ecx, 4
cdq
mov word [esi + 8], cx
mov ecx, dword [esi]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [ebp - 0xe4], ecx
jmp case.default.0x1004b600
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 8], 1
je case.default.0x1004b600
cmp dword [ebx + 4], 0
jne 0x100501a6
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x100501a6
mov eax, dword [ecx + 4]
dec dword [edi + 0xb8]
mov dword [edi + 0xb0], eax
mov eax, dword [edi + 0x5c]
mov edx, dword [ebp - 0xdc]
add dword [edx + 0x54], eax
mov dword [edx + 0x50], eax
mov eax, dword [ecx]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0xc8], edx
mov edx, dword [ecx + 0x38]
mov dword [eax + 0xc4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x30]
mov dword [eax + 0x20], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x1c], edx
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x38], edx
mov edx, dword [ecx + 0x28]
mov dword [eax + 0x24], edx
mov edx, dword [eax]
mov esi, dword [ecx + 0x20]
mov dword [edx + 0x20], esi
mov esi, dword [ecx + 0x24]
mov dword [edx + 0x24], esi
mov edx, dword [ecx + 0x44]
mov dword [eax + 0x5c], edx
mov eax, dword [eax]
mov edx, dword [ecx + 0x48]
mov dword [eax + 0x50], edx
cmp dword [ebx + 8], 4
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x20]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], eax
jne 0x1004b7b9
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + ecx*4 + 8]
dec eax
mov dword [ebp - 0xe4], eax
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x11c], edx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x1004b600
mov ebx, dword [ebx + 0x10]
mov eax, dword [ebx]
mov dword [ecx], eax
mov edx, dword [ebx + 4]
mov dword [ecx + 4], edx
jmp case.default.0x1004b600
mov eax, 8
mov word [ecx + 8], ax
mov edx, dword [ebx + 0x10]
fld qword [edx]
fstp qword [ecx]
jmp case.default.0x1004b600
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 0x1b
call fcn.100288f0
cmp byte [ebp - 0x121], 1
mov dword [ebx + 4], eax
je 0x1004b889
mov esi, dword [ebp - 0xe8]
push 0
push 1
push ecx
or eax, 0xffffffff
mov ecx, esi
call fcn.10043a70
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp eax, 0x12
je 0x1004c154
movzx ecx, byte [ebp - 0x121]
mov eax, esi
call fcn.10042eb0
test eax, eax
jne 0x1004eef3
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xff
jne 0x1004b879
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xdc]
call fcn.10025e40
mov byte [ebx + 1], 0xff
mov ecx, dword [esi + 0x10]
mov dword [ebx + 0x10], ecx
mov edx, dword [esi + 0xc]
mov dword [ebx + 4], edx
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x58]
jg 0x1004c154
mov ecx, dword [ebp - 0xe8]
mov edx, 0xa02
mov word [ecx + 8], dx
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov edx, dword [ebx + 4]
mov al, byte [ebp - 0x121]
mov dword [ecx + 0xc], edx
mov byte [ecx + 0xa], al
jmp case.default.0x1004b600
mov esi, dword [ebx + 0xc]
sub esi, dword [ebx + 8]
mov edx, dword [ebx + 4]
neg edx
sbb edx, edx
and edx, 0x100
inc edx
movzx ebx, dx
mov word [ecx + 8], bx
test esi, esi
jle case.default.0x1004b600
mov edi, dword [ebp - 0xe8]
lea ecx, [ecx]
add edi, 0x28
mov eax, edi
call fcn.100437d0
dec esi
mov word [edi + 8], bx
test esi, esi
jg 0x1004b8f0
mov dword [ebp - 0xe8], edi
jmp case.default.0x1004b600
mov ebx, dword [ebx + 4]
lea eax, [ebx + ebx*4]
mov cx, word [esi + eax*8 + 8]
lea esi, [esi + eax*8]
mov edx, 0xff7f
and cx, dx
or cx, 1
mov dword [ebp - 0xe8], esi
mov word [esi + 8], cx
jmp case.default.0x1004b600
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0xe8]
push 0
push 0
push eax
mov eax, dword [ebx + 4]
mov ecx, esi
call fcn.10043a70
mov cl, byte [ebp - 0x121]
add esp, 0xc
mov byte [esi + 0xa], cl
jmp case.default.0x1004b600
mov ebx, dword [ebx + 4]
mov eax, dword [edi + 0x3c]
lea edx, [ebx + ebx*4]
lea edi, [eax + edx*8 - 0x28]
mov ecx, edi
call fcn.10043920
test eax, eax
jne 0x1004c154
mov eax, dword [ebp - 0xe8]
push 0x800
call fcn.10043950
add esp, 4
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [ebx + ebx*4]
lea edi, [esi + edx*8]
mov dword [ebp - 0xe0], ecx
lea esi, [esi + eax*8]
nop
mov ebx, edi
mov eax, esi
call fcn.10043a30
add edi, 0x28
add esi, 0x28
dec dword [ebp - 0xe0]
jne 0x1004b9b0
mov dword [ebp - 0xe8], esi
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [ebx + ebx*4]
lea edi, [esi + edx*8]
lea esi, [esi + eax*8]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xe8], esi
mov ebx, ecx
jmp 0x1004ba00
push 0x1000
mov eax, esi
call fcn.10043950
mov ecx, 0x1000
add esp, 4
test word [esi + 8], cx
je 0x1004ba29
mov eax, esi
call fcn.10043000
test eax, eax
jne 0x1004eef3
mov edx, ebx
dec ebx
test edx, edx
je case.default.0x1004b600
add dword [ebp - 0xe8], 0x28
mov esi, dword [ebp - 0xe8]
add edi, 0x28
jmp 0x1004ba00
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x11c]
mov ebx, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + ebx*4]
lea eax, [ecx + eax*8]
push 0x1000
lea edi, [ecx + edx*8]
mov dword [ebp - 0xe8], eax
call fcn.10043950
add esp, 4
jmp case.default.0x1004b600
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x124]
test eax, eax
je 0x1004baae
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [ebp - 0x154]
jb 0x1004baae
mov edx, dword [ebp - 0xdc]
mov ecx, dword [edx + 0x128]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x1004fe81
push 0
mov eax, edi
call fcn.10046880
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x1004b600
push 1
push edi
call fcn.10046760
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x1004b600
mov ecx, dword [edi + 0x48]
add ecx, 2
or ecx, 1
mov dword [edi + 0x48], ecx
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov dword [edi + 0x14], esi
cmp dword [ebx + 8], 0
mov dword [ebp - 0xfc], 0
jle 0x1004bb4c
lea esp, [esp]
mov eax, 0x1000
test word [esi + 8], ax
je 0x1004bb30
mov eax, esi
call fcn.10043000
test eax, eax
jne 0x1004eef3
mov edi, dword [ebp - 0x114]
mov eax, esi
call fcn.10043110
mov eax, dword [ebp - 0xfc]
inc eax
add esi, 0x28
mov dword [ebp - 0xfc], eax
cmp eax, dword [ebx + 8]
jl 0x1004bb10
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x41], 0
jne 0x1004eef3
mov edx, dword [ebp - 0xe4]
inc edx
mov dword [edi + 0x4c], edx
mov esi, 0x64
jmp 0x1004ff13
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
lea ecx, [esi + edx*8]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
lea eax, [ebx + ebx*4]
lea esi, [esi + eax*8]
movzx eax, word [ecx + 8]
mov dword [ebp - 0xf4], ecx
mov cl, byte [edx + 8]
or cl, al
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xe8], esi
test cl, 1
je 0x1004bbb7
mov eax, esi
call fcn.100437d0
jmp case.default.0x1004b600
mov ebx, dword [ebp - 0xf4]
test eax, 0x4000
je 0x1004bbd3
mov eax, ebx
call fcn.10043070
test eax, eax
jne 0x1004eef3
mov edi, dword [ebp - 0xf0]
mov edx, 0x4000
test word [edi + 8], dx
je 0x1004bbf3
mov eax, edi
call fcn.10043070
test eax, eax
jne 0x1004eef3
test byte [ebx + 8], 0x12
jne 0x1004bc14
mov eax, dword [ebp - 0x121]
push 0
push eax
mov eax, ebx
call fcn.10043130
add esp, 8
test eax, eax
jne 0x1004eef3
test byte [edi + 8], 0x12
jne 0x1004bc35
mov ecx, dword [ebp - 0x121]
push 0
push ecx
mov eax, edi
call fcn.10043130
add esp, 8
test eax, eax
jne 0x1004eef3
mov eax, dword [ebx + 0xc]
add eax, dword [edi + 0xc]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xdc]
mov ebx, eax
mov eax, dword [edx + 0x58]
cdq
cmp ecx, edx
jg 0x1004c154
jl 0x1004bc5c
cmp ebx, eax
ja 0x1004c154
xor eax, eax
cmp esi, edi
sete al
lea ecx, [ebx + 2]
mov edi, esi
call fcn.10042ed0
test eax, eax
jne 0x1004eef3
mov ax, word [esi + 8]
mov edi, dword [ebp - 0xf0]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x1004bca7
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
mov ecx, dword [esi + 0x10]
push edx
push eax
push ecx
call sub.MSVCR100.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 0xc]
mov ecx, dword [esi + 0x10]
mov eax, dword [eax + 0x10]
add ecx, dword [edi + 0xc]
push edx
push eax
push ecx
call sub.MSVCR100.dll_memcpy
mov edx, dword [esi + 0x10]
mov byte [ebx + edx], 0
mov eax, dword [esi + 0x10]
mov dl, byte [ebp - 0x121]
mov byte [eax + ebx + 1], 0
mov ecx, 0x200
add esp, 0xc
or word [esi + 8], cx
mov dword [esi + 0xc], ebx
mov byte [esi + 0xa], dl
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, edi
call fcn.1004b470
movzx ecx, ax
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xf0], eax
call fcn.1004b470
movzx eax, ax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
lea edx, [esi + ecx*8]
mov esi, dword [ebp - 0xf0]
mov al, byte [esi + 8]
or al, byte [edi + 8]
mov dword [ebp - 0xe8], edx
test al, 1
jne 0x1004bfa7
mov cl, byte [ebp - 0xe0]
and cl, byte [ebp - 0xec]
test cl, 4
je 0x1004be92
mov edx, dword [esi]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x140], edx
mov edx, dword [esi + 4]
mov dword [ebp - 0x13c], edx
movzx edx, byte [ebx]
add edx, 0xffffffa7
mov byte [ebp - 0x11d], 1
cmp edx, 3
ja case.default.0x1004bd87
jmp dword [edx*4 + 0x10050660]
push ecx
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.10029ba0
add esp, 0xc
test eax, eax
jne 0x1004be99
jmp 0x1004be62
push ecx
push eax
lea edx, [ebp - 0x140]
call fcn.10029c40
add esp, 8
test eax, eax
jne 0x1004be99
jmp 0x1004be62
push ecx
push eax
lea ecx, [ebp - 0x140]
push ecx
call fcn.10029c90
add esp, 0xc
test eax, eax
jne 0x1004be99
jmp 0x1004be62
mov edx, eax
or edx, ecx
je 0x1004bfa7
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1004be10
cmp dword [ebp - 0x140], 0
jne 0x1004be10
cmp dword [ebp - 0x13c], 0x80000000
je 0x1004be99
push ecx
mov ecx, dword [ebp - 0x140]
push eax
mov eax, dword [ebp - 0x13c]
push eax
push ecx
call fcn.1017f270
jmp 0x1004be56
mov edx, eax
or edx, ecx
je 0x1004bfa7
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x1004be41
mov eax, 1
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0x140]
push eax
mov eax, dword [ebp - 0x13c]
push eax
push ecx
call fcn.1017f320
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
mov dword [eax], edx
mov dx, word [eax + 8]
mov dword [eax + 4], ecx
mov ecx, 0xbe04
and dx, cx
or dx, 4
mov word [eax + 8], dx
jmp case.default.0x1004b600
mov byte [ebp - 0x11d], 0
mov eax, edi
call fcn.100434d0
fstp qword [ebp - 0x100]
mov eax, esi
call fcn.100434d0
movzx eax, byte [ebx]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x1004beb8
jmp dword [eax*4 + 0x10050670]
fadd qword [ebp - 0x100]
jmp 0x1004bf3b
fsub qword [ebp - 0x100]
jmp 0x1004bf3b
fmul qword [ebp - 0x100]
jmp 0x1004bf3b
fld qword [ebp - 0x100]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1004bfa3
fdivp st(1)
jmp 0x1004bf3b
fld qword [ebp - 0x100]
call fcn.1017f416
mov esi, eax
mov edi, edx
call fcn.1017f416
mov ecx, esi
or ecx, edi
je 0x1004bfa7
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x1004bf20
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.1017f320
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], edx
fild qword [ebp - 0x220]
sub esp, 8
fst qword [ebp - 0x100]
fstp qword [esp]
call fcn.100288c0
add esp, 8
test eax, eax
jne 0x1004bfa7
mov eax, dword [ebp - 0xe8]
fld qword [ebp - 0x100]
mov dx, word [eax + 8]
fstp qword [eax]
mov ecx, 0xbe08
and dx, cx
or dx, 8
mov word [eax + 8], dx
mov dl, byte [ebp - 0xe0]
or dl, byte [ebp - 0xec]
test dl, 8
jne case.default.0x1004b600
cmp byte [ebp - 0x11d], 0
jne case.default.0x1004b600
mov edi, eax
call fcn.10043520
jmp case.default.0x1004b600
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0xe8]
call fcn.100437d0
jmp case.default.0x1004b600
mov ebx, dword [ebx + 4]
test ebx, ebx
je case.default.0x1004b600
push 0
lea eax, [ebx + ebx*4]
push 0
lea eax, [esi + eax*8]
call fcn.10043830
add esp, 8
jmp case.default.0x1004b600
mov ecx, dword [edi + 0xc]
mov eax, dword [ebx + 0xc]
movzx edx, byte [ebx + 3]
mov dword [ebp - 0xec], ecx
mov ecx, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [esi + eax*8]
lea esi, [esi + ecx*8]
xor ecx, ecx
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0xe0], ecx
test edx, edx
jle 0x1004c057
mov edx, dword [ebp - 0xec]
mov eax, 0x1000
mov dword [edx + ecx*4], esi
test word [esi + 8], ax
je 0x1004c03f
mov eax, esi
call fcn.10043000
test eax, eax
jne 0x1004eef3
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xe0]
inc ecx
add esi, 0x28
mov dword [ebp - 0xe0], ecx
cmp ecx, dword [ebp - 0xf8]
jl 0x1004c010
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1d4], edi
mov cx, word [eax + 8]
mov edx, 0xbe01
and cx, dx
mov edx, dword [ebp - 0xec]
or cx, 1
mov word [eax + 8], cx
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xf8]
push edx
mov edx, dword [ebp - 0x1dc]
mov dword [esi + 0x24], ecx
push eax
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 0x1c7], 0
mov eax, dword [edx + 0xc]
push ecx
call eax
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
add esp, 0xc
cmp byte [ebp - 0x1c7], 0
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x144], edx
je 0x1004c12f
cmp dword [ebp - 0x1cc], 0
je 0x1004c11a
mov eax, dword [ebp - 0x1e0]
push eax
call fcn.10048c40
add esp, 4
push eax
push 0x101da890
lea ecx, [edi + 0x2c]
push esi
push ecx
call fcn.10026350
mov edx, dword [ebp - 0x1cc]
add esp, 0x10
mov dword [ebp - 0xd8], edx
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe4]
push eax
push ecx
mov ebx, edi
call fcn.10046df0
add esp, 8
movzx ecx, byte [ebp - 0x121]
mov eax, dword [ebp - 0x1e0]
call fcn.10042eb0
mov ecx, dword [ebp - 0x1e0]
call fcn.10043920
test eax, eax
je case.default.0x1004b600
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x114]
push str.string_or_blob_too_big
push eax
add ecx, 0x2c
push ecx
call fcn.10026350
mov edi, dword [ebp - 0x114]
add esp, 0xc
mov dword [ebp - 0xd8], 0x12
jmp 0x1004fe8b
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea edi, [esi + edx*8]
lea edx, [eax + eax*4]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
lea esi, [esi + edx*8]
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xe8], esi
test al, 1
je 0x1004c1c4
mov eax, esi
call fcn.100437d0
jmp case.default.0x1004b600
call fcn.10043460
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x170], eax
mov edi, edx
call fcn.10043460
mov bl, byte [ebx]
mov esi, eax
cmp bl, 0x55
jne 0x1004c217
and dword [ebp - 0x170], esi
and edi, edx
mov ebx, dword [ebp - 0x170]
mov eax, dword [ebp - 0xe8]
mov cx, word [eax + 8]
mov edx, 0xbe04
and cx, dx
or cx, 4
mov dword [eax], ebx
mov dword [eax + 4], edi
mov word [eax + 8], cx
jmp case.default.0x1004b600
cmp bl, 0x56
jne 0x1004c228
mov ebx, dword [ebp - 0x170]
or ebx, esi
or edi, edx
jmp 0x1004c1f3
mov ecx, esi
or ecx, edx
je 0x1004c1ed
test edx, edx
jg 0x1004c25c
jl 0x1004c238
test esi, esi
jae 0x1004c251
mov al, 0xaf
sub al, bl
mov bl, al
cmp edx, 0xffffffff
jl 0x1004c25c
jg 0x1004c24a
cmp esi, 0xffffffc0
jbe 0x1004c25c
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x1004c289
jg 0x1004c25c
cmp esi, 0x40
jb 0x1004c289
test edi, edi
jg 0x1004c27d
jl 0x1004c26b
cmp dword [ebp - 0x170], 0
jae 0x1004c27d
cmp bl, 0x57
je 0x1004c27d
or eax, 0xffffffff
cdq
mov ebx, eax
mov edi, edx
jmp 0x1004c1f3
xor eax, eax
cdq
mov ebx, eax
mov edi, edx
jmp 0x1004c1f3
mov eax, dword [ebp - 0x170]
mov edx, edi
mov ecx, esi
cmp bl, 0x57
jne 0x1004c2ac
call fcn.101824a0
mov ebx, eax
mov dword [ebp - 0x194], edx
mov edi, edx
jmp 0x1004c1f3
call fcn.1017f5d0
mov ebx, eax
mov dword [ebp - 0x194], edx
test edi, edi
jg 0x1004c2e2
jl 0x1004c2c8
cmp dword [ebp - 0x170], 0
jae 0x1004c2e2
mov ecx, 0x40
sub ecx, esi
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.101824a0
or ebx, eax
or dword [ebp - 0x194], edx
mov edi, dword [ebp - 0x194]
jmp 0x1004c1f3
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0x11c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.100435c0
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
movzx eax, word [esi + edx*8 + 8]
lea esi, [esi + edx*8]
test al, 4
jne 0x1004c363
test al, 8
jne 0x1004c337
test al, 2
je 0x1004c344
push 1
mov eax, esi
call fcn.1004b2b0
add esp, 4
jmp 0x1004c344
mov edi, esi
call fcn.10043520
mov edi, dword [ebp - 0x114]
movzx eax, word [esi + 8]
test al, 4
jne 0x1004c363
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x10050266
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
and eax, 0xbe04
or eax, 4
mov word [esi + 8], ax
jmp case.default.0x1004b600
mov ebx, dword [ebx + 4]
lea eax, [ebx + ebx*4]
test byte [esi + eax*8 + 8], 4
lea esi, [esi + eax*8]
je case.default.0x1004b600
call fcn.100435f0
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov edx, 0x4000
test word [esi + 8], dx
je 0x1004c3c8
mov eax, esi
call fcn.10043070
mov dl, byte [ebp - 0x121]
mov cl, byte [ebx + 8]
mov dword [ebp - 0xd8], eax
mov eax, esi
call fcn.10043710
jmp case.default.0x1004b600
mov dl, byte [ebp - 0x121]
mov cl, byte [ebx + 8]
mov eax, esi
mov dword [ebp - 0xd8], 0
call fcn.10043710
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
movzx eax, word [ecx + 8]
lea edi, [esi + edx*8]
movzx edx, word [edi + 8]
mov dword [ebp - 0xf4], ecx
mov ecx, eax
mov dword [ebp - 0x108], edx
or dl, cl
mov dword [ebp - 0xf0], ecx
test dl, 1
je 0x1004c48e
mov al, byte [ebx + 3]
test al, al
jns 0x1004c44a
test cl, 1
je 0x1004c440
mov eax, dword [ebp - 0x108]
test al, 1
je 0x1004c440
test eax, 0x100
jne 0x1004c440
xor eax, eax
jmp 0x1004c571
mov eax, 1
jmp 0x1004c571
test al, 0x20
je 0x1004c477
mov ebx, dword [ebx + 8]
lea edx, [ebx + ebx*4]
mov ax, word [esi + edx*8 + 8]
lea esi, [esi + edx*8]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov dword [ebp - 0xe8], esi
mov word [esi + 8], ax
jmp case.default.0x1004b600
test al, 0x10
je case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov cl, byte [ebx + 3]
and cl, 0x47
cmp cl, 0x43
jl 0x1004c4c8
and al, 0xe
cmp al, 2
jne 0x1004c4af
mov eax, dword [ebp - 0xf4]
push 0
call fcn.1004b2b0
add esp, 4
mov dl, byte [edi + 8]
and dl, 0xe
cmp dl, 2
jne 0x1004c50b
push 0
mov eax, edi
call fcn.1004b2b0
add esp, 4
jmp 0x1004c50b
cmp cl, 0x42
jne 0x1004c50b
test al, 2
jne 0x1004c4ec
test al, 0xc
je 0x1004c4ec
mov eax, dword [ebp - 0x121]
push 1
push eax
mov eax, dword [ebp - 0xf4]
call fcn.10043130
add esp, 8
movzx eax, word [edi + 8]
test al, 2
jne 0x1004c50b
test al, 0xc
je 0x1004c50b
mov ecx, dword [ebp - 0x121]
push 1
push ecx
mov eax, edi
call fcn.10043130
add esp, 8
mov esi, dword [ebp - 0xf4]
mov edx, 0x4000
test word [esi + 8], dx
je 0x1004c52d
mov eax, esi
call fcn.10043070
and dword [ebp - 0xf0], 0xbfff
mov eax, 0x4000
test word [edi + 8], ax
je 0x1004c549
mov eax, edi
call fcn.10043070
and dword [ebp - 0x108], 0xbfff
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x41], 0
jne 0x1004eef3
mov edx, dword [ebx + 0x10]
mov eax, esi
mov ecx, edi
call fcn.10047970
mov esi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xf0]
movzx edx, byte [ebx]
add edx, 0xffffffb2
cmp edx, 4
ja case.default.0x1004c57c
jmp dword [edx*4 + 0x10050680]
xor edx, edx
test eax, eax
sete dl
jmp 0x1004c5b7
xor edx, edx
test eax, eax
setne dl
jmp 0x1004c5b7
xor edx, edx
test eax, eax
sets dl
jmp 0x1004c5b7
xor edx, edx
test eax, eax
setle dl
jmp 0x1004c5b7
xor edx, edx
test eax, eax
setg dl
jmp 0x1004c5b7
xor edx, edx
test eax, eax
setns dl
test byte [ebx + 3], 0x20
mov eax, edx
je 0x1004c602
mov ebx, dword [ebx + 8]
lea edx, [ebx + ebx*4]
lea esi, [esi + edx*8]
mov dx, word [esi + 8]
mov ebx, 0xbe04
and dx, bx
or dx, 4
mov word [esi + 8], dx
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0xf4]
mov dword [esi + 4], edx
mov word [eax + 8], cx
mov cx, word [ebp - 0x108]
mov dword [ebp - 0xe8], esi
mov word [edi + 8], cx
jmp case.default.0x1004b600
test eax, eax
je 0x1004c610
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
mov eax, dword [ebp - 0xf4]
mov word [eax + 8], cx
mov cx, word [ebp - 0x108]
mov word [edi + 8], cx
jmp case.default.0x1004b600
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x158], edx
jmp case.default.0x1004b600
test byte [ebx + 3], 1
jne 0x1004c648
mov dword [ebp - 0x158], 0
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 8]
mov edi, dword [ebx + 4]
xor ebx, ebx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x110], edx
test ecx, ecx
jle 0x1004c703
lea ecx, [eax + 0x14]
mov dword [ebp - 0xec], ecx
jmp 0x1004c686
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x158]
test ecx, ecx
je 0x1004c695
mov ecx, dword [ecx + ebx*4]
jmp 0x1004c697
mov ecx, ebx
mov eax, dword [eax + 0x10]
movzx eax, byte [ebx + eax]
mov edx, dword [ebp - 0xec]
mov edx, dword [edx]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x110]
add eax, ecx
add ecx, edi
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [esi + eax*8]
lea ecx, [esi + ecx*8]
call fcn.10047970
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x1004c6ec
add dword [ebp - 0xec], 4
inc ebx
cmp ebx, dword [ebp - 0xe0]
jl 0x1004c680
mov dword [ebp - 0x158], eax
jmp case.default.0x1004b600
cmp dword [ebp - 0xf8], 0
je 0x1004c703
mov edx, dword [ebp - 0x174]
neg edx
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x158], 0
jmp case.default.0x1004b600
mov eax, dword [ebp - 0x174]
test eax, eax
jns 0x1004c72b
mov ebx, dword [ebx + 4]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
jne 0x1004c73c
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov ebx, dword [ebx + 0xc]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
lea ecx, [esi + eax*8]
je 0x1004c762
mov edi, 2
jmp 0x1004c774
call fcn.10043460
or eax, edx
je 0x1004c772
mov edi, 1
jmp 0x1004c774
xor edi, edi
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 8], 1
lea ecx, [esi + ecx*8]
je 0x1004c78b
mov eax, 2
jmp 0x1004c79d
call fcn.10043460
or eax, edx
je 0x1004c79b
mov eax, 1
jmp 0x1004c79d
xor eax, eax
cmp byte [ebx], 0x48
jne 0x1004c7af
lea edx, [eax + edi*2]
movzx eax, byte [edi + edx + 0x101d1abc]
jmp 0x1004c7ba
lea eax, [eax + edi*2]
movzx eax, byte [edi + eax + 0x101d1b00]
mov ebx, dword [ebx + 0xc]
lea ecx, [ebx + ebx*4]
lea esi, [esi + ecx*8]
mov dword [ebp - 0xe8], esi
cmp eax, 2
jne 0x1004c7e7
mov dx, word [esi + 8]
mov eax, 0xbe01
and dx, ax
or dx, 1
mov word [esi + 8], dx
jmp case.default.0x1004b600
mov cx, word [esi + 8]
cdq
mov dword [esi + 4], edx
mov edx, 0xbe04
and cx, dx
or cx, 4
mov dword [esi], eax
mov word [esi + 8], cx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + ebx*4]
lea edi, [esi + eax*8]
lea eax, [esi + ecx*8]
mov dword [ebp - 0xe8], eax
call fcn.100437d0
test byte [edi + 8], 1
jne case.default.0x1004b600
mov esi, dword [ebp - 0xe8]
mov edx, 4
mov ecx, edi
mov word [esi + 8], dx
call fcn.10043460
or eax, edx
jne 0x1004c857
mov eax, 1
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x1004b600
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + ebx*4]
lea edi, [esi + eax*8]
lea eax, [esi + ecx*8]
mov dword [ebp - 0xe8], eax
call fcn.100437d0
test byte [edi + 8], 1
jne case.default.0x1004b600
mov esi, dword [ebp - 0xe8]
mov edx, 4
mov ecx, edi
mov word [esi + 8], dx
call fcn.10043460
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x1004b600
mov eax, dword [edi + 0xc8]
mov ecx, dword [ebx + 4]
cmp byte [eax + ecx], 0
je 0x1004c8cd
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov byte [eax + ecx], 1
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 8], 1
lea eax, [esi + edx*8]
je 0x1004c8eb
mov eax, dword [ebx + 0xc]
jmp 0x1004c912
call fcn.100434d0
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1004c902
mov eax, 1
jmp 0x1004c904
xor eax, eax
cmp byte [ebx], 0x2e
jne 0x1004c912
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 8], 1
je case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
jne case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
lea edx, [eax + eax*4]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebx + 4]
lea eax, [esi + edx*8]
mov edx, dword [edi + 0x38]
mov dword [ebp - 0x10c], eax
mov eax, dword [edx + ecx*4]
cmp byte [eax + 0x1a], 0
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x118], ecx
mov ecx, dword [eax]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x108], ecx
je 0x1004ca18
mov esi, eax
call fcn.10047130
mov esi, dword [ebp - 0x11c]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0x108]
jne 0x1005034e
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 0x3c]
cmp edx, dword [edi + 0x48]
je 0x1004cb94
cmp byte [eax + 0x19], 0
je 0x1004ca62
test ecx, ecx
jne 0x1004ca50
mov ecx, dword [eax + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
mov ecx, dword [esi + 0xc]
lea edx, [eax + 0x40]
mov dword [eax + 0x44], ecx
mov dword [ebp - 0xf8], edx
mov dword [edx], ecx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xec], ecx
mov dword [eax + 0x4c], edx
jmp 0x1004cb03
test ecx, ecx
je 0x1004ca44
cmp byte [ecx + 0x49], 1
je 0x1004ca44
mov edi, dword [ebp - 0xf4]
call fcn.10047190
mov esi, dword [ebp - 0x11c]
mov edi, dword [ebp - 0x114]
mov dword [ebp - 0xd8], eax
jmp 0x1004c9ba
mov dword [ebp - 0xd8], 0
jmp 0x1004c9d3
mov edi, dword [ebp - 0x10c]
mov eax, edi
call fcn.100437d0
jmp 0x1004cece
test byte [eax + 0x1c], 4
mov esi, dword [ebp - 0x108]
jne 0x1004cab2
lea edi, [ebp - 0x228]
call fcn.1003b740
mov eax, esi
movzx ecx, word [eax + 0x28]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xec], ecx
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp - 0x228]
add eax, 0x40
mov dword [eax], ecx
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], eax
mov edi, eax
mov eax, dword [ebp - 0xec]
jmp 0x1004cae0
mov edi, dword [ebp - 0xf4]
add edi, 0x40
push edi
mov dword [ebp - 0xf8], edi
call fcn.1003b790
movzx eax, word [esi + 0x28]
mov edx, dword [esi + 0x20]
mov ecx, dword [ebp - 0xf4]
add esp, 4
mov dword [ebp - 0xec], eax
mov dword [ecx + 0x4c], edx
mov edi, dword [edi]
cmp edi, eax
ja 0x1004caeb
mov dword [ecx + 0x44], edi
jmp 0x1004caee
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0xdc]
cmp edi, dword [eax + 0x58]
ja 0x1004c154
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0xf4]
mov ecx, dword [edi + 0x48]
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1004cb28
movzx eax, al
mov dword [ebp - 0x150], eax
mov ecx, 1
jmp 0x1004cb42
lea esi, [ebp - 0x150]
call fcn.100299d0
mov esi, dword [ebp - 0xf4]
movzx ecx, al
mov eax, dword [ebp - 0x150]
movzx edx, cl
mov dword [esi + 0x48], edx
mov edx, dword [ebp - 0x118]
xor ecx, ecx
mov word [esi + 0x16], cx
mov dword [edx], eax
cmp eax, 0x18003
ja 0x1004cb7f
mov ecx, dword [ebp - 0xf8]
cmp eax, dword [ecx]
ja 0x1004cb7f
cmp dword [ebp - 0xec], eax
jae 0x1004cba4
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x44], ecx
jmp 0x1004cba4
mov eax, 0x11b3f
call fcn.100987b0
mov dword [ebp - 0xd8], eax
jmp case.default.0x1004b600
movzx edx, word [eax + 0x16]
cmp edx, dword [ebp - 0xf0]
jg 0x1004cdb4
mov edx, dword [ebp - 0xf4]
mov eax, dword [edx + 0x48]
mov ecx, dword [ebp - 0x118]
cmp eax, dword [ecx]
jae 0x1004cd7d
mov eax, dword [edx + 0x4c]
test eax, eax
jne 0x1004cc45
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov edx, dword [edx + 0x1c]
mov ebx, dword [ecx]
mov ecx, dword [ebp - 0x108]
shr edx, 2
not edx
and edx, 1
push edx
push eax
lea eax, [ebp - 0x280]
call fcn.10043cb0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x1004b600
mov eax, dword [ebp - 0x270]
mov ebx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0xf4]
mov esi, dword [edx + 0x48]
movzx edi, word [edx + 0x16]
mov ecx, dword [ecx + edi*4]
add esi, eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x118]
mov eax, dword [eax]
add eax, dword [ebp - 0xec]
lea edx, [edx + edi*4 + 0x54]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x104], esi
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xf8], edx
mov al, byte [esi]
cmp al, 0x80
jae 0x1004cc9f
movzx eax, al
inc esi
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x104], esi
jmp 0x1004cccb
mov ecx, dword [ebp - 0x104]
lea esi, [ebp - 0x178]
call fcn.100299d0
mov ecx, dword [ebp - 0x150]
movzx eax, al
add dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x178]
mov esi, dword [ebp - 0x104]
mov edx, dword [ebp - 0xf8]
mov dword [edx], eax
call fcn.100472e0
add ecx, eax
mov dword [ebp - 0x150], ecx
cmp ecx, eax
jb 0x1004cd07
add dword [ebp - 0xf8], 4
mov eax, dword [ebp - 0x118]
inc edi
mov dword [eax + edi*4], ecx
cmp edi, dword [ebp - 0xf0]
jg 0x1004cd0e
cmp esi, dword [ebp - 0xe0]
jb 0x1004cc87
jmp 0x1004cd0e
mov esi, dword [ebp - 0xe0]
inc esi
mov eax, dword [ebp - 0xf4]
mov edx, esi
sub edx, dword [ebp - 0xec]
cmp dword [eax + 0x4c], 0
mov word [eax + 0x16], di
mov dword [eax + 0x48], edx
jne 0x1004cd4c
lea eax, [ebp - 0x280]
call fcn.100433e0
mov ecx, dword [ebp - 0x150]
mov eax, 1
mov word [ebp - 0x278], ax
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xe0]
cmp esi, edx
jb 0x1004cd5d
ja 0x1004cd62
cmp ecx, dword [eax + 0x40]
jne 0x1004cd62
cmp ecx, dword [eax + 0x40]
jbe 0x1004cd77
mov eax, 0x11b93
call fcn.100987b0
mov dword [ebp - 0xd8], eax
jmp case.default.0x1004b600
mov edx, dword [ebp - 0xf4]
movzx ecx, word [edx + 0x16]
cmp ecx, dword [ebp - 0xf0]
jg 0x1004cdb4
cmp byte [ebx + 1], 0xf8
mov eax, dword [ebp - 0x10c]
jne 0x1004cdaa
mov edi, dword [ebx + 0x10]
push 0x800
call fcn.10043950
add esp, 4
jmp 0x1004cec8
call fcn.100437d0
jmp 0x1004cec8
mov eax, dword [ebp - 0x10c]
mov edx, 0x2460
test word [eax + 8], dx
je 0x1004cdca
call fcn.100437d0
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf0]
mov edx, dword [ecx + eax*4 + 0x54]
mov ecx, dword [ecx + 0x44]
mov esi, dword [ebp - 0x118]
mov dword [ebp - 0x178], edx
cmp ecx, dword [esi + eax*4 + 4]
jb 0x1004ce13
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 0x4c]
mov eax, esi
mov esi, dword [ebp - 0xf0]
add ecx, dword [eax + esi*4]
mov eax, dword [ebp - 0x10c]
call fcn.10047410
jmp 0x1004ceb9
mov bl, byte [ebx + 3]
test bl, 0xc0
je 0x1004ce29
cmp edx, 0xc
jb 0x1004ce25
test dl, 1
je 0x1004ce36
test bl, bl
js 0x1004ce36
mov eax, edx
call fcn.100472e0
mov ebx, eax
test ebx, ebx
jne 0x1004ce56
mov ecx, 0xd
cmp ecx, edx
sbb ecx, ecx
not ecx
lea eax, [ebp - 0x228]
and ecx, eax
mov eax, dword [ebp - 0x10c]
call fcn.10047410
jmp 0x1004ceb9
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0xf0]
shr edx, 2
not edx
and edx, 1
push edx
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x108]
push edx
call fcn.10043cb0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x1004b600
mov esi, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x178]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.10047410
mov eax, 0xefff
and word [esi + 8], ax
mov cl, byte [ebp - 0x121]
mov edx, dword [ebp - 0x10c]
mov byte [edx + 0xa], cl
mov edi, dword [ebp - 0x10c]
movzx eax, word [edi + 8]
test eax, 0x1000
je case.default.0x1004b600
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xfc], edx
test edx, edx
je case.default.0x1004b600
mov esi, dword [edi + 0xc]
mov ebx, eax
lea ecx, [esi + 2]
and ebx, 0x12
cmp dword [edi + 0x18], ecx
jge 0x1004cf4b
mov edi, dword [ebp - 0x10c]
xor eax, eax
call fcn.10042ed0
test eax, eax
jne 0x1004eef3
mov edx, dword [ebp - 0xfc]
mov edi, dword [ebp - 0x10c]
push esi
push edx
mov edx, dword [edi + 0x10]
push edx
call sub.MSVCR100.dll_memcpy
mov eax, dword [edi + 0x10]
mov byte [esi + eax], 0
mov ecx, dword [edi + 0x10]
add esp, 0xc
or ebx, 0x200
mov byte [esi + ecx + 1], 0
mov word [edi + 8], bx
jmp case.default.0x1004b600
mov ecx, dword [edi + 0x14]
and eax, 0xd
mov dword [edi + 0x10], ecx
mov word [edi + 8], ax
jmp 0x1004cf19
mov edi, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov cl, byte [edi]
lea edx, [ebx + ebx*4]
lea esi, [esi + edx*8]
test cl, cl
je case.default.0x1004b600
mov eax, dword [ebp - 0x121]
push eax
mov eax, esi
inc edi
call fcn.1004b330
mov cl, byte [edi]
add esp, 4
add esi, 0x28
test cl, cl
jne 0x1004cf70
jmp case.default.0x1004b600
mov ecx, dword [ebx + 0x10]
xor eax, eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xf0], eax
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
lea edx, [esi + edx*8]
lea eax, [eax + eax*4]
mov dword [ebp - 0xe0], edx
lea edx, [edx + eax*8 - 0x28]
movzx eax, byte [edi + 0x57]
mov dword [ebp - 0x118], edx
lea edx, [ebx + ebx*4]
mov dword [ebp - 0xfc], eax
lea eax, [esi + edx*8]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], eax
test ecx, ecx
je 0x1004d01c
mov esi, dword [ebp - 0xe0]
mov cl, byte [ecx]
mov edi, dword [ebp - 0xec]
lea ecx, [ecx]
mov edx, dword [ebp - 0x121]
push edx
mov eax, esi
call fcn.1004b330
mov cl, byte [edi + 1]
inc edi
add esp, 4
add esi, 0x28
test cl, cl
jne 0x1004d000
mov esi, dword [ebp - 0x118]
mov eax, dword [ebp - 0xfc]
push eax
mov edx, esi
call fcn.100471e0
mov ebx, eax
add esp, 4
mov dword [esi + 0x1c], ebx
call fcn.100472e0
mov ecx, 0x4000
mov edi, eax
test word [esi + 8], cx
je 0x1004d06b
mov edx, dword [ebp - 0x160]
or edx, dword [ebp - 0x15c]
je 0x1004d061
mov eax, esi
call fcn.10043070
jmp 0x1004d06b
mov eax, dword [esi]
add dword [ebp - 0xf0], eax
sub edi, eax
mov eax, edi
cdq
add dword [ebp - 0x160], eax
adc dword [ebp - 0x15c], edx
cmp ebx, 0x7f
ja 0x1004d086
mov eax, 1
jmp 0x1004d091
push 0
push ebx
call fcn.10029a40
add esp, 8
add dword [ebp - 0x10c], eax
sub esi, 0x28
cmp esi, dword [ebp - 0xe0]
jae 0x1004d022
cmp dword [ebp - 0x10c], 0x7e
jg 0x1004d0b9
inc dword [ebp - 0x10c]
mov esi, dword [ebp - 0x10c]
jmp 0x1004d0eb
mov esi, dword [ebp - 0x10c]
mov eax, esi
cdq
push edx
push eax
call fcn.10029a40
mov edi, eax
add esi, edi
mov eax, esi
cdq
push edx
push eax
mov dword [ebp - 0x10c], esi
call fcn.10029a40
add esp, 0x10
cmp edi, eax
jge 0x1004d0eb
inc esi
mov dword [ebp - 0x10c], esi
mov edi, dword [ebp - 0x160]
mov eax, esi
mov esi, dword [ebp - 0x15c]
cdq
mov ebx, eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x58]
mov ecx, edx
add edi, ebx
cdq
adc esi, ecx
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2d0], edi
cmp esi, edx
jg 0x1004c154
jl 0x1004d12a
cmp edi, eax
ja 0x1004c154
mov esi, dword [ebp - 0xe8]
cmp dword [esi + 0x18], edi
jge 0x1004d16e
mov ecx, edi
xor eax, eax
mov edi, esi
call fcn.10042ed0
test eax, eax
jne 0x1004eef3
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x10c]
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xf8], esi
cmp edx, 0x80
jae 0x1004d17b
mov byte [esi], dl
mov eax, 1
jmp 0x1004d18b
mov edx, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], edx
jmp 0x1004d14e
push ecx
push ebx
call fcn.100297f0
mov edx, dword [ebp - 0x10c]
add esp, 8
mov ebx, dword [ebp - 0xe0]
movzx eax, al
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x108], edx
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0xfc], ecx
cmp ecx, 0x80
jae 0x1004d1c7
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xec]
mov byte [edx + eax], cl
mov eax, 1
jmp 0x1004d1e7
mov edx, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xec]
push 0
push ecx
lea esi, [esi + edx]
call fcn.100297f0
mov ecx, dword [ebp - 0xfc]
add esp, 8
mov edx, dword [ebp - 0xf8]
mov esi, dword [ebp - 0x108]
movzx eax, al
add dword [ebp - 0xec], eax
lea edi, [esi + edx]
mov eax, ebx
call fcn.10047300
add esi, eax
add ebx, 0x28
mov dword [ebp - 0x108], esi
cmp ebx, dword [ebp - 0x118]
jbe 0x1004d1a0
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0xf0]
mov edx, 0x10
mov word [eax + 8], dx
test ecx, ecx
je 0x1004d246
mov dword [eax], ecx
mov ecx, 0x4010
mov word [eax + 8], cx
mov byte [eax + 0xa], 1
jmp case.default.0x1004b600
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx]
xor ecx, ecx
lea edx, [ebp - 0x1a8]
push edx
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1a4], ecx
call fcn.10040860
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe8]
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x1004d38b
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0x9c], 0
jle 0x1004d2c9
push str.cannot_open_savepoint___SQL_statements_in_progress
mov ecx, eax
push ecx
jmp 0x1004d411
mov ecx, ebx
call fcn.100288f0
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x1f4]
add edx, dword [eax + 0x1f0]
push edx
push 0
push eax
call fcn.100875f0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1005034e
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
add eax, 0x21
push 0
push eax
call fcn.100260c0
mov edi, eax
add esp, 8
test edi, edi
je case.default.0x1004b600
mov ecx, dword [ebp - 0xe0]
inc ecx
push ecx
lea eax, [edi + 0x20]
push ebx
push eax
mov dword [edi], eax
call sub.MSVCR100.dll_memcpy
add esp, 0xc
cmp byte [esi + 0x3f], 0
je 0x1004d34d
mov byte [esi + 0x3f], 0
mov byte [esi + 0x46], 1
jmp 0x1004d353
inc dword [esi + 0x1f0]
mov edx, dword [esi + 0x1e8]
mov dword [edi + 0x18], edx
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x1e8], edi
mov dword [edi + 8], eax
mov ecx, dword [esi + 0x1fc]
mov dword [edi + 0xc], ecx
mov edx, dword [esi + 0x200]
mov dword [edi + 0x10], edx
mov eax, dword [esi + 0x204]
mov dword [edi + 0x14], eax
jmp case.default.0x1004b600
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ecx + 0x1e8]
mov dword [ebp - 0xf0], 0
test esi, esi
je 0x1004d3c2
mov edx, dword [esi]
push ebx
push edx
call fcn.10028bf0
add esp, 8
test eax, eax
je 0x1004d3ea
mov esi, dword [esi + 0x18]
inc dword [ebp - 0xf0]
test esi, esi
jne 0x1004d3a5
mov eax, dword [ebp - 0xdc]
push ebx
push str.no_such_savepoint:__s
push eax
add edi, 0x2c
push edi
call fcn.10026350
add esp, 0x10
mov dword [ebp - 0xd8], 1
jmp case.default.0x1004b600
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x118]
xor ecx, ecx
mov dword [ebp - 0xec], esi
cmp dword [ebx + 0x9c], ecx
jle 0x1004d42c
cmp eax, 1
jne 0x1004d42c
push str.cannot_release_savepoint___SQL_statements_in_progress
push ebx
add edi, 0x2c
push edi
call fcn.10026350
add esp, 0xc
mov dword [ebp - 0xd8], 5
jmp case.default.0x1004b600
cmp dword [esi + 0x18], ecx
jne 0x1004d486
cmp byte [ebx + 0x46], cl
je 0x1004d486
mov dword [ebp - 0x104], 1
cmp eax, 1
jne 0x1004d48c
push eax
mov eax, edi
call fcn.10046880
mov esi, eax
add esp, 4
test esi, esi
jne 0x1004ff13
mov eax, edi
mov byte [ebx + 0x3f], 1
call fcn.100468f0
cmp eax, 5
je 0x10050275
mov esi, dword [ebp - 0xec]
mov byte [ebx + 0x46], 0
mov ecx, dword [edi + 0x50]
mov dword [ebp - 0xd8], ecx
jmp 0x1004d5b5
mov dword [ebp - 0x104], ecx
mov edx, dword [ebx + 0x1f0]
sub edx, dword [ebp - 0xf0]
dec edx
mov dword [ebp - 0xf0], edx
cmp eax, 2
jne 0x1004d529
mov eax, dword [ebx + 0x18]
shr eax, 1
and eax, 1
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x108], ecx
cmp dword [ebx + 0x14], ecx
jle 0x1004d52f
xor eax, eax
cmp dword [ebp - 0xf8], eax
sete al
xor esi, esi
mov dword [ebp - 0xfc], eax
jmp 0x1004d4e0
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebx + 0x10]
mov eax, dword [esi + edx + 4]
push ecx
push 0x204
push eax
call fcn.1003b270
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1005034e
mov eax, dword [ebp - 0x108]
inc eax
add esi, 0x10
mov dword [ebp - 0x108], eax
cmp eax, dword [ebx + 0x14]
jl 0x1004d4e0
mov esi, dword [ebp - 0xec]
xor ecx, ecx
jmp 0x1004d52f
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x108], ecx
cmp dword [ebx + 0x14], ecx
jle 0x1004d59a
mov dword [ebp - 0xe0], 0
jmp 0x1004d550
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x118]
mov eax, dword [ebx + 0x10]
push ecx
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + eax + 4]
push edx
call fcn.1003b4c0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1005034e
mov eax, dword [ebp - 0x108]
add dword [ebp - 0xe0], 0x10
inc eax
mov dword [ebp - 0x108], eax
cmp eax, dword [ebx + 0x14]
jl 0x1004d550
cmp dword [ebp - 0xf8], 0
je 0x1004d5b5
mov eax, ebx
call fcn.10048700
mov eax, ebx
call fcn.10060900
or dword [ebx + 0x18], 2
cmp dword [ebx + 0x1e8], esi
je 0x1004d61e
lea ecx, [ecx]
cmp dword [ebx + 0x208], 0
mov eax, dword [ebx + 0x1e8]
mov edx, dword [eax + 0x18]
mov dword [ebx + 0x1e8], edx
je 0x1004d5e1
mov ecx, ebx
call fcn.10025e00
jmp 0x1004d610
cmp eax, dword [ebx + 0x114]
jb 0x1004d607
cmp eax, dword [ebx + 0x118]
jae 0x1004d607
mov ecx, dword [ebx + 0x110]
mov dword [eax], ecx
dec dword [ebx + 0xfc]
mov dword [ebx + 0x110], eax
jmp 0x1004d610
push eax
call fcn.10025d60
add esp, 4
dec dword [ebx + 0x1f0]
cmp dword [ebx + 0x1e8], esi
jne 0x1004d5c0
cmp dword [ebp - 0x118], 1
jne 0x1004d650
mov edx, dword [esi + 0x18]
mov eax, esi
mov ecx, ebx
mov dword [ebx + 0x1e8], edx
call fcn.10025e40
cmp dword [ebp - 0x104], 0
jne case.default.0x1004b600
mov eax, ebx
dec dword [eax + 0x1f0]
jmp 0x1004d683
cmp dword [ebp - 0x104], 0
mov eax, dword [esi + 8]
mov dword [ebx + 0x1f8], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 0x1fc], ecx
mov edx, dword [esi + 0x10]
mov dword [ebx + 0x200], edx
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x204], eax
jne case.default.0x1004b600
mov eax, ebx
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x118]
push ecx
push edx
push eax
call fcn.100875f0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1005034e
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x1004d6e2
cmp byte [ecx + 0x3f], 0
jne 0x1004d6e2
test ebx, ebx
jne 0x1004d6e2
cmp dword [ecx + 0x9c], ebx
jle 0x1004d6e2
push str.cannot_commit_transaction___SQL_statements_in_progress
mov eax, ecx
push eax
jmp 0x1004d411
movzx ecx, byte [ecx + 0x3f]
cmp eax, ecx
jne 0x1005028f
test eax, eax
jne 0x1004d6f9
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1004d707
mov eax, str.cannot_rollback___no_transaction_is_active
test ebx, ebx
jne 0x1004d707
mov eax, str.cannot_commit___no_transaction_is_active
mov edx, dword [ebp - 0xdc]
push eax
push edx
add edi, 0x2c
push edi
call fcn.10026350
add esp, 0xc
mov dword [ebp - 0xd8], 1
jmp case.default.0x1004b600
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x1004d744
mov eax, dword [ebp - 0xdc]
test dword [eax + 0x18], 0x2000000
jne 0x10050314
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
add edx, edx
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x1004d861
push ecx
push eax
call fcn.1003a350
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, 5
je 0x10050320
test eax, eax
jne 0x1005034e
cmp dword [ebx + 8], eax
je 0x1004d82d
test byte [edi + 0x58], 0x80
je 0x1004d82d
mov esi, dword [ebp - 0xdc]
cmp byte [esi + 0x3f], al
je 0x1004d7b0
cmp dword [esi + 0x98], 1
jle 0x1004d82d
cmp dword [edi + 0x68], 0
jne 0x1004d7cb
mov ecx, dword [esi + 0x1f0]
inc dword [esi + 0x1f4]
add ecx, dword [esi + 0x1f4]
mov dword [edi + 0x68], ecx
mov edx, dword [edi + 0x68]
dec edx
push edx
push 0
push esi
call fcn.100875f0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1004d7fd
mov eax, dword [edi + 0x68]
push eax
mov eax, dword [ebp - 0xe0]
call fcn.1003b470
add esp, 4
mov dword [ebp - 0xd8], eax
mov ecx, dword [esi + 0x1f8]
mov dword [edi + 0x98], ecx
mov edx, dword [esi + 0x1fc]
mov dword [edi + 0x9c], edx
mov eax, dword [esi + 0x200]
mov dword [edi + 0xa0], eax
mov ecx, dword [esi + 0x204]
mov dword [edi + 0xa4], ecx
mov eax, dword [ebp - 0xe0]
lea edx, [ebp - 0x190]
push edx
push 1
call fcn.10040740
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov esi, dword [ebp - 0x190]
add esp, 8
add eax, eax
mov eax, dword [edx + eax*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x1004d86b
xor esi, esi
mov dword [ebp - 0x190], esi
xor eax, eax
cmp byte [ebx + 3], 0
je case.default.0x1004b600
cmp esi, dword [ebx + 0xc]
jne 0x1004d883
cmp eax, dword [ebx + 0x10]
je case.default.0x1004b600
mov eax, dword [edi + 0x2c]
mov edi, dword [ebp - 0xdc]
mov ecx, edi
call fcn.10025e40
push edi
mov ebx, str.database_schema_has_changed
call fcn.100262b0
mov ebx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x104]
mov dword [ebx + 0x2c], eax
mov eax, dword [ecx + 4]
mov ecx, dword [edi + 0x10]
mov edx, eax
add edx, edx
mov edx, dword [ecx + edx*8 + 0xc]
add esp, 4
cmp dword [edx], esi
je 0x1004d8c9
mov esi, eax
call fcn.100608d0
or dword [ebx + 0x58], 0x20
mov dword [ebp - 0xd8], 0x11
jmp case.default.0x1004b600
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
lea eax, [ebp - 0x1e4]
push eax
mov eax, dword [ebp - 0xdc]
push ecx
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
call fcn.10040740
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0xe8]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x1004b600
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 4]
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0xdc]
lea eax, [eax + eax*4]
shl edi, 4
add edi, dword [edx + 0x10]
lea esi, [ecx + eax*8]
call fcn.100435c0
mov edx, dword [esi]
mov ebx, dword [ebx + 8]
mov eax, dword [edi + 4]
push edx
call fcn.100407c0
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 8]
add esp, 4
cmp eax, 1
jne 0x1004d973
mov eax, dword [edi + 0xc]
mov edx, dword [esi]
mov dword [eax], edx
mov eax, dword [ebp - 0xdc]
or dword [eax + 0x18], 2
jmp 0x1004d980
cmp eax, 2
jne 0x1004d980
mov eax, dword [edi + 0xc]
mov dl, byte [esi]
mov byte [eax + 0x4c], dl
cmp dword [ecx + 4], 1
jne case.default.0x1004b600
mov eax, dword [ebp - 0xdc]
call fcn.10048700
mov eax, dword [ebp - 0x114]
and dword [eax + 0x58], 0xffffffdf
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
test eax, eax
je case.0x1004b600.54
mov eax, dword [eax + 0x20]
cmp eax, dword [ebx + 8]
je case.default.0x1004b600
test byte [edi + 0x58], 0x20
je 0x1004d9d2
mov dword [ebp - 0xd8], 0x204
jmp case.default.0x1004b600
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebx + 8]
xor eax, eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xfc], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x110], ecx
cmp dl, 0x37
jne 0x1004da20
mov edx, dword [eax + 0xc]
mov al, byte [edx + 0x4c]
mov dword [ebp - 0xf8], 1
cmp al, byte [edi + 0x57]
jae 0x1004da2a
mov byte [edi + 0x57], al
jmp 0x1004da2a
mov dword [ebp - 0xf8], 0
test byte [ebx + 3], 2
je 0x1004da4c
mov ecx, dword [ebp - 0x11c]
lea eax, [esi + esi*4]
lea esi, [ecx + eax*8]
call fcn.100435c0
mov esi, dword [esi]
cmp esi, 2
jl 0x10050336
mov cl, byte [ebx + 1]
mov eax, dword [ebp - 0xe0]
cmp cl, 0xfa
jne 0x1004da6f
mov ecx, dword [ebx + 0x10]
movzx eax, word [ecx + 8]
movzx edx, word [ecx + 6]
mov dword [ebp - 0xec], ecx
add eax, edx
jmp 0x1004da77
cmp cl, 0xf2
jne 0x1004da77
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebx + 4]
push 1
push ecx
push eax
push edx
mov ebx, edi
call fcn.1004b1a0
mov edi, eax
add esp, 0x10
test edi, edi
je 0x1004eef3
mov eax, dword [edi]
mov ebx, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xf8]
or dword [edi + 0x1c], 8
push eax
mov eax, dword [ebp - 0x110]
push ebx
push ecx
push esi
mov byte [edi + 0x19], 1
mov dword [edi + 0x20], esi
call fcn.1003b600
mov ecx, dword [edi]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x104]
mov dword [edi + 8], ebx
mov dl, byte [eax + 3]
and dl, 1
mov byte [ecx + 0x4a], dl
xor edx, edx
add esp, 0x10
cmp byte [eax + 1], 0xfa
setne dl
add edx, edx
add edx, edx
xor edx, dword [edi + 0x1c]
and edx, 4
xor dword [edi + 0x1c], edx
jmp case.default.0x1004b600
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
push 1
push 0xffffffffffffffff
push eax
push ecx
mov ebx, edi
call fcn.1004b1a0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1004eef3
or dword [esi + 0x1c], 1
mov ebx, dword [ebp - 0x104]
mov byte [esi + 0x19], 1
movzx edx, byte [ebx + 3]
push 0x41e
or edx, 5
push edx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx]
push 0
push eax
lea ecx, [esi + 4]
call fcn.100392c0
add esp, 0x10
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1004dbf0
mov ecx, dword [esi + 4]
push 1
push ecx
call fcn.1003a350
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1004dbf0
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x1004dbd2
movzx edx, byte [ebx + 3]
or edx, 2
push edx
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [esi + 4]
call fcn.10040220
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1004dbcc
mov ecx, dword [esi]
mov eax, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x1b4]
push ecx
push eax
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
push 1
push edx
call fcn.1003b600
add esp, 0x10
mov dword [ebp - 0xd8], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x1004dbf0
mov eax, dword [esi]
push eax
mov eax, dword [esi + 4]
push 0
push 1
push 1
call fcn.1003b600
add esp, 0x10
or dword [esi + 0x1c], 4
mov dword [ebp - 0xd8], eax
xor ecx, ecx
cmp byte [ebx + 3], 8
setne cl
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor ecx, dword [esi + 0x1c]
and ecx, 8
xor dword [esi + 0x1c], ecx
jmp case.default.0x1004b600
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
push 1
push 0xffffffffffffffff
push edx
push eax
mov ebx, edi
call fcn.1004b1a0
add esp, 0x10
test eax, eax
je 0x1004eef3
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 0x10]
push eax
mov dword [eax + 8], edx
mov eax, dword [ecx + 0xc]
push eax
mov eax, dword [ebp - 0xdc]
call fcn.10051830
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.default.0x1004b600
mov edx, dword [edi + 0x38]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, ecx
add esi, 1
mov edi, edx
adc edi, 0
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edi
mov eax, ecx
or eax, edx
jne case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
push 0
push 0xffffffffffffffff
push eax
push ecx
mov ebx, edi
call fcn.1004b1a0
add esp, 0x10
test eax, eax
je 0x1004eef3
mov edx, dword [ebp - 0x104]
mov byte [eax + 0x19], 1
mov ecx, dword [edx + 8]
or dword [eax + 0x1c], 4
mov dword [eax + 0x10], ecx
jmp case.default.0x1004b600
mov edi, dword [ebp - 0x114]
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
call fcn.10045b80
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov dword [edx + ecx*4], 0
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
test byte [eax + 0x1c], 4
movzx edx, byte [ebx]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x108], edx
mov byte [eax + 0x19], 0
je 0x1004dde5
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
mov al, byte [esi + edx*8 + 8]
lea esi, [esi + edx*8]
and al, 0xe
cmp al, 2
jne 0x1004dd2f
push 0
mov eax, esi
call fcn.1004b2b0
add esp, 4
mov ecx, esi
call fcn.10043460
mov dword [ebp - 0x180], eax
movzx eax, word [esi + 8]
mov dword [ebp - 0x17c], edx
test al, 4
jne 0x1004dd97
test al, 8
jne 0x1004dd5d
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
fild qword [ebp - 0x180]
fcom qword [esi]
fnstsw ax
test ah, 0x41
jne 0x1004dd7f
test byte [ebp - 0x108], 1
fstp st(0)
je 0x1004dd97
dec dword [ebp - 0x108]
jmp 0x1004dd97
fcomp qword [esi]
fnstsw ax
test ah, 5
jp 0x1004dd97
test byte [ebp - 0x108], 1
jne 0x1004dd97
inc dword [ebp - 0x108]
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x180]
mov esi, dword [ebp - 0xe0]
lea ecx, [ebp - 0x134]
push ecx
push 0
push edx
push eax
mov eax, dword [esi]
push 0
call fcn.1003c0a0
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
add esp, 0x14
mov dword [ebp - 0xd8], eax
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], edx
test eax, eax
jne 0x1005034e
jmp 0x1004de5f
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov word [ebp - 0x2b8], cx
test dl, 1
sete cl
mov dword [ebp - 0x2bc], eax
lea ecx, [ecx + ecx - 1]
mov byte [ebp - 0x2b6], cl
mov eax, dword [ebx + 0xc]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov ecx, 0x4000
mov dword [ebp - 0x2b4], eax
test word [eax + 8], cx
je 0x1004de27
call fcn.10043070
mov ecx, dword [ebp - 0xe0]
lea edx, [ebp - 0x134]
push edx
push 0
push 0
lea eax, [ebp - 0x2bc]
push 0
push eax
mov eax, dword [ecx]
call fcn.1003c0a0
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1005034e
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x108]
xor ecx, ecx
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], ecx
mov eax, dword [ebp - 0x134]
cmp edx, 0x40
jl 0x1004dea6
cmp eax, ecx
jl 0x1004de8f
jne 0x1004de84
cmp edx, 0x41
je 0x1004de8f
mov dword [ebp - 0x134], ecx
jmp case.default.0x1004b600
lea edx, [ebp - 0x134]
mov dword [ebp - 0x134], ecx
mov eax, dword [esi]
push edx
push eax
call fcn.1003c680
jmp 0x1004ded9
cmp eax, ecx
jg 0x1004dec4
jne 0x1004deb1
cmp edx, 0x3e
je 0x1004dec4
mov ecx, dword [esi]
xor edx, edx
cmp byte [ecx + 0x49], 1
setne dl
mov dword [ebp - 0x134], edx
jmp 0x1004deea
lea eax, [ebp - 0x134]
mov dword [ebp - 0x134], ecx
mov ecx, dword [esi]
push eax
push ecx
call fcn.1003c830
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1005034e
cmp dword [ebp - 0x134], 0
je case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov edi, dword [eax + edx*4]
mov byte [edi + 0x19], 0
mov ebx, dword [ebx + 8]
lea ecx, [ebx + ebx*4]
lea ecx, [esi + ecx*8]
call fcn.10043460
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], edx
mov byte [edi + 0x1a], 1
jmp case.default.0x1004b600
mov eax, dword [edi + 0x38]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebx + 0xc]
xor edi, edi
lea edx, [eax + eax*4]
mov dword [ebp - 0xe0], ecx
lea esi, [esi + edx*8]
mov dword [ebp - 0x108], edi
cmp dword [ebx + 0x10], edi
jle 0x1004dfaa
mov eax, dword [ecx + 8]
mov dword [ebp - 0x294], eax
mov cx, word [ebx + 0x10]
mov dword [ebp - 0x28c], esi
xor edx, edx
xor esi, esi
mov word [ebp - 0x290], cx
cmp dx, cx
jae 0x1004dfa2
mov eax, dword [ebp - 0x28c]
add eax, edi
mov edx, 0x4000
test word [eax + 8], dx
je 0x1004df97
call fcn.10043070
mov cx, word [ebp - 0x290]
movzx eax, cx
inc esi
add edi, 0x28
cmp esi, eax
jl 0x1004df78
lea edi, [ebp - 0x294]
jmp 0x1004e009
mov ecx, dword [ebp - 0xe0]
mov edi, dword [ecx + 8]
push 0xbf
lea ebx, [ebp - 0x108]
lea edx, [ebp - 0xc8]
call fcn.10047590
mov edi, eax
add esp, 4
test edi, edi
je 0x1004eef3
mov edx, 0x4000
test word [esi + 8], dx
je 0x1004dfe8
mov eax, esi
call fcn.10043070
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0xe0]
push edi
push eax
mov eax, dword [edx + 8]
push ecx
push eax
call fcn.100475f0
mov ebx, dword [ebp - 0x104]
add esp, 0x10
mov byte [edi + 6], 0
cmp byte [ebx], 0x43
jne 0x1004e03f
xor edx, edx
xor ecx, ecx
cmp dx, word [edi + 4]
jae 0x1004e03f
mov eax, dword [edi + 8]
add eax, 8
test byte [eax], 1
jne 0x1004e035
movzx edx, word [edi + 4]
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x1004e022
jmp 0x1004e03f
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xe4], eax
mov esi, dword [ebp - 0xe0]
lea eax, [ebp - 0x1ac]
push eax
mov eax, dword [esi]
push 0
push 0
push 0
push edi
call fcn.1003c0a0
add esp, 0x14
cmp dword [ebx + 0x10], 0
mov edi, eax
mov dword [ebp - 0xd8], edi
jne 0x1004e07c
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xdc]
call fcn.10025e40
test edi, edi
jne case.default.0x1004b600
mov ecx, dword [ebp - 0x1ac]
xor eax, eax
test ecx, ecx
mov dword [esi + 0xc], ecx
sete al
mov cl, 1
sub cl, al
mov byte [esi + 0x19], cl
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], edi
cmp byte [ebx], 0x45
jne 0x1004e0be
test eax, eax
je case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
test eax, eax
jne case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov ecx, dword [ebx + 0xc]
mov edi, dword [eax + edx*4]
mov eax, dword [edi]
lea ecx, [ecx + ecx*4]
mov edx, dword [esi + ecx*8]
mov esi, dword [esi + ecx*8 + 4]
lea ecx, [ebp - 0x118]
push ecx
push 0
push esi
push edx
push 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x2f0], edx
call fcn.1003c0a0
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x118]
add esp, 0x14
mov dword [edi + 0x30], edx
mov dword [edi + 0x34], esi
mov dword [edi + 0x3c], 0
mov word [edi + 0x19], 0
test eax, eax
je 0x1004e145
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
mov dword [edi + 0xc], eax
jmp case.default.0x1004b600
mov edx, dword [edi + 0x38]
mov eax, dword [ebx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [eax + 0x28]
mov dword [ecx], edx
mov eax, dword [eax + 0x2c]
mov dword [ecx + 4], eax
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x1004b600
mov edx, dword [edi + 0x38]
xor eax, eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + 4]
mov edx, dword [edx + eax*4]
mov eax, dword [edx]
mov dword [ebp - 0xf0], edx
test eax, eax
je 0x1004e367
test byte [edx + 0x1c], 2
jne 0x1004e239
lea edi, [ebp - 0xec]
mov esi, eax
call fcn.1003c050
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x10050348
cmp dword [ebp - 0xec], eax
je 0x1004e1e3
mov dword [ebp - 0x130], 1
mov dword [ebp - 0x12c], eax
jmp 0x1004e22d
mov eax, dword [ebp - 0xf0]
mov esi, dword [eax]
lea edi, [ebp - 0x130]
call fcn.1003b740
cmp dword [ebp - 0x12c], 0x7fffffff
mov dword [ebp - 0xd8], eax
jl 0x1004e21f
jg 0x1004e213
cmp dword [ebp - 0x130], 0xffffffff
jb 0x1004e21f
mov eax, dword [ebp - 0xf0]
or dword [eax + 0x1c], 2
jmp 0x1004e22d
add dword [ebp - 0x130], 1
adc dword [ebp - 0x12c], 0
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0x11c]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x1004e2cd
mov ecx, dword [edi + 0xb0]
test ecx, ecx
je 0x1004e269
mov eax, dword [ecx + 4]
test eax, eax
je 0x1004e25e
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x1004e255
mov eax, dword [ecx + 0x10]
lea edx, [ebx + ebx*4]
lea esi, [eax + edx*8]
jmp 0x1004e26f
lea ecx, [ebx + ebx*4]
lea esi, [esi + ecx*8]
call fcn.100435c0
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x1004e28a
cmp ecx, 0x7fffffff
je 0x1004e341
mov edx, dword [ebp - 0xf0]
test byte [edx + 0x1c], 2
jne 0x1004e341
mov edx, dword [ebp - 0x12c]
add eax, 1
adc ecx, 0
cmp edx, ecx
jg 0x1004e2c2
jl 0x1004e2b4
cmp dword [ebp - 0x130], eax
jae 0x1004e2c2
mov edx, ecx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x130]
mov dword [esi], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xf0]
test byte [ecx + 0x1c], 2
je 0x1004e350
xor ebx, ebx
mov esi, ecx
lea edx, [ebp - 0x130]
push edx
push 8
call fcn.10027e60
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
and eax, 0x3fffffff
add ecx, 1
lea edx, [ebp - 0xec]
push edx
adc eax, 0
push 0
push eax
push ecx
mov dword [ebp - 0x12c], eax
mov eax, dword [esi]
push 0
mov dword [ebp - 0x130], ecx
call fcn.1003c0a0
add esp, 0x1c
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1004e350
cmp dword [ebp - 0xec], eax
jne 0x1004e350
inc ebx
cmp ebx, 0x64
jl 0x1004e2e1
mov dword [ebp - 0xd8], 0xd
jmp 0x1005034e
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xe8]
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x1004b600
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 4]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [edi + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x110], ecx
cmp dl, 0x4b
jne 0x1004e3af
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*8]
mov esi, dword [esi + edx*8 + 4]
jmp 0x1004e3b2
cdq
mov esi, edx
test byte [ebx + 3], 1
mov dword [ebp - 0x1c0], eax
je 0x1004e3c1
inc dword [edi + 0x5c]
test byte [ebx + 3], 2
je 0x1004e3df
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], esi
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], esi
mov eax, dword [ebp - 0xfc]
movzx edx, word [eax + 8]
test dl, 1
je 0x1004e3f6
xor edi, edi
mov dword [eax + 0x10], edi
mov dword [eax + 0xc], edi
test byte [ebx + 3], 0x10
je 0x1004e401
mov ecx, dword [ecx + 0xc]
jmp 0x1004e403
xor ecx, ecx
test edx, 0x4000
je 0x1004e40f
mov edi, dword [eax]
jmp 0x1004e411
xor edi, edi
movzx edx, byte [ebx + 3]
push ecx
mov ecx, dword [eax + 0xc]
shr edx, 3
and edx, 1
push edx
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x1c0]
push edi
mov edi, dword [ebp - 0x110]
push ecx
push edx
push esi
push eax
mov eax, dword [edi]
push 0
call fcn.1003fad0
add esp, 0x20
mov dword [ebp - 0xd8], eax
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
test eax, eax
jne case.default.0x1004b600
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xd0]
test edx, edx
je case.default.0x1004b600
mov eax, dword [ebx + 0x10]
test eax, eax
je case.default.0x1004b600
push esi
mov esi, dword [ebp - 0x1c0]
push esi
mov esi, dword [ecx + 0x10]
push eax
movsx eax, byte [edi + 0x18]
mov ecx, dword [ecx + 0xcc]
add eax, eax
mov eax, dword [esi + eax*8]
push eax
mov al, byte [ebx + 3]
and al, 4
movzx eax, al
neg eax
sbb eax, eax
and eax, 5
add eax, 0x12
push eax
push ecx
call edx
add esp, 0x18
jmp case.default.0x1004b600
mov eax, dword [edi + 0x38]
mov edx, dword [ebx + 4]
mov esi, dword [eax + edx*4]
mov eax, dword [esi]
call fcn.1003fcf0
mov dword [ebp - 0xd8], eax
mov dword [esi + 0x3c], 0
test eax, eax
jne 0x1004e51e
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0xd0]
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x1004e51e
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x1004e51e
test byte [esi + 0x1c], 4
je 0x1004e51e
mov edx, dword [esi + 0x34]
push edx
mov edx, dword [esi + 0x30]
push edx
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xcc]
push eax
movsx eax, byte [esi + 0x18]
add eax, eax
mov eax, dword [edx + eax*8]
push eax
push 9
push ecx
call dword [ebp - 0xfc]
add esp, 0x18
test byte [ebx + 8], 1
je case.default.0x1004b600
inc dword [edi + 0x5c]
jmp case.default.0x1004b600
mov eax, dword [edi + 0x5c]
mov ecx, dword [ebp - 0xdc]
add dword [ecx + 0x54], eax
mov dword [ecx + 0x50], eax
mov dword [edi + 0x5c], 0
jmp case.default.0x1004b600
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov eax, dword [eax + edx*4]
mov edx, dword [ebx + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
lea esi, [ebp - 0x104]
push esi
push edx
push ecx
mov dword [ebp - 0x104], 0
call fcn.10053a50
add esp, 0xc
cmp dword [ebp - 0x104], 0
mov dword [ebp - 0xd8], eax
je case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [ebx + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
lea ecx, [esi + edx*8]
mov edx, dword [edi + 0x38]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xe8], ecx
call fcn.100539b0
mov ecx, dword [edi + 0x38]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [ecx + eax*4]
mov dword [edx + 0x3c], 0
jmp case.default.0x1004b600
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edi + 0x38]
mov ebx, dword [eax + edx*4]
test byte [ebx + 0x1c], 4
mov esi, dword [ebx]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe0], esi
jne 0x1004e634
lea edi, [ebp - 0x238]
call fcn.1003b740
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x58]
cdq
cmp dword [ebp - 0x234], edx
jg 0x1004c154
mov esi, dword [ebp - 0x238]
jl 0x1004e62c
cmp esi, eax
ja 0x1004c154
mov dword [ebp - 0x18c], esi
jmp 0x1004e658
lea edx, [ebp - 0x18c]
push edx
call fcn.1003b790
mov esi, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xdc]
add esp, 4
cmp esi, dword [eax + 0x58]
ja 0x1004c154
mov ecx, esi
cmp esi, 0x20
ja 0x1004e664
mov ecx, 0x20
mov edi, dword [ebp - 0xe8]
cmp dword [edi + 0x18], ecx
jge 0x1004e6c1
xor eax, eax
call fcn.10042ed0
test eax, eax
jne 0x1004eef3
mov dx, word [edi + 8]
mov eax, 0xbe10
and dx, ax
or dx, 0x10
mov dword [edi + 0xc], esi
mov word [edi + 8], dx
test byte [ebx + 0x1c], 4
jne 0x1004e6ce
mov eax, dword [edi + 0x10]
push 0
push eax
push esi
mov esi, dword [ebp - 0xe0]
push 0
call fcn.1003b9b0
mov dword [ebp - 0xd8], eax
add esp, 0x10
mov byte [edi + 0xa], 1
jmp case.default.0x1004b600
mov ecx, dword [edi + 0x14]
and word [edi + 8], 0xd
mov dword [edi + 0x10], ecx
jmp 0x1004e67e
mov ecx, dword [edi + 0x10]
mov edx, dword [ebp - 0xe0]
push ecx
push esi
push 0
push edx
call fcn.1003bd20
mov dword [ebp - 0xd8], eax
add esp, 0x10
mov byte [edi + 0xa], 1
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + eax*4]
cmp byte [esi + 0x19], 0
je 0x1004e710
mov eax, 1
mov word [ecx + 8], ax
jmp case.default.0x1004b600
cmp byte [esi + 0x1a], 0
je 0x1004e738
mov ecx, dword [esi + 0x30]
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x188], ecx
mov edx, dword [esi + 0x34]
mov dword [ebp - 0x184], edx
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x1004b600
cmp dword [esi + 0x24], 0
je 0x1004e77e
mov esi, dword [esi + 0x24]
mov ebx, dword [esi]
mov eax, dword [ebx]
mov edx, dword [eax + 0x30]
lea ecx, [ebp - 0x188]
push ecx
push esi
call edx
push ebx
push edi
mov dword [ebp - 0xd8], eax
call fcn.100487d0
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
add esp, 0x10
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x1004b600
mov eax, dword [esi]
cmp byte [eax + 0x49], 1
je 0x1004e7b5
mov edi, esi
call fcn.10047190
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x10050348
cmp byte [esi + 0x19], 0
je 0x1004e7c1
mov edx, dword [ebp - 0xe8]
mov ecx, 1
mov word [edx + 8], cx
jmp case.default.0x1004b600
mov dword [ebp - 0xd8], 0
jmp 0x1004e79b
mov esi, dword [esi]
lea edi, [ebp - 0x188]
call fcn.1003b740
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
mov eax, dword [eax]
test eax, eax
je case.default.0x1004b600
mov esi, eax
call fcn.10037f20
jmp case.default.0x1004b600
mov eax, dword [ebp - 0x114]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx + edx*4]
mov esi, dword [eax]
lea edi, [ebp - 0x10c]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x10c], 0
call fcn.1003c050
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xfc]
mov byte [eax + 0x19], cl
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov ebx, dword [ebx + 8]
test ebx, ebx
jle case.default.0x1004b600
test ecx, ecx
je case.default.0x1004b600
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
inc dword [edi + 0x74]
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
cmp dword [esi + 0x38], 0
mov dword [ebp - 0xf8], 1
je 0x1004e8b0
lea edi, [ebp - 0xf8]
mov eax, esi
call fcn.100538e0
jmp 0x1004e8ea
mov edi, dword [esi]
mov eax, edi
call fcn.1003be10
test eax, eax
jne 0x1004e8df
cmp byte [edi + 0x49], al
jne 0x1004e8ce
mov dword [ebp - 0xf8], 1
jmp 0x1004e8df
mov eax, edi
mov dword [ebp - 0xf8], 0
call fcn.1003bf60
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf8]
mov byte [esi + 0x19], al
test eax, eax
je case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov esi, dword [edx + ecx*4]
mov eax, dword [ebp - 0xdc]
push eax
lea ebx, [ebp - 0x168]
mov eax, esi
mov dword [ebp - 0x168], 0
call fcn.10053930
mov edi, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x104]
add esp, 4
jmp 0x1004e97c
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
cmp dword [edx + ecx*4], 0
je case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x38]
mov esi, dword [ecx + eax*4]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x168], edx
mov ecx, dword [esi]
mov edx, dword [ebx + 0x10]
lea eax, [ebp - 0x168]
push eax
push ecx
call edx
add esp, 8
mov dword [esi + 0x3c], 0
cmp dword [ebp - 0x168], 0
mov dword [ebp - 0xd8], eax
jne 0x1004e9b1
mov byte [esi + 0x19], 0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xe4], eax
movzx eax, byte [ebx + 3]
inc dword [edi + eax*4 + 0x6c]
lea eax, [edi + eax*4 + 0x6c]
jmp 0x1004fe21
mov byte [esi + 0x19], 1
jmp 0x1004fe21
test byte [ebx + 3], 1
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov ecx, dword [edx + ecx*4]
mov eax, dword [ebx + 8]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0x110], ecx
je 0x1004e9e3
inc dword [edi + 0x5c]
mov edx, 0x4000
test word [esi + 8], dx
je 0x1004ea03
mov eax, esi
call fcn.10043070
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x1004b600
mov edi, dword [ebp - 0xfc]
cmp dword [edi + 0x38], 0
je 0x1004ea25
push esi
mov eax, edi
call fcn.100529a0
add esp, 4
mov dword [ebp - 0xd8], eax
jmp case.default.0x1004b600
test byte [ebx + 3], 0x10
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
je 0x1004ea36
mov ecx, dword [edi + 0xc]
jmp 0x1004ea38
xor ecx, ecx
push ecx
mov ecx, dword [ebx + 0xc]
push ecx
push 0
push 0
cdq
push 0x101d0eca
push edx
push eax
mov eax, dword [ebp - 0x110]
push esi
call fcn.1003fad0
add esp, 0x20
mov dword [ebp - 0xd8], eax
mov dword [edi + 0x3c], 0
jmp case.default.0x1004b600
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov edi, dword [eax + edx*4]
mov ecx, dword [edi + 8]
mov eax, dword [edi]
mov dx, word [ebx + 0xc]
mov ebx, dword [ebx + 8]
mov dword [ebp - 0x2a8], ecx
mov word [ebp - 0x2a4], dx
lea ecx, [ebx + ebx*4]
lea edx, [esi + ecx*8]
lea ecx, [ebp - 0x1b0]
push ecx
push 0
push 0
mov dword [ebp - 0x2a0], edx
lea edx, [ebp - 0x2a8]
push 0
push edx
mov dword [ebp - 0xfc], eax
mov byte [ebp - 0x2a2], 0
call fcn.1003c0a0
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1004eae4
cmp dword [ebp - 0x1b0], eax
jne 0x1004eae4
mov eax, dword [ebp - 0xfc]
call fcn.1003fcf0
mov dword [ebp - 0xd8], eax
mov dword [edi + 0x3c], 0
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov edi, dword [edx + eax*4]
mov esi, dword [edi]
mov eax, 1
mov word [ecx + 8], ax
mov ecx, dword [edi]
cmp byte [ecx + 0x49], al
je 0x1004eb85
call fcn.10047190
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x10050348
cmp byte [edi + 0x19], 0
mov ebx, dword [ebp - 0xe8]
jne case.default.0x1004b600
mov eax, dword [ebp - 0xdc]
lea edx, [ebp - 0x1a0]
push edx
xor edi, edi
push eax
mov eax, esi
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x19c], edi
call fcn.100484c0
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, edi
jne 0x10050348
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x19c]
mov eax, 4
mov dword [ebx], ecx
mov dword [ebx + 4], edx
mov word [ebx + 8], ax
jmp case.default.0x1004b600
mov dword [ebp - 0xd8], 0
jmp 0x1004eb22
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov ax, word [ebx + 0x10]
mov ecx, dword [edi + 8]
mov word [ebp - 0x2e0], ax
mov eax, dword [ebx + 0xc]
cmp dl, 0x73
mov dword [ebp - 0x2e4], ecx
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x11c]
sbb cl, cl
mov byte [ebp - 0x2de], cl
lea ecx, [eax + edx*8]
lea edx, [ebp - 0xe0]
push edx
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0x2dc], ecx
mov ecx, dword [ebp - 0xdc]
push eax
push ecx
mov dword [ebp - 0xe0], 0
call fcn.10048610
add esp, 0xc
test byte [ebx], 1
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xe0]
je 0x1004ec10
neg eax
jmp 0x1004ec11
inc eax
test eax, eax
jle case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov edx, dword [ebp - 0xdc]
mov esi, dword [edx + 4]
mov dword [ebp - 0xe0], 0
test esi, esi
je 0x1004ec6c
nop
cmp dword [esi + 0x28], 0xbdf20da3
jne 0x1004ec65
mov eax, dword [esi + 0x58]
test eax, 0x200
je 0x1004ec65
and al, 0xc
cmp al, 8
jae 0x1004ec65
cmp dword [esi + 0x4c], 0
jl 0x1004ec65
inc dword [ebp - 0xe0]
mov esi, dword [esi + 0x34]
test esi, esi
jne 0x1004ec40
mov eax, 1
mov word [ecx + 8], ax
cmp dword [ebp - 0xe0], eax
jle 0x1004ec90
mov dword [ebp - 0xd8], 6
mov byte [edi + 0x56], 2
jmp case.default.0x1004b600
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
push edx
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0xf4], 0
call fcn.100406f0
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xf4]
mov edi, eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, esi
cdq
add esp, 8
mov dword [ebp - 0xd8], edi
mov dword [ecx], eax
mov dword [ecx + 4], edx
test edi, edi
jne case.default.0x1004b600
test esi, esi
je case.default.0x1004b600
mov edi, dword [ebx + 4]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
call fcn.100632b0
mov al, byte [ebp - 0xe0]
inc al
mov byte [ebp - 0x122], al
jmp case.default.0x1004b600
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov ebx, dword [ebx + 4]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0x110]
and ecx, edx
push ecx
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
add eax, eax
mov dword [ebp - 0x110], 0
mov eax, dword [edx + eax*8 + 4]
call fcn.10040430
mov ecx, dword [ebp - 0x104]
add esp, 4
cmp dword [ecx + 0xc], 0
mov dword [ebp - 0xd8], eax
je case.default.0x1004b600
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x114]
add dword [edx + 0x5c], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle case.default.0x1004b600
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.default.0x1004b600
mov ecx, dword [edi + 0x38]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 0x38]
test edi, edi
je 0x1004edbf
mov ebx, dword [ebp - 0xdc]
call fcn.10051cf0
jmp case.default.0x1004b600
mov eax, dword [eax]
mov ebx, dword [eax + 0x3c]
mov eax, dword [eax]
push 0
call fcn.10040430
add esp, 4
mov dword [ebp - 0xd8], eax
jmp case.default.0x1004b600
mov ebx, dword [ebx + 4]
mov eax, dword [ebp - 0xdc]
shl ebx, 4
add ebx, dword [eax + 0x10]
xor eax, eax
cmp dl, 0x79
setne al
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0xfc], 0
inc eax
push eax
mov eax, dword [ebx + 4]
push ecx
call fcn.10040220
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xfc]
cdq
add esp, 8
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x1004ee3f
mov ecx, str.sqlite_master
mov edx, dword [ebx + 0x10]
mov esi, dword [ebp - 0xdc]
push edx
push ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x208], eax
add edi, 0x2c
add eax, eax
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x20c], edi
mov edx, dword [ecx + eax*8]
push edx
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.10027a80
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1004ee88
mov dword [ebp - 0xd8], 7
jmp 0x1004eedf
push 0
lea eax, [ebp - 0x210]
push eax
push fcn.10076160
push edi
push esi
mov byte [esi + 0x91], 1
mov dword [ebp - 0x204], 0
call fcn.100727c0
mov ebx, eax
add esp, 0x14
mov dword [ebp - 0xd8], ebx
test ebx, ebx
jne 0x1004eecb
mov ecx, dword [ebp - 0x204]
mov dword [ebp - 0xd8], ecx
mov ebx, ecx
mov eax, edi
mov ecx, esi
call fcn.10025e40
mov byte [esi + 0x91], 0
test ebx, ebx
je 0x1004eee6
mov eax, esi
call fcn.10060900
cmp dword [ebp - 0xd8], 7
jne case.default.0x1004b600
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x114]
push str.out_of_memory
push eax
add edx, 0x2c
push edx
mov byte [eax + 0x41], 1
call fcn.10026350
mov edi, dword [ebp - 0x114]
add esp, 0xc
mov dword [ebp - 0xd8], 7
jmp 0x1004fe8b
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xdc]
call fcn.1005ec00
mov dword [ebp - 0xd8], eax
jmp case.default.0x1004b600
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xdc]
push edx
call fcn.10060d10
add esp, 4
jmp case.default.0x1004b600
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xdc]
push eax
mov eax, dword [ebx + 4]
call fcn.100606a0
add esp, 4
jmp case.default.0x1004b600
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xdc]
push ecx
call fcn.100828e0
add esp, 4
jmp case.default.0x1004b600
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0xdc]
lea edx, [eax*4 + 4]
push 0
push edx
mov dword [ebp - 0xec], eax
call fcn.100260c0
add esp, 8
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x1004eef3
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x11c]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
xor esi, esi
lea eax, [ecx + edx*8]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xec], esi
jle 0x1004f014
mov dword [ebp - 0xe0], eax
mov edi, edi
mov ecx, dword [ebp - 0xe0]
call fcn.10043460
mov ecx, dword [ebp - 0xf8]
add dword [ebp - 0xe0], 0x28
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [ebp - 0xec]
jl 0x1004eff0
mov eax, dword [ebp - 0xf8]
mov dword [eax + esi*4], 0
mov ecx, dword [edi]
lea edx, [ebp - 0x1c4]
push edx
mov edx, dword [ebp - 0xec]
push ecx
mov ecx, dword [ebp - 0xdc]
push edx
mov edx, dword [ecx + 0x10]
push eax
movzx eax, byte [ebx + 3]
add eax, eax
mov ecx, dword [edx + eax*8 + 4]
call fcn.100413c0
mov ecx, dword [ebp - 0xdc]
mov ebx, eax
mov eax, dword [ebp - 0xf8]
add esp, 0x10
call fcn.10025e40
mov esi, dword [ebp - 0x1c4]
mov eax, esi
cdq
sub dword [edi], eax
mov eax, dword [ebp - 0xf4]
sbb dword [edi + 4], edx
call fcn.100437d0
test esi, esi
je 0x1004f09f
test ebx, ebx
je 0x1004eef3
mov ecx, dword [ebp - 0xf4]
push fcn.10025d60
push 1
push ebx
or eax, 0xffffffff
call fcn.10043a70
add esp, 0xc
movzx ecx, byte [ebp - 0x121]
mov eax, dword [ebp - 0xf4]
call fcn.10042eb0
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + ebx*4]
lea edi, [esi + eax*8]
mov bl, 0x20
lea esi, [esi + ecx*8]
test byte [edi + 8], bl
jne 0x1004f0dd
call fcn.10043870
test byte [edi + 8], bl
je 0x1004eef3
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov edi, dword [edi]
push edx
push eax
call fcn.1002f7f0
add esp, 8
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 8], 0x20
lea eax, [esi + ecx*8]
mov dword [ebp - 0xf4], eax
je 0x1004f14c
mov edx, eax
mov eax, dword [edx]
lea esi, [ebp - 0x230]
call fcn.1002fb90
test eax, eax
je 0x1004f146
mov eax, dword [ebp - 0x22c]
mov ebx, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x230]
push eax
mov eax, dword [ebp - 0x11c]
lea edx, [ebx + ebx*4]
push ecx
lea eax, [eax + edx*8]
call fcn.10043830
add esp, 8
jmp 0x1004fe21
mov eax, dword [ebp - 0xf4]
call fcn.100437d0
jmp case.0x1004b600.16
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 8], 0x20
mov eax, dword [ebx + 0xc]
lea edi, [esi + ecx*8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x10]
lea esi, [esi + edx*8]
mov dword [ebp - 0xfc], eax
jne 0x1004f18d
call fcn.10043870
test byte [edi + 8], 0x20
je 0x1004eef3
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x1004f1be
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
push edx
push eax
mov eax, dword [edi]
call fcn.1002fbe0
add esp, 0xc
test eax, eax
je 0x1004f1b6
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [ebp - 0xfc]
test eax, eax
js case.default.0x1004b600
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov edi, dword [edi]
push eax
push ecx
call fcn.1002f7f0
add esp, 8
jmp case.default.0x1004b600
cmp byte [ebx + 3], 0
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0xfc], esi
je 0x1004f215
mov eax, dword [edi + 0xb0]
mov ecx, dword [ecx + 0x14]
test eax, eax
je 0x1004f215
cmp dword [eax + 0x1c], ecx
je case.default.0x1004b600
mov eax, dword [eax + 4]
test eax, eax
jne 0x1004f205
mov eax, dword [edi + 0xb8]
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x80]
jl 0x1004f24c
push str.too_many_levels_of_trigger_recursion
mov edx, ecx
push edx
add edi, 0x2c
push edi
mov dword [ebp - 0xd8], 1
call fcn.10026350
add esp, 0xc
jmp case.default.0x1004b600
test byte [esi + 8], 0x40
jne 0x1004f33b
mov esi, dword [ebp - 0x110]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x10]
add eax, ecx
mov dword [ebp - 0x110], eax
lea eax, [eax + eax*4 + 0xa]
lea ecx, [ecx + eax*2]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp - 0xdc]
cdq
push edx
push eax
call fcn.10026090
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1004eef3
mov eax, dword [ebp - 0xfc]
call fcn.100433e0
mov eax, dword [ebp - 0xfc]
mov dword [eax], ebx
mov ecx, 0x40
mov word [eax + 8], cx
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xe4]
mov dword [ebx + 0x3c], eax
mov dword [ebx], edi
mov edx, dword [esi + 0xc]
mov dword [ebx + 0x2c], ecx
mov dword [ebx + 0x40], edx
mov edx, dword [edi + 8]
mov dword [ebx + 0x10], edx
mov ecx, dword [edi + 0x1c]
mov dword [ebx + 0x34], ecx
mov edx, dword [edi + 0x38]
mov dword [ebx + 0x18], edx
mov ecx, dword [edi + 0x24]
mov dword [ebx + 0x28], ecx
mov edx, dword [edi + 4]
mov dword [ebx + 8], edx
mov ecx, dword [edi + 0x20]
mov dword [ebx + 0x30], ecx
mov edx, dword [esi + 0x14]
mov dword [ebx + 0x1c], edx
mov ecx, dword [edi + 0xc8]
lea eax, [eax + eax*4 + 0xa]
mov dword [ebx + 0x14], ecx
mov edx, dword [edi + 0xc4]
lea ecx, [ebx + eax*8]
lea eax, [ebx + 0x50]
mov dword [ebx + 0x38], edx
cmp eax, ecx
je 0x1004f343
jmp 0x1004f320
mov edx, 0x80
mov word [eax + 8], dx
mov edx, dword [ebp - 0xdc]
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x1004f320
jmp 0x1004f343
mov ebx, dword [esi]
mov esi, dword [ebp - 0x110]
inc dword [edi + 0xb8]
mov eax, dword [edi + 0xb0]
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
mov dword [ebx + 4], eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], edx
mov eax, dword [edi + 0x5c]
mov dword [ebx + 0x44], eax
mov ecx, dword [edi]
mov edx, dword [ecx + 0x50]
mov dword [ebx + 0x48], edx
mov dword [edi + 0x5c], 0
mov dword [edi + 0xb0], ebx
lea ecx, [ebx + 0x28]
mov dword [edi + 8], ecx
mov eax, dword [ebx + 0x3c]
mov dword [edi + 0x1c], eax
movzx edx, word [ebx + 0x40]
lea eax, [eax + eax*4 + 5]
lea eax, [ecx + eax*8]
mov dword [edi + 0x38], eax
mov dword [edi + 0x24], edx
mov dword [ebp - 0x11c], ecx
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [ebp - 0x164], ecx
mov ecx, dword [esi + 4]
lea eax, [eax + edx*4]
mov dword [edi + 0x20], ecx
mov dword [edi + 0xc8], eax
mov esi, dword [esi + 0x10]
push esi
push 0
push eax
mov dword [edi + 0xc4], esi
mov dword [ebp - 0xe4], 0xffffffff
call sub.MSVCR100.dll_memset
add esp, 0xc
jmp case.default.0x1004b600
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 0xb0]
mov eax, dword [ecx + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 8]
mov eax, dword [eax + edx*4 + 4]
add eax, dword [ebx + 4]
push 0x1000
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea edi, [eax + edx*8]
mov eax, dword [ebp - 0xe8]
call fcn.10043950
add esp, 4
jmp case.default.0x1004b600
mov ecx, dword [ebp - 0xdc]
test dword [ecx + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x1004f441
add dword [ecx + 0x200], eax
adc dword [ecx + 0x204], edx
jmp case.default.0x1004b600
cmp dword [ebx + 4], 0
je 0x1004f458
add dword [ecx + 0x1f8], eax
adc dword [ecx + 0x1fc], edx
jmp case.default.0x1004b600
add dword [edi + 0x90], eax
adc dword [edi + 0x94], edx
jmp case.default.0x1004b600
cmp dword [ebx + 4], 0
je 0x1004f4a8
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x1f8]
or ecx, dword [eax + 0x1fc]
jne case.default.0x1004b600
mov edx, dword [eax + 0x200]
or edx, dword [eax + 0x204]
jne case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jne case.default.0x1004b600
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x200]
or ecx, dword [eax + 0x204]
jne case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov edi, dword [edi + 0xb0]
test edi, edi
je 0x1004f50b
mov ecx, edi
mov eax, dword [ecx + 4]
test eax, eax
je 0x1004f4fd
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x1004f4f4
mov eax, dword [ebx + 4]
lea edx, [eax + eax*4]
mov eax, dword [ecx + 0x10]
lea edi, [eax + edx*8]
jmp 0x1004f514
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea edi, [esi + ecx*8]
mov esi, edi
call fcn.100435c0
mov ebx, dword [ebx + 8]
mov eax, dword [ebp - 0x11c]
lea edx, [ebx + ebx*4]
lea esi, [eax + edx*8]
call fcn.100435c0
mov eax, dword [esi]
mov esi, dword [esi + 4]
cmp dword [edi + 4], esi
jg case.default.0x1004b600
jl 0x1004f547
cmp dword [edi], eax
jae case.default.0x1004b600
mov dword [edi], eax
mov dword [edi + 4], esi
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
cmp dword [esi + eax*8 + 4], 0
jl case.default.0x1004b600
jg 0x1004f56e
cmp dword [esi + eax*8], 0
jbe case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [ebx + 0xc]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
cmp dword [esi + 4], 0
jg case.default.0x1004b600
jl 0x1004f5a4
cmp dword [esi], 0
jae case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
lea esi, [esi + ecx*8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov edx, dword [esi]
or edx, dword [esi + 4]
jne case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
jmp case.default.0x1004b600
mov eax, dword [ebx + 8]
movzx ecx, byte [ebx + 3]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xfc], eax
xor eax, eax
mov dword [ebp - 0x110], ecx
test ecx, ecx
jle 0x1004f618
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0x110]
inc eax
add edx, 0x28
cmp eax, ecx
jl 0x1004f601
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x1fc], edx
mov dword [ebp - 0x1f8], eax
inc dword [eax + 0xc]
mov eax, dword [ebp - 0xdc]
mov edx, 1
mov word [ebp - 0x310], dx
mov dword [ebp - 0x2f8], eax
xor eax, eax
lea edx, [ebp - 0x318]
mov dword [ebp - 0x200], edx
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0xe4]
push edx
mov dword [ebp - 0x1f0], eax
push ecx
mov ecx, dword [ebp - 0x1fc]
lea eax, [ebp - 0x200]
mov dword [ebp - 0x1f4], edi
mov byte [ebp - 0x1e8], 0
mov edx, dword [ecx + 0x10]
push eax
call edx
add esp, 0xc
cmp dword [ebp - 0x1ec], 0
je 0x1004f6d8
lea eax, [ebp - 0x318]
push eax
call fcn.10048c40
mov ecx, dword [ebp - 0xdc]
add esp, 4
push eax
push 0x101da890
push ecx
add edi, 0x2c
push edi
call fcn.10026350
mov edx, dword [ebp - 0x1ec]
add esp, 0x10
mov dword [ebp - 0xd8], edx
cmp byte [ebp - 0x1e8], 0
je 0x1004f6fa
mov ebx, dword [ebx - 0x10]
test ebx, ebx
je 0x1004f6fa
push 0
lea eax, [ebx + ebx*4]
push 1
lea eax, [esi + eax*8]
call fcn.10043830
add esp, 8
lea eax, [ebp - 0x318]
call fcn.100433e0
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
mov ecx, dword [ebx + 0x10]
mov eax, esi
call fcn.10043210
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x1004f749
push esi
call fcn.10048c40
mov edx, dword [ebp - 0xdc]
add esp, 4
push eax
push 0x101da890
push edx
add edi, 0x2c
push edi
call fcn.10026350
add esp, 0x10
movzx ecx, byte [ebp - 0x121]
mov eax, esi
call fcn.10042eb0
mov ecx, esi
call fcn.10043920
test eax, eax
jne 0x1004c154
jmp case.default.0x1004b600
mov edx, dword [ebx + 8]
or eax, 0xffffffff
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0xd0]
push ecx
mov ecx, dword [ebp - 0xdc]
push edx
push eax
xor edi, edi
push ecx
mov dword [ebp - 0xd4], edi
call fcn.100972c0
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp eax, 5
jne 0x1004f7c2
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], 1
mov ebx, dword [ebx + 0xc]
lea edx, [ebx + ebx*4]
lea esi, [esi + edx*8]
jmp 0x1004f7d0
mov eax, dword [ebp + edi*4 - 0xd4]
cdq
push edx
push eax
mov eax, esi
call fcn.10043830
inc edi
add esp, 8
add esi, 0x28
cmp edi, 3
jl 0x1004f7d0
jmp case.default.0x1004b600
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebx + 0xc]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xfc], eax
mov eax, dword [eax + 4]
mov eax, dword [eax]
movzx ecx, byte [eax + 5]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xf0], ecx
cmp edx, 0xffffffff
jne 0x1004f835
mov edx, ecx
mov dword [ebp - 0x104], ecx
cmp byte [eax + 0x10], 3
jae 0x1004f857
mov ecx, dword [eax + 0x40]
cmp dword [ecx], 0
je 0x1004f85f
cmp dword [eax + 0x4c], 0
jl 0x1004f85f
jg 0x1004f851
cmp dword [eax + 0x48], 0
jbe 0x1004f85f
mov ecx, dword [ebp - 0xf0]
mov edx, ecx
mov dword [ebp - 0x104], edx
cmp byte [eax + 0xf], 0
je 0x1004f86c
mov eax, 0x101d0eca
jmp 0x1004f872
mov eax, dword [eax + 0xa8]
cmp edx, 5
jne 0x1004f8a2
mov ecx, eax
call fcn.100288f0
test eax, eax
je 0x1004f891
mov eax, dword [ebp - 0xec]
call fcn.10034cc0
test eax, eax
jne 0x1004f8a2
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x104], edx
jmp 0x1004f94e
mov eax, dword [ebp - 0xf0]
cmp dword [ebp - 0x104], eax
je 0x1004f94e
cmp eax, 5
je 0x1004f8c6
cmp dword [ebp - 0x104], 5
jne 0x1004f94e
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x3f], 0
je 0x1004f980
cmp dword [ecx + 0x98], 1
jg 0x1004f980
cmp eax, 5
jne 0x1004f909
mov edi, dword [ebp - 0xec]
mov eax, edi
call fcn.10034e60
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x1004f942
mov ecx, dword [ebp - 0x104]
mov eax, edi
jmp 0x1004f917
cmp eax, 4
jne 0x1004f91c
lea ecx, [eax - 2]
mov eax, dword [ebp - 0xec]
call fcn.10034b40
mov eax, dword [ebp - 0xfc]
xor ecx, ecx
cmp dword [ebp - 0x104], 5
sete cl
inc ecx
push ecx
call fcn.10041ae0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x1004f94e
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xec]
call fcn.10034b40
mov ebx, dword [ebx + 8]
lea ecx, [ebx + ebx*4]
lea edx, [esi + ecx*8]
mov ecx, 0xa02
mov dword [ebp - 0xe8], edx
mov word [edx + 8], cx
cmp eax, 6
jne 0x1004f9b7
xor eax, eax
jmp 0x1004f9be
cmp dword [ebp - 0x104], 5
mov dword [ebp - 0xd8], 1
mov eax, str.into
je 0x1004f99d
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edx, ecx
push edx
add edi, 0x2c
push edi
call fcn.10026350
add esp, 0x10
jmp case.default.0x1004b600
mov eax, dword [eax*4 + 0x101d22ac]
mov ecx, eax
mov dword [edx + 0x10], eax
call fcn.100288f0
movzx ecx, byte [ebp - 0x121]
mov dword [edx + 0xc], eax
mov eax, edx
mov byte [edx + 0xa], 1
call fcn.10042eb0
jmp case.default.0x1004b600
mov esi, dword [ebp - 0xdc]
lea eax, [edi + 0x2c]
call fcn.10085e60
mov dword [ebp - 0xd8], eax
jmp case.default.0x1004b600
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
push eax
call fcn.1003ada0
add esp, 4
mov dword [ebp - 0xd8], eax
cmp eax, 0x65
jne case.default.0x1004b600
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xd8], 0
jmp case.default.0x1004b600
cmp dword [ebx + 4], 0
jne 0x1004fa54
mov eax, dword [ebp - 0xdc]
call fcn.10048700
jmp case.default.0x1004b600
or dword [edi + 0x58], 0x20
jmp case.default.0x1004b600
mov cl, byte [ebx + 0xc]
test cl, cl
jne 0x1004fa77
mov edx, dword [ebp - 0xdc]
test dword [edx + 0x18], 0x4000
jne case.default.0x1004b600
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xdc]
push edx
mov edx, dword [esi + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.100419e0
add esp, 4
mov dword [ebp - 0xd8], eax
cmp al, 6
jne case.default.0x1004b600
mov eax, dword [ebx + 0x10]
push eax
push str.database_table_is_locked:__s
push esi
add edi, 0x2c
push edi
call fcn.10026350
add esp, 0x10
jmp case.default.0x1004b600
mov edi, dword [ebx + 0x10]
mov esi, dword [ebp - 0xdc]
call fcn.10087500
mov dword [ebp - 0xd8], eax
test edi, edi
je case.default.0x1004b600
mov ecx, dword [edi + 8]
mov edx, dword [ebp - 0x114]
push ecx
push edx
call fcn.100487d0
add esp, 8
jmp case.default.0x1004b600
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xdc]
add edi, 0x2c
push edi
push eax
mov eax, dword [ebx + 4]
call fcn.10087000
add esp, 8
mov dword [ebp - 0xd8], eax
jmp case.default.0x1004b600
mov ecx, dword [edi + 0x58]
and ecx, 0xfffffffb
or ecx, 8
mov dword [edi + 0x58], ecx
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xdc]
push edx
call fcn.100872f0
add esp, 4
and dword [edi + 0x58], 0xfffffff3
mov dword [ebp - 0xd8], eax
jmp case.default.0x1004b600
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf0], 0
mov esi, dword [eax + 8]
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
lea ecx, [ebp - 0xf0]
push ecx
push esi
mov dword [ebp - 0xfc], eax
call edx
push esi
push edi
mov dword [ebp - 0xd8], eax
call fcn.100487d0
add esp, 0x10
cmp dword [ebp - 0xd8], 0
jne case.default.0x1004b600
mov eax, dword [ebp - 0xf0]
push 0
push 0xffffffffffffffff
mov dword [eax], esi
mov ecx, dword [ebx + 4]
push 0
push ecx
mov ebx, edi
call fcn.1004b1a0
add esp, 0x10
test eax, eax
je 0x1004fbb6
mov edx, dword [ebp - 0xf0]
mov dword [eax + 0x24], edx
jmp case.default.0x1004b600
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xfc]
mov byte [eax + 0x41], 1
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.default.0x1004b600
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
lea edx, [esi + ecx*8]
mov ecx, dword [edi + 0x38]
mov eax, dword [ecx + eax*4]
mov esi, dword [eax + 0x24]
mov ecx, dword [edx]
mov dword [ebp - 0xf0], eax
mov eax, dword [esi]
mov dword [ebp - 0xf8], eax
mov eax, dword [eax]
mov dword [ebp - 0xec], ecx
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x110], eax
mov eax, dword [edx + 0x28]
mov dword [ebp - 0xfc], ecx
xor ecx, ecx
mov dword [ebp - 0xe0], esi
test eax, eax
jle 0x1004fc41
mov esi, dword [ebp - 0xfc]
add edx, 0x50
mov edi, edi
mov dword [esi + ecx*4], edx
inc ecx
add edx, 0x28
cmp ecx, eax
jl 0x1004fc30
mov esi, dword [ebp - 0xe0]
mov edx, dword [edi + 0x58]
mov ecx, dword [ebp - 0xfc]
and edx, 0xfffffff7
push ecx
mov ecx, dword [ebp - 0x110]
or edx, 4
push eax
mov eax, dword [ebp - 0xec]
mov dword [edi + 0x58], edx
mov edx, dword [ebx + 0x10]
push edx
mov edx, dword [ecx + 0x20]
push eax
push esi
call edx
and dword [edi + 0x58], 0xfffffff3
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf8]
add esp, 0x14
push eax
push edi
call fcn.100487d0
add esp, 8
cmp dword [ebp - 0xd8], 0
jne 0x1004fcaf
mov ecx, dword [ebp - 0x110]
mov edx, dword [ecx + 0x28]
push esi
call edx
add esp, 4
test eax, eax
je 0x1004fcaf
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
mov eax, dword [ebp - 0xf0]
mov byte [eax + 0x19], 0
jmp case.default.0x1004b600
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx + ecx*4]
cmp byte [ecx + 0x19], 0
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
je 0x1004fce2
mov eax, esi
call fcn.100437d0
jmp case.default.0x1004b600
mov edx, dword [ecx + 0x24]
mov eax, dword [edx]
mov dword [ebp - 0x110], eax
mov eax, dword [eax]
mov dword [ebp - 0xfc], eax
xor eax, eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x254], esi
mov dx, word [esi + 8]
mov eax, 0xbe01
and dx, ax
or dx, 1
mov word [esi + 8], dx
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + 0x24]
push edx
mov edx, dword [ebp - 0xfc]
lea eax, [ebp - 0x254]
push eax
mov eax, dword [edx + 0x2c]
push ecx
call eax
mov ecx, dword [ebp - 0x110]
add esp, 0xc
push ecx
push edi
mov dword [ebp - 0xd8], eax
call fcn.100487d0
mov eax, dword [ebp - 0x240]
add esp, 8
test eax, eax
je 0x1004fd7e
mov dword [ebp - 0xd8], eax
movzx ecx, byte [ebp - 0x121]
mov eax, esi
call fcn.10042eb0
mov ecx, esi
call fcn.10043920
test eax, eax
jne 0x1004c154
jmp case.default.0x1004b600
mov edx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
cmp byte [esi + 0x19], 0
jne case.default.0x1004b600
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov edx, dword [edi + 0x58]
and edx, 0xfffffff7
or edx, 4
mov dword [ebp - 0xfc], eax
mov eax, dword [eax]
mov dword [edi + 0x58], edx
mov ecx, dword [esi + 0x24]
mov edx, dword [eax + 0x24]
push ecx
mov dword [ebp - 0x110], eax
call edx
and dword [edi + 0x58], 0xfffffff3
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xfc]
add esp, 4
push eax
push edi
call fcn.100487d0
add esp, 8
cmp dword [ebp - 0xd8], 0
jne case.0x1004b600.16
mov ecx, dword [esi + 0x24]
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
test eax, eax
jne 0x1004fe21
mov ebx, dword [ebx + 8]
dec ebx
mov dword [ebp - 0xe4], ebx
mov esi, dword [ebp - 0xdc]
mov ecx, dword [esi + 0xf0]
test ecx, ecx
jne 0x100503c3
mov ebx, dword [esi + 0x124]
test ebx, ebx
je case.default.0x1004b600
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x154]
jb case.default.0x1004b600
mov ecx, dword [esi + 0x12c]
xor edx, edx
div ecx
sub ecx, edx
add ecx, dword [ebp - 0x14c]
mov edx, dword [esi + 0x128]
push edx
mov dword [ebp - 0x154], ecx
call ebx
add esp, 4
test eax, eax
je case.default.0x1004b600
mov dword [ebp - 0xd8], 9
mov eax, dword [edi + 0x2c]
mov ecx, dword [edi + 0xa8]
mov edx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
push eax
push ecx
push edx
push str.statement_aborts_at__d:___s___s
push esi
mov dword [edi + 0x50], esi
call fcn.10027e20
add esp, 0x14
mov eax, edi
call fcn.100468f0
cmp esi, 0xc0a
jne 0x1004fecd
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x41], 1
mov al, byte [ebp - 0x122]
mov esi, 1
test al, al
je 0x1004ff13
mov edx, dword [ebp - 0xdc]
movzx ebx, al
mov eax, dword [edx + 0x10]
dec ebx
mov ecx, ebx
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 0xc]
push ecx
call fcn.100670d0
add esp, 4
cmp ebx, esi
je 0x1004ff13
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
call fcn.100670d0
add esp, 4
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x14c]
mov dword [eax + 0x24], ecx
add dword [edi + 0x7c], edx
push edi
call fcn.10045200
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.1017eae7
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x10]
mov ebx, dword [ebx + 4]
mov ecx, dword [eax + 8]
lea edx, [ebx + ebx*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xfc], ecx
mov ecx, 1
mov eax, esi
call fcn.10042eb0
mov dword [ebp - 0xd8], eax
test eax, eax
jne case.default.0x1004b600
mov ebx, dword [ebp - 0xfc]
mov ecx, dword [esi + 0x10]
mov eax, dword [ebx]
mov edx, dword [eax + 0x4c]
push ecx
push ebx
call edx
push ebx
push edi
mov dword [ebp - 0xd8], eax
call fcn.100487d0
add esp, 0x10
and dword [edi + 0x58], 0xffffffdf
jmp case.default.0x1004b600
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xfc], eax
mov eax, dword [eax]
cmp dword [eax + 0x34], 0
mov dword [ebp - 0x110], eax
je case.default.0x1004b600
mov edx, dword [ebp - 0xdc]
mov al, byte [edx + 0x45]
mov edx, dword [edi + 0xc]
mov byte [ebp - 0x11d], al
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
xor eax, eax
test ecx, ecx
jle 0x1004fffb
lea esp, [esp]
mov dword [edx + eax*4], esi
inc eax
add esi, 0x28
cmp eax, ecx
jl 0x1004fff0
mov al, byte [ebx + 3]
mov esi, dword [ebp - 0xdc]
mov byte [esi + 0x45], al
lea eax, [ebp - 0x218]
push eax
push edx
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 0x34]
push ecx
mov ecx, dword [ebp - 0xfc]
push ecx
call eax
mov edx, dword [ebp - 0xfc]
mov cl, byte [ebp - 0x11d]
push edx
push edi
mov dword [ebp - 0xd8], eax
mov byte [esi + 0x45], cl
call fcn.100487d0
add esp, 0x18
cmp dword [ebp - 0xd8], 0
jne 0x1005006e
cmp dword [ebx + 4], 0
je 0x1005006e
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], ecx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
cmp byte [ebp - 0xd8], 0x13
jne 0x1004e528
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x1004e528
mov bl, byte [ebx + 3]
cmp bl, 4
jne 0x1005009f
mov dword [ebp - 0xd8], 0
jmp case.default.0x1004b600
mov eax, 2
cmp bl, 5
je 0x100500ac
movzx eax, bl
mov byte [edi + 0x56], al
jmp case.default.0x1004b600
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
add edx, edx
mov edx, dword [eax + edx*8 + 4]
mov eax, dword [edx + 4]
mov edx, dword [eax + 0x2c]
mov dword [ecx], edx
mov dword [ecx + 4], 0
jmp case.default.0x1004b600
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + 0x10]
mov ebx, dword [ebx + 0xc]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
xor ecx, ecx
test ebx, ebx
je 0x10050101
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0x2c]
cmp ecx, ebx
jae 0x10050101
mov ecx, ebx
mov ebx, ecx
call fcn.10039e30
mov ecx, dword [ebp - 0xe8]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x1004b600
mov eax, dword [ebx + 8]
test eax, eax
je 0x10050124
dec eax
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0xac], 0
je case.default.0x1004b600
test dword [edi + 0x58], 0x800
jne case.default.0x1004b600
mov ebx, dword [ebx + 0x10]
mov ecx, ebx
test ebx, ebx
jne 0x1005014b
mov ecx, dword [edi + 0xa8]
test ecx, ecx
je case.default.0x1004b600
push edi
call fcn.1004ad00
mov edi, dword [ebp - 0xdc]
mov ecx, dword [edi + 0xac]
mov esi, eax
mov eax, dword [edi + 0xb0]
add esp, 4
push esi
push eax
call ecx
add esp, 8
mov eax, esi
mov ecx, edi
call fcn.10025e40
inc dword [ebp - 0xe4]
cmp dword [ebp - 0xd8], 0
mov edi, dword [ebp - 0x114]
jne 0x1004fe8b
mov esi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0xdc]
jmp 0x1004b584
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xe4]
mov dword [edi + 0x50], edx
mov al, byte [ebx + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], ecx
test edx, edx
je 0x1005024e
mov al, byte [ebx + 3]
test al, al
je 0x100501fb
movzx edx, al
mov eax, dword [edx*4 + 0x101d1aec]
test eax, eax
je 0x100501fd
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x100501fd
push ecx
push eax
mov eax, dword [ebp - 0xdc]
push str._s_constraint_failed:__s
push eax
lea esi, [edi + 0x2c]
push esi
call fcn.10026350
add esp, 0x14
jmp 0x1005022c
xor eax, eax
mov ecx, dword [ebx + 0x10]
lea esi, [edi + 0x2c]
test ecx, ecx
je 0x10050216
push ecx
mov ecx, dword [ebp - 0xdc]
push 0x101da890
push ecx
jmp 0x10050223
mov edx, dword [ebp - 0xdc]
push eax
push str._s_constraint_failed
push edx
push esi
call fcn.10026350
add esp, 0x10
mov eax, dword [esi]
mov ecx, dword [edi + 0xa8]
mov edx, dword [ebp - 0xe4]
push eax
mov eax, dword [ebx + 4]
push ecx
push edx
push str.abort_at__d_in___s_:__s
push eax
call fcn.10027e20
add esp, 0x14
mov eax, edi
call fcn.100468f0
mov esi, 5
cmp eax, esi
jne 0x100502b7
mov dword [edi + 0x50], esi
jmp 0x1004ff13
mov dword [ebp - 0xd8], 0x14
jmp 0x1005034e
mov eax, dword [ebp - 0xe4]
mov dword [edi + 0x4c], eax
mov esi, 5
mov byte [ebx + 0x3f], 0
mov dword [edi + 0x50], esi
jmp 0x1004ff13
test ebx, ebx
je 0x100502c9
mov esi, dword [ebp - 0xdc]
push 0x204
mov eax, esi
call fcn.100966f0
add esp, 4
mov byte [esi + 0x3f], 1
mov esi, dword [ebp - 0xdc]
call fcn.10096050
mov esi, dword [edi + 0x50]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x1004ff13
push 1
mov eax, edi
call fcn.10046880
mov esi, eax
add esp, 4
test esi, esi
jne 0x1004ff13
mov bl, byte [ebp - 0xfc]
mov esi, dword [ebp - 0xdc]
mov eax, edi
mov byte [esi + 0x3f], bl
call fcn.100468f0
cmp eax, 5
jne 0x100502ac
mov ecx, dword [ebp - 0xe4]
mov dl, 1
sub dl, bl
mov dword [edi + 0x4c], ecx
mov byte [esi + 0x3f], dl
mov esi, eax
mov dword [edi + 0x50], esi
jmp 0x1004ff13
mov dword [ebp - 0xd8], 8
jmp 0x1005034e
mov eax, dword [ebp - 0xe4]
mov esi, 5
mov dword [edi + 0x4c], eax
mov dword [edi + 0x50], esi
jmp 0x1004ff13
mov eax, 0x11ee7
call fcn.100987b0
mov dword [ebp - 0xd8], eax
jmp 0x1005034e
mov edi, dword [ebp - 0x114]
mov edx, dword [ebp - 0xdc]
cmp byte [edx + 0x41], 0
je 0x10050376
mov dword [ebp - 0xd8], 7
mov ecx, dword [ebp - 0xd8]
mov eax, str.unknown_error
call fcn.10096840
jmp 0x100503a9
cmp dword [ebp - 0xd8], 0xc0a
je 0x1004fe8b
cmp dword [ebp - 0xd8], 0x204
je 0x100503a4
mov ecx, dword [ebp - 0xd8]
mov eax, str.unknown_error
call fcn.10096840
jmp 0x100503a9
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x101da890
push edx
lea ecx, [edi + 0x2c]
push ecx
call fcn.10026350
add esp, 0x10
jmp 0x1004fe8b
mov esi, ebx
mov eax, 9
mov dword [edi + 0x50], eax
mov ecx, dword [str.interrupted]
mov dword [ebp - 0xd8], eax
mov eax, str.unknown_error
test ecx, ecx
je 0x100503e2
mov eax, ecx
push eax
push 0x101da890
lea edx, [edi + 0x2c]
push esi
push edx
call fcn.10026350
add esp, 0x10
jmp 0x1004fe8b