Function at 0x484873
Capabilities:
Enumerate pe sections
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x5415b0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
mov byte [ebp - 0xfd], cl
mov dword [ebp - 0x110], ecx
mov esi, dword [edi]
mov eax, dword [edi + 0x14]
mov ebx, dword [edi + 0x4c]
mov dword [ebp - 0x108], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x104], ecx
mov ecx, edi
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xd4], ebx
mov al, byte [eax + 0x49]
mov byte [ebp - 0xf8], al
call fcn.004825e3
xor eax, eax
push 7
inc eax
pop ecx
mov dword [ebp - 0x11c], eax
cmp dword [edi + 0x58], ecx
je 0x484db8
xor edx, edx
mov dword [edi + 0x58], edx
mov dword [edi + 0x2c], edx
mov dword [esi + 0x1a0], edx
cmp dword [esi + 0xd8], edx
jne 0x489a49
mov eax, dword [edi + 0x54]
xor ecx, ecx
cmp dword [esi + 0x100], edx
mov dword [ebp - 0xd0], eax
setne cl
mov dword [ebp - 0x118], ecx
cmp byte [esi + 0x1e], 0
jne 0x484db5
imul ebx, eax, 0x14
add ebx, dword [ebp - 0x108]
mov dword [ebp - 0xe0], ebx
test ecx, ecx
je 0x484977
mov eax, dword [ebp - 0x110]
cmp dword [esi + 0x108], eax
jne 0x484970
push dword [esi + 0x104]
call dword [esi + 0x100]
pop ecx
test eax, eax
jne 0x4898ec
inc eax
mov dword [ebp - 0x110], eax
push 2
pop ecx
test byte [ebx + 2], cl
je 0x4849a8
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0xd8], eax
call fcn.004805a1
mov edx, dword [ebp - 0xd8]
push 4
pop eax
push 2
mov word [edx + 0x1c], ax
pop ecx
jmp 0x4849ae
mov edx, dword [ebp - 0xd8]
movzx eax, byte [ebx]
dec eax
cmp eax, 0x90
ja case.0x4849b9.17
jmp dword [eax*4 + 0x489a5b]
cmp dword [esi + 0xd8], 0
jne 0x489a49
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd0]
inc edx
mov dword [ebp - 0xd0], edx
test eax, eax
jne 0x484dd6
mov ecx, dword [ebp - 0x118]
mov eax, edx
jmp 0x484930
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0xd4]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4849cd
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xd4]
mov edx, dword [eax + ecx]
mov eax, dword [ebp - 0xcc]
jmp 0x4849e3
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0xd4]
mov word [ecx + 0x1c], ax
mov eax, dword [ecx]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc8]
jmp 0x484a2b
imul eax, dword [ebx + 0xc], 0x28
mov ecx, dword [ebp - 0xd4]
test byte [eax + ecx + 0x1c], 1
je case.0x4849b9.17
cmp dword [ebx + 4], 0
jne 0x4898f3
mov ecx, dword [edi + 0xcc]
test ecx, ecx
je 0x4898f3
mov eax, dword [ecx + 0x3c]
dec dword [edi + 0xd0]
mov dword [edi + 0xcc], eax
mov eax, dword [edi + 0x68]
add dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
call fcn.00481f61
push 4
pop ecx
mov dword [ebp - 0xd0], eax
cmp dword [ebx + 8], ecx
jne 0x484ac9
imul ecx, eax, 0x14
mov eax, dword [edi + 0x14]
mov eax, dword [ecx + eax + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x108], eax
mov eax, dword [edi + 0x4c]
mov dword [ebp - 0xd4], eax
jmp case.0x4849b9.17
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0xd8]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x4849b9.17
mov ecx, dword [ebx + 0x10]
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ecx]
mov dword [ebx], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 4], eax
jmp case.0x4849b9.17
push 8
pop eax
mov word [edx + 0x1c], ax
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [eax]
movsd qword [edx + 8], xmm0
jmp case.0x4849b9.17
mov ecx, dword [ebx + 0x10]
mov byte [ebx], 9
call fcn.00473cc8
mov dword [ebx + 4], eax
xor eax, eax
inc eax
cmp byte [ebp - 0xf8], al
je 0x484bc7
push 0
push eax
mov edx, ecx
mov ecx, dword [ebp - 0xd8]
push 0xffffffffffffffff
call fcn.004809f1
add esp, 0xc
mov dword [ebp - 0xcc], eax
cmp eax, 0x12
je 0x48556b
movzx edx, byte [ebp - 0xf8]
mov ecx, dword [ebp - 0xd8]
call fcn.004802ec
test eax, eax
jne 0x484db5
mov ecx, dword [ebp - 0xd8]
mov edx, 0xfbff
and dword [ecx + 0x24], eax
mov ax, word [ecx + 0x1c]
and ax, dx
mov edx, 0x800
or ax, dx
mov word [ecx + 0x1c], ax
cmp byte [ebx + 1], 0xff
jne 0x484bb7
push dword [ebx + 0x10]
push esi
call fcn.00472320
pop ecx
pop ecx
mov ecx, dword [ebp - 0xd8]
mov byte [ebx + 1], 0xff
mov eax, dword [ecx + 0x14]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x48]
jg 0x48556b
mov ecx, dword [ebp - 0xd8]
mov eax, 0xa02
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x14], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0x18], eax
mov al, byte [ebp - 0xf8]
mov byte [ecx + 0x1f], al
jmp case.0x4849b9.17
xor eax, eax
inc eax
mov word [edx + 0x1c], ax
jmp case.0x4849b9.17
mov edx, dword [ebx + 0x10]
xor eax, eax
push eax
push eax
push dword [ebx + 4]
mov ebx, dword [ebp - 0xd8]
mov ecx, ebx
call fcn.004809f1
add esp, 0xc
mov al, byte [ebp - 0xf8]
mov byte [ebx + 0x1f], al
jmp case.0x4849b9.17
mov edx, dword [ebx + 4]
dec edx
mov dword [ebp - 0xc8], edx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x484ccf
mov ebx, dword [ebp - 0xec]
imul ecx, edx, 0x28
dec eax
mov dword [ebp - 0xc0], eax
add ecx, dword [edi + 0x3c]
inc edx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xc8], edx
call fcn.004808f4
test eax, eax
jne 0x48556b
imul eax, ebx, 0x28
add eax, dword [ebp - 0xd4]
inc ebx
mov dword [ebp - 0xc4], ebx
mov ebx, eax
mov ecx, ebx
mov dword [ebp - 0xd8], eax
call fcn.004805a1
xor eax, eax
mov ecx, ebx
inc eax
mov word [ebx + 0x1c], ax
mov eax, 0x800
mov edx, dword [ebp - 0xbc]
push eax
call fcn.00480917
mov eax, dword [ebp - 0xc0]
pop ecx
test eax, eax
jle 0x484ccf
mov ebx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc8]
jmp 0x484c56
dec eax
mov dword [ebp - 0xc0], eax
jmp case.0x4849b9.17
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebx + 4]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xbc], ecx
imul ebx, eax, 0x28
imul ecx, ecx, 0x28
add ebx, dword [ebp - 0xd4]
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x484d5d
push 0x28
mov esi, ecx
pop edi
dec edx
mov ecx, esi
mov dword [ebp - 0xc4], edx
mov edx, ebx
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xc8], eax
and dword [esi + 0x24], 0
call fcn.004809cb
mov eax, dword [ebp - 0xc8]
add esi, edi
mov dword [ebx + 0x24], eax
add ebx, edi
mov edx, dword [ebp - 0xc4]
test edx, edx
jne 0x484d17
mov edi, dword [ebp - 0xfc]
mov dword [ebp - 0xd8], esi
mov esi, dword [ebp - 0xe4]
dec edx
mov dword [ebp - 0xc4], edx
jmp case.0x4849b9.17
imul eax, dword [ebx + 8], 0x28
imul edx, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xd4]
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
mov eax, 0x1000
mov ebx, dword [ebp - 0xd8]
mov ecx, ebx
push eax
call fcn.00480917
mov eax, 0x1000
pop ecx
test word [ebx + 0x1c], ax
je case.0x4849b9.17
mov ecx, ebx
call fcn.004803cb
test eax, eax
je case.0x4849b9.17
xor eax, eax
inc eax
push str.out_of_memory
mov byte [esi + 0x1e], al
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00472640
add esp, 0xc
push 7
pop eax
mov dword [ebp - 0xcc], eax
mov ecx, edi
mov dword [edi + 0x58], eax
call fcn.00482664
cmp dword [ebp - 0xcc], 0xc0a
jne 0x484df0
mov byte [esi + 0x1e], 1
xor esi, esi
inc esi
cmp byte [ebp - 0xfd], 0
je 0x484e09
mov ecx, dword [ebp - 0xe4]
xor edx, edx
call fcn.00490e80
lea ecx, [edi + 0x78]
call fcn.00479b6f
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d5e2a
mov esp, ebp
pop ebp
ret
imul eax, dword [ebx + 8], 0x28
mov edx, 0x1000
push edx
imul edx, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0xd8], eax
add edx, dword [ebp - 0xd4]
call fcn.00480917
pop ecx
jmp case.0x4849b9.17
xor edx, edx
mov ecx, edi
call fcn.0048260f
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4849dd
xor edx, edx
mov ecx, edi
inc edx
call fcn.00482505
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4849dd
mov eax, dword [edi + 0x50]
push 2
pop ecx
add eax, ecx
or eax, 1
mov dword [edi + 0x50], eax
xor eax, eax
imul edx, dword [ebx + 4], 0x28
mov dword [ebp - 0xc4], eax
add edx, dword [ebp - 0xd4]
mov dword [edi + 0x2c], edx
mov dword [ebp - 0xc8], edx
cmp dword [ebx + 8], eax
jle 0x489943
imul ecx, eax, 0x28
add ecx, edx
call fcn.00480477
imul ecx, dword [ebp - 0xc4], 0x28
add ecx, dword [ebp - 0xc8]
call fcn.004846b1
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebx + 8]
jge 0x489943
mov edx, dword [ebp - 0xc8]
jmp 0x484eb2
imul edx, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 8], 0x28
imul eax, dword [ebx + 0xc], 0x28
add edx, dword [ebp - 0xd4]
add ecx, dword [ebp - 0xd4]
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
movzx ebx, word [edx + 0x1c]
mov al, byte [ecx + 0x1c]
or al, bl
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xf4], ecx
test al, 1
je 0x484f39
mov ecx, dword [ebp - 0xd8]
call fcn.004807ea
jmp case.0x4849b9.17
mov eax, 0x4000
test eax, ebx
je 0x484f53
mov ecx, edx
call fcn.00480427
mov ecx, dword [ebp - 0xf4]
xor ebx, ebx
jmp 0x484f57
xor ebx, ebx
mov eax, ebx
test eax, eax
jne 0x484db5
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x484f71
call fcn.00480427
jmp 0x484f73
mov eax, ebx
test eax, eax
jne 0x484db5
mov eax, dword [ebp - 0xdc]
test byte [eax + 0x1c], 0x12
jne 0x484f9d
movzx edx, byte [ebp - 0xf8]
mov ecx, eax
call fcn.004804c3
test eax, eax
jne 0x484db5
mov eax, dword [ebp - 0xf4]
test byte [eax + 0x1c], 0x12
jne 0x484fbf
movzx edx, byte [ebp - 0xf8]
mov ecx, eax
call fcn.004804c3
test eax, eax
jne 0x484db5
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xf4]
mov eax, dword [eax + 0x18]
add eax, dword [ecx + 0x18]
cdq
mov ecx, edx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + 0x48]
cdq
cmp ecx, edx
jg 0x48556b
jl 0x484ffa
cmp dword [ebp - 0xc8], eax
ja 0x48556b
mov ecx, dword [ebp - 0xd8]
mov edx, 0xbf02
push 2
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
xor eax, eax
cmp ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xc8]
sete al
push eax
lea edx, [edx + 2]
call fcn.00480306
pop ecx
test eax, eax
jne 0x484db5
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xd8]
cmp ecx, eax
je 0x485060
push dword [eax + 0x18]
push dword [eax + 0x14]
push dword [ecx + 0x14]
call fcn.004db0a0
mov eax, dword [ebp - 0xf4]
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
mov eax, dword [eax + 0x18]
push dword [ecx + 0x18]
push dword [ecx + 0x14]
mov ecx, dword [ebp - 0xd8]
add eax, dword [ecx + 0x14]
push eax
call fcn.004db0a0
mov edx, dword [ebp - 0xd8]
add esp, 0xc
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx + 0x14]
mov byte [eax + ecx], bl
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx + 0x14]
mov byte [eax + ecx + 1], bl
mov ebx, edx
mov eax, 0x200
or word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x18], eax
jmp 0x484c22
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0xf4], eax
call fcn.00484795
imul eax, dword [ebx + 8], 0x28
add eax, dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0xdc], eax
call fcn.00484795
imul eax, dword [ebx + 0xc], 0x28
mov edx, dword [ebp - 0xdc]
add eax, dword [ebp - 0xd4]
movzx ecx, word [edx + 0x1c]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf4]
movzx eax, word [eax + 0x1c]
or ecx, eax
mov dword [ebp - 0xc8], ecx
test cl, 1
jne 0x484f29
mov ecx, dword [ebp - 0xf4]
mov al, byte [edx + 0x1c]
push 4
pop edx
and al, byte [ecx + 0x1c]
test dl, al
je 0x485268
mov edx, dword [ecx]
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0xc0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xbc], eax
mov ecx, dword [edi]
mov dword [ebp - 0xb8], ecx
mov edi, dword [edi + 4]
mov dword [ebp - 0xb4], edi
movzx ebx, byte [ebx]
mov dword [ebp - 0xf4], edi
mov edi, dword [ebp - 0xfc]
mov dword [ebp - 0xe0], eax
sub ebx, 0x56
je 0x485226
dec ebx
je 0x48521a
dec ebx
je 0x48520a
dec ebx
mov eax, edx
mov ebx, dword [ebp - 0xe0]
je 0x4851c6
or eax, ebx
je 0x484f29
mov eax, edx
and eax, ebx
cmp eax, 0xffffffff
jne 0x4851b4
xor edx, edx
inc edx
xor ebx, ebx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], ebx
push ebx
push edx
push dword [ebp - 0xf4]
push ecx
call fcn.004e5f40
mov ecx, eax
jmp 0x485230
or eax, ebx
je 0x484f29
mov eax, edx
and eax, ebx
cmp eax, 0xffffffff
jne 0x4851fa
xor eax, eax
cmp ecx, eax
jne 0x4851fa
cmp dword [ebp - 0xf4], 0x80000000
jne 0x4851fa
xor edx, edx
mov ebx, eax
inc edx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xc0], edx
push ebx
push edx
push dword [ebp - 0xf4]
push ecx
call fcn.004e5e50
jmp 0x4851c2
push eax
push edx
push dword [ebp - 0xf4]
push ecx
call fcn.004e5f00
jmp 0x4851c2
sub ecx, edx
mov edx, dword [ebp - 0xf4]
sbb edx, eax
jmp 0x485230
add ecx, edx
mov edx, dword [ebp - 0xf4]
adc edx, eax
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb8], ecx
mov dword [ebx], ecx
mov eax, dword [ebp - 0xb4]
mov dword [ebx + 4], eax
mov ecx, 0xbf04
push 4
mov ax, word [ebx + 0x1c]
and ax, cx
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
jmp case.0x4849b9.17
call fcn.004806df
mov ecx, dword [ebp - 0xdc]
movsd qword [ebp - 0xb0], xmm0
call fcn.004806df
movsd qword [ebp - 0xa8], xmm0
movzx eax, byte [ebx]
movsd qword [ebp - 0xf0], xmm0
sub eax, 0x56
je 0x485356
dec eax
je 0x48534c
dec eax
je 0x485342
dec eax
je 0x485322
movsd xmm0, qword [ebp - 0xb0]
call fcn.004dbb4d
movsd xmm0, qword [ebp - 0xf0]
mov ebx, eax
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], edx
call fcn.004dbb4d
mov dword [ebp - 0xb8], eax
mov ecx, ebx
mov eax, dword [ebp - 0xbc]
or ecx, eax
mov dword [ebp - 0xb4], edx
je 0x484f29
mov ecx, ebx
and ecx, eax
cmp ecx, 0xffffffff
jne 0x48530b
xor ebx, ebx
inc ebx
xor eax, eax
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], eax
push eax
push ebx
push edx
push dword [ebp - 0xb8]
call fcn.004e5f40
mov ecx, eax
call fcn.004dbced
jmp 0x48535e
movsd xmm1, qword [ebp - 0xb0]
ucomisd xmm1, qword [0x52bfa0]
lahf
test ah, 0x44
jnp 0x484f29
divsd xmm0, xmm1
jmp 0x48535e
mulsd xmm0, qword [ebp - 0xb0]
jmp 0x48535e
subsd xmm0, qword [ebp - 0xb0]
jmp 0x48535e
addsd xmm0, qword [ebp - 0xb0]
movsd qword [ebp - 0xa8], xmm0
call fcn.00473c98
test eax, eax
jne 0x484f29
mov ebx, dword [ebp - 0xd8]
mov ecx, 0xbf08
movsd xmm0, qword [ebp - 0xa8]
push 8
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm0
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
test byte [ebp - 0xc8], cl
jne case.0x4849b9.17
mov ecx, ebx
call fcn.00480751
jmp case.0x4849b9.17
movzx eax, byte [ebx + 3]
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], eax
imul edx, dword [ebx + 8], 0x28
mov dword [ebp - 0xe0], ecx
xor ecx, ecx
mov esi, ecx
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xc8], esi
add edx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xc4], edx
test eax, eax
jle 0x485437
push 0x28
mov eax, ecx
mov ecx, dword [ebp - 0xe0]
pop edi
mov dword [ecx + eax*4], edx
mov ecx, dword [ebp - 0xc4]
call fcn.004846b1
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
inc eax
add edx, edi
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
cmp eax, dword [ebp - 0x7c]
jge 0x48542f
mov ecx, dword [ebp - 0x80]
jmp 0x4853fc
mov edi, dword [ebp - 0xfc]
xor ecx, ecx
cmp byte [ebx + 1], 0xfb
mov eax, dword [ebx + 0x10]
jne 0x485448
mov dword [ebp - 0xbc], ecx
jmp 0x485450
mov dword [ebp - 0xbc], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
xor edx, edx
imul eax, dword [ebx + 0xc], 0x28
inc edx
mov word [ebp - 0x9c], dx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xa8], esi
add eax, dword [ebp - 0xd4]
mov edx, eax
mov dword [ebp - 0xd8], eax
call fcn.004809cb
mov eax, dword [ebp - 0x9c]
mov ecx, 0xbf01
and dword [ebp - 0x8c], 0
and eax, ecx
mov ecx, dword [ebp - 0xc0]
or eax, 1
mov word [ebp - 0x9c], ax
push 8
pop eax
test byte [ecx + 3], al
je 0x4854c4
mov eax, dword [ebx - 4]
mov dword [ebp - 0x88], eax
push dword [ebp - 0x80]
lea eax, [ebp - 0xc0]
push dword [ebp - 0x7c]
push eax
call dword [ecx + 0xc]
add esp, 0xc
cmp byte [esi + 0x1e], 0
jne 0x48995f
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x485500
mov edx, dword [ebx + 4]
call fcn.00482984
mov eax, dword [ebp - 0xbc]
mov dword [ebx + 0x10], eax
mov byte [ebx + 1], 0xf9
cmp dword [ebp - 0x8c], 0
je 0x485535
mov dl, 1
lea ecx, [ebp - 0xb8]
call fcn.00480e16
push eax
push 0x527230
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00472640
mov eax, dword [ebp - 0x8c]
add esp, 0x10
mov dword [ebp - 0xcc], eax
movzx edx, byte [ebp - 0xf8]
lea ecx, [ebp - 0xb8]
call fcn.004802ec
mov ecx, dword [ebp - 0xd8]
lea edx, [ebp - 0xb8]
call fcn.004809cb
mov ecx, dword [ebp - 0xd8]
call fcn.004808f4
test eax, eax
je case.0x4849b9.17
push str.string_or_blob_too_big
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00472640
add esp, 0xc
push 0x12
jmp 0x484dcf
imul edx, dword [ebx + 8], 0x28
imul ecx, dword [ebx + 4], 0x28
imul eax, dword [ebx + 0xc], 0x28
add edx, dword [ebp - 0xd4]
add ecx, dword [ebp - 0xd4]
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
mov al, byte [edx + 0x1c]
or al, byte [ecx + 0x1c]
mov dword [ebp - 0xec], ecx
test al, 1
jne 0x484f29
mov ecx, edx
call fcn.0048066f
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.0048066f
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xbc], edx
movzx ecx, byte [ebx]
sub ecx, 0x52
je 0x485628
dec ecx
je 0x48561a
mov edx, dword [ebp - 0xc4]
dec ecx
mov ecx, dword [ebp - 0xc0]
je 0x485613
call fcn.004f7800
mov dword [ebp - 0xc4], edx
jmp 0x485634
call fcn.004f77e0
jmp 0x48560b
or eax, dword [ebp - 0xc0]
or dword [ebp - 0xc4], edx
jmp 0x485634
and eax, dword [ebp - 0xc0]
and dword [ebp - 0xc4], edx
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], eax
mov dword [ebx], eax
mov eax, dword [ebp - 0xc4]
jmp 0x48524a
imul esi, dword [ebx + 4], 0x28
add esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.004807a0
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov esi, dword [ebp - 0xe4]
jmp case.0x4849b9.17
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0xe0], eax
call fcn.00484795
mov eax, dword [ebp - 0xe0]
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x4856a4
mov ecx, eax
call fcn.00480751
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax + 0x1c]
push 4
pop edx
test dl, cl
jne 0x4856c1
mov eax, dword [ebx + 8]
test eax, eax
jne 0x488184
push 0x14
jmp 0x489a08
mov ebx, 0xbf04
and ecx, ebx
or ecx, edx
mov word [eax + 0x1c], cx
jmp case.0x4849b9.17
imul ecx, dword [ebx + 4], 0x28
push 4
pop eax
add ecx, dword [ebp - 0xd4]
test byte [ecx + 0x1c], al
je case.0x4849b9.17
call fcn.004807c5
jmp case.0x4849b9.17
imul ebx, dword [ebx + 4], 0x28
add ebx, dword [ebp - 0xd4]
movzx ecx, word [ebx + 0x1c]
test cl, 1
jne case.0x4849b9.17
mov eax, ecx
push 2
pop edx
push dword [ebp - 0xf8]
shr eax, 3
and eax, edx
mov dl, 0x61
or eax, ecx
mov ecx, ebx
mov word [ebx + 0x1c], ax
call fcn.00484810
mov eax, 0x4000
pop ecx
test word [ebx + 0x1c], ax
je 0x485744
mov ecx, ebx
call fcn.00480427
mov dword [ebp - 0xcc], eax
jmp 0x48574b
and dword [ebp - 0xcc], 0
mov eax, 0xbfe3
and word [ebx + 0x1c], ax
jmp case.0x4849b9.17
imul ebx, dword [ebx + 4], 0x28
add ebx, dword [ebp - 0xd4]
movzx eax, word [ebx + 0x1c]
test al, 1
jne case.0x4849b9.17
push 0x10
pop ecx
test cl, al
jne 0x485792
push dword [ebp - 0xf8]
mov dl, 0x61
mov ecx, ebx
call fcn.00484810
pop ecx
mov ecx, 0xbf10
push 0x10
jmp 0x485254
and eax, 0xff10
jmp 0x48525f
imul ebx, dword [ebx + 4], 0x28
add ebx, dword [ebp - 0xd4]
test byte [ebx + 0x1c], 0xd
jne case.0x4849b9.17
mov ecx, ebx
call fcn.004806df
movsd qword [ebp - 0xf0], xmm0
call fcn.00480623
mov ecx, eax
call fcn.004dbced
movsd xmm1, qword [ebp - 0xf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4857e9
mov ecx, ebx
call fcn.004807a0
jmp case.0x4849b9.17
movsd qword [ebx + 8], xmm1
mov ecx, 0xbf08
push 8
jmp 0x485254
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd4]
test byte [ecx + 0x1c], 1
jne case.0x4849b9.17
jmp 0x4857df
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd4]
test byte [ecx + 0x1c], 1
jne case.0x4849b9.17
jmp 0x4856e9
imul eax, dword [ebx + 0xc], 0x28
imul edx, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xd4]
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xf4], edx
movzx ecx, word [eax + 0x1c]
movzx eax, word [edx + 0x1c]
mov dword [ebp - 0xe0], eax
mov al, cl
or al, byte [ebp - 0xe0]
test al, 1
mov al, byte [ebx + 3]
je 0x4858b8
test al, al
jns 0x48587a
and ecx, dword [ebp - 0xe0]
not ecx
and ecx, 1
jmp 0x485941
push 0x10
pop ecx
test cl, al
je 0x4858a8
imul ebx, dword [ebx + 8], 0x28
mov ecx, 0xbf01
xor edx, edx
add ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], ebx
mov ax, word [ebx + 0x1c]
and ax, cx
inc edx
or ax, dx
jmp 0x48525f
push 8
pop ecx
test cl, al
je case.0x4849b9.17
jmp 0x4849cd
and al, 0x67
mov byte [ebp - 0xc4], al
je 0x4858fe
push dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf4]
mov dl, al
call fcn.00484810
mov dl, byte [ebp - 0xc4]
pop ecx
push dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xdc]
call fcn.00484810
cmp byte [esi + 0x1e], 0
pop ecx
jne 0x484db5
mov edx, dword [ebp - 0xf4]
mov eax, 0x4000
test word [edx + 0x1c], ax
je 0x485910
mov ecx, edx
call fcn.00480427
mov eax, dword [ebp - 0xdc]
mov ecx, 0x4000
test word [eax + 0x1c], cx
je 0x48592e
mov ecx, eax
call fcn.00480427
mov eax, dword [ebp - 0xdc]
push dword [ebx + 0x10]
mov edx, dword [ebp - 0xf4]
mov ecx, eax
call fcn.00480b58
pop ecx
mov ecx, eax
mov dword [ebp - 0xc8], ecx
movzx eax, byte [ebx]
sub eax, 0x4b
je 0x485988
dec eax
je 0x48597f
dec eax
je 0x485976
dec eax
je 0x48596d
dec eax
je 0x485964
xor eax, eax
test ecx, ecx
setns al
jmp 0x48598f
xor eax, eax
test ecx, ecx
sets al
jmp 0x48598f
xor eax, eax
test ecx, ecx
setle al
jmp 0x48598f
xor eax, eax
test ecx, ecx
setg al
jmp 0x48598f
xor eax, eax
test ecx, ecx
sete al
jmp 0x48598f
xor eax, eax
test ecx, ecx
setne al
push 0x10
pop ecx
mov dword [ebp - 0xc8], eax
test byte [ebx + 3], cl
je 0x4859ce
imul ebx, dword [ebx + 8], 0x28
mov ecx, 0xbf04
push 4
add ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], ebx
mov ax, word [ebx + 0x1c]
and ax, cx
pop ecx
or ax, cx
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
jmp 0x484ae9
test eax, eax
jmp 0x4858ad
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x104], ecx
jmp case.0x4849b9.17
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebx + 4]
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xc0], edx
mov edx, dword [ebx + 8]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xbc], edx
xor edx, edx
mov dword [ebp - 0xdc], ecx
mov ebx, edx
mov dword [ebp - 0xc4], ebx
test eax, eax
jle 0x485aed
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x485a3a
mov edx, dword [eax + ebx*4]
jmp 0x485a3c
mov edx, ebx
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xb4], edx
mov ecx, dword [ecx + ebx*4 + 0xc]
mov dword [ebp - 0xb0], ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0xe0], edx
push ecx
movzx eax, byte [eax + ebx]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xf4]
add eax, edx
imul edx, eax, 0x28
mov eax, dword [ebp - 0xe0]
add eax, dword [ebp - 0xec]
imul ecx, eax, 0x28
add edx, dword [ebp - 0xd4]
add ecx, dword [ebp - 0xd4]
call fcn.00480b58
mov dword [ebp - 0x10c], eax
pop ecx
test eax, eax
jne 0x485ada
mov ebx, dword [ebp - 0xc4]
inc ebx
mov dword [ebp - 0xc4], ebx
cmp ebx, dword [ebp - 0xc8]
jge 0x485aeb
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xec], eax
jmp 0x485a2b
cmp dword [ebp - 0xac], 0
je 0x485aeb
neg eax
mov dword [ebp - 0x10c], eax
xor edx, edx
mov dword [ebp - 0x104], edx
jmp case.0x4849b9.17
mov eax, dword [ebp - 0x10c]
test eax, eax
jns 0x485b0a
mov eax, dword [ebx + 4]
jmp 0x4849d0
je 0x4849cd
mov eax, dword [ebx + 0xc]
jmp 0x4849d0
imul ecx, dword [ebx + 4], 0x28
xor edx, edx
inc edx
add ecx, dword [ebp - 0xd4]
test byte [ecx + 0x1c], dl
je 0x485b2f
push 2
pop eax
jmp 0x485b44
call fcn.0048066f
or eax, edx
je 0x485b3f
xor edx, edx
inc edx
mov eax, edx
jmp 0x485b44
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0xc8], eax
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xd4]
test byte [ecx + 0x1c], dl
je 0x485b5e
push 2
pop ecx
jmp 0x485b79
call fcn.0048066f
or eax, edx
mov eax, dword [ebp - 0xc8]
je 0x485b74
xor edx, edx
inc edx
mov ecx, edx
jmp 0x485b79
xor edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0xc4], ecx
imul eax, eax, 3
cmp byte [ebx], 0x45
jne 0x485b91
movzx eax, byte [eax + ecx + 0x516914]
jmp 0x485b99
movzx eax, byte [eax + ecx + 0x518014]
mov dword [ebp - 0xc8], eax
imul ebx, dword [ebx + 0xc], 0x28
push 2
pop ecx
add ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], ebx
cmp eax, ecx
jne 0x485bc7
mov ax, word [ebx + 0x1c]
mov ecx, 0xbf01
and ax, cx
jmp 0x4858a0
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x48524d
imul ecx, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xd4]
add ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], ebx
test byte [ecx + 0x1c], 1
je 0x485bf9
mov ecx, ebx
jmp 0x484f2f
call fcn.0048066f
or eax, edx
jne 0x485c05
inc eax
jmp 0x485c07
xor eax, eax
cdq
push edx
push eax
mov ecx, ebx
call fcn.0048082b
pop ecx
jmp 0x484e4b
imul ecx, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xd4]
add ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], ebx
test byte [ecx + 0x1c], 1
jne 0x485bf2
call fcn.0048066f
not eax
not edx
jmp 0x485c08
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd4]
test byte [ecx + 0x1c], 1
je 0x485c57
mov ecx, dword [ebx + 0xc]
jmp 0x485c81
call fcn.004806df
ucomisd xmm0, qword [0x52bfa0]
lahf
xor ecx, ecx
test ah, 0x44
jnp 0x485c6d
inc ecx
mov dword [ebp - 0xc8], ecx
cmp byte [ebx], 0x1b
jne 0x485c87
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jmp 0x4858ad
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xd4]
test byte [eax + ecx + 0x1c], 1
jmp 0x4858ad
imul eax, dword [ebx + 4], 0x28
mov ecx, dword [ebp - 0xd4]
test byte [eax + ecx + 0x1c], 1
jne case.0x4849b9.17
jmp 0x4849cd
mov eax, dword [ebx + 4]
lea edi, [ebp - 0x88]
mov dword [ebp - 0xb8], eax
xor edx, edx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xb4], eax
xor eax, eax
mov dword [ebp - 0xb0], edx
push 0xa
pop ecx
rep stosd dword es:[edi], eax
imul ecx, dword [ebx + 0xc], 0x28
mov edi, 0xbf01
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x8c], ecx
mov ax, word [ecx + 0x1c]
and ax, di
mov edi, dword [ebp - 0xfc]
or ax, word [ebp - 0x11c]
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edi + 0x34]
mov dword [ebp - 0xac], edx
mov ecx, dword [ecx + eax*4]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xec], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x485de7
call fcn.00482a69
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x489a09
mov ecx, dword [ebp - 0xb0]
cmp byte [ecx + 0x14], al
je 0x485d67
and dword [ebp - 0xc8], eax
jmp 0x4849dd
mov eax, dword [ecx + 0x44]
cmp eax, dword [edi + 0x50]
jne 0x485d94
mov eax, dword [ecx + 0x48]
xor edx, edx
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x54]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xec]
jmp 0x485e38
cmp byte [ecx + 0x17], 0
je 0x485dc1
mov ecx, dword [ebp - 0xa8]
lea edx, [ebp - 0xc0]
call fcn.0047bfe1
mov ecx, dword [ebp - 0xb0]
xor edx, edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc0]
jmp 0x485e32
mov esi, dword [ebp - 0xa8]
mov ecx, esi
call fcn.0047bfb7
mov eax, dword [esi + 0x30]
xor edx, edx
mov ecx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xcc], edx
jmp 0x485e32
mov eax, dword [ecx + 0x24]
test eax, eax
jle 0x485e30
imul ecx, eax, 0x28
push 0x20
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x40], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x14]
mov ecx, edx
mov dword [ebp - 0xac], eax
pop eax
test byte [ebx + 3], al
jne 0x485e19
mov ecx, dword [edi + 0x50]
mov eax, dword [ebp - 0xec]
mov dword [eax + 0x44], ecx
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc8]
jmp 0x485e38
mov eax, edx
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x4849b9.17
cmp eax, dword [esi + 0x48]
ja 0x48556b
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 0x44]
cmp eax, dword [edi + 0x50]
jne 0x485e83
mov eax, dword [ecx + 0x50]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xa0], eax
jmp 0x486142
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x44], edx
lea eax, [eax + esi*4]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xa0], eax
mov dword [ecx + 0x50], eax
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x48], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [edi + 0x50]
mov dword [eax + 0x44], ecx
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x485ed1
mov dword [ebp - 0x90], eax
jmp 0x485f42
mov eax, dword [ebp - 0xb0]
mov ecx, edx
mov dword [ebp - 0xcc], eax
cmp byte [eax + 0x17], 0
mov eax, dword [ebp - 0xa8]
je 0x485ef4
cmp byte [eax + 0x43], 1
jne 0x485f17
push edx
jmp 0x485efc
cmp byte [eax + 0x43], 1
jne 0x485f17
push 1
lea edx, [ebp - 0x44]
mov ecx, eax
call fcn.0047c3bc
pop ecx
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
cmp eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x90], ecx
ja 0x485f39
mov dword [ebp - 0xac], ecx
mov dword [eax + 0x54], ecx
jmp 0x485f3c
mov dword [eax + 0x54], edx
mov eax, dword [ebp - 0x90]
mov cl, byte [eax]
cmp cl, 0x80
jae 0x485f54
movzx edx, cl
xor ecx, ecx
mov dword [ebp - 0x58], edx
inc ecx
jmp 0x485f6a
lea edx, [ebp - 0x58]
mov ecx, eax
call fcn.004746d2
mov edx, dword [ebp - 0x58]
movzx ecx, al
mov eax, dword [ebp - 0x90]
movzx ecx, cl
mov dword [ebp - 0x48], ecx
cmp edx, 0x18003
jbe 0x485f86
push 0xb
pop eax
mov dword [ebp - 0xcc], eax
jmp 0x4849dd
imul ecx, dword [ebp - 0x9c], 5
add ecx, 3
cmp ecx, edx
cmovg ecx, edx
cmp dword [ebp - 0xac], 0
mov dword [ebp - 0x98], ecx
jne 0x485ff5
cmp dword [ebp - 0x44], ecx
jge 0x485ff5
xor eax, eax
xor edx, edx
and dword [ebp - 0x78], eax
mov word [ebp - 0x6c], ax
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 0x17]
push eax
push ecx
mov ecx, dword [ebp - 0xa8]
call fcn.00480d2c
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4849dd
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x90], eax
add ecx, eax
mov dword [ebp - 0x50], edx
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x5c], ecx
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov eax, ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x9c], eax
jle 0x4860e5
mov edi, dword [ebp - 0x60]
mov eax, dword [ebp - 0xa0]
cmp edi, dword [ebp - 0x5c]
jae 0x4860ab
mov ecx, dword [ebp - 0xcc]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x60]
mov al, byte [ecx]
cmp al, 0x80
jae 0x486059
mov ecx, dword [ebp - 0x94]
movzx edx, al
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], edx
xor eax, eax
inc eax
jmp 0x486070
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0xa4]
lea edx, [eax + edx*4]
call fcn.004746d2
movzx eax, al
mov edi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xa4]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x60], edi
mov dword [ebp - 0xcc], eax
mov ecx, dword [ecx + eax*4]
call fcn.00482bd3
mov edx, dword [ebp - 0x50]
add edx, eax
mov eax, dword [ebp - 0xcc]
push 0
pop ecx
adc dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], edx
jmp 0x4860c0
mov edx, dword [ebp - 0xcc]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x94]
mov edi, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x94], eax
cmp eax, dword [ebp - 0x9c]
jl 0x486025
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xfc]
lea ecx, [ebp - 0x88]
call fcn.004805f7
mov ecx, dword [ebp - 0x5c]
xor eax, eax
inc eax
mov word [ebp - 0x6c], ax
cmp dword [ebp - 0x60], ecx
ja 0x485f78
mov eax, dword [ebp - 0xc8]
xor edx, edx
cmp dword [ebp - 0x4c], edx
ja 0x485f78
jb 0x48611f
cmp dword [ebp - 0x50], eax
ja 0x485f78
cmp dword [ebp - 0x60], ecx
jne 0x486136
cmp dword [ebp - 0x50], eax
jne 0x485f78
cmp dword [ebp - 0x4c], edx
jne 0x485f78
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xb4]
cmp dword [eax + esi*4], edx
mov esi, dword [ebp - 0xe4]
je 0x48623c
cmp dword [ebp - 0xac], 0
je 0x48619f
mov ecx, dword [ebp - 0x8c]
call fcn.004805a1
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa4]
push dword [ebp - 0x8c]
mov ecx, dword [eax + esi*4]
add ecx, dword [ebp - 0xac]
mov edx, dword [edx + esi*4]
call fcn.00482c8b
mov esi, dword [ebp - 0xe4]
jmp 0x48622a
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ecx + eax*4]
call fcn.00482bd3
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x98], eax
call fcn.004809cb
mov edx, dword [ebp - 0xb4]
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax + 0x17]
push eax
mov eax, dword [ebp - 0xa0]
push dword [ebp - 0x98]
mov edx, dword [eax + edx*4]
call fcn.00480d2c
add esp, 0xc
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4849dd
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x74]
push dword [ebp - 0x8c]
mov dword [ebp - 0x90], ecx
mov edx, dword [eax + edx*4]
call fcn.00482c8b
mov eax, dword [ebp - 0x8c]
pop ecx
mov cl, byte [ebp - 0xf8]
mov byte [eax + 0x1f], cl
jmp 0x486257
cmp byte [ebx + 1], 0xf8
jne 0x486257
mov edx, dword [ebx + 0x10]
mov eax, 0x800
mov ecx, dword [ebp - 0x8c]
push eax
call fcn.00480917
pop ecx
cmp dword [ebp - 0x64], 0
je 0x486293
mov eax, dword [ebp - 0x8c]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [ebp - 0x8c]
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x74]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x64]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x8c]
call fcn.004803cb
jmp 0x485f7b
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xc8], eax
imul ebx, dword [ebx + 4], 0x28
mov cl, byte [eax]
mov byte [ebp - 0xc4], cl
add ebx, dword [ebp - 0xd4]
test cl, cl
je 0x486314
push 0x28
mov edi, 0x4000
pop esi
inc eax
mov dword [ebp - 0xc8], eax
test word [ebx + 0x1c], di
je 0x4862e4
mov ecx, ebx
call fcn.00480427
mov cl, byte [ebp - 0xc4]
push dword [ebp - 0xf8]
mov dl, cl
mov ecx, ebx
call fcn.00484810
mov eax, dword [ebp - 0xc8]
add ebx, esi
pop ecx
mov cl, byte [eax]
mov byte [ebp - 0xc4], cl
test cl, cl
jne 0x4862ca
mov edi, dword [ebp - 0xfc]
mov esi, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xc8], eax
jmp case.0x4849b9.17
xor eax, eax
xorps xmm0, xmm0
mov ecx, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xd8], eax
movlpd qword [ebp - 0xc0], xmm0
mov dword [ebp - 0xb8], ecx
movlpd qword [ebp - 0xb0], xmm0
mov eax, dword [ebx + 4]
mov dword [ebp - 0x94], eax
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x90], edx
mov dword [ebp - 0xdc], edx
imul edx, eax, 0x28
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0x9c], edx
mov esi, edx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x94], eax
imul eax, eax, 0x28
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xc4], esi
add eax, 0xffffffd8
add eax, edx
mov dword [ebp - 0x98], eax
movzx eax, byte [edi + 0x63]
mov dword [ebp - 0x8c], eax
cmp edx, dword [ebp - 0x98]
ja 0x4864c6
xor ebx, ebx
mov edi, edx
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x4863f8
push dword [ebp - 0xf8]
mov eax, esi
sub eax, edi
push 0x28
cdq
pop edi
idiv edi
mov dl, byte [eax + ecx]
mov ecx, esi
call fcn.00484810
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0xc4]
pop ecx
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xd8], eax
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x486433
cmp dword [esi + 0x18], ebx
jle 0x486433
mov ecx, esi
call fcn.00480427
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0x8c]
mov ecx, esi
call fcn.00482b10
mov ecx, eax
mov dword [ebp - 0xa0], ecx
call fcn.00482bd3
mov dword [ebp - 0x84], eax
cdq
add dword [ebp - 0xc0], eax
push ebx
adc dword [ebp - 0xbc], edx
push ecx
call fcn.0047473c
mov edx, dword [ebp - 0xd8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xb8]
add ecx, eax
mov eax, 0x4000
mov dword [ebp - 0xb8], ecx
test word [esi + 0x1c], ax
je 0x48648c
add edx, dword [esi]
jmp 0x486497
xor eax, eax
cmp dword [ebp - 0x84], eax
cmovne edx, eax
push 0x28
pop eax
add esi, eax
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xc4], esi
cmp esi, dword [ebp - 0x98]
jbe 0x4863af
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xfc]
mov eax, ecx
cdq
push edx
push eax
call fcn.0047473c
mov esi, eax
mov eax, dword [ebp - 0xb8]
add eax, esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xb8], eax
cdq
push edx
push eax
call fcn.0047473c
add esp, 0x10
cmp esi, eax
mov eax, dword [ebp - 0xb8]
jge 0x486502
inc eax
mov dword [ebp - 0xb8], eax
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0xd8]
cdq
sub esi, eax
sbb ecx, edx
add esi, dword [ebp - 0xc0]
mov dword [ebp - 0xb0], esi
adc ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xec], esi
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xac], ecx
mov eax, dword [esi + 0x48]
cdq
cmp ecx, edx
jg 0x48556b
mov edx, dword [ebp - 0xec]
jl 0x486552
cmp edx, eax
ja 0x48556b
imul eax, dword [ebx + 0xc], 0x28
xor ebx, ebx
push ebx
add eax, dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0xd8], eax
call fcn.00480306
pop ecx
test eax, eax
jne 0x484db5
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xc8], ecx
cmp edx, 0x80
jae 0x48659b
mov al, dl
mov byte [ecx], al
xor eax, eax
inc eax
jmp 0x4865a0
call fcn.00474551
mov edx, dword [ebp - 0x98]
movzx ecx, al
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0xc4], eax
cmp eax, edx
ja 0x486650
push 0x28
mov edi, ecx
pop esi
mov edx, dword [ebp - 0x8c]
mov ecx, eax
call fcn.00482b10
mov edx, eax
mov dword [ebp - 0xa0], edx
cmp edx, 0x80
jae 0x4865fb
mov cl, al
mov eax, dword [ebp - 0xc8]
mov byte [edi + eax], cl
xor eax, eax
inc eax
jmp 0x486609
mov ecx, dword [ebp - 0xc8]
lea ecx, [edi + ecx]
call fcn.00474551
mov edi, dword [ebp - 0x88]
mov edx, dword [ebp - 0x98]
movzx eax, al
add edi, eax
mov eax, dword [ebp - 0xc4]
add eax, esi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xc4], eax
cmp eax, edx
jbe 0x4865ce
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xdc], edi
mov edi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], eax
cmp eax, edx
ja 0x4866a3
push 0x28
pop esi
push dword [ebp - 0x8c]
mov edx, dword [ebp - 0xb0]
sub edx, ecx
add ecx, dword [ebp - 0xc8]
push eax
call fcn.00482be6
pop ecx
pop ecx
mov ecx, dword [ebp - 0x88]
add ecx, eax
mov eax, dword [ebp - 0xc4]
add eax, esi
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0xc4], eax
cmp eax, dword [ebp - 0x98]
jbe 0x48665d
mov esi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xb0]
mov dword [ecx + 0x18], eax
mov eax, 0x410
mov dword [ecx + 0x20], ebx
mov ebx, ecx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x4866d5
mov dword [ebx], eax
mov eax, 0x4410
mov word [ebx + 0x1c], ax
mov byte [ebx + 0x1f], 1
jmp case.0x4849b9.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
test ecx, ecx
je 0x486706
lea edx, [ebp - 0xc8]
call fcn.0047ef77
mov dword [ebp - 0xcc], eax
jmp 0x486711
xorps xmm0, xmm0
movlpd qword [ebp - 0xc8], xmm0
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc8]
mov dword [ebx], eax
mov eax, dword [ebp - 0xc4]
jmp 0x484b04
mov eax, dword [ebx + 4]
mov dword [ebp - 0xc8], eax
mov edx, dword [ebx + 0x10]
xor ebx, ebx
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xc4], edx
test eax, eax
jne 0x486810
cmp dword [esi + 0x90], ebx
jle 0x486773
push str.cannot_open_savepoint___SQL_statements_in_progress
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00472640
add esp, 0xc
push 5
jmp 0x485f7a
mov ecx, edx
call fcn.00473cc8
mov ecx, esi
mov dword [ebp - 0xc0], eax
lea edx, [eax + 0x19]
call fcn.004724bd
mov dword [ebp - 0xbc], eax
test eax, eax
je case.0x4849b9.17
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc0]
inc eax
push eax
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc4]
push dword [eax]
call fcn.004db0a0
add esp, 0xc
cmp byte [esi + 0x1c], bl
je 0x4867cc
mov byte [esi + 0x1c], bl
mov byte [esi + 0x1d4], 1
jmp 0x4867d2
inc dword [esi + 0x1cc]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x1c8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x1d8]
mov dword [esi + 0x1c8], eax
mov eax, dword [ebp - 0xbc]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [esi + 0x1dc]
mov dword [eax + 0xc], ecx
jmp case.0x4849b9.17
mov dword [ebp - 0xb0], ebx
mov ecx, dword [esi + 0x1c8]
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xb8], ecx
test ecx, ecx
je 0x486a77
mov esi, dword [ebp - 0xe0]
mov edi, ecx
mov ecx, dword [edi]
mov edx, esi
call fcn.00473df6
test eax, eax
je 0x486858
inc dword [ebp - 0xb0]
mov edi, dword [edi + 0x10]
mov dword [ebp - 0xb8], edi
test edi, edi
jne 0x486838
mov esi, dword [ebp - 0xe4]
test edi, edi
mov dword [ebp - 0xdc], edi
mov edi, dword [ebp - 0xfc]
je 0x486a71
cmp dword [esi + 0x90], ebx
jg 0x486a43
mov eax, dword [ebp - 0xec]
xor edx, edx
push 2
pop ecx
inc edx
cmp eax, ecx
jne 0x48689a
cmp dword [esi + 0x8c], edx
jg 0x486a43
mov ecx, dword [ebp - 0xdc]
cmp dword [ecx + 0x10], ebx
jne 0x4868f8
cmp byte [esi + 0x1d4], bl
je 0x4868f8
mov dword [ebp - 0xec], edx
cmp eax, edx
jne 0x4868fe
mov ecx, edi
call fcn.0048260f
mov esi, eax
test esi, esi
jne 0x484e09
mov esi, dword [ebp - 0xe4]
mov ecx, edi
mov byte [esi + 0x1c], 1
call fcn.00482664
push 5
pop ecx
cmp eax, ecx
je 0x48996f
mov byte [esi + 0x1d4], bl
mov eax, dword [edi + 0x58]
mov dword [ebp - 0xcc], eax
jmp 0x48699c
mov dword [ebp - 0xec], ebx
mov edx, dword [esi + 0x1cc]
sub edx, dword [ebp - 0xb0]
dec edx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xe0], edx
mov edx, ebx
mov dword [ebp - 0xac], edx
cmp dword [esi + 4], ebx
jle 0x48697d
mov ecx, dword [ebp - 0xe0]
shl edx, 4
mov dword [ebp - 0xe0], edx
mov edx, eax
mov eax, dword [ebp - 0xe0]
push ecx
mov ecx, dword [esi + 8]
mov ecx, dword [eax + ecx + 4]
call fcn.0047be2e
mov dword [ebp - 0xcc], eax
pop ecx
test eax, eax
jne 0x489a09
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc8]
inc edx
mov dword [ebp - 0xac], edx
cmp edx, dword [esi + 4]
jge 0x486977
mov ecx, dword [ebp - 0xb0]
jmp 0x48692a
mov ecx, dword [ebp - 0xb8]
push 2
pop edx
cmp eax, edx
jne 0x4869a8
mov edx, 0x200
test dword [esi + 0xc], edx
je 0x4869a8
mov ecx, esi
call fcn.004832aa
xor edx, edx
call fcn.00490e80
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xb8]
cmp dword [esi + 0x1c8], ecx
je 0x4869ed
mov eax, dword [esi + 0x1c8]
mov dword [ebp - 0xb4], eax
mov eax, dword [eax + 0x10]
mov dword [esi + 0x1c8], eax
push dword [ebp - 0xb4]
push esi
call fcn.00472320
dec dword [esi + 0x1cc]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xb8]
cmp dword [esi + 0x1c8], ecx
jne 0x4869b0
mov eax, dword [ebp - 0xc8]
cmp eax, 1
jne 0x486a2c
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x1c8], eax
push dword [ebp - 0xb8]
push esi
call fcn.00472320
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd0]
pop ecx
pop ecx
cmp dword [ebp - 0xec], ebx
jne 0x4849e3
dec dword [esi + 0x1cc]
jmp 0x4849e3
mov eax, dword [ecx + 8]
mov dword [esi + 0x1d8], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x1dc], eax
jmp case.0x4849b9.17
push 2
pop edx
cmp dword [ebp - 0xec], edx
mov ecx, str.release
mov eax, str.rollback
cmovne eax, ecx
push eax
push str.cannot__s_savepoint___SQL_statements_in_progress
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00472640
add esp, 0x10
jmp 0x48676c
mov edx, dword [ebp - 0xe0]
push edx
push str.no_such_savepoint:__s
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00472640
add esp, 0x10
xor eax, eax
inc eax
jmp 0x485f7b
mov edx, dword [ebx + 4]
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xc4], ecx
test edx, edx
je 0x486aed
cmp byte [esi + 0x1c], 0
jne 0x486aed
xor eax, eax
inc eax
mov dword [ebp - 0xc0], eax
test ecx, ecx
je 0x486ad9
cmp dword [esi + 0x8c], eax
jle 0x486af7
push str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x48675f
xor ebx, ebx
cmp dword [esi + 0x90], ebx
jle 0x486af9
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x48675f
xor ebx, ebx
mov dword [ebp - 0xc0], ebx
jmp 0x486af9
xor ebx, ebx
movzx eax, byte [esi + 0x1c]
cmp edx, eax
jne 0x489985
xor edx, edx
mov eax, str.cannot_commit___no_transaction_is_active
cmp dword [ebp - 0xec], edx
mov ecx, str.cannot_rollback___no_transaction_is_active
sete dl
cmp dword [ebp - 0xe0], 0
cmove ecx, eax
test edx, edx
mov eax, str.cannot_start_a_transaction_within_a_transaction
cmove eax, ecx
push eax
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00472640
add esp, 0xc
jmp 0x486a8a
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je case.0x4849b9.17
mov edx, dword [ebx + 8]
call fcn.0047b4a9
push 5
pop ecx
mov dword [ebp - 0xcc], eax
cmp eax, ecx
je 0x4899f4
test eax, eax
jne 0x489a09
xor edx, edx
cmp dword [ebx + 8], edx
je 0x4849dd
cmp byte [edi + 0x65], dl
je 0x4849dd
cmp byte [esi + 0x1c], dl
je 0x486ba2
cmp dword [esi + 0x8c], 1
jle 0x4849dd
cmp dword [edi + 0xc8], edx
jne 0x486bc2
mov eax, dword [esi + 0x1cc]
inc dword [esi + 0x1d0]
add eax, dword [esi + 0x1d0]
mov dword [edi + 0xc8], eax
mov ebx, dword [ebp - 0xc8]
mov ecx, ebx
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0xec], eax
call fcn.004799d4
push 2
pop ecx
cmp byte [ebx + 8], cl
jne 0x486c0d
mov eax, dword [ebp - 0xec]
cmp byte [eax + 0x10], 0
jne 0x486c0d
mov edx, dword [ebp - 0xe0]
mov ecx, dword [eax]
call fcn.004796a6
mov dword [ebp - 0xcc], eax
jmp 0x486c13
mov dword [ebp - 0xcc], ecx
mov ecx, ebx
call fcn.00479a3e
mov eax, dword [esi + 0x1d8]
mov dword [edi + 0xc0], eax
mov eax, dword [esi + 0x1dc]
mov dword [edi + 0xc4], eax
jmp case.0x4849b9.17
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
add eax, eax
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0xc0], edx
push ecx
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0047eeeb
mov eax, dword [ebp - 0xc8]
pop ecx
mov ecx, dword [ebp - 0xd8]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x4849b9.17
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [esi + 8]
mov dword [ebp - 0xc8], eax
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0xdc], eax
call fcn.004807a0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebx + 8]
push dword [eax]
mov ecx, dword [ecx + 4]
call fcn.0047ef1e
xor edx, edx
mov dword [ebp - 0xcc], eax
inc edx
pop ecx
cmp dword [ebx + 8], edx
jne 0x486ce1
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, 0x200
or dword [esi + 0xc], eax
jmp 0x486cfd
push 2
pop ecx
cmp dword [ebx + 8], ecx
jne 0x486d03
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xdc]
mov al, byte [eax]
mov byte [ecx + 0x48], al
mov eax, dword [ebp - 0xcc]
cmp dword [ebx + 4], edx
jne 0x4849dd
mov ecx, esi
call fcn.004832aa
mov byte [edi + 0x62], 0
jmp case.0x4849b9.17
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je 0x486d4a
lea eax, [ebp - 0xc8]
xor edx, edx
push eax
inc edx
call fcn.0047eeeb
mov eax, dword [ebp - 0xc8]
pop ecx
jmp 0x486d52
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebx + 8]
je case.0x4849b9.17
push dword [edi + 0x5c]
push esi
call fcn.00472320
pop ecx
pop ecx
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.004725d0
mov dword [edi + 0x5c], eax
mov edx, dword [ebx + 4]
mov ecx, edx
mov eax, dword [esi + 8]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc8]
je 0x486d94
mov ecx, esi
call fcn.00490e80
mov ecx, esi
call fcn.004832aa
push 0x11
jmp 0x485f7a
cmp byte [edi + 0x62], 0
je 0x486daf
push 4
jmp 0x485f7a
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov edx, ecx
mov dword [ebp - 0xc8], edx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xdc], eax
shl eax, 4
add eax, dword [esi + 8]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xec], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0xb4], eax
cmp byte [ebx], 0x27
jne 0x486e1d
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xb8], 1
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x48]
cmp al, byte [edi + 0x63]
jae 0x486e23
mov byte [edi + 0x63], al
jmp 0x486e23
mov dword [ebp - 0xb8], ecx
cmp byte [ebx + 3], cl
je 0x486e63
imul esi, dword [ebp - 0xe0], 0x28
add esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.004807a0
mov eax, dword [esi]
mov esi, dword [ebp - 0xe4]
push 2
pop ecx
mov dword [ebp - 0xc0], eax
cmp eax, ecx
jl 0x489a02
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc8]
jmp 0x486e69
mov eax, dword [ebp - 0xdc]
mov cl, byte [ebx + 1]
cmp cl, 0xfa
jne 0x486e9b
mov eax, dword [edi]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x49]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc4]
movzx edx, word [eax + 6]
mov eax, dword [ebp - 0xbc]
inc edx
jmp 0x486ea3
cmp cl, 0xf2
jne 0x486ea9
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xc8], edx
push 1
push eax
push edx
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.004846dc
add esp, 0xc
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x484db5
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb4]
push dword [eax]
push dword [ebp - 0xc4]
push dword [ebp - 0xb8]
call fcn.0047be7c
mov ecx, dword [ebp - 0xb0]
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
push 0x10
mov dword [ecx + 0x28], eax
pop eax
cmp dword [ebp - 0xcc], eax
jne 0x486f24
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
mov dword [ebp - 0xcc], ecx
mov dword [eax], ecx
cmp byte [ebx + 1], 0xfa
mov eax, dword [ebp - 0xb0]
setne cl
mov byte [eax + 0x16], cl
mov ecx, dword [ebp - 0xb0]
cmp byte [ecx + 0x16], 0
sete al
mov byte [ecx + 0x17], al
jmp case.0x4849b9.17
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.004846dc
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x484db5
xor ecx, ecx
xor edx, edx
inc ecx
mov byte [eax + 0x14], cl
mov eax, dword [ebp - 0xc8]
add eax, 0x20
push eax
push 0x41e
push 0x1f4
push ecx
mov ecx, esi
call fcn.004aad03
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x487083
mov ecx, dword [ebp - 0xc8]
xor edx, edx
inc edx
mov ecx, dword [ecx + 0x20]
call fcn.0047b4a9
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x487083
cmp dword [ebx + 0x10], eax
je 0x487059
mov eax, dword [ebp - 0xc8]
mov esi, dword [eax + 0x20]
mov ecx, esi
call fcn.004799d4
push 2
pop eax
push eax
lea edx, [ebp - 0x114]
mov ecx, esi
call fcn.0047ea23
pop ecx
mov ecx, esi
mov dword [ebp - 0xcc], eax
call fcn.00479a3e
cmp dword [ebp - 0xcc], 0
jne 0x487047
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x114]
push dword [ecx]
mov ecx, dword [ecx + 0x20]
push dword [ebx + 0x10]
push 1
call fcn.0047be7c
mov ecx, dword [ebx + 0x10]
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x28], ecx
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0x28]
mov al, byte [edx + 0x49]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xe4]
mov byte [eax + 0x16], 0
jmp 0x487083
mov ecx, dword [ebp - 0xc8]
push dword [ecx]
mov ecx, dword [ecx + 0x20]
push eax
xor eax, eax
inc eax
push eax
mov edx, eax
call fcn.0047be7c
mov dword [ebp - 0xcc], eax
add esp, 0xc
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x16], 1
mov ecx, dword [ebp - 0xc8]
jmp 0x486f3a
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.004846dc
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x484db5
xor edx, edx
inc edx
mov byte [eax + 0x14], dl
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x16], dl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x17], 0
jmp case.0x4849b9.17
mov eax, dword [ebx + 4]
mov ecx, edi
mov edx, dword [edi + 0x34]
mov edx, dword [edx + eax*4]
call fcn.00481f22
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
and dword [eax + ecx*4], 0
jmp case.0x4849b9.17
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ecx
cmp dword [ecx], edx
je 0x4849cd
movzx eax, byte [ebx]
mov dword [ebp - 0xc4], eax
mov byte [ecx + 0x14], dl
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x16], dl
je 0x48733b
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xd4]
mov ecx, eax
mov dword [ebp - 0xf4], eax
call fcn.00484795
mov ecx, dword [ebp - 0xf4]
call fcn.0048066f
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x94], edx
xor edx, edx
push 4
pop ecx
mov byte [eax + 0x11], dl
mov eax, dword [ebp - 0xf4]
movzx eax, word [eax + 0x1c]
test cl, al
jne 0x487330
push 8
pop ecx
test cl, al
je 0x4849cd
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x94]
cmp ecx, edx
jne 0x487247
mov edx, SysReAllocStringLen
cmp eax, edx
jne 0x487247
xor ecx, ecx
call fcn.004dbced
mov eax, dword [ebp - 0xf4]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x4871c8
comisd xmm1, xmm0
jbe 0x48723b
mov dword [ebp - 0xc8], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x4871fb
cmp dword [ebp - 0xc4], 0x2d
jl 0x4849cd
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.0047c648
jmp 0x48721b
cmp dword [ebp - 0xc4], 0x2c
jg 0x4849cd
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.0047c673
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x489a09
cmp dword [ebp - 0xc8], 0
je 0x4849dd
jmp 0x4849cd
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
cmp dword [ebp - 0xc4], 0x2b
je 0x4872f7
cmp dword [ebp - 0xc4], 0x2d
je 0x4872f7
mov edx, eax
call fcn.004dbced
mov eax, dword [ebp - 0xf4]
comisd xmm0, xmmword [eax + 8]
mov eax, dword [ebp - 0x94]
jbe 0x48728b
add dword [ebp - 0x98], 0xffffffff
adc eax, 0xffffffff
mov dword [ebp - 0x94], eax
xor edx, edx
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0xc0]
push edx
push eax
push dword [ebp - 0x98]
mov ecx, dword [ecx]
xor edx, edx
call fcn.0047c6bc
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x489a09
xor edx, edx
cmp dword [ebp - 0xc8], edx
jne 0x4873ca
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x11], 1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x98]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x94]
mov dword [eax + 0xc], ecx
jmp 0x4873ca
mov edx, eax
call fcn.004dbced
mov eax, dword [ebp - 0xf4]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
mov eax, dword [ebp - 0x94]
jbe 0x48728b
add dword [ebp - 0x98], 1
push 0
pop edx
adc eax, edx
mov dword [ebp - 0x94], eax
jmp 0x48728d
mov eax, dword [ebp - 0x94]
jmp 0x48728d
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xb8], eax
mov ax, word [ebp - 0xa0]
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 0xc4]
dec eax
and eax, 1
shl eax, 3
mov word [ebp - 0xb2], ax
mov eax, 0x4000
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xa8], ecx
test word [ecx + 0x1c], ax
je 0x487391
call fcn.00480427
xor edx, edx
mov ecx, dword [ebp - 0xc0]
lea eax, [ebp - 0xc8]
push eax
push edx
push edx
mov ecx, dword [ecx]
push edx
lea edx, [ebp - 0xb8]
call fcn.0047c6bc
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x489a09
mov eax, dword [ebp - 0xc0]
xor edx, edx
mov byte [eax + 0x11], dl
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x15], dl
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x44], edx
cmp dword [ebp - 0xc4], 0x2d
mov eax, dword [ebp - 0xc8]
jl 0x48741a
test eax, eax
js 0x487405
jne 0x4873fa
cmp dword [ebp - 0xc4], 0x2e
je 0x487405
mov dword [ebp - 0xc8], edx
jmp case.0x4849b9.17
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.0047c967
jmp 0x487455
test eax, eax
jg 0x487442
jne 0x487429
cmp dword [ebp - 0xc4], 0x2b
je 0x487442
mov eax, dword [ebp - 0xc0]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x43], 1
setne cl
mov dword [ebp - 0xc8], ecx
jmp 0x48746d
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.0047ca5a
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x489a09
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x11], 0
cmp dword [ebp - 0xc8], 0
jmp 0x4858ad
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
cmp dword [eax], edx
je case.0x4849b9.17
mov byte [eax + 0x14], dl
imul ecx, dword [ebx + 8], 0x28
add ecx, dword [ebp - 0xd4]
call fcn.0048066f
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x15], 1
jmp case.0x4849b9.17
mov eax, dword [edi + 0x34]
xor edx, edx
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
imul ecx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0xec], eax
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xe0], ecx
cmp dword [eax], edx
je 0x487602
cmp dword [ebx + 0x10], edx
jle 0x487541
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xb8], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xb4], ax
push 0x10
pop eax
mov word [ebp - 0xb2], ax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xbc], eax
jmp 0x48759d
mov edx, 0x4000
test word [ecx + 0x1c], dx
je 0x48755d
call fcn.00480427
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xe0]
push 0x97
lea edx, [ebp - 0xa0]
push edx
push dword [ecx + 0x14]
mov edx, dword [ecx + 0x18]
mov ecx, dword [eax + 0x28]
call fcn.00482e63
add esp, 0xc
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x484db5
push 0x10
pop ecx
or word [eax + 6], cx
xor edx, edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc4]
mov ecx, dword [ecx]
lea esi, [ebp - 0xc0]
push esi
push edx
push edx
push edx
mov edx, eax
call fcn.0047c6bc
mov esi, dword [ebp - 0xe4]
xor edx, edx
add esp, 0x10
mov dword [ebp - 0xcc], eax
cmp dword [ebx + 0x10], edx
jne 0x4875d3
mov ecx, dword [ebp - 0xbc]
call fcn.00482f7f
xor edx, edx
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4849dd
cmp dword [ebp - 0xc0], eax
sete al
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x15], dl
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], edx
cmp byte [ebx], 0x31
je 0x48746d
cmp dword [ebp - 0xc8], 0
jmp 0x485cb1
imul eax, dword [ebx + 0xc], 0x28
xor edx, edx
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
imul eax, dword [ebx + 0x10], 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov dword [eax + 0x40], edx
mov eax, dword [ebp - 0xc4]
mov dword [eax + 0x44], edx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ecx]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x28]
xor ecx, ecx
and dword [ebp - 0xe0], ecx
mov ax, word [eax + 6]
cmp word [ebp - 0xe0], ax
mov word [ebp - 0xf2], ax
mov word [ebp - 0xbc], ax
jmp 0x4876b4
mov esi, dword [ebp - 0xb8]
movzx eax, cx
imul eax, eax, 0x28
test byte [eax + esi + 0x1c], 1
mov esi, dword [ebp - 0xe4]
jne 0x487786
inc cx
cmp cx, word [ebp - 0xf2]
mov word [ebp - 0xc8], cx
jb 0x48768e
mov edx, dword [ebp - 0xec]
test edx, edx
je case.0x4849b9.17
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xdc]
push 0x20
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xbc]
inc eax
mov word [ebp - 0xac], ax
pop eax
mov word [ebp - 0xaa], ax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xa0], eax
call fcn.004807a0
mov ecx, dword [ebp - 0xdc]
lea edx, [ebp - 0xb0]
mov eax, dword [ecx]
mov dword [ebp - 0x98], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xc4]
add eax, 0x40
push eax
xor eax, eax
push eax
push eax
push eax
call fcn.0047c6bc
add esp, 0x10
mov dword [ebp - 0xcc], eax
push 0x20
pop ecx
test byte [ebp - 0xaa], cl
jne 0x4877a1
mov edx, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x98]
jne 0x487770
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x94]
je 0x48779b
mov ecx, dword [ebp - 0xdc]
mov dword [ecx], edx
mov eax, dword [ebp - 0xa4]
mov dword [ecx + 4], eax
jmp case.0x4849b9.17
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xd0], eax
jmp 0x4876c3
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebx + 8]
dec edx
jmp 0x4849e3
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
imul edx, dword [ebx + 0xc], 0x28
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0xec], edx
mov ecx, dword [eax]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je 0x487893
mov eax, dword [ebp - 0xec]
lea esi, [ebp - 0xc0]
xor ecx, ecx
mov dword [ebp - 0xc0], ecx
mov edx, dword [edx]
push esi
push ecx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xb8], edx
mov eax, dword [eax + 4]
push eax
push edx
xor edx, edx
mov dword [ebp - 0xb4], eax
call fcn.0047c6bc
mov edx, dword [ebp - 0xec]
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xe4]
mov ecx, dword [edx]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx + 4]
mov dword [eax + 0xc], ecx
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc8]
sete cl
xor edx, edx
mov byte [eax + 0x11], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x14], dl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x15], dl
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
je 0x487885
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x40], ecx
jmp case.0x4849b9.17
mov edx, dword [ebx + 8]
dec edx
and dword [eax + 0x40], 0
jmp 0x484a2b
mov eax, dword [edi + 0x34]
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [edx], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 4], eax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
jmp case.0x4849b9.17
mov eax, dword [edi + 0x34]
xor edx, edx
xorps xmm0, xmm0
mov dword [ebp - 0xbc], edx
movlpd qword [ebp - 0xc8], xmm0
mov ecx, dword [ebx + 4]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xe0], eax
cmp dword [eax], edx
je 0x487be0
mov dword [ebp - 0xb8], edx
cmp byte [eax + 0x13], dl
jne 0x487ad5
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xc8], ecx
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp - 0xec]
or eax, ecx
mov dword [ebp - 0xc4], ecx
jne 0x4879c3
mov ecx, dword [ebp - 0xe0]
lea edx, [ebp - 0xbc]
mov ecx, dword [ecx]
call fcn.0047c673
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x489a09
cmp dword [ebp - 0xbc], eax
je 0x48796d
inc eax
xor edx, edx
mov ecx, edx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
jmp 0x4879c9
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xc8]
mov ecx, dword [ecx]
call fcn.0047bfe1
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
cmp eax, 0xffffffff
jne 0x4879b9
cmp ecx, 0x7fffffff
jne 0x4879b9
mov eax, dword [ebp - 0xc0]
xor edx, edx
mov byte [eax + 0x13], 1
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
jmp 0x4879c9
push 0
add eax, 1
pop edx
adc ecx, edx
jmp 0x48795f
mov eax, dword [ebp - 0xec]
cmp dword [ebx + 0xc], 0
je 0x487a94
mov eax, dword [edi + 0xcc]
test eax, eax
jne 0x487a52
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xb4], ecx
call fcn.004807a0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xec], eax
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, 0xffffffff
jne 0x487a14
cmp ecx, 0x7fffffff
je 0x489a06
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x13], 0
jne 0x489a06
add ebx, 1
push 0
pop edx
adc ecx, edx
cmp dword [ebp - 0xc4], ecx
jg 0x487a6b
jl 0x487a40
mov eax, dword [ebp - 0xc8]
cmp eax, ebx
jae 0x487a71
mov eax, ebx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
jmp 0x487a71
mov eax, ecx
mov dword [ebp - 0xb0], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x487a50
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [eax + 0x10]
jmp 0x4879e7
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xec]
mov dword [ecx], eax
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
cmp ecx, 0x7fffffff
jg 0x487aaa
jl 0x487aa3
cmp eax, 0xffffffff
jae 0x487aaa
add eax, 1
adc ecx, edx
jmp 0x487ac1
xorps xmm0, xmm0
movlpd qword [ebp - 0x128], xmm0
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x128]
push ecx
mov ecx, dword [ebp - 0xc0]
push eax
mov ecx, dword [ecx]
call fcn.0047befa
add esp, 8
xor edx, edx
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x13], 0
je 0x487bc5
mov ecx, dword [esi + 0x30]
mov eax, edx
mov dword [ebp - 0xc8], ecx
mov ebx, dword [esi + 0x34]
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xb8], eax
test eax, eax
jne 0x487b25
mov eax, ecx
and eax, 0xffffff
cmp eax, ecx
jne 0x487b25
cmp edx, ebx
jne 0x487b25
add ecx, 1
adc ebx, edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ebx
jmp 0x487b5c
lea eax, [ebp - 0xc8]
push eax
push 8
pop eax
push eax
call fcn.004736aa
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
push 5
pop eax
cmp dword [ebp - 0xb8], eax
jge 0x487b54
and ecx, 0xffffff
xor edx, edx
mov ebx, edx
jmp 0x487b17
mov ebx, dword [ebp - 0xc4]
xor edx, edx
lea eax, [ebp - 0xbc]
push eax
push edx
push ebx
push ecx
mov ecx, dword [ebp - 0xc0]
xor edx, edx
mov ecx, dword [ecx]
call fcn.0047c6bc
mov ecx, dword [ebp - 0xb8]
add esp, 0x10
inc ecx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xb8], ecx
cmp ecx, 0x64
mov ecx, dword [ebp - 0xbc]
jge 0x487bb7
test eax, eax
jne 0x487bc3
test ecx, ecx
jne 0x487bb7
mov ebx, dword [ebp - 0xc4]
xor edx, edx
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xb8]
jmp 0x487aff
test eax, eax
jne 0x487bc3
test ecx, ecx
je 0x489a06
xor edx, edx
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x11], dl
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x15], dl
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x44], edx
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc8]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc4]
jmp 0x48777e
imul edx, dword [ebx + 8], 0x28
mov eax, dword [edi + 0x34]
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xec], edx
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], ecx
cmp byte [ebx], 0x36
mov dword [ebp - 0xcc], ecx
jne 0x487c4c
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0xbc], eax
jmp 0x487c64
mov eax, dword [ebx + 0xc]
cdq
mov ecx, eax
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0xc0], ecx
test byte [ebx + 3], 1
je 0x487c6d
inc dword [edi + 0x68]
push 2
pop eax
test byte [ebx + 3], al
je 0x487c95
mov dword [esi + 0x30], ecx
mov eax, dword [ebp - 0xbc]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
jmp 0x487c9b
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
test byte [edx + 0x1c], 1
je 0x487cc1
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
test byte [ebx + 3], 0x10
je 0x487cd2
mov eax, dword [eax + 0x40]
mov dword [ebp - 0xb0], eax
jmp 0x487cd8
mov dword [ebp - 0xb0], ecx
mov eax, 0x4000
test word [edx + 0x1c], ax
je 0x487ced
mov eax, dword [edx]
mov dword [ebp - 0xb4], eax
jmp 0x487cf3
mov dword [ebp - 0xb4], ecx
push ecx
push ecx
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx]
call fcn.0047befa
push dword [ebp - 0xb0]
movzx eax, byte [ebx + 3]
xor edx, edx
push 8
pop ecx
and eax, ecx
mov ecx, dword [ebp - 0xb8]
push eax
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ecx]
push dword [eax + 0x18]
push dword [eax + 0x14]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
call fcn.0047e63c
mov dword [ebp - 0xcc], eax
xor edx, edx
mov eax, dword [ebp - 0xb8]
add esp, 0x24
mov byte [eax + 0x11], dl
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x15], dl
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4849dd
cmp dword [esi + 0xb8], edx
je 0x4849dd
cmp dword [ebx + 0x10], edx
je 0x4849dd
mov eax, dword [ebp - 0xb8]
push 4
mov ecx, dword [eax + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov edx, dword [eax + ecx*8]
pop eax
push 0x12
mov dword [ebp - 0xac], edx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xa8], ecx
test byte [ebx + 3], al
pop eax
push 0x17
pop ebx
push dword [ebp - 0xbc]
cmovne eax, ebx
push dword [ebp - 0xc0]
mov dword [ebp - 0xa4], eax
push ecx
push edx
push eax
push dword [esi + 0xb4]
call dword [esi + 0xb8]
add esp, 0x18
jmp case.0x4849b9.17
mov eax, dword [edi + 0x34]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc8], xmm0
mov ecx, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov dword [ebp - 0xc0], ecx
cmp dword [esi + 0xb8], eax
je 0x487e1b
cmp dword [ebx + 0x10], eax
je 0x487e1b
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xc4], eax
call fcn.00482a69
test eax, eax
jne 0x489a09
mov ecx, dword [ebp - 0xc0]
push eax
push eax
mov ecx, dword [ecx]
call fcn.0047befa
mov ecx, dword [ebp - 0xc0]
add esp, 8
mov ecx, dword [ecx]
call fcn.0047e817
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc0]
and dword [eax + 0x44], 0
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x487ea3
mov edx, dword [esi + 0xb8]
test edx, edx
je 0x487ea3
cmp dword [ebx + 0x10], eax
je 0x487ea3
push dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xc8]
push dword [ebx + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 8]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [esi + 0xb4]
call edx
mov eax, dword [ebp - 0xcc]
add esp, 0x18
test byte [ebx + 8], 1
mov edx, dword [ebp - 0xd0]
je 0x4849e3
inc dword [edi + 0x68]
jmp 0x4849e3
mov eax, dword [edi + 0x68]
add dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
and dword [edi + 0x68], 0
jmp case.0x4849b9.17
imul eax, dword [ebx + 8], 0x28
mov ecx, dword [ebx + 4]
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
call fcn.00482a69
test eax, eax
jne 0x489a09
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x17], 0
je 0x487f46
mov ecx, dword [ebp - 0xc4]
lea edx, [ebp - 0xb8]
call fcn.0047bfe1
mov eax, dword [esi + 0x48]
cdq
cmp dword [ebp - 0xb4], edx
jg 0x48556b
mov edx, dword [ebp - 0xb8]
jl 0x487f3e
cmp edx, eax
ja 0x48556b
mov dword [ebp - 0xc0], edx
jmp 0x487f6b
mov esi, dword [ebp - 0xc4]
mov ecx, esi
call fcn.0047bfb7
mov edx, dword [esi + 0x30]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xc0], edx
cmp edx, dword [esi + 0x48]
ja 0x48556b
mov ecx, dword [ebp - 0xd8]
xor ebx, ebx
push ebx
call fcn.00480306
pop ecx
test eax, eax
jne 0x484db5
mov ecx, dword [ebp - 0xd8]
mov edx, 0xbf10
mov eax, dword [ebp - 0xc0]
push 0x10
mov dword [ecx + 0x18], eax
mov ax, word [ecx + 0x1c]
and ax, dx
pop edx
or ax, dx
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x17], bl
je 0x487fd0
push ebx
mov ebx, ecx
xor edx, edx
mov ecx, dword [ebp - 0xc4]
push dword [ebx + 0x14]
push dword [ebp - 0xc0]
call fcn.0047c0db
add esp, 0xc
jmp 0x487fee
push dword [ecx + 0x14]
push dword [ebp - 0xc0]
push ebx
push dword [ebp - 0xc4]
call fcn.0047c37d
mov ebx, dword [ebp - 0xd8]
add esp, 0x10
mov dword [ebp - 0xcc], eax
mov byte [ebx + 0x1f], 1
jmp 0x4849dd
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp byte [ecx + 0x14], 0
jne case.0x4849b9.10
cmp byte [ecx + 0x15], 0
je 0x48802a
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x1c]
jmp 0x48809c
mov eax, dword [ecx + 0x38]
test eax, eax
je 0x488072
mov eax, dword [eax]
lea edx, [ebp - 0xc0]
mov dword [ebp - 0xb8], eax
push edx
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
push dword [ecx + 0x38]
call dword [eax + 0x30]
push dword [edi + 0x5c]
mov dword [ebp - 0xcc], eax
push esi
call fcn.00472320
mov ecx, dword [ebp - 0xb8]
add esp, 0x10
mov eax, dword [ecx + 8]
mov dword [edi + 0x5c], eax
and dword [ecx + 8], 0
jmp 0x4880b7
call fcn.00482a69
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x489a09
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x11], al
je 0x4880a4
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xbc], eax
jmp 0x4880b7
mov ecx, dword [ecx]
lea edx, [ebp - 0xc0]
call fcn.0047bfe1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc0]
mov dword [ecx], eax
mov eax, dword [ebp - 0xbc]
jmp 0x48777e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov byte [eax + 0x14], 1
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
test ecx, ecx
je case.0x4849b9.17
call fcn.00479e2e
jmp case.0x4849b9.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
test eax, eax
jne 0x48812e
mov dword [ebp - 0xc0], 1
jmp 0x488147
lea edx, [ebp - 0xc0]
mov ecx, eax
call fcn.0047c673
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0xc0]
xor edx, edx
mov byte [ecx + 0x14], al
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x15], dl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], dl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], edx
mov eax, dword [ebx + 8]
test eax, eax
jle case.0x4849b9.17
cmp dword [ebp - 0xc0], edx
je case.0x4849b9.17
lea edx, [eax - 1]
jmp 0x484a2b
inc dword [edi + 0xac]
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], edx
mov ecx, dword [edx]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je 0x4881f6
lea edx, [ebp - 0xc0]
call fcn.0047c648
cmp dword [ebp - 0xc0], 0
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
sete cl
xor edx, edx
mov byte [eax + 0x12], cl
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x15], dl
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], dl
mov edx, dword [ebp - 0xc8]
jmp 0x488200
mov dword [ebp - 0xc0], 1
mov al, byte [ebp - 0xc0]
mov byte [edx + 0x14], al
cmp dword [ebp - 0xc0], 0
jmp 0x4858ad
cmp dword [esi + 0xd8], 0
jne 0x489a49
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
test eax, eax
je case.0x4849b9.17
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jne 0x48824e
mov byte [eax + 0x14], 1
jmp case.0x4849b9.17
mov dword [ebp - 0xc0], 1
lea edx, [ebp - 0xc0]
cmp byte [ebx], 0x42
jne 0x48826a
call fcn.0047c967
jmp 0x48826f
call fcn.0047ca5a
mov ecx, dword [ebp - 0xc8]
xor edx, edx
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0xc0]
mov byte [ecx + 0x14], al
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], edx
cmp dword [ebp - 0xc0], edx
jne 0x4882b2
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov al, byte [ebx + 3]
test al, al
je 0x4882b2
movzx eax, al
inc dword [edi + eax*4 + 0xa4]
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x11], dl
jmp case.0x4849b9.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
imul ecx, dword [ebx + 8], 0x28
mov dword [ebp - 0xec], eax
mov eax, dword [eax]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xc4], eax
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], ecx
test eax, eax
je case.0x4849b9.17
mov eax, 0x4000
test word [ecx + 0x1c], ax
je 0x488339
call fcn.00480427
mov ecx, dword [ebp - 0xdc]
xor edx, edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xcc]
jmp 0x488343
xor edx, edx
mov eax, edx
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4849dd
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ecx + 0x14]
push 0x10
mov dword [ebp - 0xdc], eax
pop eax
mov dword [ebp - 0xbc], ecx
test byte [ebx + 3], al
je 0x488376
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x40]
jmp 0x488378
mov eax, edx
push eax
push dword [ebx + 0xc]
mov eax, dword [ebp - 0xdc]
push edx
push edx
cdq
push 0x50ea28
push edx
mov edx, ecx
mov ecx, dword [ebp - 0xe0]
push eax
call fcn.0047e63c
mov dword [ebp - 0xcc], eax
add esp, 0x1c
mov eax, dword [ebp - 0xc8]
and dword [eax + 0x44], 0
jmp case.0x4849b9.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
test ecx, ecx
je case.0x4849b9.17
mov eax, dword [eax + 0x28]
lea edx, [ebp - 0xb8]
mov dword [ebp - 0xb8], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0xb4], ax
xor eax, eax
mov word [ebp - 0xb2], ax
imul eax, dword [ebx + 8], 0x28
xor ebx, ebx
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xc0]
push eax
push ebx
push ebx
push ebx
call fcn.0047c6bc
add esp, 0x10
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x48843a
cmp dword [ebp - 0xc0], ebx
jne 0x48843a
mov ecx, dword [ebp - 0xc4]
call fcn.0047e817
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x44], ebx
jmp case.0x4849b9.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov ebx, dword [ebp - 0xd8]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
xor eax, eax
inc eax
mov word [ebx + 0x1c], ax
cmp dword [ebp - 0xc8], 0
je case.0x4849b9.17
mov ecx, dword [ebp - 0xc4]
call fcn.00482a69
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x489a09
mov eax, dword [ebp - 0xc4]
cmp byte [eax + 0x14], 0
jne case.0x4849b9.17
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0xc0]
push eax
call fcn.00483147
mov dword [ebp - 0xcc], eax
pop ecx
test eax, eax
jne 0x489a09
mov eax, dword [ebp - 0xc0]
mov dword [ebx], eax
mov eax, dword [ebp - 0xbc]
push 4
mov dword [ebx + 4], eax
pop eax
jmp 0x48525f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp dword [ecx], 0
je case.0x4849b9.17
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0xc0], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0xbc], ax
cmp byte [ebx + 3], 0
je 0x488512
push 0xc
jmp 0x488514
push 4
pop eax
mov word [ebp - 0xba], ax
lea edx, [ebp - 0xc0]
imul eax, dword [ebx + 0xc], 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xc4]
push eax
call fcn.0048321d
cmp byte [ebx], 0x48
pop ecx
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
jne 0x488554
neg ecx
jmp 0x488555
inc ecx
mov dword [ebp - 0xc4], ecx
test ecx, ecx
jle 0x4849dd
jmp 0x4877a1
xor edx, edx
mov ecx, edx
mov dword [ebp - 0xc4], ecx
mov eax, dword [esi + 0x88]
jmp 0x488598
cmp dword [eax + 0x44], 0xbdf20da3
jne 0x488595
cmp byte [eax + 0x64], 2
jae 0x488595
cmp dword [eax + 0x54], edx
jl 0x488595
inc ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x48857a
mov eax, dword [ebp - 0xd8]
xor edx, edx
inc edx
mov word [eax + 0x1c], dx
cmp dword [ebp - 0xc4], edx
jle 0x4885cb
push 6
pop eax
push 2
pop ecx
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x38], cl
jmp 0x4849dd
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0xbc], ecx
add ecx, ecx
mov esi, dword [ebx + 4]
mov eax, dword [eax + 8]
mov edi, dword [eax + ecx*8 + 4]
mov ecx, edi
call fcn.004799d4
lea eax, [ebp - 0xc8]
mov edx, esi
push eax
mov ecx, edi
call fcn.0047ed5f
pop ecx
mov ecx, edi
mov dword [ebp - 0xcc], eax
call fcn.00479a3e
mov ecx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe4]
push 4
pop eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xc8]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 4], edx
test eax, eax
jne 0x4898e1
mov edi, dword [ebp - 0xc8]
test edi, edi
je 0x4898e1
mov ecx, dword [ebp - 0xbc]
mov ebx, dword [ebx + 4]
shl ecx, 4
add ecx, dword [esi + 8]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0xc]
jmp 0x48866a
mov edx, dword [eax + 8]
cmp dword [edx + 0x18], edi
jne 0x488668
mov dword [edx + 0x18], ebx
mov eax, dword [eax]
test eax, eax
jne 0x48865d
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x1c]
jmp 0x488683
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x14], edi
jne 0x488681
mov dword [ecx + 0x14], ebx
mov eax, dword [eax]
test eax, eax
jne 0x488676
mov edi, dword [ebp - 0xfc]
mov byte [ebp - 0xfd], 1
jmp case.0x4849b9.17
xor ecx, ecx
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc8], ecx
xor edx, edx
cmp dword [ebx + 0xc], ecx
mov ecx, dword [esi + 8]
cmove eax, edx
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0047ed04
cmp dword [ebx + 0xc], 0
pop ecx
mov dword [ebp - 0xcc], eax
je 0x4849dd
mov edx, dword [ebp - 0xc8]
add dword [edi + 0x68], edx
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x4849dd
mov ebx, dword [ebp - 0xd4]
mov eax, edx
imul ecx, ecx, 0x28
cdq
add dword [ecx + ebx], eax
adc dword [ecx + ebx + 4], edx
jmp case.0x4849b9.17
and dword [ebp - 0xc8], 0
mov edi, ecx
mov esi, dword [ebx + 4]
mov eax, dword [ebp - 0xe4]
shl esi, 4
push 5
add esi, dword [eax + 8]
mov dword [ebp - 0xc0], esi
cmp byte [ebx], 0x61
pop eax
cmove edi, eax
mov dword [ebp - 0xc4], edi
mov esi, dword [esi + 4]
mov ecx, esi
call fcn.004799d4
push edi
lea edx, [ebp - 0xc8]
mov ecx, esi
call fcn.0047ea23
pop ecx
mov ecx, esi
mov dword [ebp - 0xcc], eax
call fcn.00479a3e
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xfc]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x485667
mov eax, dword [ebx + 4]
mov ecx, esi
mov dword [ebp - 0xc8], eax
call fcn.00479a4e
cmp dword [ebx + 8], 0
mov edx, dword [ebp - 0xc8]
jne 0x4887a2
mov eax, dword [esi + 8]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
test byte [eax + 0x4a], 1
je 0x488847
cmp edx, 1
mov dword [ebp - 0xbc], esi
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
cmovne ecx, eax
add edx, edx
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0xb8], eax
lea eax, [edi + 0x5c]
mov dword [ebp - 0xb4], eax
push dword [ebx + 0x10]
mov eax, dword [esi + 8]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s
push esi
call fcn.00473441
add esp, 0x14
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x4887ff
push 7
pop eax
mov dword [ebp - 0xcc], eax
jmp 0x488847
xor ebx, ebx
mov byte [esi + 0x7c], 1
push ebx
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xb0], ebx
push eax
push fcn.0049bb54
push dword [ebp - 0xc0]
push esi
call fcn.00499855
add esp, 0x14
test eax, eax
cmove eax, dword [ebp - 0xb0]
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xc0]
push esi
call fcn.00472320
pop ecx
pop ecx
mov byte [esi + 0x7c], bl
mov ecx, esi
call fcn.00479add
mov eax, dword [ebp - 0xcc]
cmp eax, 7
je 0x484db5
jmp 0x4849dd
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.0048ff08
jmp 0x485f7b
mov eax, dword [ebp - 0xe4]
mov esi, dword [ebx + 4]
mov edx, dword [ebx + 0x10]
mov ecx, edx
shl esi, 4
add esi, dword [eax + 8]
push 0
call fcn.00473cc8
mov ecx, dword [esi + 0xc]
push eax
push 4
pop eax
add ecx, eax
call fcn.00474aa2
pop ecx
pop ecx
mov ecx, eax
call fcn.00491034
mov esi, dword [ebp - 0xe4]
mov eax, 0x200
or dword [esi + 0xc], eax
jmp case.0x4849b9.17
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.00490e0d
jmp 0x484e4b
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, esi
call fcn.004a1964
jmp 0x484e4b
mov edx, dword [ebx + 8]
mov ecx, esi
mov dword [ebp - 0xc8], edx
lea edx, [edx*4 + 4]
call fcn.004724bd
mov edx, eax
mov dword [ebp - 0xc4], edx
test edx, edx
je 0x484db5
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xb4], ecx
imul eax, dword [ebx + 4], 0x28
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
xor eax, eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc8], eax
jle 0x488971
mov edi, dword [ebp - 0xec]
imul ecx, eax, 0x28
add ecx, edi
call fcn.0048066f
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, dword [ebp - 0xc8]
jl 0x488937
mov edi, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xc4]
and dword [edx + eax*4], 0
lea eax, [ebp - 0xbc]
mov ecx, dword [esi + 8]
mov edx, dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xb4]
push dword [eax]
movzx eax, byte [ebx + 3]
push dword [ebp - 0xc8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0047f866
add esp, 0xc
mov dword [ebp - 0xb8], eax
push dword [ebp - 0xc4]
push esi
call fcn.00472320
mov eax, dword [ebp - 0xbc]
mov ebx, dword [ebp - 0xec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xb4]
cdq
sub dword [ecx], eax
mov ecx, ebx
mov eax, dword [ebp - 0xb4]
sbb dword [eax + 4], edx
call fcn.004807ea
cmp dword [ebp - 0xbc], 0
je 0x488a08
mov edx, dword [ebp - 0xb8]
test edx, edx
je 0x484db5
push fcn.004722cd
push 1
push 0xffffffffffffffff
mov ecx, ebx
call fcn.004809f1
add esp, 0xc
movzx edx, byte [ebp - 0xf8]
mov ecx, ebx
call fcn.004802ec
jmp case.0x4849b9.17
imul eax, dword [ebx + 4], 0x28
imul ebx, dword [ebx + 8], 0x28
push 0x20
pop ecx
add eax, dword [ebp - 0xd4]
add ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
test byte [eax + 0x1c], cl
jne 0x488a56
mov ecx, eax
call fcn.00480890
mov eax, dword [ebp - 0xec]
push 0x20
pop ecx
test byte [eax + 0x1c], cl
je 0x484db5
push dword [ebx + 4]
push dword [ebx]
mov ecx, dword [eax]
call fcn.00476b1b
jmp 0x485c11
cmp dword [esi + 0xd8], 0
jne 0x489a49
imul eax, dword [ebx + 4], 0x28
push 0x20
pop ecx
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xe0], eax
test byte [eax + 0x1c], cl
je 0x488aea
mov ecx, dword [eax]
mov dword [ebp - 0xec], ecx
call fcn.00476d6a
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 8]
test edx, edx
je 0x488ae4
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 8]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
test eax, eax
jne 0x488ac9
call fcn.00476ae4
imul ecx, dword [ebx + 0xc], 0x28
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
add ecx, dword [ebp - 0xd4]
jmp 0x485c0c
mov eax, dword [ebp - 0xe0]
mov ecx, eax
call fcn.004807ea
jmp 0x4849cd
imul eax, dword [ebx + 4], 0x28
imul ecx, dword [ebx + 0xc], 0x28
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xc8], edx
add eax, dword [ebp - 0xd4]
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xec], ecx
test byte [eax + 0x1c], 0x20
jne 0x488b4a
mov ecx, eax
call fcn.00480890
mov eax, dword [ebp - 0xdc]
push 0x20
pop ecx
test byte [eax + 0x1c], cl
je 0x484db5
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xec]
test edx, edx
je 0x488b8f
push dword [ecx + 4]
mov al, byte [ebp - 0xc8]
push dword [ecx]
and al, 0xf
mov ecx, 0xff
test edx, edx
movzx eax, al
cmovns ecx, eax
mov eax, dword [ebp - 0xdc]
mov dl, cl
mov ecx, dword [eax]
call fcn.00476da8
mov dword [ebp - 0xc4], eax
pop ecx
pop ecx
test eax, eax
jne 0x4849cd
mov edx, dword [ebp - 0xc8]
test edx, edx
js case.0x4849b9.17
mov eax, dword [ebp - 0xec]
push dword [eax + 4]
push dword [eax]
mov eax, dword [ebp - 0xdc]
jmp 0x488a5b
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xb0], edx
imul ecx, dword [ebx + 0xc], 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], ecx
cmp byte [ebx + 3], 0
je 0x488bfd
mov eax, dword [edi + 0xcc]
mov ebx, dword [edx + 0x14]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x488bfd
cmp dword [eax + 0x20], ebx
je 0x488bf5
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x488be3
test eax, eax
jne case.0x4849b9.17
mov eax, dword [edi + 0xd0]
cmp eax, dword [esi + 0x70]
jl 0x488c29
push str.too_many_levels_of_trigger_recursion
lea eax, [edi + 0x5c]
mov dword [ebp - 0xcc], 1
push esi
push eax
call fcn.00472640
add esp, 0xc
jmp case.0x4849b9.17
test byte [ecx + 0x1c], 0x40
jne 0x488d7a
mov eax, dword [edx + 8]
mov ecx, esi
add eax, dword [edx + 0xc]
mov dword [ebp - 0xc8], eax
imul eax, eax, 0xa
add eax, dword [edx + 0xc]
lea edx, [eax*4 + 0x40]
mov dword [ebp - 0xc4], edx
call fcn.0047249d
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x484db5
mov ecx, dword [ebp - 0xc0]
call fcn.004805f7
mov eax, dword [ebp - 0xc0]
push 0x40
pop ecx
mov edx, dword [ebp - 0xd0]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb4]
mov dword [eax], ecx
mov eax, dword [ebp - 0xb4]
mov dword [eax], edi
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc8]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xb4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 0x4c]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 0x48]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 0x34]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xb4]
mov cx, word [edi + 0x32]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 0x14]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 0xc]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0xb4]
imul eax, dword [edx + 0x24], 0x28
lea ecx, [edx + 0x40]
mov dword [ebp - 0xbc], ecx
add eax, 0x40
add eax, edx
mov dword [ebp - 0xb8], eax
cmp ecx, eax
je 0x488d82
push 0x28
pop edi
xor eax, eax
inc eax
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x10], esi
mov ecx, dword [ebp - 0xbc]
add ecx, edi
mov dword [ebp - 0xbc], ecx
cmp ecx, dword [ebp - 0xb8]
jne 0x488d46
mov edi, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xb4]
jmp 0x488d82
mov edx, dword [ecx]
mov dword [ebp - 0xb4], edx
inc dword [edi + 0xd0]
mov eax, dword [edi + 0xcc]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x30]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x30], ecx
mov ecx, dword [esi + 0x34]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [edi + 0x68]
mov dword [eax + 0x38], ecx
mov ecx, dword [ebp - 0xb4]
and dword [edi + 0x68], 0
mov dword [edi + 0xcc], ecx
lea ebx, [ecx + 0x18]
mov dword [edi + 0x4c], ebx
mov eax, dword [ecx + 0x24]
mov dword [edi + 0x48], eax
mov ax, word [ecx + 0x28]
mov word [edi + 0x32], ax
mov eax, dword [edi + 0x48]
inc eax
mov dword [ebp - 0xd4], ebx
imul eax, eax, 0x28
add eax, ebx
or edx, 0xffffffff
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov dword [edi + 0x14], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x108], ecx
mov dword [edi + 0xc], eax
jmp 0x484a2b
mov esi, dword [edi + 0xcc]
mov dword [ebp - 0xc8], esi
imul ecx, dword [esi + 4], 0x14
mov eax, dword [esi + 8]
mov eax, dword [ecx + eax + 4]
add eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
imul edx, eax, 0x28
mov eax, 0x1000
push eax
add edx, dword [esi + 0x10]
mov dword [ebp - 0xc4], edx
call fcn.00480917
pop ecx
jmp 0x485667
cmp dword [ebx + 4], 0
mov eax, dword [ebx + 8]
cdq
je 0x488e62
add dword [esi + 0x1d8], eax
adc dword [esi + 0x1dc], edx
jmp case.0x4849b9.17
add dword [edi + 0xb8], eax
adc dword [edi + 0xbc], edx
jmp case.0x4849b9.17
cmp dword [ebx + 4], 0
je 0x488e8a
mov eax, dword [esi + 0x1d8]
or eax, dword [esi + 0x1dc]
jmp 0x485cb1
mov eax, dword [edi + 0xb8]
or eax, dword [edi + 0xbc]
jmp 0x485cb1
mov eax, dword [edi + 0xcc]
test eax, eax
jne 0x488efb
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], ecx
call fcn.004807a0
imul esi, dword [ebx + 8], 0x28
add esi, dword [ebp - 0xd4]
mov ecx, esi
call fcn.004807a0
mov eax, dword [ebp - 0xc8]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
cmp dword [eax + 4], edx
jg 0x485667
jl 0x488ee9
cmp dword [eax], ecx
jae 0x485667
mov dword [eax], ecx
mov eax, dword [ebp - 0xc8]
mov dword [eax + 4], edx
jmp 0x485667
mov eax, ecx
mov dword [ebp - 0xc4], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x488ef9
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [eax + 0x10]
jmp 0x488eaf
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xd4]
cmp dword [eax + ecx + 4], edx
jl case.0x4849b9.17
jg 0x4849cd
cmp dword [eax + ecx], edx
jbe case.0x4849b9.17
jmp 0x4849cd
imul eax, dword [ebx + 4], 0x28
xor edx, edx
mov ecx, dword [ebp - 0xd4]
cmp dword [eax + ecx + 4], edx
jg case.0x4849b9.17
jl 0x4849cd
cmp dword [eax + ecx], edx
jae case.0x4849b9.17
jmp 0x4849cd
imul ecx, dword [ebx + 4], 0x28
mov eax, dword [ebx + 0xc]
cdq
add ecx, dword [ebp - 0xd4]
add dword [ecx], eax
mov eax, dword [ecx]
adc dword [ecx + 4], edx
or eax, dword [ecx + 4]
jmp 0x485cb1
movzx eax, byte [ebx + 3]
mov edx, dword [edi + 0x24]
mov dword [ebp - 0xc8], eax
imul ecx, dword [ebx + 8], 0x28
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0x78], edx
xor edx, edx
mov esi, edx
mov dword [ebp - 0xec], esi
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], esi
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xbc], ecx
test eax, eax
jle 0x48900f
mov edi, dword [ebp - 0xe0]
mov eax, edx
push 0x28
pop esi
mov dword [edi + eax*4], ecx
mov ecx, dword [ebp - 0xbc]
call fcn.004846b1
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xbc]
inc eax
add ecx, esi
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xbc], ecx
cmp eax, dword [ebp - 0xc8]
jge 0x489003
mov edi, dword [ebp - 0x78]
jmp 0x488fcd
mov edi, dword [ebp - 0xfc]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xb8], eax
imul eax, dword [ebx + 0xc], 0x28
push 8
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x88], eax
inc dword [eax + 0x18]
xor eax, eax
mov ecx, dword [ebp - 0xb8]
inc eax
mov word [ebp - 0x94], ax
pop eax
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], edx
test byte [ecx + 3], al
je 0x489070
mov eax, dword [ebx - 4]
mov dword [ebp - 0x80], eax
push dword [ebp - 0x78]
lea eax, [ebp - 0xb8]
push dword [ebp - 0xc8]
push eax
call dword [ecx + 0x10]
add esp, 0xc
cmp dword [ebp - 0x84], 0
je 0x4890bb
mov dl, 1
lea ecx, [ebp - 0xb0]
call fcn.00480e16
push eax
push 0x527230
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00472640
mov eax, dword [ebp - 0x84]
add esp, 0x10
mov dword [ebp - 0xcc], eax
lea ecx, [ebp - 0xb0]
call fcn.004805f7
jmp case.0x4849b9.17
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebx + 0x10]
call fcn.00480542
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x48910d
mov ecx, dword [ebp - 0xc8]
mov dl, 1
call fcn.00480e16
push eax
push 0x527230
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00472640
add esp, 0x10
movzx edx, byte [ebp - 0xf8]
mov ecx, dword [ebp - 0xc8]
call fcn.004802ec
mov ecx, dword [ebp - 0xc8]
jmp 0x48555e
cmp byte [esi + 0x1c], 0
jne 0x48913a
push str.cannot_VACUUM_from_within_a_transaction
jmp 0x486b2f
mov ecx, esi
call fcn.004a2f5c
jmp 0x485f7b
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 8]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xec], ecx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xdc], eax
call fcn.004799d4
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x12], 0
jne 0x489184
mov dword [ebp - 0xcc], 0x65
jmp 0x4891ab
mov ecx, eax
call fcn.00479c9f
mov ecx, dword [ebp - 0xdc]
call fcn.0047aa7e
mov ecx, dword [ebp - 0xdc]
xor edx, edx
push eax
call fcn.0047b901
pop ecx
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xec]
call fcn.00479a3e
mov eax, dword [ebp - 0xcc]
cmp eax, 0x65
jne 0x4849dd
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
xor eax, eax
jmp 0x485f7b
cmp dword [ebx + 4], 0
jne 0x4891e8
mov ecx, esi
call fcn.004832aa
jmp case.0x4849b9.17
mov byte [edi + 0x62], 1
jmp case.0x4849b9.17
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x120], al
test al, al
jne 0x48920b
test dword [esi + 0xc], 0x80000
jne case.0x4849b9.17
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 8]
add eax, eax
push dword [ebp - 0x120]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0047fb6f
mov dword [ebp - 0xcc], eax
pop ecx
cmp al, 6
jne 0x4849dd
push dword [ebx + 0x10]
lea eax, [edi + 0x5c]
push str.database_table_is_locked:__s
push esi
push eax
call fcn.00472640
add esp, 0x10
jmp case.0x4849b9.17
mov edx, dword [ebx + 0x10]
mov ecx, esi
mov dword [ebp - 0xc8], edx
call fcn.004a3d18
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], eax
je 0x4849dd
push dword [edi + 0x5c]
push esi
call fcn.00472320
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + 8]
mov eax, dword [eax + 8]
mov dword [edi + 0x5c], eax
mov eax, dword [ecx + 8]
and dword [eax + 8], 0
jmp case.0x4849b9.17
mov edx, dword [ebx + 4]
lea eax, [edi + 0x5c]
push eax
push dword [ebx + 0x10]
mov ecx, esi
call fcn.004a3a27
pop ecx
pop ecx
jmp 0x485f7b
mov byte [edi + 0x64], cl
mov ecx, esi
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.004a3bd8
pop ecx
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x64], 0
jmp 0x4849dd
xor eax, eax
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0x10]
push edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc0], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xbc], eax
call dword [eax + 0x18]
push dword [edi + 0x5c]
mov dword [ebp - 0xcc], eax
push esi
call fcn.00472320
mov ecx, dword [ebp - 0xc0]
xor edx, edx
add esp, 0x10
mov eax, dword [ecx + 8]
mov dword [edi + 0x5c], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 8], edx
test eax, eax
jne 0x4849dd
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
push edx
push 0xffffffffffffffff
mov dword [eax], ecx
mov ecx, edi
push edx
mov edx, dword [ebx + 4]
call fcn.004846dc
add esp, 0xc
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x489377
mov ecx, dword [ebp - 0xc4]
mov dword [eax + 0x38], ecx
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x3c], ecx
jmp case.0x4849b9.17
mov byte [esi + 0x1e], 1
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc4]
call dword [eax + 0x1c]
jmp 0x484e4b
imul edx, dword [ebx + 0xc], 0x28
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0xbc], edx
lea eax, [edx + 0x28]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xac], eax
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xb4], eax
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
mov eax, dword [eax]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xc8], eax
mov eax, dword [edx]
mov edx, dword [edi + 0x24]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc4], eax
xor eax, eax
mov ecx, eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0xa4], ecx
test eax, eax
jle 0x489493
lea eax, [ecx + 1]
imul eax, eax, 0x28
add eax, dword [ebp - 0xb8]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx + eax*4]
call fcn.004846b1
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xc8]
inc ecx
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xdc], esi
cmp ecx, esi
jl 0x489421
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xdc]
jmp 0x489499
mov ecx, dword [ebp - 0xcc]
push edx
push eax
mov eax, dword [ebp - 0xe0]
mov byte [edi + 0x64], 1
push dword [ebx + 0x10]
push dword [ebp - 0xec]
push ecx
call dword [eax + 0x20]
add esp, 0x14
mov dword [ebp - 0xcc], eax
mov byte [edi + 0x64], 0
push dword [edi + 0x5c]
push esi
call fcn.00472320
pop ecx
pop ecx
mov ecx, dword [ebp - 0xb0]
xor edx, edx
mov eax, dword [ecx + 8]
mov dword [edi + 0x5c], eax
mov dword [ecx + 8], edx
cmp dword [ebp - 0xcc], edx
jne 0x4894fd
mov eax, dword [ebp - 0xc0]
push dword [ebp - 0xb4]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0xa8], eax
xor edx, edx
jmp 0x489503
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x489511
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xac]
mov byte [eax + 0x14], dl
jmp case.0x4849b9.17
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + ecx*4]
imul ecx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0xec], eax
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc0], ecx
cmp byte [eax + 0x14], 0
jne 0x484f2f
mov eax, dword [eax + 0x38]
push 0x40
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
pop eax
push eax
lea eax, [ebp - 0xb8]
push 0
push eax
call fcn.004db6f0
mov edx, dword [ebp - 0xc0]
lea ecx, [ebp - 0xb0]
add esp, 0xc
call fcn.004809cb
mov eax, dword [ebp - 0x94]
mov ecx, 0xbf01
and eax, ecx
or eax, 1
mov word [ebp - 0x94], ax
lea eax, [ebp - 0xb8]
push dword [ebx + 8]
push eax
mov eax, dword [ebp - 0xec]
push dword [eax + 0x38]
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x2c]
add esp, 0xc
mov dword [ebp - 0xcc], eax
push dword [edi + 0x5c]
push esi
call fcn.00472320
movzx edx, byte [ebp - 0xf8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + 8]
mov dword [edi + 0x5c], eax
and dword [ecx + 8], 0
lea ecx, [ebp - 0xb0]
cmp dword [ebp - 0x84], 0
mov eax, dword [ebp - 0xcc]
cmovne eax, dword [ebp - 0x84]
mov dword [ebp - 0xcc], eax
call fcn.004802ec
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0xb0]
call fcn.004809cb
mov ecx, dword [ebp - 0xc0]
jmp 0x48555e
and dword [ebp - 0xc0], 0
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xbc], ecx
cmp byte [ecx + 0x14], 0
jne case.0x4849b9.17
mov eax, dword [ecx + 0x38]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov byte [edi + 0x64], 1
push dword [ecx + 0x38]
call dword [eax + 0x24]
pop ecx
push dword [edi + 0x5c]
mov dword [ebp - 0xcc], eax
push esi
mov byte [edi + 0x64], 0
call fcn.00472320
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + 8]
mov dword [edi + 0x5c], eax
and dword [ecx + 8], 0
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4896b0
mov eax, dword [ebp - 0xbc]
push dword [eax + 0x38]
mov eax, dword [ebp - 0xc4]
call dword [eax + 0x28]
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xc0], ecx
jmp 0x4896b6
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
jne 0x4849dd
jmp 0x4877a1
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0xc8], edx
imul ecx, dword [ebx + 4], 0x28
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx]
push dword [ecx + 0x14]
push edx
call dword [eax + 0x4c]
push dword [edi + 0x5c]
mov dword [ebp - 0xcc], eax
push esi
call fcn.00472320
mov ecx, dword [ebp - 0xc8]
add esp, 0x10
mov eax, dword [ecx + 8]
mov dword [edi + 0x5c], eax
and dword [ecx + 8], 0
jmp case.0x4849b9.17
mov eax, dword [ebx + 0x10]
xor edx, edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xe0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xdc], ecx
cmp dword [ecx + 0x34], edx
je case.0x4849b9.17
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xb0], ecx
imul ecx, dword [ebx + 0xc], 0x28
mov dword [ebp - 0xbc], edx
add ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ecx
test eax, eax
jle 0x4897d4
push 0x28
pop esi
call fcn.004846b1
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xbc]
add ecx, esi
mov edx, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xe0], edx
cmp eax, edx
jl 0x48976f
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe0]
jmp 0x4897e0
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
lea esi, [ebp - 0xb8]
push esi
push dword [ebp - 0xec]
push eax
push ecx
call dword [edx + 0x34]
push dword [edi + 0x5c]
mov esi, dword [ebp - 0xe4]
push esi
mov dword [ebp - 0xcc], eax
call fcn.00472320
mov ecx, dword [ebp - 0xc8]
xor edx, edx
add esp, 0x18
mov eax, dword [ecx + 8]
mov dword [edi + 0x5c], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 8], edx
test eax, eax
jne 0x489842
cmp dword [ebx + 4], edx
je 0x489842
mov eax, dword [ebp - 0xb8]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0xb4]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xcc]
inc dword [edi + 0x68]
jmp 0x4849dd
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xc8], ecx
add ecx, ecx
mov eax, dword [esi + 8]
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
call fcn.004781dd
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x4849dd
mov eax, dword [ebp - 0xc4]
jmp 0x486c65
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x489898
mov edx, dword [edi + 0xb0]
mov dword [ebp - 0xc8], edx
test edx, edx
je case.0x4849b9.17
cmp dword [esi + 0x94], 0
je case.0x4849b9.17
mov ecx, edi
call fcn.0048441c
mov esi, eax
mov eax, dword [ebp - 0xe4]
push esi
push dword [eax + 0x98]
call dword [eax + 0x94]
push esi
mov esi, dword [ebp - 0xe4]
push esi
call fcn.00472320
jmp 0x489246
mov edi, dword [ebp - 0xfc]
jmp 0x4849dd
push 9
jmp 0x484dcf
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xd0]
mov dword [edi + 0x58], eax
mov al, byte [ebx + 8]
mov byte [edi + 0x38], al
mov dword [edi + 0x54], edx
cmp dword [ebx + 0x10], 0
je 0x489923
push dword [ebx + 0x10]
lea eax, [edi + 0x5c]
push 0x527230
push esi
push eax
call fcn.00472640
add esp, 0x10
mov ecx, edi
call fcn.00482664
push 5
pop ecx
cmp eax, ecx
je 0x48997b
cmp dword [edi + 0x58], 0
push 0x65
pop esi
push 1
pop eax
cmovne esi, eax
jmp 0x484e09
cmp byte [esi + 0x1e], 0
jne 0x484db5
mov eax, dword [ebp - 0xd0]
inc eax
push 0x64
mov dword [edi + 0x54], eax
pop esi
jmp 0x484e09
lea ecx, [ebp - 0xb8]
call fcn.004805f7
jmp 0x484db5
mov edx, dword [ebp - 0xd0]
mov dword [edi + 0x54], edx
mov byte [esi + 0x1c], bl
mov esi, ecx
mov dword [edi + 0x58], ecx
jmp 0x484e09
test ecx, ecx
je 0x4899ac
mov ecx, esi
call fcn.004aa794
mov byte [esi + 0x1c], 1
mov ecx, esi
call fcn.004aa50e
xor esi, esi
inc esi
cmp dword [edi + 0x58], ebx
push 0x65
pop eax
cmove esi, eax
jmp 0x484e09
xor edx, edx
mov ecx, edi
inc edx
call fcn.0048260f
mov esi, eax
test esi, esi
jne 0x484e09
mov esi, dword [ebp - 0xe4]
mov ecx, edi
mov al, byte [ebp - 0xc8]
mov byte [esi + 0x1c], al
call fcn.00482664
push 5
pop ecx
cmp eax, ecx
jne 0x489994
mov edx, dword [ebp - 0xd0]
xor eax, eax
inc eax
mov dword [edi + 0x54], edx
sub al, byte [ebp - 0xc8]
mov byte [esi + 0x1c], al
jmp 0x48997b
mov edx, dword [ebp - 0xd0]
mov dword [edi + 0x54], edx
jmp 0x48997b
push 0xb
jmp 0x489a08
push 0xd
pop eax
cmp byte [esi + 0x1e], 0
push 7
pop ecx
cmovne eax, ecx
mov dword [ebp - 0xcc], eax
cmp eax, 0xc0a
je 0x484dd6
mov ecx, eax
call fcn.004aa846
push eax
push 0x527230
lea eax, [edi + 0x5c]
push esi
push eax
call fcn.00472640
mov eax, dword [ebp - 0xcc]
add esp, 0x10
jmp 0x484dd6
push 9
pop edx
mov dword [ebp - 0xcc], edx
mov ecx, edx
mov dword [edi + 0x58], edx
jmp 0x489a26