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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x5365f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 4]
mov esi, dword [edi + 8]
mov dword [ebp - 0x110], eax
mov eax, dword [edi]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x4d]
mov edx, dword [eax + 0x20]
xor ebx, ebx
mov dword [ebp - 0xdc], eax
mov eax, dword [eax + 0x24]
push edi
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xd4], ebx
mov byte [ebp - 0xf5], bl
mov byte [ebp - 0xf0], cl
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], eax
call fcn.00482020
add esp, 4
cmp dword [edi + 0x58], 7
je 0x48748c
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov dword [edi + 0x58], ecx
mov dword [edi + 0x14], ecx
mov dword [eax + 0x1b4], ecx
mov ecx, dword [eax + 0xe0]
test ecx, ecx
jne 0x48cb2d
xor edx, edx
cmp dword [eax + 0x114], edx
mov ecx, edi
setne dl
mov dword [ebp - 0x118], edx
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xe0], edx
jmp 0x486ee0
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x36], 0
jne 0x48748c
cmp dword [ebp - 0x118], 0
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x110]
lea ecx, [eax + eax*4]
lea edi, [edx + ecx*4]
mov dword [ebp - 0xec], edi
je 0x486f4b
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x11c]
cmp ecx, dword [ebp - 0x108]
jne 0x486f45
mov edx, dword [eax + 0x118]
mov eax, dword [eax + 0x114]
push edx
call eax
add esp, 4
test eax, eax
jne 0x48c8cb
mov dword [ebp - 0x108], eax
inc dword [ebp - 0x108]
test byte [edi + 2], 2
je 0x486f81
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
lea ebx, [esi + ecx*8]
mov edx, 0x2460
mov dword [ebp - 0xe4], ebx
test word [ebx + 0x1c], dx
je 0x486f72
mov eax, ebx
call fcn.00480320
mov eax, 4
mov word [ebx + 0x1c], ax
mov ebx, dword [ebp - 0xe4]
movzx eax, byte [edi]
dec eax
cmp eax, 0x93
ja case.default.0x486f90
jmp dword [eax*4 + 0x48cb70]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x48cb2d
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [ebp - 0xe0]
cdq
mov ecx, 4
mov dword [esi + 0x14], edx
mov word [esi + 0x1c], cx
mov dword [esi + 0x10], eax
mov edx, dword [edi + 8]
dec edx
mov dword [ebp - 0xe0], edx
jmp case.default.0x486f90
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
mov ecx, dword [esi + eax*8 + 0x10]
mov dword [ebp - 0xe0], ecx
jmp case.default.0x486f90
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
mov ecx, dword [esi + edx*8 + 0x10]
lea esi, [esi + edx*8]
mov eax, 4
mov word [esi + 0x1c], ax
mov eax, dword [ebp - 0xe0]
cdq
mov dword [ebp - 0xd0], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xe0], edx
jmp case.default.0x486f90
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
je case.default.0x486f90
cmp dword [edi + 4], 0
mov edx, dword [ebp - 0xd8]
jne 0x48c8da
mov eax, dword [edx + 0xa8]
test eax, eax
je 0x48c8da
mov ecx, dword [eax + 4]
dec dword [edx + 0xb0]
mov esi, dword [ebp - 0xdc]
mov dword [edx + 0xa8], ecx
mov ecx, dword [edx + 0x68]
add dword [esi + 0x48], ecx
mov dword [esi + 0x44], ecx
mov ecx, dword [eax]
mov esi, dword [eax + 0x10]
mov dword [ecx + 0xc0], esi
mov esi, dword [eax + 0x38]
mov dword [ecx + 0xbc], esi
mov esi, dword [eax + 8]
mov dword [ecx + 4], esi
mov esi, dword [eax + 0x30]
mov dword [ecx + 0x1c], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0x34]
mov dword [ecx + 0x18], esi
mov esi, dword [eax + 0x14]
mov dword [ecx + 0x40], esi
mov si, word [eax + 0x28]
mov word [ecx + 0x2e], si
mov esi, dword [ecx]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x20], ebx
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x24], ebx
mov esi, dword [eax + 0x44]
mov dword [ecx + 0x68], esi
cmp dword [edi + 8], 4
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ecx + 0x20]
mov eax, dword [eax + 0x2c]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x100], esi
mov dword [ebp - 0xfc], ecx
jne 0x48710a
mov ecx, dword [edx + 4]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
dec eax
mov dword [ebp - 0xe0], eax
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0xe8], edx
jmp case.default.0x486f90
mov eax, dword [edi + 4]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.default.0x486f90
mov edi, dword [edi + 0x10]
mov eax, dword [edi]
mov dword [ebx + 0x10], eax
mov ecx, dword [edi + 4]
mov dword [ebx + 0x14], ecx
jmp case.default.0x486f90
mov edx, 8
mov word [ebx + 0x1c], dx
mov eax, dword [edi + 0x10]
fld qword [eax]
fstp qword [ebx + 8]
jmp case.default.0x486f90
mov ecx, dword [edi + 0x10]
mov byte [edi], 9
mov dword [ebp - 0xec], ecx
call fcn.00467bc0
cmp byte [ebp - 0xf0], 1
mov dword [edi + 4], eax
je 0x4872d4
test ecx, ecx
jne 0x4871cf
test byte [ebx + 0x1c], 0x40
je 0x487198
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xac]
mov dword [eax + 4], edx
mov dword [ecx + 0xac], eax
test byte [ebx + 0x1c], 0x20
je 0x4871b2
mov eax, dword [ebp - 0xe4]
mov ebx, dword [eax + 0x10]
call fcn.0046d870
mov ebx, dword [ebp - 0xe4]
mov cx, word [ebx + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov word [ebx + 0x1c], cx
mov byte [ebx + 0x1e], 5
jmp 0x487275
mov eax, dword [ebx]
test eax, eax
je 0x4871e0
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0xd4], eax
jmp 0x4871ea
mov dword [ebp - 0xd4], 0x3b9aca00
mov eax, dword [ebp - 0xd4]
xor esi, esi
test eax, eax
js 0x48720b
mov ecx, dword [ebp - 0xec]
lea esp, [esp]
cmp byte [esi + ecx], 0
je 0x48720b
inc esi
cmp esi, eax
jle 0x487200
xor ecx, ecx
mov dword [ebp - 0xf4], 0x202
push ebx
cmp ecx, 0x465a70
jne 0x487233
call fcn.00480390
mov eax, dword [ebp - 0xec]
mov dword [ebx + 4], eax
mov dword [ebx + 0x24], eax
jmp 0x48724b
call fcn.00480390
mov edx, dword [ebp - 0xec]
mov dword [ebx + 4], edx
mov dword [ebp - 0xf4], 0xa02
mov ax, word [ebp - 0xf4]
add esp, 4
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x18], esi
mov word [ebx + 0x1c], ax
mov word [ebx + 0x1e], 0x103
cmp esi, dword [ebp - 0xd4]
jg 0x487c8a
movzx ecx, byte [ebp - 0xf0]
mov eax, ebx
mov dword [ebp - 0xd4], 0
call fcn.0047ffc0
test eax, eax
jne 0x48748c
mov cx, word [ebx + 0x1c]
mov dword [ebx + 0x24], eax
mov edx, 0xfbff
and cx, dx
mov eax, 0x800
or cx, ax
mov word [ebx + 0x1c], cx
cmp byte [edi + 1], 0xff
jne 0x4872c4
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xdc]
call fcn.00465b20
mov byte [edi + 1], 0xff
mov ecx, dword [ebx + 4]
mov dword [edi + 0x10], ecx
mov edx, dword [ebx + 0x18]
mov dword [edi + 4], edx
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x4c]
jg 0x487c8a
mov edx, 0xa02
mov word [ebx + 0x1c], dx
mov eax, dword [edi + 0x10]
mov dl, byte [ebp - 0xf0]
mov dword [ebx + 4], eax
mov ecx, dword [edi + 4]
mov dword [ebx + 0x18], ecx
mov byte [ebx + 0x1f], dl
jmp case.default.0x486f90
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
mov ecx, 1
mov dword [ebp - 0xd0], eax
mov word [ebx + 0x1c], cx
cmp dword [ebp - 0xd0], 0
jle case.default.0x486f90
jmp 0x487330
add ebx, 0x28
mov edx, 0x2460
test word [ebx + 0x1c], dx
je 0x487345
mov eax, ebx
call fcn.00480320
mov eax, 1
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
dec eax
mov dword [ebp - 0xd0], eax
test eax, eax
jg 0x487330
mov dword [ebp - 0xe4], ebx
jmp case.default.0x486f90
mov ecx, dword [edi + 0x10]
push 0
push ecx
mov ecx, dword [edi + 4]
xor eax, eax
mov edx, ebx
call fcn.00480a40
mov dl, byte [ebp - 0xf0]
add esp, 8
mov byte [ebx + 0x1f], dl
jmp case.default.0x486f90
mov edi, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x44]
lea eax, [edi + edi*4]
lea esi, [edx + eax*8 - 0x28]
mov ecx, esi
mov dword [ebp - 0xd0], esi
call fcn.00480900
test eax, eax
jne 0x487c8a
mov ebx, dword [ebp - 0xe4]
push 0x800
push esi
call fcn.00480930
add esp, 8
jmp case.default.0x486f90
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0xc8], ecx
mov edi, dword [edi + 8]
lea ecx, [ecx + ecx*4]
lea edx, [edi + edi*4]
lea ebx, [esi + ecx*8]
lea esi, [esi + edx*8]
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xe4], esi
test eax, eax
je 0x48743c
dec eax
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xd0], eax
mov eax, esi
mov dword [esi + 0x24], 0
call fcn.004809f0
mov ecx, dword [ebp - 0xd0]
mov dword [ebx + 0x24], ecx
mov eax, dword [ebp - 0xcc]
add ebx, 0x28
add esi, 0x28
test eax, eax
jne 0x4873ff
mov dword [ebp - 0xe4], esi
dec eax
mov dword [ebp - 0xcc], eax
jmp case.default.0x486f90
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea edx, [eax + eax*4]
lea eax, [edi + edi*4]
lea ecx, [esi + eax*8]
lea ebx, [esi + edx*8]
push 0x1000
push ecx
mov dword [ebp - 0xe4], ebx
call fcn.00480930
mov edx, 0x1000
add esp, 8
test word [ebx + 0x1c], dx
je case.default.0x486f90
mov eax, ebx
call fcn.004800f0
test eax, eax
je case.default.0x486f90
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xd8]
push str.out_of_memory
add edi, 0x34
mov byte [esi + 0x36], 1
call fcn.00465ef0
mov dword [ebp - 0xd4], 7
jmp 0x487cad
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea eax, [eax + eax*4]
lea edx, [esi + ecx*8]
lea ebx, [esi + eax*8]
push 0x1000
push edx
mov dword [ebp - 0xe4], ebx
call fcn.00480930
add esp, 8
jmp case.default.0x486f90
mov ebx, dword [ebp - 0xd8]
push 0
mov eax, ebx
call fcn.00483470
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x486f90
push 1
push ebx
call fcn.00483370
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x486f90
mov eax, dword [ebx + 0x50]
add eax, 2
or eax, 1
mov dword [ebx + 0x50], eax
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
lea esi, [esi + ecx*8]
xor ecx, ecx
mov dword [ebx + 0x14], esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], ecx
cmp dword [edi + 8], ecx
jle 0x4875ab
mov eax, dword [ebp - 0xd0]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*8]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x487571
call fcn.004800f0
test eax, eax
jne 0x48748c
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xd0]
lea eax, [ecx + eax*8]
call fcn.004801b0
mov eax, dword [ebp - 0xcc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + edx*8]
call fcn.00486b60
mov ecx, dword [ebp - 0xcc]
inc ecx
mov dword [ebp - 0xcc], ecx
cmp ecx, dword [edi + 8]
jl 0x487547
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x36], 0
jne 0x48748c
mov edx, dword [ebp - 0xe0]
inc edx
mov eax, ebx
mov dword [eax + 0x54], edx
mov esi, 0x64
jmp 0x487d40
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edi, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [esi + eax*8]
lea ebx, [esi + ecx*8]
movzx ecx, word [eax + 0x1c]
lea edx, [edi + edi*4]
lea edi, [esi + edx*8]
mov dl, byte [ebx + 0x1c]
or dl, cl
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe4], edi
test dl, 1
je 0x487612
mov esi, edi
call fcn.004806a0
jmp case.default.0x486f90
test ecx, 0x4000
je 0x48762d
call fcn.00480150
test eax, eax
jne 0x48748c
mov eax, dword [ebp - 0xec]
mov ecx, 0x4000
test word [ebx + 0x1c], cx
je 0x48764d
mov eax, ebx
call fcn.00480150
test eax, eax
jne 0x48748c
mov eax, dword [ebp - 0xec]
test byte [eax + 0x1c], 0x12
jne 0x48766d
movzx esi, byte [ebp - 0xf0]
call fcn.00480200
test eax, eax
jne 0x48748c
mov eax, dword [ebp - 0xec]
test byte [ebx + 0x1c], 0x12
jne 0x48768f
movzx esi, byte [ebp - 0xf0]
mov eax, ebx
call fcn.00480200
test eax, eax
jne 0x48748c
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov ecx, edx
mov edx, dword [ebp - 0xdc]
mov esi, eax
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], ecx
mov eax, dword [edx + 0x4c]
cdq
cmp ecx, edx
jg 0x487c8a
jl 0x4876c2
cmp esi, eax
ja 0x487c8a
mov ax, word [edi + 0x1c]
mov ecx, 0xbf02
and ax, cx
or ax, 2
xor edx, edx
cmp edi, ebx
sete dl
mov word [edi + 0x1c], ax
mov eax, dword [ebp - 0xd0]
add eax, 2
push edx
call fcn.0047ffe0
add esp, 4
test eax, eax
jne 0x48748c
cmp edi, ebx
je 0x48770f
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 4]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.004da560
add esp, 0xc
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [edi + 4]
add eax, dword [ebx + 0x18]
push ecx
push edx
push eax
call fcn.004da560
mov edx, dword [ebp - 0xd0]
mov ecx, dword [edi + 4]
mov byte [edx + ecx], 0
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edi + 4]
mov byte [eax + ecx + 1], 0
mov cl, byte [ebp - 0xf0]
mov edx, 0x200
add esp, 0xc
or word [edi + 0x1c], dx
mov eax, dword [ebp - 0xd0]
mov dword [edi + 0x18], eax
mov byte [edi + 0x1f], cl
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
lea ebx, [eax + edx*8]
mov esi, ebx
call fcn.00486c50
mov eax, dword [edi + 8]
mov edx, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
call fcn.00486c50
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
movzx eax, word [ebx + 0x1c]
movzx ecx, word [esi + 0x1c]
or eax, ecx
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xd0], eax
test al, 1
jne 0x487a3b
mov dl, byte [ebx + 0x1c]
and dl, byte [esi + 0x1c]
test dl, 4
je 0x48781c
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xc4], ecx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0xc0], edx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xbc], edx
movzx edx, byte [edi]
add edx, 0xffffffaa
cmp edx, 3
ja case.default.0x4877fc
jmp dword [edx*4 + 0x48cdc0]
push ecx
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00468ac0
add esp, 0xc
test eax, eax
je 0x487909
mov eax, ebx
call fcn.004804a0
fstp qword [ebp - 0xb8]
mov eax, esi
call fcn.004804a0
fst qword [ebp - 0xb0]
movzx eax, byte [edi]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x487845
jmp dword [eax*4 + 0x48cdd0]
push ecx
push eax
lea edx, [ebp - 0xc0]
call fcn.00468b50
add esp, 8
test eax, eax
jne 0x48781c
jmp 0x487909
push ecx
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00468ba0
add esp, 0xc
test eax, eax
jne 0x48781c
jmp 0x487909
mov edx, eax
or edx, ecx
je 0x487a3b
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4878ab
cmp dword [ebp - 0xc0], 0
jne 0x4878ab
cmp dword [ebp - 0xbc], 0x80000000
je 0x48781c
push ecx
mov ecx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xbc]
push eax
push ecx
call fcn.004e1d40
jmp 0x4878fd
mov edx, eax
or edx, ecx
je 0x487a3b
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4878e8
mov eax, 1
xor ecx, ecx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
push ecx
mov ecx, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xbc]
push eax
push ecx
call fcn.004e1df0
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
mov dx, word [eax + 0x1c]
mov dword [eax + 0x14], ecx
mov ecx, 0xbf04
and dx, cx
or dx, 4
mov word [eax + 0x1c], dx
jmp case.default.0x486f90
fadd qword [ebp - 0xb8]
jmp 0x4879e3
fsub qword [ebp - 0xb8]
jmp 0x4879e3
fmul qword [ebp - 0xb8]
jmp 0x4879e3
fld qword [ebp - 0xb8]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x487a37
fdivp st(1)
jmp 0x4879e3
fld qword [ebp - 0xb8]
call fcn.004f09b6
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
call fcn.004f09b6
mov ecx, esi
or ecx, edi
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
je 0x487a3b
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x4879c8
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
push edi
push esi
push edx
push eax
call fcn.004e1df0
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
fild qword [ebp - 0x128]
sub esp, 8
fst qword [ebp - 0xb0]
fstp qword [esp]
call fcn.00467b90
add esp, 8
test eax, eax
jne 0x487a3b
mov eax, dword [ebp - 0xe4]
fld qword [ebp - 0xb0]
mov dx, word [eax + 0x1c]
fstp qword [eax + 8]
mov ecx, 0xbf08
and dx, cx
or dx, 8
mov word [eax + 0x1c], dx
test byte [ebp - 0xd0], 8
jne case.default.0x486f90
mov esi, eax
call fcn.004804f0
jmp case.default.0x486f90
fstp st(0)
fstp st(0)
mov esi, dword [ebp - 0xe4]
call fcn.004806a0
jmp case.default.0x486f90
mov edi, dword [edi + 4]
test edi, edi
je case.default.0x486f90
mov eax, dword [ebp - 0xe8]
lea edx, [edi + edi*4]
push 0
push 0
lea esi, [eax + edx*8]
call fcn.00480750
add esp, 8
jmp case.default.0x486f90
movzx ecx, byte [edi + 3]
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
xor eax, eax
lea esi, [esi + edx*8]
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xd0], eax
test ecx, ecx
jle 0x487b0e
mov ecx, dword [ebp - 0x88]
mov dword [ecx + eax*4], esi
mov eax, dword [ebp - 0xcc]
mov edx, 0x1000
test word [eax + 0x1c], dx
je 0x487ae3
call fcn.004800f0
test eax, eax
jne 0x48748c
mov eax, dword [ebp - 0xcc]
mov ecx, eax
call fcn.00486b60
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xcc]
inc eax
add esi, 0x28
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], esi
cmp eax, dword [ebp - 0x84]
jl 0x487ab6
cmp byte [edi + 1], 0xfb
mov eax, dword [edi + 0x10]
jne 0x487b29
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], 0
jmp 0x487b37
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], eax
xor eax, eax
mov edx, 1
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xc0]
mov word [ebp - 0xa4], dx
call fcn.004809f0
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xc8]
and ecx, 0xbf01
or ecx, 1
mov word [ebp - 0xa4], cx
mov dword [ebp - 0x90], 0
test byte [edx + 3], 8
je 0x487ba3
mov eax, dword [edi - 4]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x100]
mov esi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xfc]
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0xc8]
push ecx
mov ecx, dword [eax + 0xc]
lea edx, [ebp - 0xc8]
push edx
call ecx
mov ebx, dword [ebp - 0xc4]
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
add esp, 0xc
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], eax
test ebx, ebx
je 0x487c13
mov ecx, dword [edi + 4]
push ecx
call fcn.00483ab0
mov edx, dword [ebp - 0xc4]
add esp, 4
mov dword [edi + 0x10], edx
mov byte [edi + 1], 0xf9
cmp byte [esi + 0x36], 0
jne 0x48c998
cmp dword [ebp - 0x90], 0
je 0x487c56
mov bl, 1
lea edi, [ebp - 0xc0]
call fcn.00480fa0
mov edi, dword [ebp - 0xd8]
push eax
push 0x51af78
add edi, 0x34
call fcn.00465ef0
mov eax, dword [ebp - 0x90]
add esp, 8
mov dword [ebp - 0xd4], eax
movzx ecx, byte [ebp - 0xf0]
lea eax, [ebp - 0xc0]
call fcn.0047ffc0
mov esi, dword [ebp - 0xe4]
lea ebx, [ebp - 0xc0]
mov eax, esi
call fcn.004809f0
mov ecx, esi
call fcn.00480900
test eax, eax
je case.default.0x486f90
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
push str.string_or_blob_too_big
add edi, 0x34
call fcn.00465ef0
mov dword [ebp - 0xd4], 0x12
add esp, 4
mov ebx, dword [ebp - 0xd8]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 0xa0]
mov eax, dword [ebp - 0xd4]
push ecx
mov ecx, dword [ebp - 0xe0]
push edx
push ecx
push str.statement_aborts_at__d:___s___s
push eax
mov dword [ebx + 0x58], eax
call fcn.004672f0
add esp, 0x14
call fcn.004834e0
cmp dword [ebp - 0xd4], 0xc0a
jne 0x487cfa
mov edx, dword [ebp - 0xdc]
mov byte [edx + 0x36], 1
mov al, byte [ebp - 0xf5]
mov esi, 1
test al, al
je 0x487d40
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
movzx edi, al
dec edi
mov eax, edi
add eax, eax
mov eax, dword [edx + eax*8 + 0xc]
push eax
call fcn.0049f460
add esp, 4
cmp edi, esi
je 0x487d40
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0x1c]
push eax
call fcn.0049f460
add esp, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00482090
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d5564
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ebx, [esi + ecx*8]
lea ecx, [esi + edx*8]
mov dl, byte [ecx + 0x1c]
or dl, byte [ebx + 0x1c]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0xe4], esi
test dl, 1
je 0x487db0
call fcn.004806a0
jmp case.default.0x486f90
call fcn.00480430
mov ecx, ebx
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
call fcn.00480430
mov ebx, eax
mov esi, edx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], esi
mov al, byte [edi]
mov byte [ebp - 0xb8], al
cmp al, 0x52
jne 0x487df5
and dword [ebp - 0xd0], ebx
and dword [ebp - 0xcc], esi
jmp 0x487f1c
cmp al, 0x53
jne 0x487e0a
or dword [ebp - 0xd0], ebx
or dword [ebp - 0xcc], esi
jmp 0x487f1c
mov ecx, ebx
or ecx, esi
je 0x487f1c
test esi, esi
jg 0x487e54
jl 0x487e1e
test ebx, ebx
jae 0x487e49
mov dl, 0xa9
sub dl, al
mov al, dl
mov byte [ebp - 0xb8], al
cmp esi, 0xffffffff
jl 0x487e81
jg 0x487e36
cmp ebx, 0xffffffc0
jbe 0x487e81
neg ebx
adc esi, 0
neg esi
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], esi
test esi, esi
jl 0x487ea8
jg 0x487e54
cmp ebx, 0x40
jb 0x487ea8
cmp dword [ebp - 0xcc], 0
jg 0x487e97
jl 0x487e68
cmp dword [ebp - 0xd0], 0
jae 0x487e97
cmp al, 0x54
je 0x487e97
or eax, 0xffffffff
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x487f1c
mov dword [ebp - 0xc0], 0x40
mov dword [ebp - 0xbc], 0
jmp 0x487e54
xor eax, eax
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x487f1c
mov edx, dword [ebp - 0xcc]
cmp al, 0x54
mov eax, dword [ebp - 0xd0]
mov ecx, ebx
jne 0x487ec5
call fcn.004f0960
mov esi, eax
mov edi, edx
jmp 0x487f04
call fcn.004ede50
cmp dword [ebp - 0xcc], 0
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
jg 0x487f10
jl 0x487eee
cmp dword [ebp - 0xd0], 0
jae 0x487f10
mov ecx, 0x40
sub ecx, ebx
or eax, 0xffffffff
or edx, 0xffffffff
call fcn.004f0960
or esi, eax
or edi, edx
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], edi
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xcc]
mov cx, word [eax + 0x1c]
mov dword [eax + 0x14], edx
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [eax + 0x1c], cx
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00480590
mov eax, dword [edi + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
lea esi, [eax + edx*8]
call fcn.00486c50
test byte [esi + 0x1c], 8
je 0x487f8f
call fcn.004804f0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x487fae
mov edi, dword [edi + 8]
test edi, edi
je 0x48c9ac
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
and eax, 0xbf04
or eax, 4
mov word [esi + 0x1c], ax
jmp case.default.0x486f90
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
test byte [esi + ecx*8 + 0x1c], 4
lea esi, [esi + ecx*8]
je case.default.0x486f90
call fcn.004805c0
jmp case.default.0x486f90
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
movzx eax, word [esi + edx*8 + 0x1c]
lea edi, [esi + edx*8]
test al, 1
jne case.default.0x486f90
mov ecx, eax
shr ecx, 3
and ecx, 2
or ecx, eax
mov word [edi + 0x1c], cx
test cl, 2
jne 0x488019
test cl, 0xc
je 0x488019
movzx esi, byte [ebp - 0xf0]
mov eax, edi
call fcn.00480200
mov edx, 0xfff3
and word [edi + 0x1c], dx
movzx eax, word [edi + 0x1c]
test eax, 0x4000
je 0x488048
mov eax, edi
call fcn.00480150
mov dword [ebp - 0xd4], eax
mov eax, 0xbfe3
and word [edi + 0x1c], ax
jmp case.default.0x486f90
mov eax, 0xbfe3
and word [edi + 0x1c], ax
mov dword [ebp - 0xd4], 0
jmp case.default.0x486f90
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
movzx eax, word [esi + ecx*8 + 0x1c]
lea edi, [esi + ecx*8]
test al, 1
jne case.default.0x486f90
test al, 0x10
jne 0x4880a9
test al, 2
jne 0x488090
test al, 0xc
je 0x488090
movzx esi, byte [ebp - 0xf0]
mov eax, edi
call fcn.00480200
mov dx, word [edi + 0x1c]
mov eax, 0xbf10
and dx, ax
or dx, 0x10
mov word [edi + 0x1c], dx
jmp case.default.0x486f90
and eax, 0xff10
mov word [edi + 0x1c], ax
jmp case.default.0x486f90
mov edi, dword [edi + 4]
lea ecx, [edi + edi*4]
lea eax, [esi + ecx*8]
call fcn.00480620
jmp case.default.0x486f90
mov edi, dword [edi + 4]
lea edx, [edi + edi*4]
test byte [esi + edx*8 + 0x1c], 1
lea esi, [esi + edx*8]
jne case.default.0x486f90
call fcn.00480590
jmp case.default.0x486f90
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
test byte [esi + eax*8 + 0x1c], 1
lea esi, [esi + eax*8]
jne case.default.0x486f90
call fcn.004805c0
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea ebx, [esi + ecx*8]
mov cx, word [ebx + 0x1c]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov word [ebp - 0xca], cx
mov dx, word [eax + 0x1c]
mov dword [ebp - 0xf4], eax
mov al, dl
mov word [ebp - 0xc8], dx
mov dl, byte [ebp - 0xca]
mov cl, al
or cl, dl
test cl, 1
je 0x4881a3
mov cl, byte [edi + 3]
test cl, cl
jns 0x48815d
and al, dl
test al, 1
mov eax, 0
sete al
jmp 0x488230
test cl, 0x10
je 0x48818b
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
mov cx, word [esi + edx*8 + 0x1c]
lea eax, [esi + edx*8]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov dword [ebp - 0xe4], eax
mov word [eax + 0x1c], cx
jmp case.default.0x486f90
test cl, 8
je case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov al, byte [edi + 3]
and al, 0x67
mov byte [ebp - 0xcc], al
je 0x4881f0
mov esi, dword [ebp - 0xf0]
push esi
mov edi, ebx
call fcn.00486d30
mov al, byte [ebp - 0xcc]
add esp, 4
push esi
mov esi, dword [ebp - 0xf4]
mov edi, esi
call fcn.00486d30
mov eax, dword [ebp - 0xdc]
add esp, 4
cmp byte [eax + 0x36], 0
jne 0x48748c
mov edi, dword [ebp - 0xec]
jmp 0x4881f6
mov esi, dword [ebp - 0xf4]
mov ecx, 0x4000
test word [ebx + 0x1c], cx
je 0x488208
mov eax, ebx
call fcn.00480150
mov edx, 0x4000
test word [esi + 0x1c], dx
je 0x48821a
mov eax, esi
call fcn.00480150
mov eax, dword [edi + 0x10]
push eax
mov eax, ebx
mov ecx, esi
call fcn.00480c00
mov esi, dword [ebp - 0xe8]
add esp, 4
mov dword [ebp - 0xd0], eax
movzx ecx, byte [edi]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x488241
jmp dword [ecx*4 + 0x48cde0]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x488284
xor edx, edx
test eax, eax
setne dl
jmp 0x488282
xor ecx, ecx
test eax, eax
sets cl
mov eax, ecx
jmp 0x488284
xor edx, edx
test eax, eax
setle dl
jmp 0x488282
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0x488284
xor edx, edx
test eax, eax
setns dl
mov eax, edx
mov dword [ebp - 0xd0], eax
test byte [edi + 3], 0x10
je 0x4882de
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
mov cx, word [esi + eax*8 + 0x1c]
lea esi, [esi + eax*8]
mov edx, 0xbf04
and cx, dx
or cx, 4
mov word [esi + 0x1c], cx
mov eax, dword [ebp - 0xd0]
cdq
mov dword [esi + 0x14], edx
mov edx, dword [ebp - 0xf4]
mov dword [esi + 0x10], eax
mov al, byte [ebp - 0xca]
mov byte [ebx + 0x1c], al
mov cl, byte [ebp - 0xc8]
mov dword [ebp - 0xe4], esi
mov byte [edx + 0x1c], cl
jmp case.default.0x486f90
test eax, eax
je 0x4882ec
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov al, byte [ebp - 0xca]
mov edx, dword [ebp - 0xf4]
mov byte [ebx + 0x1c], al
mov cl, byte [ebp - 0xc8]
mov byte [edx + 0x1c], cl
jmp case.default.0x486f90
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x114], eax
jmp case.default.0x486f90
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xd0], ecx
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xc0], esi
mov edx, dword [edi + 4]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 8]
mov dword [ebp - 0xc4], eax
xor eax, eax
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x4883f7
mov ebx, dword [ebp - 0x114]
mov edi, dword [ebp - 0xe8]
jmp 0x488366
mov esi, dword [ebp - 0xc0]
test ebx, ebx
je 0x48836f
mov ecx, dword [ebx + eax*4]
jmp 0x488371
mov ecx, eax
mov dword [ebp - 0xbc], ecx
mov edx, dword [esi + eax*4 + 0xc]
mov dword [ebp - 0xb8], edx
mov esi, dword [esi + 8]
movzx eax, byte [esi + eax]
mov dword [ebp - 0xb4], eax
push edx
mov edx, dword [ebp - 0xc4]
lea eax, [ecx + edx]
add ecx, dword [ebp - 0xc8]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + eax*8]
lea ecx, [edi + ecx*8]
call fcn.00480c00
add esp, 4
mov dword [ebp - 0x10c], eax
test eax, eax
jne 0x4883e0
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebp - 0xd0]
jl 0x488360
mov dword [ebp - 0x114], 0
jmp case.default.0x486f90
cmp dword [ebp - 0xb4], 0
je 0x4883f7
mov edx, dword [ebp - 0x10c]
neg edx
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x114], 0
jmp case.default.0x486f90
mov eax, dword [ebp - 0x10c]
test eax, eax
jns 0x48841f
mov edi, dword [edi + 4]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
jne 0x488430
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov edi, dword [edi + 0xc]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea ecx, [esi + eax*8]
je 0x488456
mov edx, 2
jmp 0x488468
call fcn.00480430
or eax, edx
je 0x488466
mov edx, 1
jmp 0x488468
xor edx, edx
mov dword [ebp - 0xd0], edx
mov eax, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 0x1c], 1
lea ecx, [esi + ecx*8]
je 0x488485
mov eax, 2
jmp 0x48849d
call fcn.00480430
or eax, edx
mov edx, dword [ebp - 0xd0]
je 0x48849b
mov eax, 1
jmp 0x48849d
xor eax, eax
mov dword [ebp - 0xcc], eax
cmp byte [edi], 0x45
jne 0x4884b5
lea eax, [eax + edx*2]
movzx eax, byte [edx + eax + 0x5061e4]
jmp 0x4884c0
lea ecx, [eax + edx*2]
movzx eax, byte [edx + ecx + 0x506218]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 0xc]
lea edx, [edi + edi*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xe4], esi
cmp eax, 2
jne 0x4884f3
mov ax, word [esi + 0x1c]
mov ecx, 0xbf01
and ax, cx
or ax, 1
mov word [esi + 0x1c], ax
jmp case.default.0x486f90
cdq
mov dword [esi + 0x14], edx
mov dx, word [esi + 0x1c]
mov dword [esi + 0x10], eax
mov eax, 0xbf04
and dx, ax
or dx, 4
mov word [esi + 0x1c], dx
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 0x1c], 1
lea ecx, [esi + ecx*8]
lea edx, [edi + edi*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xe4], esi
je 0x48853c
call fcn.004806a0
jmp case.default.0x486f90
call fcn.00480430
or eax, edx
jne 0x48855a
mov eax, 1
cdq
push edx
push eax
call fcn.00480750
add esp, 8
jmp case.default.0x486f90
xor eax, eax
cdq
push edx
push eax
call fcn.00480750
add esp, 8
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea ecx, [esi + eax*8]
lea edx, [edi + edi*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xe4], esi
je 0x488595
call fcn.004806a0
jmp case.default.0x486f90
call fcn.00480430
not edx
not eax
push edx
push eax
call fcn.00480750
add esp, 8
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xc0]
mov edx, dword [edi + 4]
cmp byte [eax + edx], 0
je 0x4885d1
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov byte [eax + edx], 1
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
lea eax, [esi + eax*8]
je 0x4885ef
mov eax, dword [edi + 0xc]
jmp 0x48861c
call fcn.004804a0
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x488606
mov eax, 1
jmp 0x488608
xor eax, eax
mov dword [ebp - 0xd0], eax
cmp byte [edi], 0x1c
jne 0x488622
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
test byte [esi + edx*8 + 0x1c], 1
je case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov ecx, dword [edi + 4]
xor eax, eax
mov dword [ebp - 0xc0], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xbc], edx
xor ebx, ebx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0xb8], ebx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov dword [ebp - 0x94], edx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0xb4], ebx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xb0], ecx
cmp ecx, ebx
je 0x48877e
mov esi, eax
call fcn.00483ca0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x1c], bl
je 0x488721
mov dword [ebp - 0xd0], ebx
jmp 0x4887c0
mov ecx, dword [eax + 0x50]
mov edx, dword [ebp - 0xd8]
cmp ecx, dword [edx + 0x50]
jne 0x488743
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 0x60]
mov dword [ebp - 0xb4], edx
jmp 0x4887b6
mov esi, dword [ebp - 0xb0]
cmp byte [eax + 0x1f], bl
je 0x48876d
lea edi, [ebp - 0xc8]
call fcn.004792a0
mov eax, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xd0], eax
jmp 0x4887b0
lea ecx, [ebp - 0xd0]
push ecx
call fcn.00479310
add esp, 4
jmp 0x4887b0
mov ecx, dword [eax + 0x10]
cmp ecx, ebx
jle 0x488716
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
mov dword [ebp - 0x4c], esi
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [esi + 4]
mov dword [ebp - 0xb4], ecx
test byte [edi + 3], 0x20
je 0x4887aa
xor ecx, ecx
jmp 0x4887ad
mov ecx, dword [edx + 0x50]
mov dword [eax + 0x50], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd0]
test ecx, ecx
jne 0x4887df
mov eax, dword [ebp - 0x94]
mov dx, word [eax + 0x1c]
mov ecx, 0xbf01
and dx, cx
or dx, 1
mov word [eax + 0x1c], dx
jmp case.default.0x486f90
mov edx, dword [ebp - 0xdc]
cmp ecx, dword [edx + 0x4c]
ja 0x487c8a
mov edx, dword [eax + 0x14]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xa4], edx
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0xac], ecx
mov ebx, dword [eax + 0x50]
cmp ebx, dword [esi + 0x50]
jne 0x48881c
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0xa8], eax
jmp 0x488a59
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x54], 0
mov dword [eax + 0x5c], ecx
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
mov dword [ecx + 0x54], edx
mov ecx, dword [ebp - 0xb8]
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x48885c
mov dword [ebp - 0x98], ecx
jmp 0x4888c0
mov edx, dword [ebp - 0xb8]
cmp byte [edx + 0x1f], 0
je 0x488879
mov esi, dword [ebp - 0xb0]
lea eax, [ebp - 0x54]
push eax
call fcn.004799b0
jmp 0x488888
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0x54]
push ecx
call fcn.00479a10
mov edx, dword [ebp - 0xd0]
add esp, 4
mov dword [ebp - 0x98], eax
cmp edx, dword [ebp - 0x54]
ja 0x4888ad
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
mov dword [ecx + 0x60], eax
jmp 0x4888ba
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x60], 0
mov ecx, dword [ebp - 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4888d3
movzx edx, al
mov dword [ebp - 0x60], edx
mov eax, 1
jmp 0x4888e7
lea esi, [ebp - 0x60]
call fcn.00468900
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x98]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x58], eax
cmp edx, 0x18003
jbe 0x48890a
mov eax, 0x109d0
call fcn.004c94b0
mov dword [ebp - 0xd4], eax
jmp case.default.0x486f90
mov esi, dword [ebp - 0xa4]
lea ebx, [esi + esi*4 + 3]
mov dword [ebp - 0xa0], ebx
cmp ebx, edx
jle 0x488926
mov ebx, edx
mov dword [ebp - 0xa0], ebx
cmp dword [ebp - 0xb4], 0
jne 0x48898a
cmp dword [ebp - 0x54], ebx
jge 0x48898a
mov edx, dword [ebp - 0xb8]
xor ecx, ecx
mov word [ebp - 0x74], cx
mov dword [ebp - 0x90], ecx
movzx eax, byte [edx + 0x1f]
push eax
push ecx
mov ecx, dword [ebp - 0xb0]
push ecx
lea eax, [ebp - 0x90]
call fcn.00480e80
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x486f90
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0xa4]
mov dword [ebp - 0x98], ecx
lea eax, [ecx + ebx]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x58]
add eax, ecx
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0x9c], eax
test esi, esi
jle 0x488a10
mov ecx, dword [ebp - 0x64]
cmp dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0xa8]
jae 0x488aba
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4889ce
movzx edx, al
inc ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x68], ecx
jmp 0x4889dc
lea esi, [ebp - 0x50]
call fcn.00468900
movzx eax, al
add dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xac]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x50]
call fcn.00483e30
mov edx, dword [ebp - 0x60]
add edx, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], edx
cmp edx, eax
jae 0x488ac4
mov edx, dword [ebp - 0x64]
inc edx
mov dword [ebp - 0x68], edx
lea eax, [ebp - 0x90]
push eax
call fcn.00480390
mov eax, dword [ebp - 0x68]
mov ecx, 1
mov word [ebp - 0x74], cx
mov ecx, dword [ebp - 0x64]
add esp, 4
cmp eax, ecx
ja 0x488c29
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0xd0]
cmp edx, esi
ja 0x488c29
cmp eax, ecx
jne 0x488a53
cmp edx, esi
jne 0x488c29
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
cmp dword [eax + edx*4], 0
je 0x488b9b
cmp dword [ebp - 0xb4], 0
je 0x488ae2
mov eax, dword [ebp - 0x94]
mov esi, 0x2460
test word [eax + 0x1c], si
je 0x488aa0
call fcn.00480320
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ecx + edx*4]
push ecx
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + edx*4]
add ecx, dword [ebp - 0xb4]
mov esi, eax
jmp 0x488b82
mov dword [ecx + eax*4], 0
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa4]
jl 0x4889a4
jmp 0x488a10
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x50], eax
mov cl, byte [edi + 3]
test cl, 0xc0
je 0x488b0c
cmp eax, 0xc
jb 0x488af9
test al, 1
je 0x488afd
test cl, cl
jns 0x488b0c
cmp eax, 0xc
sbb ecx, ecx
lea edx, [ebp - 0xc8]
and ecx, edx
jmp 0x488b75
call fcn.00483e30
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x90]
call fcn.004809f0
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x1f]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xa0]
push ecx
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0xb0]
push ecx
push edx
lea eax, [ebp - 0x90]
call fcn.00480e80
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x486f90
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0x98], ecx
push eax
call fcn.00483f00
mov eax, dword [ebp - 0x94]
mov cl, byte [ebp - 0xf0]
add esp, 4
mov byte [eax + 0x1f], cl
jmp 0x488bd4
cmp byte [edi + 1], 0xf8
jne 0x488bba
mov edx, dword [edi + 0x10]
mov ebx, dword [ebp - 0x94]
push 0x800
push edx
call fcn.00480930
add esp, 8
jmp 0x488bd4
mov eax, dword [ebp - 0x94]
mov cx, word [eax + 0x1c]
mov edx, 0xbf01
and cx, dx
or cx, 1
mov word [eax + 0x1c], cx
cmp dword [ebp - 0x6c], 0
je 0x488c13
mov eax, dword [ebp - 0x94]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov eax, dword [ebp - 0x94]
mov edx, 0x200
or word [eax + 0x1c], dx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x8c]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x94]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x94]
call fcn.004800f0
mov dword [ebp - 0xd4], eax
jmp case.default.0x486f90
mov eax, 0x10a20
call fcn.004c94b0
mov dword [ebp - 0xd4], eax
jmp case.default.0x486f90
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xd0], ecx
mov edi, dword [edi + 4]
mov al, byte [ecx]
lea edx, [edi + edi*4]
lea edi, [esi + edx*8]
mov byte [ebp - 0xcc], al
test al, al
je 0x488ca3
lea esp, [esp]
inc ecx
mov dword [ebp - 0xd0], ecx
mov ecx, 0x4000
test word [edi + 0x1c], cx
je 0x488c7f
mov eax, edi
call fcn.00480150
mov al, byte [ebp - 0xcc]
mov edx, dword [ebp - 0xf0]
push edx
call fcn.00486d30
mov ecx, dword [ebp - 0xd0]
mov al, byte [ecx]
add esp, 4
add edi, 0x28
mov byte [ebp - 0xcc], al
test al, al
jne 0x488c60
inc ecx
mov dword [ebp - 0xd0], ecx
jmp case.default.0x486f90
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb0], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x9c], eax
mov ecx, dword [edi + 0x10]
lea edx, [eax + eax*4]
lea ebx, [esi + edx*8]
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 0x61]
mov dword [ebp - 0xa4], ebx
mov eax, dword [edi + 8]
mov dword [ebp - 0x9c], eax
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8 - 0x28]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x94], edx
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea esi, [esi + ecx*8]
mov edi, ebx
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xcc], edi
cmp ebx, eax
ja 0x488e1c
lea esp, [esp]
cmp dword [ebp - 0x98], 0
je 0x488d72
mov edx, dword [ebp - 0xf0]
mov ecx, edi
sub ecx, ebx
push edx
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x98]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov al, byte [eax + ecx]
call fcn.00486d30
mov ebx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xcc]
add esp, 4
mov edx, 0x4000
test word [edi + 0x1c], dx
je 0x488d96
cmp dword [edi + 0x18], 0
jle 0x488d96
mov eax, edi
call fcn.00480150
mov ebx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x94]
push eax
mov ecx, edi
call fcn.00483d40
mov ecx, eax
add esp, 4
mov dword [ebp - 0xa8], ecx
call fcn.00483e30
mov dword [ebp - 0x8c], eax
cdq
add dword [ebp - 0xc8], eax
push 0
push ecx
adc dword [ebp - 0xc4], edx
call fcn.00468970
add dword [ebp - 0xc0], eax
mov ecx, 0x4000
add esp, 8
test word [edi + 0x1c], cx
je 0x488dee
mov edx, dword [edi + 0x10]
add dword [ebp - 0xb0], edx
jmp 0x488e01
cmp dword [ebp - 0x8c], 0
je 0x488e01
mov dword [ebp - 0xb0], 0
add edi, 0x28
mov dword [ebp - 0xcc], edi
cmp edi, dword [ebp - 0xa0]
jbe 0x488d30
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xc0]
mov eax, edi
cdq
push edx
push eax
call fcn.00468970
mov ebx, eax
add edi, ebx
mov eax, edi
cdq
push edx
push eax
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xc0], edi
call fcn.00468970
add esp, 0x10
cmp ebx, eax
jge 0x488e54
inc edi
mov dword [ebp - 0xc0], edi
mov eax, dword [ebp - 0xb0]
cdq
mov ebx, eax
mov eax, edi
mov dword [ebp - 0xf4], edx
cdq
mov edi, eax
mov eax, dword [ebp - 0xdc]
sub edi, ebx
mov ecx, edx
sbb ecx, dword [ebp - 0xf4]
add edi, dword [ebp - 0xc8]
adc ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xb4], ecx
mov eax, dword [eax + 0x4c]
cdq
cmp ecx, edx
jg 0x487c8a
jl 0x488ea6
cmp edi, eax
ja 0x487c8a
mov eax, edi
push 0
mov edi, esi
call fcn.0047ffe0
add esp, 4
test eax, eax
jne 0x48748c
mov eax, dword [ebp - 0xc0]
mov ecx, dword [esi + 4]
mov dword [ebp - 0xd0], ecx
cmp eax, 0x80
jae 0x488edd
mov dl, al
mov byte [ecx], dl
mov eax, 1
jmp 0x488ee2
call fcn.00468750
mov ecx, dword [ebp - 0xa4]
movzx edi, al
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], ecx
cmp ecx, eax
ja 0x488f6c
mov eax, dword [ebp - 0x94]
push eax
call fcn.00483d40
add esp, 4
mov dword [ebp - 0xa8], eax
cmp eax, 0x80
jae 0x488f2f
mov edx, dword [ebp - 0xd0]
mov cl, al
mov byte [edi + edx], cl
mov eax, 1
jmp 0x488f3c
mov ecx, dword [ebp - 0xd0]
add ecx, edi
call fcn.00468750
mov ecx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0x90]
movzx edx, al
mov eax, dword [ebp - 0xa0]
add ecx, 0x28
add edi, edx
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], ecx
cmp ecx, eax
jbe 0x488f01
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], ecx
cmp ecx, eax
ja 0x488fc5
jmp 0x488f80
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
sub eax, edi
push eax
mov eax, dword [ebp - 0x94]
lea ebx, [edi + edx]
call fcn.00483e50
mov ecx, dword [ebp - 0xcc]
mov edi, dword [ebp - 0x90]
add ecx, 0x28
add edi, eax
add esp, 4
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xcc], ecx
cmp ecx, dword [ebp - 0xa0]
jbe 0x488f80
mov eax, dword [ebp - 0xb8]
mov ecx, 0x410
mov dword [esi + 0x18], eax
mov word [esi + 0x1c], cx
mov dword [esi + 0x20], 0
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x488ff4
mov edx, 0x4410
mov dword [esi + 0x10], eax
mov word [esi + 0x1c], dx
mov byte [esi + 0x1f], 1
jmp case.default.0x486f90
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + eax*4]
mov eax, dword [eax]
xor ecx, ecx
mov dword [ebp - 0xc8], eax
cmp eax, ecx
je 0x489046
lea ecx, [ebp - 0xd0]
push ecx
call fcn.0047d810
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov dword [ebx + 0x10], edx
mov eax, dword [ebp - 0xcc]
add esp, 4
mov dword [ebx + 0x14], eax
jmp case.default.0x486f90
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], ecx
mov edx, ecx
mov dword [ebx + 0x10], edx
mov eax, dword [ebp - 0xcc]
mov dword [ebx + 0x14], eax
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xcc], esi
test eax, eax
jne 0x48918a
cmp dword [ecx + 0x84], eax
jle 0x4890b4
push str.cannot_open_savepoint___SQL_statements_in_progress
mov edi, dword [ebp - 0xd8]
add edi, 0x34
mov esi, ecx
call fcn.00465ef0
add esp, 4
mov dword [ebp - 0xd4], 5
jmp case.default.0x486f90
mov ecx, esi
call fcn.00467bc0
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x1e4]
add edx, dword [eax + 0x1e0]
push edx
push 0
push eax
call fcn.004bc290
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xdc]
add ecx, 0x19
call fcn.00465d60
mov dword [ebp - 0xc4], eax
test eax, eax
je case.default.0x486f90
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc4]
inc edx
push edx
mov edx, dword [ecx]
push eax
push edx
call fcn.004da560
mov eax, esi
add esp, 0xc
cmp byte [eax + 0x34], 0
je 0x489146
mov byte [eax + 0x34], 0
mov byte [eax + 0x3b], 1
jmp 0x48914c
inc dword [eax + 0x1e0]
mov ecx, dword [eax + 0x1d8]
mov edx, dword [ebp - 0xc4]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp - 0xc4]
mov edx, dword [eax + 0x1e8]
mov dword [eax + 0x1d8], ecx
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x1ec]
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0xc], edx
jmp case.default.0x486f90
xor edi, edi
mov dword [ebp - 0xb8], edi
mov ebx, dword [ecx + 0x1d8]
mov dword [ebp - 0xc0], ebx
test ebx, ebx
je 0x4891c3
mov ecx, dword [ebx]
mov edx, esi
call fcn.00467da0
test eax, eax
je 0x4891ef
inc edi
mov dword [ebp - 0xb8], edi
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0xc0], ebx
test ebx, ebx
jne 0x4891a2
mov edi, dword [ebp - 0xd8]
push esi
mov esi, dword [ebp - 0xdc]
push str.no_such_savepoint:__s
add edi, 0x34
call fcn.00465ef0
add esp, 8
mov dword [ebp - 0xd4], 1
jmp case.default.0x486f90
mov esi, dword [ebp - 0xdc]
cmp dword [esi + 0x84], 0
mov eax, dword [ebp - 0xd0]
jle 0x48922e
cmp eax, 1
jne 0x48922e
mov edi, dword [ebp - 0xd8]
push str.cannot_release_savepoint___SQL_statements_in_progress
add edi, 0x34
call fcn.00465ef0
add esp, 4
mov dword [ebp - 0xd4], 5
jmp case.default.0x486f90
cmp dword [ebx + 0x10], 0
jne 0x48929c
cmp byte [esi + 0x3b], 0
je 0x48929c
mov dword [ebp - 0xf4], 1
cmp eax, 1
jne 0x4892a6
push eax
mov eax, dword [ebp - 0xd8]
call fcn.00483470
mov esi, eax
add esp, 4
test esi, esi
jne 0x487d40
mov edx, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xd8]
mov byte [edx + 0x34], 1
call fcn.004834e0
cmp eax, 5
je 0x48c9bb
mov eax, dword [ebp - 0xdc]
mov ecx, ebx
mov byte [eax + 0x3b], 0
mov edx, dword [ecx + 0x58]
mov dword [ebp - 0xd4], edx
mov esi, eax
jmp 0x48937b
mov dword [ebp - 0xf4], 0
mov ecx, dword [esi + 0x1e0]
sub ecx, edi
dec ecx
mov dword [ebp - 0xb8], ecx
cmp eax, 2
jne 0x4892f9
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [esi + 0x14], eax
jle 0x4892f9
mov ecx, dword [esi + 0x10]
add eax, eax
mov edx, dword [ecx + eax*8 + 4]
push 4
push edx
call fcn.00478ce0
mov eax, dword [ebp - 0xb4]
inc eax
add esp, 8
mov dword [ebp - 0xb4], eax
cmp eax, dword [esi + 0x14]
jl 0x4892c7
mov ecx, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0xc0]
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [esi + 0x14], eax
jle 0x489357
mov edx, esi
jmp 0x489316
mov ecx, dword [ebp - 0xb8]
mov edx, dword [edx + 0x10]
push ecx
mov ecx, dword [ebp - 0xd0]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
push ecx
call fcn.00479000
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
mov eax, dword [ebp - 0xb4]
inc eax
mov edx, esi
mov dword [ebp - 0xb4], eax
cmp eax, dword [edx + 0x14]
jl 0x489310
mov ebx, dword [ebp - 0xc0]
cmp dword [ebp - 0xd0], 2
jne 0x489381
mov edi, 0x200
test dword [esi + 0x18], edi
je 0x489381
mov eax, esi
call fcn.00484710
mov eax, esi
call fcn.0049a710
or dword [esi + 0x18], edi
mov ebx, dword [ebp - 0xc0]
cmp dword [esi + 0x1d8], ebx
je 0x4893c6
lea esp, [esp]
mov eax, dword [esi + 0x1d8]
mov dword [ebp - 0xbc], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1d8], eax
mov eax, dword [ebp - 0xbc]
mov ecx, esi
call fcn.00465b20
dec dword [esi + 0x1e0]
mov ebx, dword [ebp - 0xc0]
cmp dword [esi + 0x1d8], ebx
jne 0x489390
cmp dword [ebp - 0xd0], 1
jne 0x489400
mov ecx, dword [ebx + 0x10]
mov dword [esi + 0x1d8], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, esi
call fcn.00465b20
cmp dword [ebp - 0xf4], 0
jne case.default.0x486f90
mov eax, dword [ebp - 0xdc]
dec dword [eax + 0x1e0]
jmp 0x489425
cmp dword [ebp - 0xf4], 0
mov edx, dword [ebx + 8]
mov dword [esi + 0x1e8], edx
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x1ec], eax
jne case.default.0x486f90
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
push ecx
push edx
push eax
call fcn.004bc290
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 8]
mov dword [ebp - 0xcc], edi
test eax, eax
je 0x489491
cmp byte [ecx + 0x34], 0
jne 0x489491
mov dword [ebp - 0xc8], 1
test edi, edi
jne 0x48949b
cmp dword [ecx + 0x84], edi
jle 0x48949b
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x489092
mov dword [ebp - 0xc8], 0
movzx ecx, byte [ecx + 0x34]
cmp eax, ecx
jne 0x48c9dd
test eax, eax
jne 0x4894b2
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4894c0
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x4894c0
mov eax, str.cannot_commit___no_transaction_is_active
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
push eax
add edi, 0x34
call fcn.00465ef0
add esp, 4
mov dword [ebp - 0xd4], 1
jmp case.default.0x486f90
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x10]
add edx, edx
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x486f90
mov edx, dword [edi + 8]
push edx
push eax
call fcn.00477cd0
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, 5
je 0x48ca7e
test eax, eax
jne 0x48cab6
cmp dword [edi + 8], eax
je case.default.0x486f90
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x63], 0
je case.default.0x486f90
mov esi, dword [ebp - 0xdc]
cmp byte [esi + 0x34], 0
je 0x48955d
cmp dword [esi + 0x80], 1
jle case.default.0x486f90
mov edi, eax
cmp dword [edi + 0x74], 0
jne 0x48957a
mov ecx, dword [esi + 0x1e0]
inc dword [esi + 0x1e4]
add ecx, dword [esi + 0x1e4]
mov dword [edi + 0x74], ecx
mov edx, dword [edi + 0x74]
dec edx
push edx
push 0
push esi
call fcn.004bc290
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4895ac
mov eax, dword [edi + 0x74]
push eax
mov eax, dword [ebp - 0xd0]
call fcn.00478fb0
add esp, 4
mov dword [ebp - 0xd4], eax
mov ecx, dword [esi + 0x1e8]
mov dword [edi + 0x98], ecx
mov edx, dword [esi + 0x1ec]
mov dword [edi + 0x9c], edx
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
mov edi, dword [edi + 0xc]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xc8], edi
push ecx
mov ecx, dword [edx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
push edi
call fcn.0047d710
mov eax, dword [ebp - 0xd0]
cdq
add esp, 8
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.default.0x486f90
mov edx, dword [edi + 4]
mov ebx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe8]
shl edx, 4
add edx, dword [ebx + 0x10]
mov dword [ebp - 0xd0], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00480590
mov edx, dword [esi + 0x10]
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xd0]
push edx
push eax
mov eax, dword [ecx + 4]
call fcn.0047d780
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 8]
add esp, 8
cmp eax, 1
jne 0x489673
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
or dword [ebx + 0x18], 0x200
jmp 0x489687
cmp eax, 2
jne 0x489687
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov cl, byte [esi + 0x10]
mov byte [eax + 0x4c], cl
cmp dword [edi + 4], 1
jne case.default.0x486f90
mov eax, ebx
call fcn.00484710
mov edx, dword [ebp - 0xd8]
mov byte [edx + 0x5f], 0
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x4896eb
lea ecx, [ebp - 0xd0]
push ecx
push 1
call fcn.0047d710
mov eax, dword [ebp - 0xdc]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x10]
add esp, 8
add edx, edx
mov edx, dword [ecx + edx*8 + 0xc]
mov eax, dword [edx + 4]
jmp 0x4896f7
mov dword [ebp - 0xd0], 0
xor eax, eax
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
cmp ecx, dword [edi + 8]
jne 0x489711
cmp eax, dword [edi + 0xc]
je case.default.0x486f90
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
mov eax, dword [edx + 0x34]
mov ecx, esi
call fcn.00465b20
push esi
mov ebx, str.database_schema_has_changed
call fcn.00465e70
mov ebx, dword [ebp - 0xd8]
mov dword [ebx + 0x34], eax
mov edi, dword [edi + 4]
mov ecx, edi
mov eax, esi
mov edx, dword [eax + 0x10]
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 0xc]
mov edx, dword [ecx]
add esp, 4
cmp edx, dword [ebp - 0xd0]
je 0x489761
mov esi, edi
mov edi, eax
call fcn.0049a6e0
mov byte [ebx + 0x5f], 1
mov dword [ebp - 0xd4], 0x11
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0x5f], 0
je 0x48978f
mov dword [ebp - 0xd4], 4
jmp case.default.0x486f90
mov esi, dword [ebp - 0xdc]
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], ecx
mov edx, dword [edi + 8]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0xb4], eax
mov esi, dword [eax + 4]
mov dword [ebp - 0xbc], esi
cmp byte [edi], 0x28
jne 0x4897ef
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x61]
jae 0x4897f5
mov byte [esi + 0x61], al
jmp 0x4897f5
mov dword [ebp - 0xc0], ecx
cmp byte [edi + 3], cl
je 0x489823
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 0xe8]
lea esi, [edx + ecx*8]
call fcn.00480590
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xc8], esi
cmp esi, 2
jl 0x48ca9a
mov ecx, dword [ebp - 0xd0]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x489854
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + 0xc]
mov cl, byte [edx + 0x4d]
mov byte [eax + 4], cl
mov edx, dword [ebp - 0xcc]
movzx ecx, word [edx + 6]
inc ecx
jmp 0x48985b
cmp al, 0xf2
jne 0x489861
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xd8]
push 1
push eax
push ecx
mov ecx, dword [edi + 4]
push ecx
call fcn.00486b90
add esp, 0x10
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x48748c
mov cl, 1
mov byte [eax + 0x1c], cl
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x20], cl
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc0]
push ecx
mov ecx, dword [ebp - 0xc8]
push edx
push eax
mov eax, dword [ebp - 0xbc]
push ecx
call fcn.00479120
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
mov dword [edx + 8], eax
mov edx, dword [ebp - 0xb8]
add esp, 0x10
cmp byte [edi + 1], 0xfa
setne cl
mov byte [edx + 0x1e], cl
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x1e], 0
sete cl
mov byte [eax + 0x1f], cl
jmp case.default.0x486f90
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push edx
push eax
call fcn.00486b90
add esp, 0x10
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x48748c
mov edx, dword [ebp - 0xdc]
mov ebx, 1
mov byte [eax + 0x1c], bl
movzx ecx, byte [edi + 3]
mov eax, dword [edx]
or ecx, 5
push 0x41e
push ecx
mov ecx, dword [ebp - 0xd0]
push 0
add ecx, 4
push eax
call fcn.00476cf0
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x489a3c
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 4]
push ebx
push edx
call fcn.00477cd0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x489a3c
cmp dword [edi + 0x10], eax
je 0x489a15
movzx eax, byte [edi + 3]
mov edx, dword [ebp - 0xd0]
or eax, 2
push eax
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x11c]
push ecx
call fcn.0047d0b0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x489a09
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov edx, dword [edi + 0x10]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x11c]
push edx
push ebx
push ecx
call fcn.00479120
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 8], edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov cl, byte [ecx + 0x4d]
add esp, 0x10
mov byte [eax + 4], cl
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1e], 0
jmp 0x489a3c
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push 0
push ebx
push ebx
call fcn.00479120
mov edx, dword [ebp - 0xd0]
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov byte [edx + 0x1e], bl
cmp byte [edi + 3], 8
mov ecx, dword [ebp - 0xd0]
setne al
mov byte [ecx + 0x20], al
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1e], 0
sete dl
mov byte [eax + 0x1f], dl
jmp case.default.0x486f90
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push eax
push ecx
call fcn.00486b90
add esp, 0x10
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x48748c
mov edx, dword [edi + 0x10]
mov dword [eax + 8], edx
mov eax, ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
mov al, byte [eax + 0x4d]
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xdc]
mov byte [ecx + 0x21], 1
mov eax, dword [ebp - 0xd0]
push edx
call fcn.0048ddd0
add esp, 4
mov dword [ebp - 0xd4], eax
jmp case.default.0x486f90
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0xd8]
push 0
push 0xffffffffffffffff
push eax
push ecx
call fcn.00486b90
add esp, 0x10
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x48748c
mov cl, 1
mov byte [eax + 0x1c], cl
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1e], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1f], 0
jmp case.default.0x486f90
mov esi, dword [ebp - 0xd8]
mov ecx, dword [edi + 4]
mov edx, dword [esi + 0x40]
mov eax, dword [edx + ecx*4]
push esi
call fcn.004829c0
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x40]
add esp, 4
mov dword [ecx + eax*4], 0
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], 0
je 0x486fab
movzx edx, byte [edi]
mov dword [ebp - 0xcc], edx
mov byte [eax + 0x1c], 0
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x1e], 0
je 0x489d61
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
call fcn.00486c50
mov ecx, esi
call fcn.00480430
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], eax
mov byte [edx + 0x19], 0
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x489cf0
test al, 8
jne 0x489bd8
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
xor ebx, ebx
cmp dword [ebp - 0xa0], ebx
jne 0x489ca2
mov eax, SysReAllocString
cmp dword [ebp - 0x9c], eax
jne 0x489ca2
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], ebx
fild qword [ebp - 0x130]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
je 0x489c23
fldz
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x489ca2
fldz
mov dword [ebp - 0xd0], 1
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x489c57
cmp dword [ebp - 0xcc], 0x30
jl 0x489c93
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
lea edi, [ebp - 0xd0]
call fcn.00479df0
jmp 0x489c73
cmp dword [ebp - 0xcc], 0x2f
jg 0x489c93
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ecx]
lea edi, [ebp - 0xd0]
call fcn.00479e20
mov dword [ebp - 0xd4], eax
cmp eax, ebx
jne 0x48cab6
cmp dword [ebp - 0xd0], ebx
je case.default.0x486f90
mov edi, dword [ebp - 0xec]
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [ebp - 0xcc]
cmp eax, 0x2e
je 0x489cd3
cmp eax, 0x30
je 0x489cd3
fild qword [ebp - 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 0x41
jne 0x489cf0
or eax, 0xffffffff
add dword [ebp - 0xa0], eax
adc dword [ebp - 0x9c], eax
jmp 0x489cf0
fild qword [ebp - 0xa0]
fcomp qword [esi + 8]
fnstsw ax
test ah, 5
jp 0x489cf0
add dword [ebp - 0xa0], 1
adc dword [ebp - 0x9c], ebx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
lea edx, [ebp - 0xd0]
push edx
mov edx, dword [ebp - 0xc8]
push 0
push eax
mov eax, dword [edx]
push ecx
push 0
push eax
call fcn.00479e60
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
cmp dword [ebp - 0xd0], eax
jne 0x489de4
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 1
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x40], edx
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 0x44], ecx
jmp 0x489de4
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xa8], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0xc0], edx
mov dl, byte [ebp - 0xcc]
and dl, 1
mov word [ebp - 0xbc], ax
mov byte [ebp - 0xba], dl
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov edx, 0x4000
mov dword [ebp - 0xb0], eax
test word [eax + 0x1c], dx
je 0x489dae
call fcn.00480150
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ecx]
push 0
push 0
push 0
lea edx, [ebp - 0xc0]
push edx
push eax
call fcn.00479e60
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], al
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
xor esi, esi
mov dword [eax + 0x50], esi
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
cmp ecx, 0x30
jl 0x489e52
cmp eax, esi
jl 0x489e20
jne 0x489e15
cmp ecx, 0x31
je 0x489e20
mov dword [ebp - 0xd0], esi
jmp case.default.0x486f90
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
lea ecx, [ebp - 0xd0]
push ecx
push eax
call fcn.0047a230
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, esi
jne 0x48cab6
mov ecx, dword [ebp - 0xc8]
mov byte [ecx + 0x19], 0
jmp 0x489ea6
cmp eax, esi
jg 0x489e76
jne 0x489e5d
cmp ecx, 0x2e
je 0x489e76
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
xor ecx, ecx
cmp byte [eax + 0x5b], 1
setne cl
mov dword [ebp - 0xd0], ecx
jmp 0x489ea6
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
lea edx, [ebp - 0xd0]
push edx
push ecx
call fcn.0047a3c0
add esp, 8
mov dword [ebp - 0xd4], eax
cmp eax, esi
jne 0x48cab6
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x19], 0
cmp dword [ebp - 0xd0], esi
je case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
cmp dword [eax], 0
je case.default.0x486f90
mov byte [eax + 0x1c], 0
mov edi, dword [edi + 8]
lea eax, [edi + edi*4]
lea ecx, [esi + eax*8]
call fcn.00480430
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 1
jmp case.default.0x486f90
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + 0x40]
xor edx, edx
mov dword [ebp - 0xd0], edx
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*8]
cmp dword [eax], edx
je 0x48a049
cmp dword [edi + 0x10], edx
jle 0x489f7e
mov edx, dword [eax + 8]
mov dword [ebp - 0xb8], edx
mov cx, word [edi + 0x10]
lea edx, [ebp - 0xb8]
mov word [ebp - 0xb4], cx
mov dword [ebp - 0xa8], esi
mov byte [ebp - 0xb2], 2
mov dword [ebp - 0xc0], edx
jmp 0x489fd9
mov edi, dword [eax + 8]
push 0x97
lea ebx, [ebp - 0xc4]
lea edx, [ebp - 0xa0]
call fcn.00484130
add esp, 4
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x48748c
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0xcc]
push eax
mov eax, dword [esi + 4]
push eax
mov eax, dword [edx + 8]
push ecx
push eax
call fcn.00484180
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xec]
add esp, 0x10
or byte [eax + 6], 2
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc0]
mov eax, dword [eax]
lea ecx, [ebp - 0xc8]
push ecx
push 0
push 0
push 0
push edx
push eax
call fcn.00479e60
add esp, 0x18
cmp dword [edi + 0x10], 0
mov esi, eax
mov dword [ebp - 0xd4], esi
jne 0x48a017
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xdc]
call fcn.00465b20
test esi, esi
jne case.default.0x486f90
mov edx, dword [ebp - 0xcc]
xor ecx, ecx
cmp dword [ebp - 0xc8], ecx
sete cl
mov dword [ebp - 0xd0], ecx
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], esi
mov edx, dword [ebp - 0xd0]
cmp byte [edi], 0x34
jne 0x48a065
test edx, edx
je case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
test edx, edx
jne case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x10]
lea edx, [eax + eax*4]
lea eax, [esi + edx*8]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], eax
mov eax, dword [edx + 0x40]
lea ebx, [esi + ecx*8]
mov ecx, dword [edi + 4]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
xor ecx, ecx
mov dword [eax + 0x4c], ecx
mov edx, dword [ebp - 0xcc]
mov dword [edx + 0x50], ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
mov ecx, dword [edx + 8]
mov cx, word [ecx + 6]
xor esi, esi
xor eax, eax
cmp si, cx
mov esi, dword [ebp - 0xc0]
mov word [ebp - 0xc4], cx
mov word [ebp - 0xd0], ax
jae 0x48a115
lea esp, [esp]
movzx edx, ax
lea edx, [edx + edx*4]
test byte [esi + edx*8 + 0x1c], 1
jne 0x48a1c9
inc ax
mov word [ebp - 0xd0], ax
cmp ax, cx
jb 0x48a0f0
mov edx, dword [ebp - 0xcc]
cmp dword [ebp - 0xc8], 0
je case.default.0x486f90
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0xc4]
inc ecx
mov dword [ebp - 0xa8], esi
mov esi, ebx
mov dword [ebp - 0xb8], eax
mov word [ebp - 0xb4], cx
mov byte [ebp - 0xb2], 4
call fcn.00480590
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebx + 0x10]
add ecx, 0x4c
push ecx
push 0
mov dword [ebp - 0xa0], edx
mov eax, dword [ebx + 0x14]
push 0
push 0
lea edx, [ebp - 0xb8]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xc8]
push edx
push eax
call fcn.00479e60
add esp, 0x18
test byte [ebp - 0xb2], 4
mov dword [ebp - 0xd4], eax
jne 0x486fab
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0xa0]
jne 0x48a1b8
mov ecx, dword [ebp - 0xac]
cmp ecx, dword [ebp - 0x9c]
je 0x486fab
mov dword [ebx + 0x10], eax
mov edx, dword [ebp - 0xac]
mov dword [ebx + 0x14], edx
jmp case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xc8], 0
jmp case.default.0x486f90
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x48a2b6
mov dword [ebp - 0xc8], 0
mov ecx, dword [esi + 0x10]
lea ebx, [ebp - 0xc8]
push ebx
push 0
mov dword [ebp - 0xc0], ecx
mov edx, dword [esi + 0x14]
push edx
push ecx
push 0
push eax
mov dword [ebp - 0xbc], edx
call fcn.00479e60
mov edx, dword [ebp - 0xd0]
mov ecx, dword [esi + 0x10]
mov dword [edx + 0x40], ecx
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0xd0]
add esp, 0x18
cmp dword [ebp - 0xc8], 0
sete dl
mov byte [eax + 0x19], dl
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x1c], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x50], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x48a2a8
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x4c], eax
jmp case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov dword [ecx + 0x4c], 0
jmp case.default.0x486f90
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + 0x40]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x30]
mov dword [ebx + 0x10], edx
mov eax, dword [eax + 0x34]
mov dword [ebx + 0x14], eax
mov edx, dword [edi + 4]
mov eax, dword [ecx + 0x40]
mov eax, dword [eax + edx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x40]
xor edx, edx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc4], edx
mov ecx, dword [edi + 4]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
cmp eax, edx
je 0x48a613
cmp byte [ecx + 0x1b], dl
jne 0x48a4e3
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0xd0], ecx
mov eax, dword [eax + 0x24]
mov edx, ecx
or edx, eax
mov dword [ebp - 0xcc], eax
jne 0x48a3ec
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax]
lea edi, [ebp - 0xc4]
call fcn.00479e20
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
cmp dword [ebp - 0xc4], eax
je 0x48a383
lea ecx, [eax + 1]
jmp 0x48a3d4
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ecx]
lea edi, [ebp - 0xd0]
call fcn.004792a0
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
cmp eax, 0x7fffffff
jl 0x48a3ce
jg 0x48a3b6
cmp ecx, 0xffffffff
jb 0x48a3ce
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1b], 1
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
jmp 0x48a3e0
add ecx, 1
adc eax, 0
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd0], ecx
mov edi, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe8]
mov edx, dword [edi + 0xc]
test edx, edx
je 0x48a4b1
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xa8]
test ecx, ecx
je 0x48a431
mov dword [ebp - 0xb8], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x48a423
mov ecx, eax
mov dword [ebp - 0xb8], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x48a414
mov edi, dword [edi + 0xc]
mov eax, dword [ecx + 0xc]
lea edx, [edi + edi*4]
lea esi, [eax + edx*8]
jmp 0x48a437
lea ecx, [edx + edx*4]
lea esi, [esi + ecx*8]
mov dword [ebp - 0xbc], esi
call fcn.00480590
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
cmp eax, 0xffffffff
jne 0x48a45f
cmp ecx, 0x7fffffff
je 0x48caac
mov esi, dword [ebp - 0xc8]
cmp byte [esi + 0x1b], 0
jne 0x48caac
add eax, 1
adc ecx, 0
cmp dword [ebp - 0xcc], ecx
jg 0x48a493
jl 0x48a487
cmp dword [ebp - 0xd0], eax
jae 0x48a493
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp eax, 0x7fffffff
jg 0x48a4c7
jl 0x48a4bf
cmp ecx, 0xffffffff
jae 0x48a4c7
add ecx, 1
adc eax, 0
jmp 0x48a4cb
xor ecx, ecx
xor eax, eax
mov edx, dword [ebp - 0xc8]
mov esi, dword [edx]
push eax
push ecx
call fcn.00479170
mov ecx, dword [ebp - 0xc8]
add esp, 8
cmp byte [ecx + 0x1b], 0
je 0x48a5f2
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x100]
and eax, 0x3fffffff
add ecx, 1
lea edx, [ebp - 0xc4]
push edx
adc eax, 0
push 0
push eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
push ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xc0], 0
mov ecx, dword [eax]
push 0
push ecx
call fcn.00479e60
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48a5ec
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
jne 0x48a5db
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, 0x64
jge 0x48a5db
lea edx, [ebp - 0xd0]
push edx
push 8
call fcn.00467430
mov eax, dword [ebp - 0xd0]
add esp, 8
cmp dword [ebp - 0xc0], 5
jge 0x48a58f
and eax, 0xffffff
xor ecx, ecx
jmp 0x48a59b
mov ecx, dword [ebp - 0xcc]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xc4]
push edx
adc ecx, 0
push 0
push ecx
push eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], ecx
mov ecx, dword [eax]
push 0
push ecx
call fcn.00479e60
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x48a546
jmp 0x48a5ec
cmp dword [ebp - 0xd4], 0
jne 0x48a5ec
test ecx, ecx
je 0x48caac
mov ecx, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xe4]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp - 0xd0]
mov dword [ebx + 0x10], ecx
mov edx, dword [ebp - 0xcc]
mov dword [ebx + 0x14], edx
jmp case.default.0x486f90
mov eax, dword [edi + 8]
mov ebx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0xd0], ecx
mov edx, dword [edi + 4]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0xc0], edx
cmp byte [edi], 0x39
mov eax, dword [edi + 0xc]
jne 0x48a670
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0xcc], esi
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc8], eax
mov edx, dword [esi + 0x14]
jmp 0x48a677
cdq
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
test byte [edi + 3], 1
je 0x48a686
inc dword [ebx + 0x68]
test byte [edi + 3], 2
je 0x48a6b0
mov ecx, dword [ebp - 0xdc]
mov dword [ecx + 0x20], eax
mov dword [ebp - 0xfc], edx
mov edx, dword [ebp - 0xc4]
mov dword [ecx + 0x24], edx
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x100], eax
xor eax, eax
test byte [ecx + 0x1c], 1
je 0x48a6ca
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x18], eax
mov ecx, dword [ebp - 0xd0]
test byte [edi + 3], 0x10
je 0x48a6e1
mov edx, dword [ebp - 0xc0]
mov edx, dword [edx + 0x4c]
mov dword [ebp - 0xb8], edx
jmp 0x48a6e7
mov dword [ebp - 0xb8], eax
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x48a6f5
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xbc], eax
mov esi, dword [ecx]
push 0
push 0
call fcn.00479170
movzx eax, byte [edi + 3]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
push edx
and eax, 8
push eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0xc4]
push edx
mov edx, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc0]
mov esi, dword [eax]
push ecx
push edx
push 0
call fcn.0047c9c0
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xc0]
mov byte [edx + 0x1d], 0
mov ecx, dword [ebp - 0xc0]
add esp, 0x28
mov dword [ebp - 0xd4], eax
mov dword [ecx + 0x50], 0
test eax, eax
jne case.default.0x486f90
mov edx, dword [ebp - 0xdc]
cmp dword [edx + 0xb8], eax
je case.default.0x486f90
cmp dword [edi + 0x10], eax
je case.default.0x486f90
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0xc]
mov esi, edx
mov edx, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [edx + ecx*8]
mov dword [ebp - 0xb4], ecx
mov edx, dword [edi + 0x10]
mov dword [ebp - 0xb0], edx
mov al, byte [edi + 3]
mov edi, dword [ebp - 0xc4]
and al, 4
movzx eax, al
push edi
mov edi, dword [ebp - 0xc8]
neg eax
sbb eax, eax
push edi
push edx
and eax, 5
add eax, 0x12
push ecx
mov dword [ebp - 0xac], eax
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xb8]
push eax
push ecx
call edx
add esp, 0x18
jmp case.default.0x486f90
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx + 0x40]
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], esi
cmp dword [ecx + 0xb8], eax
je 0x48a844
cmp dword [edi + 0x10], eax
je 0x48a844
mov edx, dword [esi + 0x40]
mov dword [ebp - 0xd0], edx
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xcc], eax
call fcn.00483ca0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ecx]
push eax
push eax
call fcn.00479170
mov edx, dword [ebp - 0xc8]
mov esi, dword [edx]
add esp, 8
call fcn.0047cbc0
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
mov dword [ecx + 0x50], 0
test eax, eax
jne 0x48a8d3
mov edx, dword [ebp - 0xdc]
mov ecx, dword [edx + 0xb8]
test ecx, ecx
je 0x48a8d3
mov eax, dword [edi + 0x10]
test eax, eax
je 0x48a8d3
mov esi, dword [ebp - 0xcc]
push esi
mov esi, dword [ebp - 0xd0]
push esi
mov esi, dword [edx + 0x10]
mov edx, dword [edx + 0xb4]
push eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0xc]
add eax, eax
mov eax, dword [esi + eax*8]
push eax
push 9
push edx
call ecx
add esp, 0x18
test byte [edi + 8], 1
je case.default.0x486f90
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x68]
jmp case.default.0x486f90
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x68]
mov ecx, dword [ebp - 0xdc]
add dword [ecx + 0x48], eax
mov dword [ecx + 0x44], eax
mov dword [edx + 0x68], 0
jmp case.default.0x486f90
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x40]
mov eax, dword [edi + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [esi + ecx*8]
lea ecx, [ebp - 0xcc]
push ecx
call fcn.0048e8c0
add esp, 4
cmp dword [ebp - 0xcc], 0
mov dword [ebp - 0xd4], eax
je case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
lea ecx, [esi + edx*8]
mov edx, dword [ebp - 0xd8]
mov edx, dword [edx + 0x40]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xd0], eax
call fcn.0048e840
mov dword [ebp - 0xd4], eax
jmp case.default.0x486f90
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x40]
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0xd0], esi
mov edx, dword [esi]
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xcc], edx
call fcn.00483ca0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1f], 0
mov esi, dword [ebp - 0xcc]
je 0x48aa21
lea edi, [ebp - 0xc0]
call fcn.004792a0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x4c]
cdq
cmp dword [ebp - 0xbc], edx
jg 0x487c8a
mov ecx, dword [ebp - 0xc0]
jl 0x48aa17
cmp ecx, eax
ja 0x487c8a
mov eax, ecx
mov dword [ebp - 0xc8], eax
jmp 0x48aa45
lea edx, [ebp - 0xc8]
push edx
call fcn.00479310
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xdc]
add esp, 4
cmp eax, dword [ecx + 0x4c]
ja 0x487c8a
push 0
mov edi, ebx
call fcn.0047ffe0
add esp, 4
test eax, eax
jne 0x48748c
mov ax, word [ebx + 0x1c]
mov edx, dword [ebp - 0xc8]
mov ecx, 0xbf10
and ax, cx
or ax, 0x10
mov dword [ebx + 0x18], edx
mov word [ebx + 0x1c], ax
mov edx, dword [ebp - 0xd0]
cmp byte [edx + 0x1f], 0
mov ecx, dword [ebp - 0xcc]
je 0x48aaaf
mov eax, dword [ebx + 4]
push 0
push eax
mov eax, dword [ebp - 0xc8]
push eax
push 0
push ecx
call fcn.00479640
add esp, 0x14
mov dword [ebp - 0xd4], eax
mov byte [ebx + 0x1f], 1
jmp case.default.0x486f90
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xc8]
push edx
push eax
push 0
push ecx
call fcn.00479960
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov byte [ebx + 0x1f], 1
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x40]
mov esi, dword [ecx + edx*4]
mov dword [ebp - 0xd0], esi
cmp byte [esi + 0x1c], 0
je 0x48aafd
mov edx, 1
mov word [ebx + 0x1c], dx
jmp case.default.0x486f90
cmp byte [esi + 0x1d], 0
je 0x48ab2e
mov eax, dword [esi + 0x38]
mov dword [ebp - 0xc8], eax
mov ecx, dword [esi + 0x3c]
mov dword [ebp - 0xc4], ecx
mov ecx, eax
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x14], edx
jmp case.default.0x486f90
cmp dword [esi + 0x24], 0
je 0x48ab90
mov edx, dword [esi + 0x24]
mov eax, dword [edx]
mov dword [ebp - 0xc0], eax
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
mov edx, dword [esi + 0x24]
mov eax, dword [eax + 0x30]
lea ecx, [ebp - 0xc8]
push ecx
push edx
call eax
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xd8]
push ecx
push edx
mov dword [ebp - 0xd4], eax
call fcn.00486d80
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
add esp, 0x10
mov dword [eax + 0x14], edx
jmp case.default.0x486f90
call fcn.00483ca0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x19], 0
je 0x48abd8
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc4], edx
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x14], edx
jmp case.default.0x486f90
mov esi, dword [eax]
lea edi, [ebp - 0xc8]
call fcn.004792a0
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x14], edx
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov ecx, dword [ebp - 0xd0]
mov esi, dword [ecx]
test esi, esi
je case.default.0x486f90
call fcn.00475870
jmp case.default.0x486f90
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xd0], eax
mov esi, dword [eax]
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xc8], 0
test esi, esi
je 0x48ac8d
lea edi, [ebp - 0xc8]
call fcn.00479e20
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov dl, byte [ebp - 0xc8]
mov byte [eax + 0x1c], dl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x19], 0
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x50], 0
mov edi, dword [edi + 8]
test edi, edi
jle case.default.0x486f90
cmp dword [ebp - 0xc8], 0
je case.default.0x486f90
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x7c]
jmp 0x48acec
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edi + 4]
mov edx, dword [eax + 0x40]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc8], 1
cmp dword [eax + 0x48], 0
je 0x48ad28
mov ecx, dword [ebp - 0xdc]
push eax
lea edx, [ebp - 0xc8]
call fcn.0048e4c0
add esp, 4
mov dword [ebp - 0xd4], eax
jmp 0x48ad7d
mov eax, dword [eax]
lea edi, [ebp - 0xc8]
mov esi, eax
mov dword [ebp - 0xcc], eax
call fcn.00479df0
cmp dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xd4], eax
sete al
mov byte [ecx + 0x1a], al
mov edx, dword [ebp - 0xd0]
mov byte [edx + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x19], 0
mov dl, byte [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], dl
cmp dword [ebp - 0xc8], 0
je case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0xe0]
test edx, edx
jne 0x48cb2d
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x486f90
cmp dword [eax + 0x48], 0
je 0x48adf4
lea ecx, [ebp - 0xcc]
push ecx
mov ecx, dword [ebp - 0xdc]
push eax
call fcn.0048e790
jmp 0x48ae0d
mov dword [ebp - 0xcc], 1
mov eax, dword [eax]
mov ecx, dword [edi + 0x10]
lea edx, [ebp - 0xcc]
push edx
push eax
call ecx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xcc]
mov byte [edx + 0x1c], al
mov ecx, dword [ebp - 0xd0]
add esp, 8
mov dword [ecx + 0x50], 0
cmp dword [ebp - 0xcc], 0
jne 0x48ae5d
mov eax, dword [edi + 8]
dec eax
mov dword [ebp - 0xe0], eax
mov al, byte [edi + 3]
test al, al
je 0x48ae5d
movzx edx, al
mov eax, dword [ebp - 0xd8]
inc dword [eax + edx*4 + 0x74]
lea eax, [eax + edx*4 + 0x74]
mov ecx, dword [ebp - 0xd0]
mov byte [ecx + 0x19], 0
jmp case.default.0x486f90
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 8]
lea edx, [eax + eax*4]
lea ebx, [esi + edx*8]
mov esi, dword [ecx]
mov dword [ebp - 0xcc], esi
test esi, esi
je case.default.0x486f90
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x48aec6
mov eax, ebx
call fcn.00480150
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x486f90
mov esi, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0x48], 0
je 0x48aee7
push ecx
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.0048e380
add esp, 8
mov dword [ebp - 0xd4], eax
jmp case.default.0x486f90
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xc8], eax
mov ebx, dword [ebx + 4]
mov dword [ebp - 0xc4], ebx
test byte [edi + 3], 0x10
je 0x48af04
mov ecx, dword [ecx + 0x4c]
jmp 0x48af06
xor ecx, ecx
mov edx, dword [edi + 0xc]
push ecx
push edx
push 0
push 0
cdq
push 0x50f5b4
push edx
push eax
push ebx
call fcn.0047c9c0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
add esp, 0x20
mov dword [eax + 0x50], 0
jmp case.default.0x486f90
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0x40]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je case.default.0x486f90
mov edx, dword [eax + 8]
mov dword [ebp - 0xc0], edx
mov ax, word [edi + 0xc]
mov word [ebp - 0xbc], ax
mov byte [ebp - 0xba], 0
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea eax, [esi + edx*8]
lea edx, [ebp - 0xc8]
push edx
push 0
push 0
mov dword [ebp - 0xb0], eax
push 0
lea eax, [ebp - 0xc0]
push eax
push ecx
call fcn.00479e60
add esp, 0x18
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48afc7
cmp dword [ebp - 0xc8], eax
jne 0x48afc7
mov esi, dword [ebp - 0xcc]
call fcn.0047cbc0
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x50], 0
jmp case.default.0x486f90
mov edx, dword [edi + 4]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xcc], eax
mov edx, dword [eax]
mov dword [ebp - 0xd0], edx
mov eax, 1
mov word [ebx + 0x1c], ax
cmp dword [ebp - 0xd0], 0
je case.default.0x486f90
mov esi, dword [ebp - 0xcc]
call fcn.00483ca0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
mov ecx, dword [ebp - 0xcc]
cmp byte [ecx + 0x1c], al
jne case.default.0x486f90
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xc8]
push edx
call fcn.004844b0
add esp, 4
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48cab6
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0xc4]
mov ecx, 4
mov dword [eax + 0x14], edx
mov word [eax + 0x1c], cx
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xd0], eax
cmp dword [eax], 0
je case.default.0x486f90
mov edx, dword [eax + 8]
mov dword [ebp - 0xc8], edx
mov cx, word [edi + 0x10]
mov word [ebp - 0xc4], cx
cmp byte [edi + 3], 0
setne dl
add dl, 2
mov byte [ebp - 0xc2], dl
mov ecx, dword [edi + 0xc]
lea ecx, [ecx + ecx*4]
lea edx, [esi + ecx*8]
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xb8], edx
push ecx
lea edx, [ebp - 0xc8]
push edx
call fcn.00484610
add esp, 8
cmp byte [edi], 0x64
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
jne 0x48b0f9
neg eax
jmp 0x48b0fa
inc eax
mov dword [ebp - 0xcc], eax
test eax, eax
jle case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0xc8], eax
mov ecx, 1
test eax, eax
je 0x48b168
lea esp, [esp]
cmp dword [eax + 0x30], 0xbdf20da3
jne 0x48b15b
cmp byte [eax + 0x62], 2
jae 0x48b15b
cmp dword [eax + 0x54], 0
jl 0x48b15b
add dword [ebp - 0xcc], ecx
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x48b140
mov edx, ecx
mov word [ebx + 0x1c], dx
cmp dword [ebp - 0xcc], ecx
jle 0x48b18f
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], 6
mov byte [eax + 0x5c], 2
jmp case.default.0x486f90
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
mov edx, dword [edi + 4]
lea ecx, [ebp - 0xd0]
push ecx
mov ecx, dword [ebp - 0xdc]
push edx
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.0047d6c0
mov ecx, eax
mov eax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
add esp, 8
mov dword [ebp - 0xd4], ecx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
test ecx, ecx
jne case.default.0x486f90
mov esi, dword [ebp - 0xd0]
test esi, esi
je case.default.0x486f90
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xdc]
call fcn.0049c320
mov al, byte [ebp - 0xc4]
inc al
mov byte [ebp - 0xf5], al
jmp case.default.0x486f90
mov dword [ebp - 0xd0], 0
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0xd0]
and ecx, edx
mov edx, dword [ebp - 0xdc]
push ecx
mov ecx, dword [edi + 8]
push eax
mov eax, dword [edx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
call fcn.0047d290
add esp, 8
cmp dword [edi + 0xc], 0
mov dword [ebp - 0xd4], eax
je case.default.0x486f90
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x68], eax
mov edi, dword [edi + 0xc]
test edi, edi
jle case.default.0x486f90
lea ecx, [edi + edi*4]
cdq
add dword [esi + ecx*8 + 0x10], eax
lea ecx, [esi + ecx*8 + 0x10]
adc dword [ecx + 4], edx
jmp case.default.0x486f90
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], 0
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [edx + 0x10]
xor ecx, ecx
mov dword [ebp - 0xc8], eax
cmp byte [edi], 0x69
setne cl
inc ecx
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax + 4]
push ecx
lea ecx, [ebp - 0xd0]
push ecx
call fcn.0047d0b0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
cdq
add esp, 8
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov dword [ebp - 0xd0], eax
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x48b2fc
mov ecx, str.sqlite_master
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc4], esi
mov edx, dword [edi + 4]
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xd8]
add edx, 0x34
mov dword [ebp - 0xc0], edx
mov edx, dword [edi + 0x10]
push edx
push ecx
mov ecx, dword [esi + 0x10]
add eax, eax
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.004670f0
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x48b358
mov dword [ebp - 0xd4], 7
jmp 0x48b3b3
push 0
lea eax, [ebp - 0xc4]
push eax
mov byte [esi + 0x7d], 1
mov ecx, dword [ebp - 0xc8]
push fcn.004acbd0
push ecx
push esi
mov dword [ebp - 0xb8], 0
call fcn.004a9b60
mov edi, eax
add esp, 0x14
mov dword [ebp - 0xd4], edi
test edi, edi
jne 0x48b39e
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], edx
mov edi, edx
mov eax, dword [ebp - 0xc8]
mov ecx, esi
call fcn.00465b20
mov byte [esi + 0x7d], 0
test edi, edi
je 0x48b3ba
mov eax, esi
call fcn.0049a710
cmp dword [ebp - 0xd4], 7
je 0x48748c
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xdc]
call fcn.00498bb0
mov dword [ebp - 0xd4], eax
jmp case.default.0x486f90
mov eax, dword [ebp - 0xdc]
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [edi + 4]
call fcn.0049a980
add esp, 4
jmp case.default.0x486f90
mov ecx, dword [ebp - 0xdc]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi + 0x10]
call fcn.0049a480
add esp, 4
jmp case.default.0x486f90
mov edx, dword [ebp - 0xdc]
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.004b7820
add esp, 4
jmp case.default.0x486f90
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xdc]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0xd0], eax
call fcn.00465d60
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x48748c
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
lea esi, [edx + ecx*8]
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xd0], ecx
jle 0x48b4c5
lea ebx, [ebx]
lea edx, [ecx + ecx*4]
lea ecx, [esi + edx*8]
call fcn.00480430
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0xc8]
inc ecx
mov dword [ebp - 0xc8], ecx
cmp ecx, dword [ebp - 0xd0]
jl 0x48b490
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
push ecx
movzx ecx, byte [edi + 3]
mov edi, dword [ebp - 0xdc]
push edx
push eax
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
lea edx, [ebp - 0xc4]
call fcn.0047e5f0
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xcc]
add esp, 0xc
mov ecx, edi
call fcn.00465b20
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
call fcn.004806a0
cmp dword [ebp - 0xc4], 0
je 0x48b55c
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x48748c
push 1
push eax
mov eax, fcn.00465a80
or ecx, 0xffffffff
mov edx, esi
call fcn.00480a40
add esp, 8
movzx ecx, byte [ebp - 0xf0]
mov eax, esi
call fcn.0047ffc0
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 0x1c], 0x20
lea ebx, [esi + ecx*8]
lea edx, [edi + edi*4]
lea esi, [esi + edx*8]
jne 0x48b599
mov edi, ebx
call fcn.00480850
test byte [ebx + 0x1c], 0x20
je 0x48748c
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edi, dword [ebx + 0x10]
push eax
push ecx
call fcn.0046d920
add esp, 8
jmp case.default.0x486f90
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0xe0]
test eax, eax
jne 0x48cb2d
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
test byte [esi + ecx*8 + 0x1c], 0x20
lea ebx, [esi + ecx*8]
je 0x48b611
mov eax, dword [ebx + 0x10]
lea esi, [ebp - 0xd0]
call fcn.0046dcb0
test eax, eax
je 0x48b611
mov edx, dword [ebp - 0xcc]
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0xd0]
push edx
mov edx, dword [ebp - 0xe8]
lea ecx, [edi + edi*4]
push eax
lea esi, [edx + ecx*8]
call fcn.00480750
add esp, 8
jmp case.default.0x486f90
mov esi, ebx
call fcn.004806a0
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xd0], eax
test byte [ebx + 0x1c], 0x20
lea esi, [esi + ecx*8]
jne 0x48b665
mov edi, ebx
call fcn.00480850
test byte [ebx + 0x1c], 0x20
je 0x48748c
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xec]
test eax, eax
je 0x48b6aa
js 0x48b670
and eax, 0xf
jmp 0x48b675
mov eax, 0xff
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
push edx
push ecx
push eax
mov eax, dword [ebx + 0x10]
call fcn.0046dd00
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x48b6a2
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd0]
test eax, eax
js case.default.0x486f90
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov edi, dword [ebx + 0x10]
push edx
push eax
call fcn.0046d920
add esp, 8
jmp case.default.0x486f90
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xb8], ecx
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xc8], esi
cmp byte [edi + 3], 0
je 0x48b71b
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xa8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x48b71b
cmp dword [eax + 0x18], edx
je case.default.0x486f90
mov eax, dword [eax + 4]
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x48b705
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xb0]
mov edx, dword [ebp - 0xdc]
cmp eax, dword [edx + 0x74]
jl 0x48b759
mov edi, dword [ebp - 0xd8]
push str.too_many_levels_of_trigger_recursion
add edi, 0x34
mov esi, edx
mov dword [ebp - 0xd4], 1
call fcn.00465ef0
add esp, 4
jmp case.default.0x486f90
test byte [esi + 0x1c], 0x40
jne 0x48b8e0
mov eax, dword [ecx + 8]
add eax, dword [ecx + 0xc]
mov dword [ebp - 0xd0], eax
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
lea edi, [ecx + eax*4 + 0x48]
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], edi
call fcn.00465d40
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x48748c
mov edx, dword [ebp - 0xc8]
push edx
call fcn.00480390
mov ecx, dword [ebp - 0xc8]
mov eax, 0x40
mov word [ecx + 0x1c], ax
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd8]
mov dword [ecx], eax
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd0]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebp - 0xb8]
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x40], ecx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xe0]
mov dword [ecx + 0x2c], edx
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x14], ecx
mov cx, word [eax + 0x2e]
mov edx, dword [ebp - 0xbc]
mov word [edx + 0x28], cx
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x30], ecx
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0xc0]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0xbc]
mov ecx, dword [ebp - 0xbc]
mov dword [ecx + 0x38], edx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ecx + 0x3c]
lea edx, [edx + edx*4]
lea esi, [ecx + edx*8 + 0x48]
lea edx, [ecx + 0x48]
add esp, 4
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xc4], edx
cmp edx, esi
je 0x48b8ef
mov ecx, dword [ebp - 0xdc]
lea esp, [esp]
mov esi, 0x80
mov word [edx + 0x1c], si
mov edx, dword [ebp - 0xc4]
mov dword [edx], ecx
mov edx, dword [ebp - 0xc4]
add edx, 0x28
mov dword [ebp - 0xc4], edx
cmp edx, dword [ebp - 0xc0]
jne 0x48b8b0
mov ecx, dword [ebp - 0xbc]
jmp 0x48b8ef
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xbc], ecx
inc dword [eax + 0xb0]
mov edx, dword [eax + 0xa8]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x100]
mov dword [ecx + 0x20], edx
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xfc]
mov dword [ecx + 0x24], edx
mov ecx, dword [eax + 0x68]
mov edx, dword [ebp - 0xbc]
mov dword [edx + 0x44], ecx
mov ecx, dword [ebp - 0xbc]
lea edx, [ecx + 0x20]
mov dword [eax + 0xa8], ecx
mov dword [eax + 8], edx
mov dword [eax + 0x68], 0
mov esi, dword [ecx + 0x3c]
mov dword [eax + 0x18], esi
mov cx, word [ecx + 0x40]
mov word [eax + 0x2e], cx
mov ecx, esi
lea ecx, [ecx + ecx*4 + 5]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xe8], edx
mov edx, dword [ebp - 0xb8]
mov dword [eax + 0x40], ecx
mov esi, dword [edx]
mov dword [eax + 4], esi
mov dword [ebp - 0x110], esi
mov esi, dword [edx + 4]
mov dword [eax + 0x1c], esi
movzx esi, word [eax + 0x2e]
lea ecx, [ecx + esi*4]
mov dword [eax + 0xc0], ecx
mov edx, dword [edx + 0x10]
push edx
push 0
push ecx
mov dword [eax + 0xbc], edx
mov dword [ebp - 0xe0], 0xffffffff
call fcn.004da450
add esp, 0xc
jmp case.default.0x486f90
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 0xa8]
mov ebx, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx + 0x2c]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
add eax, dword [edi + 4]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xcc], eax
call fcn.00480930
add esp, 8
jmp case.default.0x486f90
cmp dword [edi + 4], 0
mov eax, dword [edi + 8]
cdq
je 0x48ba14
mov ecx, dword [ebp - 0xdc]
add dword [ecx + 0x1e8], eax
adc dword [ecx + 0x1ec], edx
jmp case.default.0x486f90
mov ecx, dword [ebp - 0xd8]
add dword [ecx + 0x90], eax
adc dword [ecx + 0x94], edx
jmp case.default.0x486f90
cmp dword [edi + 4], 0
je 0x48ba58
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x1e8]
or edx, dword [eax + 0x1ec]
jne case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x90]
or ecx, dword [eax + 0x94]
jne case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 0xa8]
test ecx, ecx
je 0x48babd
mov dword [ebp - 0xcc], ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x48baaf
lea esp, [esp]
mov ecx, eax
mov dword [ebp - 0xcc], ecx
mov eax, dword [ecx + 4]
test eax, eax
jne 0x48baa0
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
jmp 0x48bac6
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xd0], esi
call fcn.00480590
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [edi + edi*4]
lea esi, [ecx + eax*8]
call fcn.00480590
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0xd0]
mov esi, dword [esi + 0x14]
cmp dword [eax + 0x14], esi
jg case.default.0x486f90
jl 0x48bb05
cmp dword [eax + 0x10], ecx
jae case.default.0x486f90
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [esi + eax*8 + 0x14], 0
jl case.default.0x486f90
jg 0x48bb2e
cmp dword [esi + eax*8 + 0x10], 0
jbe case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
cmp dword [esi + eax*8 + 0x14], 0
jg case.default.0x486f90
jl 0x48bb5b
cmp dword [esi + eax*8 + 0x10], 0
jae case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edi + 0xc]
cdq
add dword [ecx + 0x10], eax
adc dword [ecx + 0x14], edx
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
movzx ecx, byte [edi + 3]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x80], eax
xor eax, eax
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x48bbfe
mov ecx, dword [ebp - 0x80]
mov dword [ecx + eax*4], esi
mov ecx, dword [ebp - 0xc4]
call fcn.00486b60
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xc4]
inc eax
add esi, 0x28
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], esi
cmp eax, dword [ebp - 0xd0]
jl 0x48bbc9
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xc0], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x90], eax
inc dword [eax + 0x18]
mov eax, dword [ebp - 0xdc]
xor esi, esi
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc0]
mov edx, 1
mov word [ebp - 0x9c], dx
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x84], esi
test byte [eax + 3], 8
je 0x48bc78
mov ecx, dword [edi - 4]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
push edx
push ecx
lea edx, [ebp - 0xc0]
push edx
call eax
add esp, 0xc
cmp dword [ebp - 0x88], esi
je 0x48bcd8
mov bl, 1
lea edi, [ebp - 0xb8]
call fcn.00480fa0
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
push eax
push 0x51af78
add edi, 0x34
call fcn.00465ef0
mov ecx, dword [ebp - 0x88]
mov edi, dword [ebp - 0xec]
add esp, 8
mov dword [ebp - 0xd4], ecx
xor esi, esi
cmp dword [ebp - 0x84], esi
je 0x48bd04
mov edi, dword [edi - 0x10]
mov dword [ebp - 0xcc], edi
cmp edi, esi
je 0x48bd04
mov eax, dword [ebp - 0xe8]
push esi
lea edx, [edi + edi*4]
push 1
lea esi, [eax + edx*8]
call fcn.00480750
add esp, 8
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00480390
add esp, 4
jmp case.default.0x486f90
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
lea ecx, [esi + edx*8]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edi + 0x10]
call fcn.004802b0
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x48bd63
mov edi, dword [ebp - 0xd0]
mov bl, 1
call fcn.00480fa0
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
push eax
push 0x51af78
add edi, 0x34
call fcn.00465ef0
add esp, 8
movzx ecx, byte [ebp - 0xf0]
mov eax, dword [ebp - 0xd0]
call fcn.0047ffc0
mov ecx, dword [ebp - 0xd0]
call fcn.00480900
test eax, eax
jne 0x487c8a
jmp case.default.0x486f90
or eax, 0xffffffff
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], eax
xor ebx, ebx
mov dword [ebp - 0xcc], ebx
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xdc]
push ecx
push edx
push eax
lea eax, [ebp - 0xc8]
call fcn.004c80b0
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp eax, 5
jne 0x48bde3
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xcc], 1
xor eax, eax
mov dword [ebp - 0xd0], eax
mov edi, dword [edi + 0xc]
lea ecx, [edi + edi*4]
lea esi, [esi + ecx*8]
mov dword [ebp - 0xc0], esi
lea ebx, [ebx]
mov eax, dword [ebp + eax*4 - 0xcc]
cdq
push edx
push eax
call fcn.00480750
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xc0]
inc eax
add esi, 0x28
add esp, 8
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc0], esi
cmp eax, 3
jl 0x48be00
jmp case.default.0x486f90
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], edx
mov eax, dword [edi + 4]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax + 4]
mov ebx, dword [eax]
mov dword [ebp - 0xcc], ebx
movzx eax, byte [ebx + 5]
mov dword [ebp - 0xc4], eax
cmp edx, 0xffffffff
jne 0x48be7b
mov edx, eax
mov dword [ebp - 0xc8], edx
cmp byte [ebx + 0xf], 3
jae 0x48be97
mov ecx, dword [ebx + 0x40]
cmp dword [ecx], 0
je 0x48be9f
cmp dword [ebx + 0x4c], 0
jl 0x48be9f
jg 0x48be97
cmp dword [ebx + 0x48], 0
jbe 0x48be9f
mov edx, eax
mov dword [ebp - 0xc8], edx
cmp byte [ebx + 0xe], 0
mov ecx, 0x50f5b4
jne 0x48beb0
mov ecx, dword [ebx + 0x90]
mov dword [ebp - 0xc0], ecx
cmp edx, 5
jne 0x48bee6
call fcn.00467bc0
test eax, eax
je 0x48becf
mov eax, ebx
call fcn.004725f0
test eax, eax
jne 0x48bee0
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], edx
jmp 0x48bfc2
mov eax, dword [ebp - 0xc4]
cmp edx, eax
je 0x48bfc2
cmp eax, 5
je 0x48befc
cmp edx, 5
jne 0x48bfc2
mov ecx, dword [ebp - 0xdc]
cmp byte [ecx + 0x34], 0
je 0x48bf7f
cmp dword [ecx + 0x80], 1
jg 0x48bf7f
cmp eax, 5
jne 0x48bf39
mov eax, ebx
call fcn.00472730
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x48bf71
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
jmp 0x48bf43
cmp eax, 4
jne 0x48bf4e
lea ecx, [eax - 2]
mov eax, ebx
call fcn.00472490
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
xor eax, eax
cmp edx, 5
sete al
inc eax
push eax
push ecx
call fcn.0047ecc0
add esp, 8
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x48bfb6
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], edx
jmp 0x48bfbc
mov dword [ebp - 0xd4], 1
mov eax, str.into
cmp edx, 5
je 0x48bf98
mov eax, str.out_of
mov edi, dword [ebp - 0xd8]
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
add edi, 0x34
mov esi, ecx
call fcn.00465ef0
add esp, 8
jmp case.default.0x486f90
mov edx, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xcc]
mov ecx, edx
mov eax, ebx
call fcn.00472490
mov dword [ebp - 0xc8], eax
mov edi, dword [edi + 8]
lea edx, [edi + edi*4]
lea edx, [esi + edx*8]
mov eax, 0xa02
mov word [edx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xe4], edx
cmp eax, 6
jne 0x48bff8
xor ecx, ecx
jmp 0x48bfff
mov ecx, dword [eax*4 + 0x506664]
mov dword [edx + 4], ecx
call fcn.00467bc0
movzx ecx, byte [ebp - 0xf0]
mov dword [edx + 0x18], eax
mov eax, edx
mov byte [edx + 0x1f], 1
call fcn.0047ffc0
jmp case.default.0x486f90
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
add ecx, 0x34
call fcn.004bae70
mov dword [ebp - 0xd4], eax
jmp case.default.0x486f90
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x10]
add ecx, ecx
mov ebx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], ebx
call fcn.00478850
mov dword [ebp - 0xd4], eax
cmp eax, 0x65
jne case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xd4], 0
jmp case.default.0x486f90
cmp dword [edi + 4], 0
jne 0x48c09b
mov eax, dword [ebp - 0xdc]
call fcn.00484710
jmp case.default.0x486f90
mov ecx, dword [ebp - 0xd8]
mov byte [ecx + 0x5f], 1
jmp case.default.0x486f90
mov cl, byte [edi + 0xc]
test cl, cl
jne 0x48c0c4
mov edx, dword [ebp - 0xdc]
test dword [edx + 0x18], 0x80000
jne case.default.0x486f90
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xdc]
push edx
mov edx, dword [ebx + 0x10]
add eax, eax
mov esi, dword [edx + eax*8 + 4]
call fcn.0047ebb0
add esp, 4
mov dword [ebp - 0xd4], eax
cmp al, 6
jne case.default.0x486f90
mov eax, dword [edi + 0x10]
mov edi, dword [ebp - 0xd8]
push eax
push str.database_table_is_locked:__s
add edi, 0x34
mov esi, ebx
call fcn.00465ef0
add esp, 8
jmp case.default.0x486f90
mov edi, dword [edi + 0x10]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xd0], edi
call fcn.004bc1b0
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
test eax, eax
je case.default.0x486f90
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0xd8]
push ecx
push edx
call fcn.00486d80
add esp, 8
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edi + 0x10]
add eax, 0x34
push eax
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [ebp - 0xdc]
call fcn.004bbcc0
add esp, 8
mov dword [ebp - 0xd4], eax
jmp case.default.0x486f90
mov esi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov byte [esi + 0x62], 2
mov edx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push edx
call fcn.004bbfb0
add esp, 4
mov dword [ebp - 0xd4], eax
mov byte [esi + 0x62], 0
jmp case.default.0x486f90
xor ebx, ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
lea edx, [ebp - 0xcc]
push edx
mov dword [ebp - 0xc4], ecx
push eax
mov eax, dword [ecx + 0x18]
call eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xd8]
push ecx
mov esi, eax
push edx
mov dword [ebp - 0xd4], esi
call fcn.00486d80
add esp, 0x10
cmp esi, ebx
jne case.default.0x486f90
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xd8]
mov dword [ecx], eax
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0x18]
sub eax, ecx
lea edx, [eax + eax*4]
mov eax, dword [ebx + 8]
lea edi, [eax + edx*8]
mov edx, dword [ebx + 0x40]
xor esi, esi
lea eax, [edx + ecx*4]
mov dword [ebp - 0xf4], ecx
cmp dword [eax], esi
je 0x48c24c
mov eax, dword [eax]
push ebx
call fcn.004829c0
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebp - 0xf4]
add esp, 4
mov dword [eax + ecx*4], esi
push 0
mov eax, 0x68
call fcn.0047ffe0
add esp, 4
test eax, eax
jne 0x48c289
mov esi, dword [edi + 4]
mov edx, dword [ebx + 0x40]
mov eax, dword [ebp - 0xf4]
push 0x68
push 0
push esi
mov dword [edx + eax*4], esi
call fcn.004da450
add esp, 0xc
mov dword [esi + 0xc], 0xffffffff
mov dword [esi + 0x14], 0
mov dword [ebp - 0xd0], esi
test esi, esi
je 0x48c2b4
mov ecx, dword [ebp - 0xcc]
mov dword [esi + 0x24], ecx
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xd0]
mov dword [edx + 0x28], ecx
jmp case.default.0x486f90
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x36], 1
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x1c]
push ecx
call eax
add esp, 4
jmp case.default.0x486f90
mov eax, dword [edi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
lea esi, [esi + ecx*8]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc4], esi
lea ebx, [esi + 0x28]
mov dword [ebp - 0xc0], ebx
mov edx, dword [edi + 4]
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0xbc], edx
mov ecx, dword [edx]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xd0], ecx
mov esi, dword [esi + 0x10]
mov dword [ebp - 0xa8], eax
xor eax, eax
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], eax
test ecx, ecx
jle 0x48c398
jmp 0x48c357
mov ebx, dword [ebp - 0xc0]
lea ecx, [eax + eax*4 + 5]
lea edx, [ebx + ecx*8]
mov ecx, dword [ebp - 0xa8]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + edx*4]
call fcn.00486b60
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xac], eax
cmp eax, ecx
jl 0x48c351
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xd8]
push eax
mov eax, dword [ebp - 0xcc]
push ecx
mov byte [esi + 0x62], 1
mov ecx, dword [edi + 0x10]
push ecx
mov ecx, dword [ebp - 0xc8]
push eax
push edx
mov edx, dword [ecx + 0x20]
call edx
mov ebx, eax
mov eax, dword [ebp - 0xb8]
add esp, 0x14
push eax
push esi
mov dword [ebp - 0xd4], ebx
mov byte [esi + 0x62], 0
call fcn.00486d80
add esp, 8
test ebx, ebx
jne 0x48c3ff
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x48c412
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
mov ecx, dword [ebp - 0xb4]
mov byte [ecx + 0x1c], 0
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx + edx*4]
mov eax, dword [edi + 0xc]
lea edx, [eax + eax*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xc8], esi
cmp byte [ecx + 0x1c], 0
mov dword [ebp - 0xf4], ecx
je 0x48c455
call fcn.004806a0
jmp case.default.0x486f90
mov esi, dword [ebp - 0xf4]
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
push 0x40
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
lea edx, [ebp - 0xc0]
push 0
push edx
mov dword [ebp - 0xcc], ecx
call fcn.004da450
mov ebx, dword [ebp - 0xc8]
add esp, 0xc
lea eax, [ebp - 0xb8]
call fcn.004809f0
mov eax, dword [ebp - 0x9c]
and eax, 0xbf01
or eax, 1
mov word [ebp - 0x9c], ax
mov ecx, dword [edi + 8]
mov eax, dword [esi + 0x24]
push ecx
mov ecx, dword [ebp - 0xcc]
lea edx, [ebp - 0xc0]
push edx
mov edx, dword [ecx + 0x2c]
push eax
call edx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
add esp, 0xc
push eax
push ecx
call fcn.00486d80
mov eax, dword [ebp - 0x88]
add esp, 8
test eax, eax
je 0x48c4f0
mov dword [ebp - 0xd4], eax
movzx ecx, byte [ebp - 0xf0]
lea eax, [ebp - 0xb8]
call fcn.0047ffc0
mov eax, dword [ebp - 0xc8]
lea ebx, [ebp - 0xb8]
call fcn.004809f0
mov ecx, dword [ebp - 0xc8]
call fcn.00480900
test eax, eax
jne 0x487c8a
jmp case.default.0x486f90
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xc8], 0
mov edx, dword [edi + 4]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xc4], eax
cmp byte [eax + 0x1c], 0
jne case.default.0x486f90
mov edx, dword [eax + 0x24]
mov ecx, dword [edx]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xcc], ecx
mov byte [esi + 0x62], 1
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x24]
push eax
call ecx
mov edx, dword [ebp - 0xd0]
add esp, 4
push edx
mov ebx, eax
push esi
mov dword [ebp - 0xd4], ebx
mov byte [esi + 0x62], 0
call fcn.00486d80
add esp, 8
test ebx, ebx
jne 0x48c5bb
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx + 0x28]
push ecx
call eax
add esp, 4
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne case.default.0x486f90
mov edi, dword [edi + 8]
dec edi
mov dword [ebp - 0xe0], edi
jmp case.default.0x486f90
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xd0], edx
mov edi, dword [edi + 4]
lea eax, [edi + edi*4]
lea eax, [esi + eax*8]
mov ecx, 1
mov dword [ebp - 0xcc], eax
call fcn.0047ffc0
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x486f90
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
mov ecx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd8]
push ecx
push esi
mov dword [ebp - 0xd4], eax
call fcn.00486d80
add esp, 0x10
mov byte [esi + 0x5f], 0
jmp case.default.0x486f90
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 8]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov ecx, dword [edi + 8]
mov dword [ebp - 0xc8], ecx
cmp dword [eax + 0x34], 0
je case.default.0x486f90
mov eax, dword [ebp - 0xdc]
mov dl, byte [eax + 0x3a]
mov eax, dword [ebp - 0xd8]
mov byte [ebp - 0x101], dl
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xb8], edx
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xc4], 0
test ecx, ecx
jle 0x48c6f0
lea esp, [esp]
mov ecx, esi
call fcn.00486b60
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb8]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xb4]
inc eax
add esi, 0x28
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0xc8]
jl 0x48c6b0
mov cl, byte [edi + 3]
mov esi, dword [ebp - 0xdc]
mov byte [esi + 0x3a], cl
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xc0]
push edx
mov edx, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xcc]
push ecx
mov ecx, dword [eax + 0x34]
push edx
call ecx
mov dl, byte [ebp - 0x101]
mov ecx, dword [ebp - 0xd8]
mov ebx, eax
mov byte [esi + 0x3a], dl
mov eax, dword [ebp - 0xd0]
push eax
push ecx
mov dword [ebp - 0xd4], ebx
call fcn.00486d80
add esp, 0x18
test ebx, ebx
jne 0x48c789
cmp dword [edi + 4], ebx
je 0x48a8dd
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xbc]
mov dword [esi + 0x20], eax
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xbc]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x68]
mov dword [ebp - 0xfc], edx
jmp case.default.0x486f90
cmp ebx, 0x13
jne 0x48a8dd
mov ecx, dword [edi + 0x10]
cmp byte [ecx + 0x10], 0
je 0x48a8dd
mov al, byte [edi + 3]
cmp al, 4
jne 0x48c7b5
mov dword [ebp - 0xd4], 0
jmp case.default.0x486f90
cmp al, 5
jne 0x48c7cc
mov edx, dword [ebp - 0xd8]
mov eax, 2
mov byte [edx + 0x5c], al
jmp case.default.0x486f90
mov edx, dword [ebp - 0xd8]
movzx eax, al
mov byte [edx + 0x5c], al
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x2c]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], 0
jmp case.default.0x486f90
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 0x10]
mov edi, dword [edi + 0xc]
add eax, eax
mov ecx, dword [edx + eax*8 + 4]
xor eax, eax
test edi, edi
je 0x48c82b
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x2c]
cmp eax, edi
jae 0x48c82b
mov eax, edi
call fcn.004776b0
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp case.default.0x486f90
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x94], 0
je case.default.0x486f90
mov edi, dword [edi + 0x10]
test edi, edi
je 0x48c856
mov ecx, edi
jmp 0x48c862
mov edx, dword [ebp - 0xd8]
mov ecx, dword [edx + 0xa0]
mov dword [ebp - 0xd0], ecx
test ecx, ecx
je case.default.0x486f90
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00486790
mov esi, dword [ebp - 0xdc]
add esp, 4
mov dword [ebp - 0xcc], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x94]
push eax
push ecx
call edx
mov eax, dword [ebp - 0xcc]
add esp, 8
mov ecx, esi
call fcn.00465b20
inc dword [ebp - 0xe0]
cmp dword [ebp - 0xd4], 0
jne 0x487cb0
mov esi, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0xe4]
jmp 0x486ee0
mov dword [ebp - 0xd4], 9
jmp 0x487cb0
mov eax, dword [edi + 4]
mov dword [edx + 0x58], eax
mov cl, byte [edi + 8]
mov eax, dword [ebp - 0xe0]
mov byte [edx + 0x5c], cl
mov dword [edx + 0x54], eax
mov eax, dword [edi + 0x10]
test eax, eax
je 0x48c93b
mov ebx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
push eax
push 0x51af78
lea edi, [ebx + 0x34]
call fcn.00465ef0
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebx + 0xa0]
push ecx
mov ecx, dword [ebp - 0xe0]
push edx
mov edx, dword [eax + 4]
push ecx
push str.abort_at__d_in___s_:__s
push edx
call fcn.004672f0
add esp, 0x1c
jmp 0x48c966
cmp dword [edx + 0x58], 0
je 0x48c966
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xa0]
mov edx, dword [ebp - 0xe0]
mov eax, dword [edi + 4]
push ecx
push edx
push str.constraint_failed_at__d_in___s_
push eax
call fcn.004672f0
add esp, 0x10
mov ebx, dword [ebp - 0xd8]
call fcn.004834e0
mov esi, 5
cmp eax, esi
jne 0x48c984
mov ecx, ebx
mov dword [ecx + 0x58], esi
jmp 0x487d40
mov edx, ebx
mov esi, dword [edx + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x487d40
lea ecx, [ebp - 0xc0]
push ecx
call fcn.00480390
add esp, 4
jmp 0x48748c
mov dword [ebp - 0xd4], 0x14
jmp 0x48cab6
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xdc]
mov eax, ebx
mov dword [eax + 0x54], edx
mov esi, 5
mov byte [ecx + 0x34], 0
mov dword [eax + 0x58], esi
jmp 0x487d40
test edi, edi
je 0x48ca1d
mov esi, dword [ebp - 0xdc]
push 0x204
mov eax, esi
call fcn.004c7690
add esp, 4
mov byte [esi + 0x34], 1
mov esi, dword [ebp - 0xdc]
call fcn.004c7200
mov edx, dword [ebp - 0xd8]
mov esi, dword [edx + 0x58]
neg esi
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x487d40
mov eax, dword [ebp - 0xd8]
push 1
call fcn.00483470
mov esi, eax
add esp, 4
test esi, esi
jne 0x487d40
mov dl, byte [ebp - 0xd0]
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xd8]
mov byte [eax + 0x34], dl
call fcn.004834e0
mov esi, 5
cmp eax, esi
jne 0x48c9fa
mov ecx, dword [ebp - 0xe0]
mov eax, ebx
mov dl, 1
sub dl, byte [ebp - 0xd0]
mov dword [eax + 0x54], ecx
mov ecx, dword [ebp - 0xdc]
mov byte [ecx + 0x34], dl
mov dword [eax + 0x58], esi
jmp 0x487d40
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe0]
mov esi, 5
mov dword [eax + 0x54], ecx
mov dword [eax + 0x58], esi
jmp 0x487d40
mov eax, 0x10d49
call fcn.004c94b0
mov dword [ebp - 0xd4], eax
jmp 0x48cab6
mov dword [ebp - 0xd4], 0xd
mov esi, dword [ebp - 0xdc]
cmp byte [esi + 0x36], 0
je 0x48cade
mov dword [ebp - 0xd4], 7
mov ecx, dword [ebp - 0xd4]
mov eax, str.unknown_error
call fcn.004c7760
jmp 0x48cb11
cmp dword [ebp - 0xd4], 0xc0a
je 0x487cb0
cmp dword [ebp - 0xd4], 0x204
je 0x48cb0c
mov ecx, dword [ebp - 0xd4]
mov eax, str.unknown_error
call fcn.004c7760
jmp 0x48cb11
mov eax, str.abort_due_to_ROLLBACK
mov edi, dword [ebp - 0xd8]
push eax
push 0x51af78
add edi, 0x34
call fcn.00465ef0
add esp, 8
jmp 0x487cb0
mov edx, dword [ebp - 0xd8]
mov eax, 9
mov dword [edx + 0x58], eax
mov ecx, dword [str.interrupted]
mov dword [ebp - 0xd4], eax
mov eax, str.unknown_error
test ecx, ecx
je 0x48cb52
mov eax, ecx
mov esi, dword [ebp - 0xdc]
push eax
mov edi, edx
push 0x51af78
add edi, 0x34
call fcn.00465ef0
add esp, 8
jmp 0x487cb0