Function at 0x4a74d9
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x35c
mov eax, dword [0x547240]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov eax, dword [ebx + 4]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0xd8], eax
xor eax, eax
push esi
push edi
mov edi, dword [ebx]
mov cl, byte [edi + 0x3e]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0x121], al
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x18c], eax
mov eax, dword [edi + 0x20]
mov byte [ebp - 0x118], cl
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x150], eax
mov eax, dword [edi + 0x24]
mov esi, ebx
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0x14c], eax
call fcn.0046eb1a
cmp dword [ebx + 0x50], 7
je 0x4ac22b
xor eax, eax
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x88], eax
mov dword [ebx + 0x8c], eax
mov dword [ebx + 0x14], eax
mov dword [edi + 0x1c4], eax
mov eax, dword [edi + 0xf0]
test eax, eax
jne 0x4ac254
mov ecx, edi
cmp dword [ecx + 0x124], eax
je 0x4a75be
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x4a75b0
mov eax, dword [ecx + 0x12c]
mov dword [ebp - 0x16c], eax
jmp 0x4a75be
xor edx, edx
div dword [ecx + 0x12c]
mov dword [ebp - 0x16c], edx
mov eax, dword [ebx + 0x4c]
imul eax, eax, 0x14
add eax, dword [ebp - 0x110]
mov dword [ebp - 0xd8], eax
cmp byte [ecx + 0x41], 0
jne 0x4ac22b
mov edi, dword [ebp - 0xd8]
mov dl, byte [edi]
inc dword [ebp - 0x160]
movzx eax, dl
lea ecx, [eax - 1]
cmp ecx, 0x9a
ja case.default.0x4a75f6
jmp dword [ecx*4 + 0x4ac279]
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, edi
sub eax, dword [ebp - 0x110]
push 0x14
cdq
pop esi
idiv esi
cdq
jmp 0x4ab50a
mov edi, dword [edi + 4]
imul edi, edi, 0x28
add edi, dword [ebp - 0xe0]
mov eax, dword [edi]
imul eax, eax, 0x14
add eax, dword [ebp - 0x110]
mov dword [ebp - 0xd8], eax
mov eax, 0x80
mov word [edi + 8], ax
mov edi, dword [ebp - 0xd8]
add edi, 0x14
cmp dword [ebp - 0xd4], 0
mov dword [ebp - 0xd8], edi
jne 0x4abd7f
mov ecx, dword [ebp - 0xdc]
jmp 0x4a75d0
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
dec eax
cdq
mov dword [ecx], eax
push 4
pop eax
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
cmp dword [edi + 8], 0
jne 0x4a9f12
jmp case.default.0x4a75f6
mov edi, dword [edi + 4]
mov eax, dword [ebp - 0x110]
imul edi, edi, 0x28
add edi, dword [ebp - 0xe0]
mov ecx, dword [edi]
imul ecx, ecx, 0x14
mov ecx, dword [ecx + eax + 8]
imul ecx, ecx, 0x14
lea eax, [ecx + eax - 0x14]
jmp 0x4a763b
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
push 4
pop eax
mov word [ecx + 8], ax
mov eax, edi
sub eax, dword [ebp - 0x110]
push 0x14
cdq
pop edi
idiv edi
mov esi, dword [ecx]
imul esi, esi, 0x14
add esi, dword [ebp - 0x110]
mov dword [ebp - 0xd8], esi
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4a764a
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0xe0]
imul eax, eax, 0x28
test byte [eax + ecx + 8], 1
je case.default.0x4a75f6
mov eax, edi
sub eax, dword [ebp - 0x110]
push 0x14
cdq
pop ecx
idiv ecx
xor ecx, ecx
mov esi, eax
cmp dword [edi + 4], ecx
jne 0x4ac090
mov edx, dword [ebx + 0xb0]
cmp edx, ecx
je 0x4ac090
mov ecx, dword [edx + 4]
mov esi, dword [ebp - 0xdc]
dec dword [ebx + 0xb8]
mov dword [ebx + 0xb0], ecx
mov ecx, dword [ebx + 0x5c]
mov eax, esi
call fcn.004671d1
mov edi, edx
call fcn.0049c923
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x150], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0xd8]
cmp dword [ecx + 8], 4
jne 0x4a778d
mov ecx, dword [ebx + 4]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
dec eax
mov ecx, dword [ebx + 4]
imul eax, eax, 0x14
mov edx, dword [ebx + 8]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0xe0], edx
add eax, ecx
mov dword [ebp - 0xd8], eax
jmp 0x4a764a
push ebx
mov eax, edi
call fcn.0046773c
pop ecx
mov ecx, eax
mov eax, dword [edi + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x4a75f6
push ebx
mov eax, edi
call fcn.0046773c
pop ecx
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp case.default.0x4a75f6
push ebx
mov eax, edi
call fcn.0046773c
pop ecx
push 8
pop ecx
mov word [eax + 8], cx
mov ecx, dword [edi + 0x10]
fld qword [ecx]
fstp qword [eax]
jmp case.default.0x4a75f6
push ebx
mov eax, edi
call fcn.0046773c
pop ecx
mov ecx, dword [edi + 0x10]
mov esi, eax
mov byte [edi], 0x1b
call fcn.004624e7
cmp byte [ebp - 0x118], 1
mov dword [edi + 4], eax
je 0x4a7895
push 1
push ecx
xor eax, eax
or ecx, 0xffffffff
mov edx, esi
call fcn.00475265
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, 0x12
je 0x4a823c
movzx eax, byte [ebp - 0x118]
push eax
mov eax, esi
call fcn.004751c0
pop ecx
test eax, eax
jne 0x4ac22b
and dword [esi + 0x18], eax
mov edi, dword [ebp - 0xd8]
mov eax, 0x800
or word [esi + 8], ax
cmp byte [edi + 1], 0xff
jne 0x4a787f
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0xdc]
call fcn.004622de
mov byte [edi + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x58]
jg 0x4a823c
push ebx
mov eax, edi
call fcn.0046773c
pop ecx
mov ecx, 0xa02
mov word [eax + 8], cx
mov ecx, dword [edi + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edi + 4]
mov dword [eax + 0xc], ecx
mov cl, byte [ebp - 0x118]
mov byte [eax + 0xa], cl
cmp byte [edi + 3], 0
je case.default.0x4a75f6
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0xe0]
imul ecx, ecx, 0x28
mov esi, dword [ecx + edx]
or esi, dword [ecx + edx + 4]
je case.default.0x4a75f6
mov ecx, 0xa10
mov word [eax + 8], cx
jmp case.default.0x4a75f6
push ebx
mov eax, edi
call fcn.0046773c
mov esi, dword [edi + 0xc]
sub esi, dword [edi + 8]
pop ecx
mov ecx, eax
mov eax, dword [edi + 4]
neg eax
sbb eax, eax
and eax, 0x100
inc eax
movzx eax, ax
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x104], eax
jmp 0x4a794e
add dword [ebp - 0xf4], 0x28
mov eax, dword [ebp - 0xf4]
call fcn.00466853
mov ax, word [ebp - 0x104]
mov ecx, dword [ebp - 0xf4]
dec esi
mov word [ecx + 8], ax
test esi, esi
jg 0x4a792e
jmp case.default.0x4a75f6
mov eax, dword [edi + 4]
mov edx, 0xff7f
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov cx, word [eax + 8]
and cx, dx
or cx, 1
jmp 0x4a78f6
push ebx
mov eax, edi
call fcn.0046773c
mov ecx, dword [edi + 4]
mov esi, eax
push 0
push dword [edi + 0x10]
xor eax, eax
mov edx, esi
call fcn.00475265
mov al, byte [ebp - 0x118]
add esp, 0xc
mov byte [esi + 0xa], al
jmp case.default.0x4a75f6
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x3c]
imul eax, eax, 0x28
lea esi, [eax + ecx - 0x28]
mov ecx, esi
call fcn.0046691e
test eax, eax
jne 0x4a823c
push ebx
mov eax, edi
call fcn.0046773c
mov dword [esp], 0x800
call fcn.00466945
pop ecx
jmp case.default.0x4a75f6
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 4]
mov dword [ebp - 0xe4], eax
imul esi, esi, 0x28
mov eax, dword [edi + 8]
add esi, dword [ebp - 0xe0]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
push dword [ebp - 0xf4]
call fcn.00466989
pop ecx
mov ecx, dword [ebp - 0xf4]
mov eax, 0x1000
test word [ecx + 8], ax
je 0x4a7a37
mov eax, ecx
call fcn.00472449
test eax, eax
jne 0x4ac22b
mov edi, dword [ebp - 0xd8]
add dword [ebp - 0xf4], 0x28
add esi, 0x28
dec dword [ebp - 0xe4]
jne 0x4a7a05
jmp case.default.0x4a75f6
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 4]
mov dword [ebp - 0xec], eax
imul esi, esi, 0x28
mov eax, dword [edi + 8]
add esi, dword [ebp - 0xe0]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
push 0x1000
call fcn.00466945
pop ecx
mov ecx, dword [ebp - 0xf4]
mov eax, 0x1000
test word [ecx + 8], ax
je 0x4a7aac
mov eax, ecx
call fcn.00472449
test eax, eax
jne 0x4ac22b
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xec]
dec dword [ebp - 0xec]
test eax, eax
je case.default.0x4a75f6
add dword [ebp - 0xf4], 0x28
add esi, 0x28
jmp 0x4a7a75
mov esi, dword [edi + 4]
mov eax, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
push 0x1000
jmp 0x4a79d3
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + 0x124]
test eax, eax
je 0x4a7b1d
mov edx, dword [ebp - 0x160]
cmp edx, dword [ebp - 0x16c]
jb 0x4a7b1d
push dword [ecx + 0x128]
call eax
pop ecx
test eax, eax
jne 0x4abd75
push 0
mov esi, ebx
call fcn.004824e7
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x4a75f6
push 1
push ebx
call fcn.00491097
xor esi, esi
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, esi
jne case.default.0x4a75f6
mov eax, dword [ebx + 0x48]
add eax, 2
or eax, 1
mov dword [ebx + 0x48], eax
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebx + 0x14], eax
cmp dword [edi + 8], esi
jle 0x4a7bb1
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
mov ecx, 0x1000
test word [eax + 8], cx
je 0x4a7b99
call fcn.00472449
test eax, eax
jne 0x4ac22b
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x13c]
call fcn.0046e47c
add dword [ebp - 0x13c], 0x28
inc esi
cmp esi, dword [edi + 8]
jl 0x4a7b75
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x41], 0
jne 0x4ac22b
mov eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0x110]
push 0x14
cdq
pop ecx
idiv ecx
push 0x64
pop edi
inc eax
mov dword [ebx + 0x4c], eax
jmp 0x4abdec
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
imul eax, eax, 0x28
mov esi, dword [edi + 0xc]
imul ecx, ecx, 0x28
add eax, dword [ebp - 0xe0]
imul esi, esi, 0x28
add ecx, dword [ebp - 0xe0]
add esi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], eax
movzx eax, word [eax + 8]
mov dword [ebp - 0xf0], ecx
mov cl, byte [ecx + 8]
or cl, al
mov dword [ebp - 0xf4], esi
test cl, 1
je 0x4a7c2f
mov eax, esi
call fcn.00466853
jmp case.default.0x4a75f6
mov edi, 0x4000
test edi, eax
je 0x4a7c45
mov eax, dword [ebp - 0xe8]
call fcn.0046e3f0
jmp 0x4a7c47
xor eax, eax
test eax, eax
jne 0x4ac22b
mov eax, dword [ebp - 0xf0]
test word [eax + 8], di
je 0x4a7c62
call fcn.0046e3f0
jmp 0x4a7c64
xor eax, eax
test eax, eax
jne 0x4ac22b
mov eax, dword [ebp - 0xe8]
test byte [eax + 8], 0x12
jne 0x4a7c97
push 0
push dword [ebp - 0x118]
mov esi, eax
call fcn.004751e3
pop ecx
pop ecx
test eax, eax
jne 0x4ac22b
mov esi, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf0]
test byte [eax + 8], 0x12
jne 0x4a7cc2
push 0
push dword [ebp - 0x118]
mov esi, eax
call fcn.004751e3
pop ecx
pop ecx
test eax, eax
jne 0x4ac22b
mov esi, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xe8]
add eax, dword [ecx + 0xc]
cdq
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x58]
mov ecx, edx
cdq
cmp ecx, edx
jg 0x4a823c
jl 0x4a7cfd
cmp dword [ebp - 0x1dc], eax
ja 0x4a823c
xor eax, eax
cmp esi, dword [ebp - 0xf0]
mov edi, esi
sete al
push eax
mov eax, dword [ebp - 0x1dc]
add eax, 2
call fcn.0046e301
pop ecx
test eax, eax
jne 0x4ac22b
mov ax, word [esi + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [esi + 8], ax
mov eax, dword [ebp - 0xf0]
cmp esi, eax
je 0x4a7d51
push dword [eax + 0xc]
push dword [eax + 0x10]
push dword [esi + 0x10]
call fcn.004ddd50
add esp, 0xc
mov eax, dword [ebp - 0xe8]
push dword [eax + 0xc]
mov ecx, dword [ebp - 0xf0]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [ecx + 0xc]
push eax
call fcn.004ddd50
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [esi + 0x10]
mov byte [eax + ecx], 0
mov ecx, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0x118]
mov ecx, 0x200
add esp, 0xc
or word [esi + 8], cx
mov byte [esi + 0xa], al
jmp 0x4a764a
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
mov eax, esi
mov dword [ebp - 0xe8], esi
call fcn.0046771d
movzx eax, ax
mov dword [ebp - 0xec], eax
mov eax, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf0], eax
call fcn.0046771d
movzx eax, ax
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf0]
mov al, byte [eax + 8]
or al, byte [esi + 8]
test al, 1
jne 0x4a807b
mov al, byte [ebp - 0xe4]
and al, byte [ebp - 0xec]
test al, 4
je 0x4a7fd0
mov edx, dword [ebp - 0xf0]
mov edx, dword [edx]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x148], edx
mov edx, dword [ebp - 0xf0]
mov edx, dword [edx + 4]
mov dword [ebp - 0x144], edx
movzx edx, byte [edi]
sub edx, 0x59
mov byte [ebp - 0xf9], 1
je 0x4a7f9a
dec edx
je 0x4a7f8b
dec edx
je 0x4a7ed6
dec edx
mov edx, eax
je 0x4a7e8c
or edx, ecx
je 0x4a807b
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4a7e77
xor eax, eax
inc eax
xor ecx, ecx
push ecx
push eax
push dword [ebp - 0x144]
push dword [ebp - 0x148]
call fcn.004e68d0
jmp 0x4a7ec5
or edx, ecx
je 0x4a807b
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x4a7eb2
cmp dword [ebp - 0x148], 0
jne 0x4a7eb2
cmp dword [ebp - 0x144], 0x80000000
je 0x4a7ef3
push ecx
push eax
push dword [ebp - 0x144]
push dword [ebp - 0x148]
call fcn.004e6820
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edx
jmp 0x4a7fb7
push ecx
push eax
lea esi, [ebp - 0x148]
call fcn.00462ff6
pop ecx
pop ecx
test eax, eax
je 0x4a7fb7
mov esi, dword [ebp - 0xe8]
mov ecx, esi
call fcn.004666fd
fstp qword [ebp - 0x108]
mov ecx, dword [ebp - 0xf0]
call fcn.004666fd
movzx eax, byte [edi]
sub eax, 0x59
je 0x4a8003
dec eax
je 0x4a7ffb
dec eax
je 0x4a7ff3
dec eax
fld qword [ebp - 0x108]
je 0x4a7fdc
call fcn.004deed6
mov esi, eax
mov dword [ebp - 0x1bc], edx
call fcn.004deed6
mov ecx, esi
or ecx, dword [ebp - 0x1bc]
je 0x4a807b
mov ecx, esi
and ecx, dword [ebp - 0x1bc]
cmp ecx, 0xffffffff
jne 0x4a7f69
xor esi, esi
inc esi
and dword [ebp - 0x1bc], 0
push dword [ebp - 0x1bc]
push esi
push edx
push eax
call fcn.004e68d0
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], edx
fild qword [ebp - 0x240]
jmp 0x4a8009
push ecx
push eax
lea eax, [ebp - 0x148]
call fcn.00462fa8
jmp 0x4a7fad
push ecx
push eax
lea edi, [ebp - 0x148]
call fcn.00462f24
mov edi, dword [ebp - 0xd8]
pop ecx
pop ecx
test eax, eax
jne 0x4a7ef3
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0xf4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x144]
jmp 0x4a8415
mov byte [ebp - 0xf9], 0
jmp 0x4a7ef3
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4a8079
fdiv qword [ebp - 0x108]
jmp 0x4a8009
fmul qword [ebp - 0x108]
jmp 0x4a8009
fsub qword [ebp - 0x108]
jmp 0x4a8009
fadd qword [ebp - 0x108]
fstp qword [ebp - 0x108]
push ecx
fld qword [ebp - 0x108]
push ecx
fstp qword [esp]
call fcn.004624be
add esp, 8
test eax, eax
jne 0x4a807b
mov eax, dword [ebp - 0xf4]
fld qword [ebp - 0x108]
mov cx, word [eax + 8]
fstp qword [eax]
mov edx, 0xbe08
and cx, dx
or cx, 8
mov word [eax + 8], cx
mov al, byte [ebp - 0xe4]
or al, byte [ebp - 0xec]
test al, 8
jne case.default.0x4a75f6
cmp byte [ebp - 0xf9], 0
jne case.default.0x4a75f6
mov esi, dword [ebp - 0xf4]
call fcn.0046673a
jmp case.default.0x4a75f6
fstp st(0)
mov eax, dword [ebp - 0xf4]
jmp 0x4a7c25
mov eax, dword [edi + 4]
test eax, eax
je case.default.0x4a75f6
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
push 0
push 0
call fcn.004668bd
pop ecx
jmp 0x4a79d8
mov ecx, dword [ebx + 0xc]
mov esi, dword [edi + 8]
movzx eax, byte [edi + 3]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
and dword [ebp - 0xf8], 0
mov dword [ebp - 0xe4], ecx
mov ecx, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x204], ecx
test eax, eax
jle 0x4a8131
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xf8]
mov dword [eax + ecx*4], esi
mov eax, 0x1000
test word [esi + 8], ax
je 0x4a8114
mov eax, esi
call fcn.00472449
test eax, eax
jne 0x4ac22b
mov edi, dword [ebp - 0xd8]
inc dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
add esi, 0x28
cmp eax, dword [ebp - 0xec]
jl 0x4a80e5
mov ecx, dword [ebp - 0x204]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x200], eax
mov eax, edi
sub eax, dword [ebp - 0x110]
push 0x14
cdq
pop esi
idiv esi
mov esi, dword [ebp - 0xdc]
push dword [ebp - 0xe4]
mov dword [ebp - 0x1f8], ebx
push dword [ebp - 0xec]
mov edx, 0xbe01
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x104], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 1
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x150]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x14c]
mov dword [esi + 0x24], eax
lea eax, [ebp - 0x204]
push eax
mov eax, dword [ebp - 0x200]
mov byte [ebp - 0x1eb], 0
call dword [eax + 0xc]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x150], eax
mov eax, dword [esi + 0x24]
add esp, 0xc
cmp byte [ebp - 0x1eb], 0
mov dword [ebp - 0x14c], eax
je 0x4a8215
cmp dword [ebp - 0x1f0], 0
je 0x4a81ff
push dword [ebp - 0x204]
call fcn.004756e6
push eax
push 0x50f82c
push esi
lea edi, [ebx + 0x2c]
call fcn.004806a0
mov eax, dword [ebp - 0x1f0]
mov edi, dword [ebp - 0xd8]
add esp, 0x10
mov dword [ebp - 0xd4], eax
push dword [edi + 4]
push dword [ebp - 0x104]
call fcn.00466c89
mov ebx, dword [ebp - 0x114]
pop ecx
pop ecx
movzx eax, byte [ebp - 0x118]
push eax
mov eax, dword [ebp - 0x204]
call fcn.004751c0
pop ecx
mov ecx, dword [ebp - 0x204]
call fcn.0046691e
test eax, eax
je case.default.0x4a75f6
push str.string_or_blob_too_big
push dword [ebp - 0xdc]
lea edi, [ebx + 0x2c]
call fcn.004806a0
pop ecx
pop ecx
mov dword [ebp - 0xd4], 0x12
jmp 0x4abd7f
mov ecx, dword [edi + 8]
mov esi, dword [edi + 4]
imul ecx, ecx, 0x28
mov eax, dword [edi + 0xc]
imul esi, esi, 0x28
add ecx, dword [ebp - 0xe0]
imul eax, eax, 0x28
add esi, dword [ebp - 0xe0]
mov dl, byte [ecx + 8]
add eax, dword [ebp - 0xe0]
or dl, byte [esi + 8]
mov dword [ebp - 0xf4], eax
test dl, 1
jne 0x4a7c25
call fcn.004666a5
mov ecx, esi
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], edx
call fcn.004666a5
mov esi, eax
mov al, byte [edi]
mov byte [ebp - 0xf9], al
cmp al, 0x55
jne 0x4a82d0
and dword [ebp - 0x138], esi
and dword [ebp - 0x134], edx
jmp 0x4a8401
cmp byte [ebp - 0xf9], 0x56
jne 0x4a82ea
or dword [ebp - 0x138], esi
or dword [ebp - 0x134], edx
jmp 0x4a8401
mov eax, esi
or eax, edx
je 0x4a8401
test edx, edx
jg 0x4a8331
jl 0x4a82fe
test esi, esi
jae 0x4a8326
mov al, 0xaf
sub al, byte [ebp - 0xf9]
mov byte [ebp - 0xf9], al
cmp edx, 0xffffffff
jl 0x4a8321
jg 0x4a8318
cmp esi, 0xffffffc0
jbe 0x4a8321
neg esi
adc edx, 0
neg edx
jmp 0x4a8326
push 0x40
pop esi
xor edx, edx
test edx, edx
jl 0x4a8367
jg 0x4a8331
cmp esi, 0x40
jb 0x4a8367
cmp dword [ebp - 0x134], 0
jg 0x4a8353
jl 0x4a8345
cmp dword [ebp - 0x138], 0
jae 0x4a8353
cmp byte [ebp - 0xf9], 0x57
je 0x4a8353
or eax, 0xffffffff
jmp 0x4a8355
xor eax, eax
cdq
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], edx
jmp 0x4a8401
push 8
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.004ddd50
mov eax, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
add esp, 0xc
cmp byte [ebp - 0xf9], 0x57
mov ecx, esi
jne 0x4a83a9
call fcn.004e6ac0
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], edx
jmp 0x4a83e9
call fcn.004e6aa0
cmp dword [ebp - 0x134], 0
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], edx
jg 0x4a83e9
jl 0x4a83ce
cmp dword [ebp - 0x138], 0
jae 0x4a83e9
push 0x40
pop ecx
or edx, 0xffffffff
sub ecx, esi
mov eax, edx
call fcn.004e6ac0
or dword [ebp - 0x15c], eax
or dword [ebp - 0x158], edx
push 8
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.004ddd50
add esp, 0xc
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0xf4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x134]
mov dword [eax + 4], ecx
mov cx, word [eax + 8]
mov edx, 0xbe04
and cx, dx
or cx, 4
jmp 0x4a78f6
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
call fcn.00466798
mov eax, dword [edi + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
jmp case.default.0x4a75f6
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
movzx eax, word [esi + 8]
test al, 4
jne 0x4a8492
push dword [ebp - 0x118]
mov eax, esi
push 0x43
call fcn.004758b1
movzx eax, word [esi + 8]
pop ecx
pop ecx
test al, 4
jne 0x4a8492
cmp dword [edi + 8], 0
jne 0x4a9f12
mov dword [ebp - 0xd4], 0x14
jmp 0x4aa38f
and eax, 0xbe04
or eax, 4
mov word [esi + 8], ax
jmp case.default.0x4a75f6
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
test byte [esi + 8], 4
je case.default.0x4a75f6
call fcn.004667bb
jmp case.default.0x4a75f6
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4a84e9
mov eax, esi
call fcn.0046e3f0
mov dword [ebp - 0xd4], eax
jmp 0x4a84f0
and dword [ebp - 0xd4], 0
push dword [ebp - 0x118]
mov cl, byte [edi + 8]
mov eax, esi
call fcn.00479a32
jmp 0x4a79d8
mov edx, dword [edi + 4]
mov esi, dword [edi + 0xc]
imul edx, edx, 0x28
add edx, dword [ebp - 0xe0]
imul esi, esi, 0x28
movzx eax, word [edx + 8]
add esi, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
movzx eax, word [esi + 8]
mov dword [ebp - 0xf8], eax
or al, byte [ebp - 0xf4]
mov dword [ebp - 0xe8], edx
test al, 1
mov al, byte [edi + 3]
mov dword [ebp - 0xf0], esi
je 0x4a8593
test al, al
jns 0x4a857b
test byte [ebp - 0xf4], 1
je 0x4a8573
test byte [ebp - 0xf8], 1
je 0x4a8573
test dword [ebp - 0xf8], 0x100
jne 0x4a8573
xor eax, eax
jmp 0x4a86d6
xor eax, eax
inc eax
jmp 0x4a86d6
test al, 0x20
je 0x4a858c
mov eax, dword [edi + 8]
mov edx, 0xbe01
jmp 0x4a7963
test al, 0x10
jmp 0x4a7692
and al, 0x47
cmp al, 0x43
jl 0x4a85cf
movzx eax, word [edx + 8]
and al, 0xe
cmp al, 2
jne 0x4a85b3
push 0
mov eax, edx
call fcn.00467657
mov edx, dword [ebp - 0xe8]
pop ecx
mov al, byte [esi + 8]
and al, 0xe
cmp al, 2
jne 0x4a866b
push 0
mov eax, esi
call fcn.00467657
pop ecx
jmp 0x4a8665
cmp al, 0x42
jne 0x4a866b
movzx eax, word [edx + 8]
test al, 2
jne 0x4a8624
test al, 0xc
je 0x4a8624
mov esi, dword [ebp - 0xe8]
push 1
push dword [ebp - 0x118]
call fcn.004751e3
mov ax, word [esi + 8]
xor ax, word [ebp - 0xf4]
mov edx, dword [ebp - 0xe8]
pop ecx
pop ecx
mov ecx, 0x1ff
and ax, cx
xor ax, word [esi + 8]
mov esi, dword [ebp - 0xf0]
movzx eax, ax
mov dword [ebp - 0xf4], eax
movzx eax, word [esi + 8]
test al, 2
jne 0x4a866b
test al, 0xc
je 0x4a866b
mov esi, dword [ebp - 0xf0]
push 1
push dword [ebp - 0x118]
call fcn.004751e3
mov ax, word [esi + 8]
xor ax, word [ebp - 0xf8]
pop ecx
pop ecx
mov ecx, 0x1ff
and ax, cx
xor ax, word [esi + 8]
movzx eax, ax
mov dword [ebp - 0xf8], eax
mov edx, dword [ebp - 0xe8]
mov edi, 0x4000
test word [edx + 8], di
je 0x4a868d
mov eax, edx
call fcn.0046e3f0
and dword [ebp - 0xf4], 0xbfff
mov edx, dword [ebp - 0xe8]
test word [esi + 8], di
je 0x4a86aa
mov eax, esi
call fcn.0046e3f0
and dword [ebp - 0xf8], 0xbfff
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x41], 0
jne 0x4ac22b
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x10]
mov eax, esi
call fcn.004755ff
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xe8]
movzx ecx, byte [edi]
sub ecx, 0x4e
je 0x4a8717
dec ecx
je 0x4a870e
dec ecx
je 0x4a8705
dec ecx
je 0x4a86fc
dec ecx
je 0x4a86f3
xor ecx, ecx
test eax, eax
setns cl
jmp 0x4a871e
xor ecx, ecx
test eax, eax
sets cl
jmp 0x4a871e
xor ecx, ecx
test eax, eax
setle cl
jmp 0x4a871e
xor ecx, ecx
test eax, eax
setg cl
jmp 0x4a871e
xor ecx, ecx
test eax, eax
sete cl
jmp 0x4a871e
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
mov cx, word [ebp - 0xf4]
mov word [edx + 8], cx
mov cx, word [ebp - 0xf8]
mov word [esi + 8], cx
test byte [edi + 3], 0x20
je 0x4a89e9
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
mov esi, 0xbe04
mov dx, word [ecx + 8]
and dx, si
or dx, 4
mov word [ecx + 8], dx
jmp 0x4a77bd
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x18c], eax
jmp case.default.0x4a75f6
test byte [edi + 3], 1
jne 0x4a8780
and dword [ebp - 0x18c], 0
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [edi + 4]
mov dword [ebp - 0x120], ecx
mov ecx, dword [edi + 8]
xor esi, esi
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x104], ecx
test eax, eax
jle 0x4a883a
mov eax, dword [ebp - 0xe4]
add eax, 0x14
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x4a87cc
mov eax, dword [eax + esi*4]
jmp 0x4a87ce
mov eax, esi
mov ecx, dword [ebp - 0xe4]
mov ecx, dword [ecx + 0x10]
movzx ecx, byte [ecx + esi]
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x104]
lea edx, [eax + ecx]
add eax, dword [ebp - 0x120]
imul edx, edx, 0x28
mov ecx, dword [ebp - 0xec]
imul eax, eax, 0x28
add edx, dword [ebp - 0xe0]
add eax, dword [ebp - 0xe0]
mov ecx, dword [ecx]
call fcn.004755ff
mov dword [ebp - 0x168], eax
test eax, eax
jne 0x4a882b
add dword [ebp - 0xec], 4
inc esi
cmp esi, dword [ebp - 0x100]
jl 0x4a87bd
jmp 0x4a883a
cmp dword [ebp - 0x10c], 0
je 0x4a883a
neg dword [ebp - 0x168]
and dword [ebp - 0x18c], 0
jmp case.default.0x4a75f6
cmp dword [ebp - 0x168], 0
jge 0x4a8864
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x110]
imul eax, eax, 0x14
lea eax, [eax + ecx - 0x14]
jmp 0x4a77a4
mov ecx, dword [ebp - 0x110]
jne 0x4a8871
mov eax, dword [edi + 8]
jmp 0x4a8858
mov eax, dword [edi + 0xc]
jmp 0x4a8858
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
test byte [ecx + 8], 1
je 0x4a888d
push 2
pop esi
jmp 0x4a8899
call fcn.004666a5
xor esi, esi
or eax, edx
je 0x4a8899
inc esi
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
test byte [ecx + 8], 1
je 0x4a88b0
push 2
pop eax
jmp 0x4a88c0
call fcn.004666a5
or eax, edx
je 0x4a88be
xor eax, eax
inc eax
jmp 0x4a88c0
xor eax, eax
imul esi, esi, 3
cmp byte [edi], 0x48
jne 0x4a88d2
movzx eax, byte [esi + eax + 0x51dba4]
jmp 0x4a88da
movzx eax, byte [esi + eax + 0x51dbe8]
mov ecx, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
cmp eax, 2
jne 0x4a88fd
mov ax, word [ecx + 8]
mov edx, 0xbe01
and ax, dx
or ax, 1
jmp 0x4a8913
cdq
mov dword [ecx], eax
mov ax, word [ecx + 8]
mov dword [ecx + 4], edx
mov edx, 0xbe04
and ax, dx
or ax, 4
mov word [ecx + 8], ax
jmp case.default.0x4a75f6
mov eax, dword [edi + 4]
mov esi, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], eax
mov eax, esi
call fcn.00466853
mov ecx, dword [ebp - 0xe8]
test byte [ecx + 8], 1
jne case.default.0x4a75f6
push 4
pop eax
mov word [esi + 8], ax
call fcn.004666a5
or eax, edx
jne 0x4a8964
inc eax
jmp 0x4a8966
xor eax, eax
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.default.0x4a75f6
mov eax, dword [edi + 4]
mov esi, dword [edi + 8]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], eax
mov eax, esi
call fcn.00466853
mov ecx, dword [ebp - 0xe8]
test byte [ecx + 8], 1
jne case.default.0x4a75f6
push 4
pop eax
mov word [esi + 8], ax
call fcn.004666a5
not eax
not edx
jmp 0x4a8967
mov eax, dword [ebx + 0xc8]
mov ecx, dword [edi + 4]
cmp byte [eax + ecx], 0
jne 0x4a9f12
mov byte [eax + ecx], 1
jmp case.default.0x4a75f6
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
test byte [ecx + 8], 1
je 0x4a89f0
mov eax, dword [edi + 0xc]
test eax, eax
jmp 0x4a7692
call fcn.004666fd
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4a8a05
xor eax, eax
inc eax
jmp 0x4a8a07
xor eax, eax
cmp byte [edi], 0x2e
jne 0x4a89e9
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
jmp 0x4a89e9
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
imul eax, eax, 0x28
test byte [eax + ecx + 8], 1
jmp 0x4a7692
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
imul eax, eax, 0x28
test byte [eax + ecx + 8], 1
je 0x4a9f12
jmp case.default.0x4a75f6
mov eax, dword [edi + 8]
mov ecx, dword [ebx + 0x38]
mov dword [ebp - 0xec], eax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf0], eax
mov eax, dword [edi + 4]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0xf8], eax
mov eax, dword [esi]
mov dword [ebp - 0xf4], eax
mov eax, esi
mov dword [ebp - 0x104], esi
call fcn.0049b81c
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa38f
mov eax, dword [esi + 0x3c]
cmp eax, dword [ebx + 0x48]
je 0x4a8bf1
cmp byte [esi + 0x19], 0
je 0x4a8aea
cmp dword [ebp - 0xf4], 0
jne 0x4a8ada
mov eax, dword [esi + 0x10]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov edx, dword [eax + 0xc]
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], edx
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x170], edx
mov dword [esi + 0x4c], eax
jmp 0x4a8b77
mov eax, dword [ebp - 0xf0]
call fcn.00466853
jmp 0x4a8edb
test byte [esi + 0x1c], 4
jne 0x4a8b27
mov eax, dword [ebp - 0xf4]
lea edi, [ebp - 0x228]
call fcn.0046624d
lea eax, [ebp - 0x170]
push eax
mov eax, dword [ebp - 0xf4]
call fcn.004662a1
mov edi, dword [ebp - 0xd8]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x228]
mov dword [esi + 0x40], eax
jmp 0x4a8b4c
lea eax, [esi + 0x40]
push eax
mov eax, dword [ebp - 0xf4]
call fcn.00466264
lea eax, [ebp - 0x170]
push eax
mov eax, dword [ebp - 0xf4]
call fcn.004662a1
pop ecx
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x40]
pop ecx
mov ecx, dword [ebp - 0x170]
cmp eax, ecx
ja 0x4a8b5f
mov dword [esi + 0x44], eax
jmp 0x4a8b62
mov dword [esi + 0x44], ecx
mov ecx, dword [ebp - 0xdc]
cmp eax, dword [ecx + 0x58]
ja 0x4a823c
mov edx, dword [ebp - 0x170]
mov eax, dword [ebx + 0x48]
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x3c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x4a8b94
movzx eax, al
xor ecx, ecx
mov dword [ebp - 0x140], eax
inc ecx
jmp 0x4a8bb4
lea edi, [ebp - 0x140]
call fcn.00462e54
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x170]
movzx ecx, al
mov eax, dword [ebp - 0x140]
movzx ecx, cl
mov dword [esi + 0x48], ecx
xor ecx, ecx
mov word [esi + 0x16], cx
mov ecx, dword [ebp - 0xf8]
mov dword [ecx], eax
cmp eax, 0x18003
ja 0x4a8be2
cmp eax, dword [esi + 0x40]
ja 0x4a8be2
cmp edx, eax
jae 0x4a8c01
and dword [esi + 0x4c], 0
and dword [esi + 0x44], 0
jmp 0x4a8c01
push 0x11e09
call fcn.0047fd7d
jmp 0x4ab90e
movzx eax, word [esi + 0x16]
cmp eax, dword [ebp - 0xec]
jg 0x4a8df2
mov eax, dword [esi + 0x48]
mov ecx, dword [ebp - 0xf8]
cmp eax, dword [ecx]
jae 0x4a8dc3
mov eax, dword [esi + 0x4c]
test eax, eax
jne 0x4a8c78
push 0x28
push eax
lea eax, [ebp - 0x30c]
push eax
call fcn.004de430
mov eax, dword [esi + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0xf8]
push dword [ebp - 0xf4]
mov edi, dword [eax]
lea esi, [ebp - 0x30c]
xor ebx, ebx
call fcn.0049afa9
add esp, 0x14
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4a9946
mov eax, dword [ebp - 0x2fc]
mov ebx, dword [ebp - 0x114]
mov esi, dword [ebp - 0x104]
mov edi, dword [ebp - 0xd8]
movzx edx, word [esi + 0x16]
mov ecx, dword [esi + 0x48]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + edx*4]
add ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax]
add eax, dword [ebp - 0x11c]
mov dword [ebp - 0x100], edx
mov dword [ebp - 0x10c], eax
lea eax, [esi + edx*4 + 0x54]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x4a8cdc
movzx eax, al
inc ecx
mov dword [ebp - 0x154], eax
mov dword [ebp - 0xe8], ecx
jmp 0x4a8d08
mov ecx, dword [ebp - 0xe8]
lea edi, [ebp - 0x154]
call fcn.00462e54
mov edi, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x100]
movzx eax, al
add dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
call fcn.00466db0
add dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], eax
jb 0x4a8d5c
mov ecx, dword [ebp - 0x140]
mov eax, dword [ebp - 0xf8]
add dword [ebp - 0xe4], 4
inc edx
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x100], edx
cmp edx, dword [ebp - 0xec]
jg 0x4a8d69
cmp ecx, dword [ebp - 0x10c]
jb 0x4a8cc4
jmp 0x4a8d69
mov ecx, dword [ebp - 0x10c]
inc ecx
mov dword [ebp - 0xe8], ecx
mov eax, ecx
sub eax, dword [ebp - 0x11c]
cmp dword [esi + 0x4c], 0
mov word [esi + 0x16], dx
mov dword [esi + 0x48], eax
jne 0x4a8d99
lea eax, [ebp - 0x30c]
call fcn.00466644
mov ecx, dword [ebp - 0xe8]
xor eax, eax
inc eax
mov word [ebp - 0x304], ax
cmp ecx, dword [ebp - 0x10c]
jb 0x4a8dae
ja 0x4a8db9
mov eax, dword [ebp - 0x140]
cmp eax, dword [esi + 0x40]
jne 0x4a8db9
mov eax, dword [ebp - 0x140]
cmp eax, dword [esi + 0x40]
jbe 0x4a8dc3
push 0x11e5d
jmp 0x4a8be7
movzx eax, word [esi + 0x16]
cmp eax, dword [ebp - 0xec]
jg 0x4a8df2
cmp byte [edi + 1], 0xf8
mov eax, dword [ebp - 0xf0]
jne 0x4a8ae0
mov esi, dword [edi + 0x10]
push 0x800
call fcn.00466945
pop ecx
jmp 0x4a8edb
mov ecx, dword [ebp - 0xf0]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x4a8e0a
mov eax, ecx
call fcn.00466853
mov eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0xf8]
mov ecx, dword [esi + eax*4 + 0x54]
lea edx, [edx + eax*4]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x154], ecx
cmp eax, dword [edx + 4]
jb 0x4a8e32
mov ecx, dword [esi + 0x4c]
add ecx, dword [edx]
jmp 0x4a8e63
mov al, byte [edi + 3]
test al, 0xc0
je 0x4a8e47
cmp ecx, 0xc
jb 0x4a8e43
test cl, 1
je 0x4a8e52
test al, al
js 0x4a8e52
mov eax, ecx
call fcn.00466db0
test eax, eax
jne 0x4a8e76
push 0xd
pop eax
cmp eax, ecx
sbb ecx, ecx
not ecx
lea eax, [ebp - 0x228]
and ecx, eax
mov eax, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x154]
call fcn.00466ebd
jmp 0x4a8ecc
mov ecx, dword [esi + 0x1c]
mov esi, dword [ebp - 0xf0]
mov ebx, dword [edx]
shr ecx, 2
not ecx
and ecx, 1
push ecx
push dword [ebp - 0xf4]
mov edi, eax
call fcn.0049afa9
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4a9946
mov edx, dword [ebp - 0x154]
mov ecx, dword [esi + 0x10]
mov eax, esi
call fcn.00466ebd
mov ebx, dword [ebp - 0x114]
mov edi, dword [ebp - 0xd8]
mov eax, 0xefff
and word [esi + 8], ax
mov al, byte [ebp - 0x118]
mov ecx, dword [ebp - 0xf0]
mov byte [ecx + 0xa], al
mov ecx, dword [ebp - 0xf0]
movzx eax, word [ecx + 8]
test eax, 0x1000
je case.default.0x4a75f6
mov esi, dword [ecx + 0x10]
test esi, esi
je case.default.0x4a75f6
mov edi, dword [ecx + 0xc]
and eax, 0x12
mov dword [ebp - 0x104], eax
lea eax, [edi + 2]
call fcn.0046e3cf
test eax, eax
jne 0x4ac22b
push edi
push esi
mov esi, dword [ebp - 0xf0]
push dword [esi + 0x10]
call fcn.004ddd50
mov eax, dword [esi + 0x10]
mov byte [edi + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + edi + 1], 0
mov eax, dword [ebp - 0x104]
add esp, 0xc
or eax, 0x200
mov word [esi + 8], ax
jmp 0x4a764a
mov esi, dword [edi + 4]
mov eax, dword [edi + 0x10]
imul esi, esi, 0x28
mov cl, byte [eax]
add esi, dword [ebp - 0xe0]
mov byte [ebp - 0x1a8], cl
test cl, cl
je case.default.0x4a75f6
jmp 0x4a8f74
mov eax, dword [ebp - 0x100]
push dword [ebp - 0x118]
inc eax
push dword [ebp - 0x1a8]
mov dword [ebp - 0x100], eax
mov eax, esi
call fcn.004758b1
mov eax, dword [ebp - 0x100]
mov al, byte [eax]
pop ecx
add esi, 0x28
pop ecx
mov byte [ebp - 0x1a8], al
test al, al
jne 0x4a8f6e
jmp case.default.0x4a75f6
mov esi, dword [edi + 4]
mov edx, dword [edi + 8]
imul esi, esi, 0x28
mov eax, dword [edi + 0x10]
imul edx, edx, 0x28
mov edi, dword [edi + 0xc]
add esi, dword [ebp - 0xe0]
imul edi, edi, 0x28
add edi, dword [ebp - 0xe0]
xor ecx, ecx
lea edx, [edx + esi - 0x28]
mov dword [ebp - 0x11c], edx
movzx edx, byte [ebx + 0x57]
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x104], edx
mov dword [ebp - 0xf4], edi
cmp eax, ecx
je 0x4a903f
movzx eax, byte [eax]
mov edi, esi
push dword [ebp - 0x118]
push eax
mov eax, edi
call fcn.004758b1
add edi, 0x28
inc dword [ebp - 0xec]
mov eax, dword [ebp - 0xec]
mov al, byte [eax]
pop ecx
pop ecx
test al, al
jne 0x4a901a
mov edi, dword [ebp - 0x11c]
push dword [ebp - 0x104]
mov ecx, edi
call fcn.00466ce1
pop ecx
mov dword [ebp - 0xf8], eax
mov dword [edi + 0x1c], eax
call fcn.00466db0
mov dword [ebp - 0xe4], eax
mov eax, 0x4000
test word [edi + 8], ax
je 0x4a90a0
mov eax, dword [ebp - 0x188]
or eax, dword [ebp - 0x184]
je 0x4a9089
mov eax, edi
call fcn.0046e3f0
jmp 0x4a90a0
mov eax, dword [edi]
cdq
add dword [ebp - 0x180], eax
mov eax, dword [edi]
adc dword [ebp - 0x17c], edx
sub dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
cdq
add dword [ebp - 0x188], eax
adc dword [ebp - 0x184], edx
cmp dword [ebp - 0xf8], 0x7f
ja 0x4a90c1
xor eax, eax
inc eax
jmp 0x4a90d0
push 0
push dword [ebp - 0xf8]
call fcn.00462eb5
pop ecx
pop ecx
add dword [ebp - 0xe8], eax
sub edi, 0x28
cmp edi, esi
jae 0x4a9045
cmp dword [ebp - 0xe8], 0x7e
jle 0x4a9115
mov eax, dword [ebp - 0xe8]
cdq
push edx
push eax
call fcn.00462eb5
mov edi, eax
add dword [ebp - 0xe8], edi
mov eax, dword [ebp - 0xe8]
cdq
push edx
push eax
call fcn.00462eb5
add esp, 0x10
cmp edi, eax
jge 0x4a911b
inc dword [ebp - 0xe8]
mov eax, dword [ebp - 0xe8]
cdq
mov edi, eax
mov dword [ebp - 0x1c8], edi
add edi, dword [ebp - 0x188]
mov ecx, edx
mov dword [ebp - 0x1c4], ecx
adc ecx, dword [ebp - 0x184]
mov eax, edi
add eax, dword [ebp - 0x180]
mov dword [ebp - 0x284], edi
adc ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x4a823c
jl 0x4a9178
cmp dword [ebp - 0x27c], eax
ja 0x4a823c
mov eax, edi
mov edi, dword [ebp - 0xf4]
mov ecx, edi
call fcn.0046e3cf
test eax, eax
jne 0x4ac22b
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x10c], eax
cmp ecx, 0x80
jae 0x4a91ad
mov byte [eax], cl
xor eax, eax
inc eax
jmp 0x4a91d2
push dword [ebp - 0x1c4]
mov esi, dword [ebp - 0x10c]
push dword [ebp - 0x1c8]
call fcn.00462c6f
mov esi, dword [ebp - 0x120]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xe8]
movzx eax, al
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0x100], esi
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0xf8], eax
cmp eax, 0x80
jae 0x4a920b
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0x10c]
mov byte [ecx + edx], al
xor eax, eax
inc eax
jmp 0x4a9229
mov ecx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0xec]
push 0
push dword [ebp - 0xf8]
lea esi, [esi + ecx]
call fcn.00462c6f
pop ecx
pop ecx
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xf8]
movzx eax, al
add dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x10c]
lea edi, [edi + eax]
mov eax, esi
call fcn.00466dc3
add dword [ebp - 0xe4], eax
add esi, 0x28
mov dword [ebp - 0x100], esi
cmp esi, dword [ebp - 0x11c]
jbe 0x4a91e7
mov ecx, dword [ebp - 0x284]
mov eax, dword [ebp - 0xf4]
mov dword [eax + 0xc], ecx
push 0x10
pop ecx
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x180]
mov edx, ecx
or edx, dword [ebp - 0x17c]
je 0x4a92a0
mov dword [eax], ecx
mov ecx, 0x4010
mov word [eax + 8], cx
mov byte [eax + 0xa], 1
jmp 0x4a764a
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
and dword [ebp - 0x1b8], 0
and dword [ebp - 0x1b4], 0
lea ecx, [ebp - 0x1b8]
push ecx
call fcn.00496a8c
mov dword [ebp - 0xd4], eax
push ebx
mov eax, edi
call fcn.0046773c
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1b8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1b4]
jmp 0x4a77db
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], ecx
test eax, eax
jne 0x4a93f2
mov edi, dword [ebp - 0xdc]
cmp dword [edi + 0x9c], eax
jle 0x4a9338
push str.cannot_open_savepoint___SQL_statements_in_progress
push edi
lea edi, [ebx + 0x2c]
call fcn.004806a0
pop ecx
pop ecx
mov dword [ebp - 0xd4], 5
jmp 0x4a764a
call fcn.004624e7
mov dword [ebp - 0x100], eax
mov eax, dword [edi + 0x1f4]
add eax, dword [edi + 0x1f0]
push eax
push 0
call fcn.00469de7
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa38f
mov eax, dword [ebp - 0x100]
add eax, 0x21
push 0
push eax
mov esi, edi
call fcn.0046bc38
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4a764a
mov ecx, dword [ebp - 0x100]
inc ecx
push ecx
push dword [ebp - 0xe4]
lea eax, [esi + 0x20]
push eax
mov dword [esi], eax
call fcn.004ddd50
add esp, 0xc
cmp byte [edi + 0x3f], 0
je 0x4a93b2
mov byte [edi + 0x3f], 0
mov byte [edi + 0x46], 1
jmp 0x4a93b8
inc dword [edi + 0x1f0]
mov eax, edi
mov edx, dword [eax + 0x1e8]
mov dword [esi + 0x18], edx
mov ecx, dword [eax + 0x1f8]
mov dword [eax + 0x1e8], esi
mov dword [esi + 8], ecx
mov ecx, dword [eax + 0x1fc]
mov dword [esi + 0xc], ecx
mov ecx, dword [eax + 0x200]
mov dword [esi + 0x10], ecx
mov eax, dword [eax + 0x204]
mov dword [esi + 0x14], eax
jmp 0x4a764a
mov esi, dword [ebp - 0xdc]
mov eax, dword [esi + 0x1e8]
and dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], eax
test eax, eax
je 0x4a9447
push dword [ebp - 0xe4]
mov eax, dword [ebp - 0xf0]
push dword [eax]
call fcn.0046254a
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0xf0]
je 0x4a9443
mov eax, dword [eax + 0x18]
inc dword [ebp - 0xf4]
mov dword [ebp - 0xf0], eax
cmp eax, ecx
jne 0x4a940f
cmp eax, ecx
jne 0x4a946d
push dword [ebp - 0xe4]
lea edi, [ebx + 0x2c]
push str.no_such_savepoint:__s
push esi
call fcn.004806a0
add esp, 0xc
mov dword [ebp - 0xd4], 1
jmp 0x4a764a
cmp dword [esi + 0x9c], ecx
jle 0x4a9489
cmp dword [ebp - 0xe8], 1
jne 0x4a9489
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
jmp 0x4a931f
cmp dword [eax + 0x18], ecx
jne 0x4a94ec
cmp byte [esi + 0x46], 0
je 0x4a94ec
xor eax, eax
inc eax
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xe8], eax
jne 0x4a94f2
push eax
mov esi, ebx
call fcn.004824e7
mov edi, eax
pop ecx
test edi, edi
jne 0x4abdec
mov esi, dword [ebp - 0xdc]
mov edi, ebx
mov byte [esi + 0x3f], 1
call fcn.004a014d
push 5
pop edi
cmp eax, edi
je 0x4ac13f
mov edi, dword [ebp - 0xd8]
mov byte [esi + 0x46], 0
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0xd4], eax
jmp 0x4a9616
mov dword [ebp - 0xec], ecx
mov eax, dword [esi + 0x1f0]
sub eax, dword [ebp - 0xf4]
dec eax
cmp dword [ebp - 0xe8], 2
mov dword [ebp - 0xf4], eax
jne 0x4a9589
mov eax, dword [esi + 0x18]
shr eax, 1
and eax, 1
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xf8], ecx
cmp dword [esi + 0x14], ecx
jle 0x4a958f
xor ecx, ecx
test eax, eax
sete cl
and dword [ebp - 0xe4], 0
mov dword [ebp - 0x104], ecx
push dword [ebp - 0x104]
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp - 0xe4]
push 0x204
push dword [ecx + eax + 4]
call fcn.0049541f
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa38f
inc dword [ebp - 0xf8]
mov esi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xf8]
add dword [ebp - 0xe4], 0x10
cmp eax, dword [esi + 0x14]
jl 0x4a953b
jmp 0x4a958f
mov dword [ebp - 0x100], ecx
and dword [ebp - 0xf8], 0
cmp dword [esi + 0x14], 0
jle 0x4a95f5
and dword [ebp - 0xe4], 0
push dword [ebp - 0xf4]
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0xe4]
push dword [ebp - 0xe8]
mov esi, dword [ecx + eax + 4]
call fcn.00490ff4
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa38f
inc dword [ebp - 0xf8]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xf8]
add dword [ebp - 0xe4], 0x10
cmp ecx, dword [eax + 0x14]
jl 0x4a95a3
cmp dword [ebp - 0x100], 0
mov esi, dword [ebp - 0xdc]
je 0x4a9616
mov eax, esi
call fcn.004671dd
mov eax, esi
call fcn.00476208
or dword [esi + 0x18], 2
mov eax, dword [esi + 0x1e8]
cmp eax, dword [ebp - 0xf0]
je 0x4a964e
mov edx, dword [esi + 0x1e8]
mov eax, dword [edx + 0x18]
mov ecx, esi
mov dword [esi + 0x1e8], eax
call fcn.004622de
mov eax, dword [ebp - 0xf0]
dec dword [esi + 0x1f0]
cmp dword [esi + 0x1e8], eax
jne 0x4a9624
cmp dword [ebp - 0xe8], 1
jne 0x4a9682
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0x18]
mov ecx, esi
mov dword [esi + 0x1e8], eax
call fcn.004622de
cmp dword [ebp - 0xec], 0
jne case.default.0x4a75f6
dec dword [esi + 0x1f0]
jmp 0x4a96c2
cmp dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 8]
mov dword [esi + 0x1f8], ecx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x1fc], ecx
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x200], ecx
mov eax, dword [eax + 0x14]
mov dword [esi + 0x204], eax
je 0x4a96c2
cmp dword [ebp - 0xe8], 2
jne case.default.0x4a75f6
push dword [ebp - 0xf4]
mov edi, esi
push dword [ebp - 0xe8]
call fcn.00469de7
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa38f
jmp 0x4a764a
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0x104], eax
test eax, eax
je 0x4a971c
cmp byte [esi + 0x3f], 0
jne 0x4a971c
test edi, edi
jne 0x4a971c
cmp dword [esi + 0x9c], edi
jle 0x4a971c
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x4a9483
movzx ecx, byte [esi + 0x3f]
cmp eax, ecx
jne 0x4ac160
test eax, eax
jne 0x4a9733
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4a9741
mov eax, str.cannot_rollback___no_transaction_is_active
test edi, edi
jne 0x4a9741
mov eax, str.cannot_commit___no_transaction_is_active
push eax
push esi
lea edi, [ebx + 0x2c]
call fcn.004806a0
pop ecx
pop ecx
jmp 0x4a945e
mov ecx, dword [edi + 8]
mov esi, dword [ebp - 0xdc]
test ecx, ecx
je 0x4a976c
test dword [esi + 0x18], 0x2000000
jne 0x4ac1d5
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x10]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0x100], eax
test eax, eax
je 0x4a988c
push ecx
push eax
call fcn.00491d6d
pop ecx
pop ecx
push 5
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, ecx
je 0x4ac1e4
test eax, eax
jne 0x4aa38f
cmp dword [edi + 8], eax
je 0x4a9849
test byte [ebx + 0x58], 0x20
je 0x4a9849
mov esi, dword [ebp - 0xdc]
cmp byte [esi + 0x3f], al
je 0x4a97cf
cmp dword [esi + 0x98], 1
jle 0x4a9849
cmp dword [ebx + 0x68], 0
jne 0x4a97ea
mov ecx, dword [esi + 0x1f0]
inc dword [esi + 0x1f4]
add ecx, dword [esi + 0x1f4]
mov dword [ebx + 0x68], ecx
mov eax, dword [ebx + 0x68]
dec eax
push eax
push 0
mov edi, esi
call fcn.00469de7
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4a9819
push dword [ebx + 0x68]
mov edi, dword [ebp - 0x100]
call fcn.0046e170
pop ecx
mov dword [ebp - 0xd4], eax
mov eax, dword [esi + 0x1f8]
mov dword [ebx + 0x98], eax
mov eax, dword [esi + 0x1fc]
mov dword [ebx + 0x9c], eax
mov eax, dword [esi + 0x200]
mov dword [ebx + 0xa0], eax
mov eax, dword [esi + 0x204]
mov dword [ebx + 0xa4], eax
mov edi, dword [ebp - 0x100]
push 1
lea ebx, [ebp - 0x190]
call fcn.0046e238
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 4]
mov ebx, dword [ebp - 0x114]
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xd8]
pop ecx
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x4a9895
and dword [ebp - 0x190], 0
xor eax, eax
cmp byte [edi + 3], 0
je case.default.0x4a75f6
mov ecx, dword [ebp - 0x190]
cmp ecx, dword [edi + 0xc]
jne 0x4a98b3
cmp eax, dword [edi + 0x10]
je case.default.0x4a75f6
mov edx, dword [ebx + 0x2c]
mov ecx, esi
call fcn.004622de
push str.database_schema_has_changed
push esi
call fcn.0046bd8a
mov dword [ebx + 0x2c], eax
mov eax, dword [edi + 4]
mov edx, dword [esi + 0x10]
pop ecx
pop ecx
mov ecx, eax
add ecx, ecx
mov ecx, dword [edx + ecx*8 + 0xc]
mov edx, dword [ebp - 0x190]
cmp dword [ecx], edx
je 0x4a98f2
mov esi, dword [ebp - 0xdc]
push eax
call fcn.004761df
pop ecx
or dword [ebx + 0x58], 8
mov dword [ebp - 0xd4], 0x11
jmp case.default.0x4a75f6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x10]
push dword [edi + 0xc]
add eax, eax
mov edi, dword [ecx + eax*8 + 4]
lea ebx, [ebp - 0x1d4]
call fcn.0046e238
push dword [ebp - 0x114]
mov eax, dword [ebp - 0xd8]
call fcn.0046773c
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x1d4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ebx, dword [ebp - 0x114]
jmp 0x4a764a
mov esi, dword [edi + 0xc]
mov ebx, dword [edi + 4]
imul esi, esi, 0x28
mov eax, dword [ebp - 0xdc]
add esi, dword [ebp - 0xe0]
shl ebx, 4
add ebx, dword [eax + 0x10]
mov dword [ebp - 0x100], ebx
call fcn.00466798
push dword [esi]
mov ebx, dword [ebx + 4]
push dword [edi + 8]
call fcn.0048f267
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 8]
pop ecx
pop ecx
cmp eax, 1
jne 0x4a99ad
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [ebp - 0xdc]
or dword [eax + 0x18], 2
jmp 0x4a99c0
cmp eax, 2
jne 0x4a99c0
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 0xc]
mov cl, byte [esi]
mov byte [eax + 0x4c], cl
cmp dword [edi + 4], 1
jne 0x4aaebe
mov eax, dword [ebp - 0xdc]
call fcn.004671dd
mov eax, dword [ebp - 0x114]
and dword [eax + 0x58], 0xfffffff7
mov ebx, eax
jmp case.default.0x4a75f6
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
test esi, esi
je case.0x4a75f6.54
mov eax, dword [esi + 0x20]
cmp eax, dword [edi + 8]
je 0x4a9b3b
test byte [ebx + 0x58], 8
je 0x4a9a14
mov dword [ebp - 0xd4], 0x204
jmp case.default.0x4a75f6
mov eax, dword [edi + 8]
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x120], eax
shl eax, 4
add eax, dword [esi + 0x10]
xor ecx, ecx
mov esi, dword [eax + 4]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x10c], esi
cmp dl, 0x37
jne 0x4a9a68
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4c]
mov dword [ebp - 0xec], 1
cmp al, byte [ebx + 0x57]
jae 0x4a9a6e
mov byte [ebx + 0x57], al
jmp 0x4a9a6e
and dword [ebp - 0xec], ecx
test byte [edi + 3], 4
je 0x4a9a9f
mov esi, dword [ebp - 0xe4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
call fcn.00466798
mov esi, dword [esi]
mov dword [ebp - 0xe4], esi
cmp esi, 2
jl 0x4ac1ff
mov ecx, dword [ebp - 0x104]
mov al, byte [edi + 1]
cmp al, 0xfa
jne 0x4a9abb
mov eax, dword [edi + 0x10]
movzx ecx, word [eax + 8]
mov dword [ebp - 0x100], eax
movzx eax, word [eax + 6]
add ecx, eax
jmp 0x4a9ac2
cmp al, 0xf2
jne 0x4a9ac2
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 4]
push 1
push dword [ebp - 0x120]
push ecx
call fcn.0049c982
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4ac225
push dword [esi]
mov edi, dword [ebp - 0x100]
mov eax, dword [ebp - 0xe4]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0xec]
mov dword [esi + 0x20], eax
push eax
mov eax, dword [ebp - 0x10c]
mov byte [esi + 0x19], 1
call fcn.0046e209
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0x114]
mov dword [ebp - 0xd4], eax
xor eax, eax
add esp, 0x10
mov dword [esi + 8], edi
cmp byte [ecx + 1], 0xfa
mov edi, ecx
setne al
shl eax, 2
xor eax, dword [esi + 0x1c]
and eax, 4
xor dword [esi + 0x1c], eax
movzx eax, byte [edi + 3]
mov ecx, dword [esi]
and eax, 3
push eax
call fcn.0046649c
add esp, 4
jmp case.default.0x4a75f6
mov edx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
call fcn.0049c982
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4ac225
or dword [esi + 0x1c], 1
mov ebx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
mov byte [esi + 0x19], 1
movzx eax, byte [ebx + 3]
push 0x41e
or eax, 5
push eax
push 0
push dword [edx]
lea ecx, [esi + 4]
call fcn.0049164f
add esp, 0x10
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4a9c3b
push 1
push dword [esi + 4]
call fcn.00491d6d
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4a9c3b
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x104], eax
test eax, eax
je 0x4a9c1e
movzx eax, byte [ebx + 3]
or eax, 2
push eax
lea eax, [ebp - 0x1e0]
push eax
push dword [esi + 4]
call fcn.0049a8b6
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4a9c18
push dword [esi]
mov eax, dword [ebp - 0x104]
push eax
push 1
push dword [ebp - 0x1e0]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
call fcn.0046e209
add esp, 0x10
mov dword [ebp - 0xd4], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x4a9c3b
push dword [esi]
mov eax, dword [esi + 4]
push 0
push 1
push 1
call fcn.0046e209
add esp, 0x10
or dword [esi + 0x1c], 4
mov dword [ebp - 0xd4], eax
xor eax, eax
cmp byte [ebx + 3], 8
setne al
shl eax, 3
xor eax, dword [esi + 0x1c]
and eax, 8
xor dword [esi + 0x1c], eax
jmp 0x4a9946
mov edx, dword [edi + 4]
push 1
push 0xffffffffffffffff
push dword [edi + 8]
call fcn.0049c982
add esp, 0xc
test eax, eax
je 0x4ac225
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 0x10]
push eax
mov dword [eax + 8], edx
push dword [ecx + 0xc]
push dword [ebp - 0xdc]
call fcn.00472928
add esp, 0xc
mov dword [ebp - 0xd4], eax
jmp 0x4a9946
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, ecx
add esi, 1
mov dword [ebp - 0x270], edx
adc edx, 0
mov dword [eax + 0x28], esi
mov dword [eax + 0x2c], edx
mov eax, ecx
or eax, dword [ebp - 0x270]
jmp 0x4a8a3e
mov edx, dword [edi + 4]
push 0
push 0xffffffffffffffff
push dword [edi + 0xc]
call fcn.0049c982
add esp, 0xc
test eax, eax
je 0x4ac225
mov ecx, dword [ebp - 0xd8]
mov byte [eax + 0x19], 1
mov ecx, dword [ecx + 8]
or dword [eax + 0x1c], 4
mov dword [eax + 0x10], ecx
jmp 0x4a9946
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov ecx, dword [ecx + eax*4]
mov eax, ebx
call fcn.0049c8b6
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
and dword [ecx + eax*4], 0
jmp case.default.0x4a75f6
mov ecx, dword [edi + 4]
mov edx, dword [ebx + 0x38]
mov esi, dword [edx + ecx*4]
test byte [esi + 0x1c], 4
mov dword [ebp - 0xe8], eax
mov byte [esi + 0x19], 0
je 0x4a9dff
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf0], eax
mov al, byte [eax + 8]
and al, 0xe
cmp al, 2
jne 0x4a9d60
mov eax, dword [ebp - 0xf0]
push 0
call fcn.00467657
pop ecx
mov ecx, dword [ebp - 0xf0]
call fcn.004666a5
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0xf0]
movzx eax, word [eax + 8]
mov dword [ebp - 0x194], edx
test al, 4
jne 0x4a9dcd
test al, 8
je 0x4a9f12
fild qword [ebp - 0x198]
mov ecx, dword [ebp - 0xf0]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x4a9db5
test byte [ebp - 0xe8], 1
fstp st(0)
je 0x4a9dcd
dec dword [ebp - 0xe8]
jmp 0x4a9dcd
fcomp qword [ecx]
fnstsw ax
test ah, 5
jp 0x4a9dcd
test byte [ebp - 0xe8], 1
jne 0x4a9dcd
inc dword [ebp - 0xe8]
mov edi, dword [esi]
lea eax, [ebp - 0x128]
push eax
push 0
push dword [ebp - 0x194]
push dword [ebp - 0x198]
push 0
call fcn.0049572e
mov ecx, dword [ebp - 0x198]
mov dword [esi + 0x30], ecx
mov ecx, dword [ebp - 0x194]
mov dword [esi + 0x34], ecx
jmp 0x4a9e61
mov ecx, dword [esi + 8]
and al, 1
neg al
sbb al, al
mov dword [ebp - 0x2a0], ecx
mov cx, word [edi + 0x10]
mov edi, dword [edi + 0xc]
imul edi, edi, 0x28
add edi, dword [ebp - 0xe0]
and al, 0xfe
inc al
mov byte [ebp - 0x29a], al
mov eax, 0x4000
mov word [ebp - 0x29c], cx
mov dword [ebp - 0x298], edi
test word [edi + 8], ax
je 0x4a9e47
mov eax, edi
call fcn.0046e3f0
mov edi, dword [esi]
lea eax, [ebp - 0x128]
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x2a0]
push eax
call fcn.0049572e
add esp, 0x14
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa38f
xor eax, eax
cmp dword [ebp - 0xe8], 0x40
mov byte [esi + 0x1a], al
mov dword [esi + 0x3c], eax
jl 0x4a9eb8
cmp dword [ebp - 0x128], eax
jl 0x4a9ea1
jne 0x4a9e96
cmp dword [ebp - 0xe8], 0x41
je 0x4a9ea1
mov dword [ebp - 0x128], eax
jmp 0x4a764a
and dword [ebp - 0x128], 0
lea eax, [ebp - 0x128]
push eax
push dword [esi]
call fcn.0049a1b8
jmp 0x4a9eef
cmp dword [ebp - 0x128], eax
jg 0x4a9eda
jne 0x4a9ecb
cmp dword [ebp - 0xe8], 0x3e
je 0x4a9eda
mov ecx, dword [esi]
call fcn.004662aa
mov dword [ebp - 0x128], eax
jmp 0x4a9eff
and dword [ebp - 0x128], 0
lea eax, [ebp - 0x128]
push eax
push dword [esi]
call fcn.0049a2fa
pop ecx
mov dword [ebp - 0xd4], eax
pop ecx
test eax, eax
jne 0x4aa38f
cmp dword [ebp - 0x128], 0
je 0x4a764a
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + 8]
jmp 0x4a8852
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov esi, dword [ecx + eax*4]
mov byte [esi + 0x19], 0
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
call fcn.004666a5
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
jmp case.default.0x4a75f6
mov esi, dword [edi + 0xc]
mov ecx, dword [ebx + 0x38]
imul esi, esi, 0x28
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
add esi, dword [ebp - 0xe0]
xor ecx, ecx
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x100], ecx
cmp dword [edi + 0x10], ecx
jle 0x4a9fd6
mov eax, dword [eax + 8]
mov dword [ebp - 0x26c], eax
mov ax, word [edi + 0x10]
xor edx, edx
mov word [ebp - 0x268], ax
mov dword [ebp - 0x264], esi
mov dword [ebp - 0xe4], ecx
cmp dx, ax
jae 0x4a9fc8
xor esi, esi
mov eax, dword [ebp - 0x264]
add eax, esi
mov ecx, 0x4000
test word [eax + 8], cx
je 0x4a9fb0
call fcn.0046e3f0
movzx eax, word [ebp - 0x268]
inc dword [ebp - 0xe4]
add esi, 0x28
cmp dword [ebp - 0xe4], eax
jl 0x4a9f98
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0xec], ecx
jmp 0x4aa045
mov eax, dword [ebp - 0x10c]
mov edi, dword [eax + 8]
push 0xbf
lea ebx, [ebp - 0x100]
lea edx, [ebp - 0xc4]
call fcn.0046ec49
pop ecx
mov dword [ebp - 0xec], eax
test eax, eax
je 0x4ac225
mov eax, 0x4000
test word [esi + 8], ax
je 0x4aa016
mov eax, esi
call fcn.0046e3f0
push dword [esi + 0x10]
mov eax, dword [ebp - 0x10c]
push dword [esi + 0xc]
mov ebx, dword [ebp - 0xec]
push dword [eax + 8]
call fcn.00466fe9
mov ebx, dword [ebp - 0x114]
mov edi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xec]
add esp, 0xc
xor esi, esi
mov byte [ecx + 6], 0
cmp byte [edi], 0x43
mov dword [ebp - 0xe4], esi
jne 0x4aa07f
xor eax, eax
cmp ax, word [ecx + 4]
jae 0x4aa07f
mov eax, dword [ecx + 8]
add eax, 8
xor edx, edx
inc edx
test byte [eax], dl
jne 0x4aa079
movzx edx, word [ecx + 4]
inc esi
add eax, 0x28
cmp esi, edx
jl 0x4aa064
jmp 0x4aa07f
mov dword [ebp - 0xe4], edx
mov esi, dword [ebp - 0x10c]
mov edi, dword [esi]
lea eax, [ebp - 0x1e4]
push eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0xec]
call fcn.0049572e
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xdc]
add esp, 0x14
mov dword [ebp - 0xd4], eax
call fcn.004622de
xor edi, edi
cmp dword [ebp - 0xd4], edi
jne 0x4a764a
mov ecx, dword [ebp - 0x1e4]
xor eax, eax
cmp ecx, edi
mov dword [esi + 0xc], ecx
sete al
mov cl, 1
sub cl, al
mov byte [esi + 0x19], cl
mov ecx, dword [ebp - 0xd8]
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], edi
cmp byte [ecx], 0x45
jne 0x4aa0f6
cmp eax, edi
jmp 0x4a9f06
cmp dword [ebp - 0xe4], edi
jne 0x4a9f0c
cmp eax, edi
je 0x4a9f0c
jmp 0x4a764a
mov eax, dword [edi + 4]
mov edi, dword [edi + 0xc]
mov ecx, dword [ebx + 0x38]
imul edi, edi, 0x28
mov esi, dword [ecx + eax*4]
mov eax, dword [ebp - 0xe0]
mov edx, dword [edi + eax]
mov eax, dword [edi + eax + 4]
and dword [ebp - 0xe4], 0
lea edi, [ebp - 0xe4]
push edi
mov edi, dword [esi]
push 0
push eax
push edx
push 0
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1cc], eax
call fcn.0049572e
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x1d0]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x1cc]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xe4]
add esp, 0x14
and dword [esi + 0x3c], 0
mov word [esi + 0x19], 0
mov dword [esi + 0xc], eax
test eax, eax
jmp 0x4a9f06
push ebx
mov eax, edi
call fcn.0046773c
mov edx, dword [ebx + 0x38]
pop ecx
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ecx + 0x28]
mov dword [eax], edx
mov ecx, dword [ecx + 0x2c]
mov dword [eax + 4], ecx
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + eax*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp case.default.0x4a75f6
xor eax, eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0xec], eax
push ebx
mov eax, edi
call fcn.0046773c
mov dword [ebp - 0xf4], eax
mov eax, dword [edi + 4]
pop ecx
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
mov dword [ebp - 0xf8], esi
test eax, eax
je 0x4aa3f9
test byte [esi + 0x1c], 2
jne 0x4aa285
lea edi, [ebp - 0xec]
mov esi, eax
call fcn.004956f0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa38f
mov esi, dword [ebp - 0xf8]
cmp dword [ebp - 0xec], eax
je 0x4aa23b
and dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], 1
jmp 0x4aa27f
mov eax, dword [esi]
lea edi, [ebp - 0x130]
call fcn.0046624d
cmp dword [ebp - 0x12c], 0x7fffffff
mov dword [ebp - 0xd4], eax
jl 0x4aa26b
jg 0x4aa265
cmp dword [ebp - 0x130], 0xffffffff
jb 0x4aa26b
or dword [esi + 0x1c], 2
jmp 0x4aa279
add dword [ebp - 0x130], 1
adc dword [ebp - 0x12c], 0
mov esi, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4aa30b
mov ecx, dword [ebx + 0xb0]
test ecx, ecx
jne 0x4aa3d9
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov esi, eax
call fcn.00466798
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x4aa2c0
cmp ecx, 0x7fffffff
je 0x4aa385
mov edx, dword [ebp - 0xf8]
test byte [edx + 0x1c], 2
jne 0x4aa385
add eax, 1
adc ecx, 0
cmp dword [ebp - 0x12c], ecx
jg 0x4aa2f4
jl 0x4aa2e8
cmp dword [ebp - 0x130], eax
jae 0x4aa2f4
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], ecx
mov eax, dword [ebp - 0x130]
mov dword [esi], eax
mov eax, dword [ebp - 0x12c]
mov dword [esi + 4], eax
mov esi, dword [ebp - 0xf8]
test byte [esi + 0x1c], 2
je 0x4aa3f1
and dword [ebp - 0xe4], 0
lea eax, [ebp - 0x130]
push eax
push 8
call fcn.0048d90a
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
push 0
pop edx
and eax, 0x3fffffff
add ecx, 1
lea edi, [ebp - 0xec]
push edi
mov edi, dword [esi]
push edx
adc eax, edx
push eax
push ecx
push edx
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x12c], eax
call fcn.0049572e
add esp, 0x1c
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa3eb
cmp dword [ebp - 0xec], eax
jne 0x4aa3eb
inc dword [ebp - 0xe4]
cmp dword [ebp - 0xe4], 0x64
jl 0x4aa31c
mov dword [ebp - 0xd4], 0xd
mov edx, dword [ebp - 0xdc]
cmp byte [edx + 0x41], 0
je 0x4aa3a5
mov dword [ebp - 0xd4], 7
cmp dword [ebp - 0xd4], 0xc0a
je 0x4abd7f
mov ecx, dword [ebp - 0xd4]
call fcn.0046b161
push eax
push 0x50f82c
push edx
lea edi, [ebx + 0x2c]
call fcn.004806a0
add esp, 0xc
jmp 0x4abd7f
mov ecx, edx
mov edx, dword [ecx + 4]
test edx, edx
jne 0x4aa3d7
imul eax, eax, 0x28
add eax, dword [ecx + 0x10]
jmp 0x4aa2a3
mov edi, dword [ebp - 0xd8]
and dword [esi + 0x3c], 0
mov byte [esi + 0x1a], 0
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0xf4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x12c]
jmp 0x4a77db
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
imul ecx, ecx, 0x28
mov esi, dword [ebx + 0x38]
add ecx, dword [ebp - 0xe0]
mov esi, dword [esi + eax*4]
mov eax, dword [edi + 0xc]
cmp dl, 0x4b
jne 0x4aa453
mov edx, dword [ebp - 0xe0]
imul eax, eax, 0x28
mov edx, dword [eax + edx]
mov dword [ebp - 0x178], edx
mov edx, dword [ebp - 0xe0]
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x174], eax
jmp 0x4aa460
cdq
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], edx
test byte [edi + 3], 1
je 0x4aa469
inc dword [ebx + 0x5c]
test byte [edi + 3], 2
je 0x4aa499
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x14c], edx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x150], eax
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0x174]
mov dword [edx + 0x24], eax
movzx eax, word [ecx + 8]
test al, 1
je 0x4aa4a9
and dword [ecx + 0x10], 0
and dword [ecx + 0xc], 0
mov al, byte [edi + 3]
test al, 0x10
je 0x4aa4bb
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x100], edx
jmp 0x4aa4c2
and dword [ebp - 0x100], 0
movzx edx, word [ecx + 8]
test edx, 0x4000
je 0x4aa4d2
mov edx, dword [ecx]
jmp 0x4aa4d4
xor edx, edx
movzx eax, al
shr eax, 3
and eax, 1
push eax
mov eax, dword [ebp - 0x100]
push edx
push dword [ecx + 0xc]
push dword [ecx + 0x10]
mov ecx, dword [esi]
push dword [ebp - 0x174]
push dword [ebp - 0x178]
push 0
call fcn.0049a343
and dword [esi + 0x3c], 0
add esp, 0x1c
mov dword [ebp - 0xd4], eax
mov byte [esi + 0x1a], 0
test eax, eax
jne case.default.0x4a75f6
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je case.default.0x4a75f6
mov eax, dword [edi + 0x10]
test eax, eax
je case.default.0x4a75f6
push dword [ebp - 0x174]
movsx edx, byte [esi + 0x18]
push dword [ebp - 0x178]
add edx, edx
push eax
mov eax, dword [ebp - 0xdc]
mov esi, dword [eax + 0x10]
push dword [esi + edx*8]
mov dl, byte [edi + 3]
and dl, 4
movzx edx, dl
neg edx
sbb edx, edx
and edx, 5
add edx, 0x12
push edx
push dword [eax + 0xd0]
call ecx
add esp, 0x18
jmp case.default.0x4a75f6
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi]
call fcn.0049a4fb
and dword [esi + 0x3c], 0
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa5d6
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x4aa5d6
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x4aa5d6
test byte [esi + 0x1c], 4
je 0x4aa5d6
push dword [esi + 0x34]
push dword [esi + 0x30]
push ecx
movsx ecx, byte [esi + 0x18]
mov esi, dword [eax + 0x10]
add ecx, ecx
push dword [esi + ecx*8]
push 9
push dword [eax + 0xd0]
call edx
add esp, 0x18
test byte [edi + 8], 1
je case.default.0x4a75f6
inc dword [ebx + 0x5c]
jmp case.default.0x4a75f6
mov ecx, dword [ebx + 0x5c]
mov eax, dword [ebp - 0xdc]
call fcn.004671d1
and dword [ebx + 0x5c], 0
jmp case.default.0x4a75f6
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
and dword [ebp - 0xe8], 0
lea esi, [ebp - 0xe8]
push esi
push edx
push ecx
call fcn.004836e6
add esp, 0xc
cmp dword [ebp - 0xe8], 0
mov dword [ebp - 0xd4], eax
jmp 0x4a7692
mov esi, dword [edi + 8]
mov eax, dword [edi + 4]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x38]
add esi, dword [ebp - 0xe0]
mov eax, dword [ecx + eax*4]
call fcn.0046f5c9
mov ecx, dword [ebx + 0x38]
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 0xc]
mov eax, dword [ecx + eax*4]
and dword [eax + 0x3c], 0
jmp case.default.0x4a75f6
mov esi, dword [edi + 8]
mov eax, dword [edi + 4]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x38]
mov edi, dword [ecx + eax*4]
add esi, dword [ebp - 0xe0]
test byte [edi + 0x1c], 4
mov eax, dword [edi]
mov dword [ebp - 0x104], edi
mov dword [ebp - 0x100], eax
jne 0x4aa6db
lea edi, [ebp - 0x248]
call fcn.0046624d
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x58]
cdq
cmp dword [ebp - 0x244], edx
jg 0x4a823c
mov ecx, dword [ebp - 0x248]
jl 0x4aa6cd
cmp ecx, eax
ja 0x4a823c
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0x164], ecx
jmp 0x4aa6fd
lea ecx, [ebp - 0x164]
push ecx
call fcn.00466264
mov eax, dword [ebp - 0xdc]
pop ecx
mov ecx, dword [ebp - 0x164]
cmp ecx, dword [eax + 0x58]
ja 0x4a823c
push 0x20
pop eax
cmp dword [ebp - 0x164], eax
jbe 0x4aa70e
mov eax, dword [ebp - 0x164]
mov ecx, esi
call fcn.0046e3cf
test eax, eax
jne 0x4ac22b
mov cx, word [esi + 8]
push dword [esi + 0x10]
mov eax, dword [ebp - 0x164]
mov edx, 0xbe10
and cx, dx
or cx, 0x10
mov dword [esi + 0xc], eax
mov word [esi + 8], cx
test byte [edi + 0x1c], 4
push eax
push 0
jne 0x4aa756
mov eax, dword [ebp - 0x100]
call fcn.0049249d
add esp, 0xc
jmp 0x4aa764
push dword [ebp - 0x100]
call fcn.0049a0a2
add esp, 0x10
mov dword [ebp - 0xd4], eax
mov byte [esi + 0xa], 1
jmp 0x4a764a
push ebx
mov eax, edi
call fcn.0046773c
mov edx, dword [ebx + 0x38]
pop ecx
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
cmp byte [esi + 0x19], 0
mov dword [ebp - 0xf4], eax
je 0x4aa799
xor ecx, ecx
inc ecx
jmp 0x4a78f6
cmp byte [esi + 0x1a], 0
je 0x4aa7b3
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [esi + 0x34]
mov dword [ebp - 0x1a0], ecx
jmp 0x4aa823
cmp dword [esi + 0x24], 0
je 0x4aa7de
mov esi, dword [esi + 0x24]
mov edi, dword [esi]
mov eax, dword [edi]
lea ecx, [ebp - 0x1a4]
push ecx
push esi
call dword [eax + 0x30]
pop ecx
mov esi, edi
pop ecx
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.0046ec97
jmp 0x4aa817
mov eax, esi
call fcn.0049b803
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa38f
cmp byte [esi + 0x19], al
je 0x4aa804
mov ecx, dword [ebp - 0xf4]
inc eax
jmp 0x4a8913
mov eax, dword [esi]
lea edi, [ebp - 0x1a4]
call fcn.0046624d
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x1a4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1a0]
jmp 0x4a77db
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + eax*4]
and dword [eax + 0x3c], 0
mov byte [eax + 0x19], 1
mov eax, dword [eax]
test eax, eax
je case.default.0x4a75f6
mov esi, eax
call fcn.00465e32
jmp case.default.0x4a75f6
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + eax*4]
mov esi, dword [eax]
and dword [ebp - 0xf4], 0
lea edi, [ebp - 0xf4]
mov dword [ebp - 0x104], eax
call fcn.004956f0
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x104]
and dword [eax + 0x3c], 0
mov byte [eax + 0x19], dl
mov byte [eax + 0x1a], 0
mov esi, dword [ecx + 0xc]
mov dword [eax + 0xc], esi
cmp dword [ecx + 8], 0
jle 0x4a764a
test edx, edx
jmp 0x4a9f06
inc dword [ebx + 0x74]
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
cmp dword [esi + 0x38], 0
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xf0], 1
lea edi, [ebp - 0xf0]
je 0x4aa8f1
mov eax, esi
call fcn.00483698
mov dword [ebp - 0xd4], eax
jmp 0x4aa914
mov eax, dword [ebp - 0xe4]
mov esi, dword [eax]
call fcn.004956cf
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xe4]
and dword [eax + 0x3c], 0
mov byte [eax + 0x1a], 0
mov esi, eax
mov eax, dword [ebp - 0xf0]
mov byte [esi + 0x19], al
jmp 0x4aa180
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
push dword [ebp - 0xdc]
and dword [ebp - 0x13c], 0
lea edi, [ebp - 0x13c]
mov eax, esi
call fcn.00472fb6
mov edi, dword [ebp - 0xd8]
jmp 0x4aa97c
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
cmp dword [ecx + eax*4], 0
je case.default.0x4a75f6
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x13c]
push eax
push dword [esi]
call dword [edi + 0x10]
pop ecx
and dword [esi + 0x3c], 0
cmp dword [ebp - 0x13c], 0
mov dword [ebp - 0xd4], eax
pop ecx
jne 0x4aa9a3
mov byte [esi + 0x19], 0
movzx eax, byte [edi + 3]
lea eax, [ebx + eax*4 + 0x6c]
inc dword [eax]
jmp case.0x4a75f6.16
mov byte [esi + 0x19], 1
jmp 0x4abd18
mov esi, dword [edi + 8]
mov eax, dword [edi + 4]
imul esi, esi, 0x28
mov ecx, dword [ebx + 0x38]
mov ecx, dword [ecx + eax*4]
add esi, dword [ebp - 0xe0]
test byte [edi + 3], 1
mov eax, dword [ecx]
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0x104], eax
je 0x4aa9d8
inc dword [ebx + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4aa9f8
mov eax, esi
call fcn.0046e3f0
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xd4], eax
jmp 0x4aa9ff
and dword [ebp - 0xd4], 0
cmp dword [ebp - 0xd4], 0
jne case.default.0x4a75f6
cmp dword [ecx + 0x38], 0
je 0x4aaa23
mov eax, dword [ebp - 0xe4]
push esi
call fcn.004833e6
jmp 0x4ab90e
test byte [edi + 3], 0x10
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
je 0x4aaa34
mov ecx, dword [ecx + 0xc]
jmp 0x4aaa36
xor ecx, ecx
push dword [edi + 0xc]
cdq
push 0
push 0
push 0x50ae32
push edx
push eax
mov eax, ecx
mov ecx, dword [ebp - 0x104]
push esi
call fcn.0049a343
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xe4]
add esp, 0x1c
jmp 0x4aa66a
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov dword [ebp - 0x2c8], ecx
mov cx, word [edi + 0xc]
mov word [ebp - 0x2c4], cx
mov ecx, dword [edi + 8]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
mov edi, eax
mov dword [ebp - 0x2c0], ecx
lea ecx, [ebp - 0x1e8]
push ecx
xor ecx, ecx
push ecx
push ecx
push ecx
lea ecx, [ebp - 0x2c8]
push ecx
mov dword [ebp - 0x104], eax
mov byte [ebp - 0x2c2], 0
call fcn.0049572e
add esp, 0x14
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aaae1
cmp dword [ebp - 0x1e8], eax
jne 0x4aaae1
mov eax, edi
call fcn.0049a4fb
mov dword [ebp - 0xd4], eax
and dword [esi + 0x3c], 0
jmp 0x4a764a
push ebx
mov eax, edi
call fcn.0046773c
mov edx, dword [ebx + 0x38]
pop ecx
mov ecx, dword [edi + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [esi]
mov dword [ebp - 0x104], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0xf4], eax
mov word [eax + 8], cx
mov eax, esi
call fcn.0049b803
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa38f
cmp byte [esi + 0x19], al
jne case.default.0x4a75f6
and dword [ebp - 0x1b0], eax
and dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x1b0]
push eax
push dword [ebp - 0x104]
push dword [ebp - 0xdc]
call fcn.0049b84a
add esp, 0xc
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aa38f
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0xf4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1ac]
push 4
mov dword [eax + 4], ecx
pop ecx
jmp 0x4a78f6
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2b4], ecx
mov cx, word [edi + 0x10]
mov word [ebp - 0x2b0], cx
cmp dl, 0x73
sbb cl, cl
mov byte [ebp - 0x2ae], cl
mov ecx, dword [edi + 0xc]
and dword [ebp - 0xf8], 0
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x2ac], ecx
lea ecx, [ebp - 0xf8]
push ecx
lea ecx, [ebp - 0x2b4]
push ecx
push dword [ebp - 0xdc]
call fcn.0049b929
add esp, 0xc
test byte [edi], 1
mov dword [ebp - 0xd4], eax
je 0x4aabf3
neg dword [ebp - 0xf8]
jmp 0x4aabf9
inc dword [ebp - 0xf8]
cmp dword [ebp - 0xf8], 0
jg 0x4a9f12
jmp case.default.0x4a75f6
push ebx
mov eax, edi
call fcn.0046773c
mov esi, eax
xor eax, eax
inc eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0xdc]
pop ecx
mov ecx, dword [eax + 0xa4]
inc ecx
cmp dword [eax + 0x98], ecx
jle 0x4aac45
mov dword [ebp - 0xd4], 6
mov byte [ebx + 0x56], 2
jmp case.default.0x4a75f6
mov ecx, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
and dword [ebp - 0x10c], 0
lea edx, [ebp - 0x10c]
push edx
push dword [edi + 4]
mov dword [ebp - 0x100], ecx
add ecx, ecx
push dword [eax + ecx*8 + 4]
call fcn.0049aaca
add esp, 0xc
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
push 4
pop eax
mov word [esi + 8], ax
mov eax, dword [ebp - 0x10c]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jne case.default.0x4a75f6
cmp dword [ebp - 0x10c], 0
je case.default.0x4a75f6
mov edi, dword [edi + 4]
mov esi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xdc]
call fcn.00468a7e
mov al, byte [ebp - 0x100]
inc al
mov byte [ebp - 0x121], al
jmp 0x4a764a
and dword [ebp - 0x120], 0
mov eax, dword [edi + 0xc]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x120]
and eax, ecx
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [edi + 8]
push dword [edi + 4]
add eax, eax
mov esi, dword [ecx + eax*8 + 4]
call fcn.0049a8e2
cmp dword [edi + 0xc], 0
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
je case.default.0x4a75f6
mov eax, dword [ebp - 0x120]
add dword [ebx + 0x5c], eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle case.default.0x4a75f6
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.default.0x4a75f6
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x4aad5e
push dword [ebp - 0xdc]
mov edi, ecx
call fcn.00472abb
pop ecx
jmp 0x4a764a
mov eax, dword [eax]
call fcn.0049a931
mov dword [ebp - 0xd4], eax
jmp case.default.0x4a75f6
push ebx
mov eax, edi
call fcn.0046773c
mov ecx, dword [ebp - 0xdc]
and dword [ebp - 0x104], 0
mov esi, eax
mov eax, dword [edi + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
cmp byte [edi], 0x79
setne cl
inc ecx
push ecx
lea ecx, [ebp - 0x104]
push ecx
push dword [eax + 4]
call fcn.0049a8b6
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x104]
add esp, 0x10
jmp 0x4a8966
mov eax, dword [edi + 4]
mov ecx, str.sqlite_temp_master
cmp eax, 1
je 0x4aadcf
mov ecx, str.sqlite_master
push dword [edi + 0x10]
mov esi, dword [ebp - 0xdc]
push ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x230], eax
lea edx, [ebx + 0x2c]
add eax, eax
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x234], edx
push dword [ecx + eax*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
call fcn.004787c3
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x4aae15
mov dword [ebp - 0xd4], 7
jmp 0x4aae6a
and dword [ebp - 0x22c], 0
push 0
lea eax, [ebp - 0x238]
push eax
push fcn.004a738d
push edi
push esi
mov byte [esi + 0x91], 1
call fcn.004acd12
add esp, 0x14
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4aae51
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0xd4], eax
mov edx, edi
mov ecx, esi
call fcn.004622de
cmp dword [ebp - 0xd4], 0
mov byte [esi + 0x91], 0
je 0x4aae71
mov eax, esi
call fcn.00476208
cmp dword [ebp - 0xd4], 7
je 0x4ac22b
jmp 0x4a764a
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
call fcn.0047ace3
jmp 0x4aad65
push dword [edi + 0x10]
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0xdc]
call fcn.00473821
jmp 0x4a79d8
push dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0xdc]
call fcn.004700e5
pop ecx
mov ebx, dword [ebp - 0x114]
jmp case.default.0x4a75f6
push dword [edi + 0x10]
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
call fcn.00470d32
jmp 0x4a79d8
mov edi, dword [edi + 8]
mov esi, dword [ebp - 0xdc]
lea eax, [edi*4 + 4]
push 0
push eax
mov dword [ebp - 0x10c], edi
call fcn.0046bc38
pop ecx
pop ecx
mov dword [ebp - 0x11c], eax
test eax, eax
je 0x4ac22b
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
imul edi, edi, 0x28
add edi, dword [ebp - 0xe0]
and dword [ebp - 0xec], 0
cmp dword [ebp - 0x10c], 0
jle 0x4aaf71
mov dword [ebp - 0xe4], edi
mov ecx, dword [ebp - 0xe4]
call fcn.004666a5
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0x11c]
add dword [ebp - 0xe4], 0x28
mov dword [edx + ecx*4], eax
inc ecx
mov dword [ebp - 0xec], ecx
cmp ecx, dword [ebp - 0x10c]
jl 0x4aaf41
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xec]
and dword [eax + ecx*4], 0
lea ecx, [ebp - 0x19c]
push ecx
push dword [esi]
mov ecx, dword [ebp - 0xdc]
push dword [ebp - 0x10c]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [ebp - 0xd8]
movzx eax, byte [eax + 3]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.004937e4
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xdc]
add esp, 0x10
mov dword [ebp - 0x104], eax
call fcn.004622de
mov eax, dword [ebp - 0x19c]
cdq
sub dword [esi], eax
mov eax, edi
sbb dword [esi + 4], edx
call fcn.00466853
cmp dword [ebp - 0x19c], 0
je 0x4ab00b
cmp dword [ebp - 0x104], 0
je 0x4ac22b
push 1
push dword [ebp - 0x104]
mov eax, fcn.0046226b
or ecx, 0xffffffff
mov edx, edi
call fcn.00475265
pop ecx
pop ecx
movzx eax, byte [ebp - 0x118]
push eax
mov eax, edi
call fcn.004751c0
jmp 0x4aad58
mov esi, dword [edi + 4]
mov eax, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
test byte [esi + 8], 0x20
mov dword [ebp - 0xf0], eax
jne 0x4ab060
mov edi, esi
call fcn.0046e496
test byte [esi + 8], 0x20
je 0x4ac22b
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xf0]
push dword [eax + 4]
push dword [eax]
mov eax, dword [esi]
call fcn.0046ce45
jmp 0x4a80a3
mov esi, dword [edi + 4]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
test byte [esi + 8], 0x20
je 0x4ab0c4
mov eax, dword [esi]
lea edi, [ebp - 0x258]
call fcn.0046483d
test eax, eax
je 0x4ab0be
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0xc]
push dword [ebp - 0x254]
imul eax, eax, 0x28
push dword [ebp - 0x258]
add eax, dword [ebp - 0xe0]
call fcn.004668bd
pop ecx
pop ecx
jmp 0x4abd18
mov edi, dword [ebp - 0xd8]
mov eax, esi
call fcn.00466853
jmp case.0x4a75f6.16
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
mov dword [ebp - 0xf0], eax
test byte [esi + 8], 0x20
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xe4], eax
jne 0x4ab114
mov edi, esi
call fcn.0046e496
test byte [esi + 8], 0x20
je 0x4ac22b
mov edi, dword [ebp - 0xd8]
cmp dword [ebp - 0xe4], 0
je 0x4ab05a
mov eax, dword [ebp - 0xf0]
push dword [eax + 4]
push dword [eax]
mov eax, dword [esi]
push dword [ebp - 0xe4]
call fcn.0046ce9a
add esp, 0xc
test eax, eax
jne 0x4a9f12
cmp dword [ebp - 0xe4], eax
jl case.default.0x4a75f6
jmp 0x4ab05a
mov ecx, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
cmp byte [edi + 3], 0
mov dword [ebp - 0x104], ecx
je 0x4ab191
mov eax, dword [ebx + 0xb0]
mov edx, dword [esi + 0x14]
test eax, eax
je 0x4ab191
cmp dword [eax + 0x1c], edx
je 0x4ab189
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ab17d
test eax, eax
jne case.default.0x4a75f6
mov eax, dword [ebx + 0xb8]
mov edx, dword [ebp - 0xdc]
cmp eax, dword [edx + 0x80]
jl 0x4ab1c3
push str.too_many_levels_of_trigger_recursion
push edx
lea edi, [ebx + 0x2c]
mov dword [ebp - 0xd4], 1
call fcn.004806a0
pop ecx
jmp 0x4aad58
test byte [ecx + 8], 0x40
jne 0x4ab2b0
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
add eax, ecx
mov dword [ebp - 0x120], eax
add eax, 2
mov dword [ebp - 0x100], eax
imul eax, eax, 0xa
add eax, ecx
mov ecx, dword [esi + 0x10]
lea eax, [ecx + eax*4]
cdq
push edx
push eax
mov eax, dword [ebp - 0xdc]
call fcn.00471fcd
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4ac22b
mov eax, dword [ebp - 0x104]
call fcn.00466644
mov eax, dword [ebp - 0x104]
mov dword [eax], edi
push 0x40
pop ecx
mov word [eax + 8], cx
mov eax, dword [ebp - 0x120]
mov dword [edi + 0x3c], eax
mov dword [edi], ebx
mov eax, dword [esi + 0xc]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0x110]
push 0x14
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x100]
imul ecx, ecx, 0x28
add ecx, edi
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x38]
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x24]
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 4]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x20]
mov dword [edi + 0x30], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0xc8]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0xc4]
mov dword [edi + 0x38], eax
lea eax, [edi + 0x50]
jmp 0x4ab2aa
mov edx, 0x80
mov word [eax + 8], dx
mov edx, dword [ebp - 0xdc]
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x4ab295
jmp 0x4ab2b2
mov edi, dword [ecx]
inc dword [ebx + 0xb8]
mov eax, dword [ebx + 0xb0]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x150]
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x14c]
mov dword [edi + 0x24], eax
mov eax, dword [ebx + 0x5c]
mov dword [edi + 0x44], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x50]
mov dword [edi + 0x48], eax
and dword [ebx + 0x5c], 0
mov dword [ebx + 0xb0], edi
lea eax, [edi + 0x28]
mov dword [ebx + 8], eax
mov ecx, dword [edi + 0x3c]
mov dword [ebx + 0x1c], ecx
movzx ecx, word [edi + 0x40]
mov dword [ebx + 0x24], ecx
mov ecx, dword [ebx + 0x1c]
inc ecx
imul ecx, ecx, 0x28
add ecx, eax
mov dword [ebx + 0x38], ecx
mov dword [ebp - 0xe0], eax
mov eax, dword [esi]
mov dword [ebx + 4], eax
mov edx, dword [esi + 4]
mov dword [ebx + 0x20], edx
mov edx, dword [ebx + 0x24]
lea ecx, [ecx + edx*4]
mov dword [ebx + 0xc8], ecx
mov esi, dword [esi + 0x10]
push esi
mov dword [ebp - 0x110], eax
add eax, 0xffffffec
push 0
push ecx
mov dword [ebx + 0xc4], esi
mov dword [ebp - 0xd8], eax
call fcn.004de430
add esp, 0xc
jmp 0x4a764a
push ebx
mov eax, edi
call fcn.0046773c
mov ecx, dword [ebx + 0xb0]
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 8]
imul edx, edx, 0x14
mov esi, dword [edx + esi + 4]
add esi, dword [edi + 4]
mov dword [esp], 0x1000
imul esi, esi, 0x28
add esi, dword [ecx + 0x10]
jmp 0x4a79d3
mov eax, dword [ebp - 0xdc]
test dword [eax + 0x18], 0x1000000
je 0x4ab397
lea ecx, [eax + 0x200]
jmp 0x4ab3a3
cmp dword [edi + 4], 0
je 0x4ab3ab
lea ecx, [eax + 0x1f8]
mov eax, dword [edi + 8]
jmp 0x4aad30
mov eax, dword [edi + 8]
cdq
add dword [ebx + 0x90], eax
adc dword [ebx + 0x94], edx
jmp case.default.0x4a75f6
cmp dword [edi + 4], 0
je 0x4ab3e0
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x1f8]
or ecx, dword [eax + 0x1fc]
jne case.default.0x4a75f6
jmp 0x4ab3f8
mov eax, dword [ebx + 0x90]
or eax, dword [ebx + 0x94]
jne case.default.0x4a75f6
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0x200]
or ecx, dword [eax + 0x204]
jmp 0x4a8a3e
mov ecx, dword [ebx + 0xb0]
test ecx, ecx
jne 0x4ab477
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov esi, eax
mov dword [ebp - 0xe8], eax
call fcn.00466798
mov esi, dword [edi + 8]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
call fcn.00466798
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi]
mov esi, dword [esi + 4]
mov eax, dword [eax + 4]
cmp eax, esi
jg case.default.0x4a75f6
jl 0x4ab465
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
cmp eax, ecx
jae case.default.0x4a75f6
mov eax, dword [ebp - 0xe8]
mov dword [eax], ecx
mov dword [eax + 4], esi
jmp case.default.0x4a75f6
mov ecx, eax
mov eax, dword [ecx + 4]
test eax, eax
jne 0x4ab475
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ecx + 0x10]
jmp 0x4ab41f
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xe0]
imul eax, eax, 0x28
cmp dword [eax + ecx + 4], 0
jg 0x4a9f12
jl case.default.0x4a75f6
cmp dword [eax + ecx], 0
ja 0x4a9f12
jmp case.default.0x4a75f6
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
cmp dword [ecx + 4], 0
jl 0x4a9f12
jg case.default.0x4a75f6
cmp dword [ecx], 0
jb 0x4a9f12
jmp case.default.0x4a75f6
mov ecx, dword [edi + 4]
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0xe0]
mov esi, dword [ecx]
mov edx, esi
or edx, dword [ecx + 4]
je case.default.0x4a75f6
mov eax, dword [edi + 0xc]
cdq
add eax, esi
adc edx, dword [ecx + 4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4a9f12
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
add dword [eax], 0xffffffff
mov ecx, dword [eax]
adc dword [eax + 4], 0xffffffff
or ecx, dword [eax + 4]
jmp 0x4a8a3e
mov eax, dword [edi + 4]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, ecx
add esi, 1
mov dword [ebp - 0x288], edx
adc edx, 0
mov dword [eax], esi
mov dword [eax + 4], edx
mov eax, ecx
or eax, dword [ebp - 0x288]
jmp 0x4a8a3e
mov eax, dword [edi + 8]
movzx ecx, byte [edi + 3]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
mov esi, dword [ebx + 0xc]
xor edx, edx
mov dword [ebp - 0x104], ecx
test ecx, ecx
jle 0x4ab58c
mov dword [esi + edx*4], eax
inc edx
add eax, 0x28
cmp edx, ecx
jl 0x4ab581
mov eax, dword [edi + 0x10]
push dword [ebp - 0xdc]
mov dword [ebp - 0x21c], eax
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
xor ecx, ecx
mov dword [ebp - 0x218], eax
inc dword [eax + 0xc]
inc ecx
lea eax, [ebp - 0x35c]
call fcn.00466840
mov dword [ebp - 0x220], eax
mov eax, edi
sub eax, dword [ebp - 0x110]
push 0x14
cdq
pop ecx
idiv ecx
and dword [ebp - 0x20c], 0
push esi
push dword [ebp - 0x104]
mov dword [ebp - 0x214], ebx
mov byte [ebp - 0x208], 0
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x220]
push eax
mov eax, dword [ebp - 0x21c]
call dword [eax + 0x10]
add esp, 0x10
cmp dword [ebp - 0x20c], 0
je 0x4ab644
lea eax, [ebp - 0x35c]
push eax
call fcn.004756e6
push eax
push 0x50f82c
push dword [ebp - 0xdc]
lea edi, [ebx + 0x2c]
call fcn.004806a0
mov eax, dword [ebp - 0x20c]
mov edi, dword [ebp - 0xd8]
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp byte [ebp - 0x208], 0
je 0x4ab668
mov eax, dword [edi - 0x10]
test eax, eax
je 0x4ab668
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
push 0
push 1
call fcn.004668bd
pop ecx
pop ecx
lea eax, [ebp - 0x35c]
call fcn.00466644
jmp case.default.0x4a75f6
mov esi, dword [edi + 4]
mov edi, dword [edi + 0x10]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
call fcn.0046654c
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x4ab6b3
push esi
call fcn.004756e6
push eax
push 0x50f82c
push dword [ebp - 0xdc]
lea edi, [ebx + 0x2c]
call fcn.004806a0
add esp, 0x10
movzx eax, byte [ebp - 0x118]
push eax
mov eax, esi
call fcn.004751c0
pop ecx
mov ecx, esi
call fcn.0046691e
test eax, eax
jne 0x4a823c
jmp 0x4a764a
mov esi, dword [ebp - 0xdc]
and dword [ebp - 0xd0], 0
or dword [ebp - 0xc8], 0xffffffff
or dword [ebp - 0xcc], 0xffffffff
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xcc]
push eax
push dword [edi + 8]
push dword [edi + 4]
call fcn.0049118f
add esp, 0x10
mov dword [ebp - 0xd4], eax
cmp eax, 5
jne 0x4ab72a
and dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 1
mov esi, dword [edi + 0xc]
and dword [ebp - 0xec], 0
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp + eax*4 - 0xd0]
cdq
push edx
push eax
mov eax, esi
call fcn.004668bd
inc dword [ebp - 0xec]
pop ecx
add esi, 0x28
cmp dword [ebp - 0xec], 3
pop ecx
jl 0x4ab73d
jmp case.default.0x4a75f6
push ebx
mov eax, edi
call fcn.0046773c
mov edx, dword [ebp - 0xdc]
mov edx, dword [edx + 0x10]
mov esi, eax
mov eax, dword [edi + 4]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
pop ecx
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x104], eax
call fcn.004663a8
mov edi, eax
call fcn.0046528c
mov dword [ebp - 0xec], eax
cmp ecx, 0xffffffff
jne 0x4ab7b6
mov dword [ebp - 0xf0], eax
mov eax, edi
call fcn.00465291
mov edx, dword [ebp - 0xec]
test eax, eax
jne 0x4ab7cd
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0xf0], 5
jne 0x4ab7fe
push 1
mov eax, edi
call fcn.00465248
add esp, 4
mov ecx, eax
call fcn.004624e7
test eax, eax
je 0x4ab7f8
mov eax, edi
call fcn.004652b7
test eax, eax
jne 0x4ab7fe
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0xf0], edx
je 0x4ab895
push 5
pop ecx
cmp edx, ecx
je 0x4ab819
cmp dword [ebp - 0xf0], ecx
jne 0x4ab895
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x3f], 0
je 0x4ab8ce
cmp dword [eax + 0x98], 1
jg 0x4ab8ce
cmp edx, ecx
jne 0x4ab853
mov eax, edi
call fcn.0049129f
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x4ab889
mov ecx, dword [ebp - 0xf0]
jmp 0x4ab85b
cmp edx, 4
jne 0x4ab860
push 2
pop ecx
call fcn.00490e16
push dword [ebp - 0x104]
xor ebx, ebx
cmp dword [ebp - 0xf0], 5
sete bl
inc ebx
call fcn.00493aa6
mov ebx, dword [ebp - 0x114]
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x4ab895
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
call fcn.00490e16
mov ecx, 0xa02
mov word [esi + 8], cx
call fcn.0046949c
mov ecx, eax
mov dword [esi + 0x10], eax
call fcn.004624e7
mov dword [esi + 0xc], eax
movzx eax, byte [ebp - 0x118]
push eax
mov byte [esi + 0xa], 1
mov eax, esi
jmp 0x4ab015
cmp dword [ebp - 0xf0], ecx
mov dword [ebp - 0xd4], 1
mov ecx, str.into
je 0x4ab8ea
mov ecx, str.out_of
push ecx
push str.cannot_change__s_wal_mode_from_within_a_transaction
push eax
lea edi, [ebx + 0x2c]
call fcn.004806a0
jmp 0x4ab348
push dword [ebp - 0xdc]
lea eax, [ebx + 0x2c]
push eax
call fcn.004a6ed4
pop ecx
pop ecx
jmp 0x4aad65
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x10]
add eax, eax
push dword [ecx + eax*8 + 4]
call fcn.00499d77
pop ecx
mov dword [ebp - 0xd4], eax
cmp eax, 0x65
jne case.default.0x4a75f6
and dword [ebp - 0xd4], 0
jmp 0x4a9f12
cmp dword [edi + 4], 0
jne 0x4ab95d
mov eax, dword [ebp - 0xdc]
call fcn.004671dd
jmp case.default.0x4a75f6
or dword [ebx + 0x58], 8
jmp case.default.0x4a75f6
mov al, byte [edi + 0xc]
test al, al
jne 0x4ab980
mov ecx, dword [ebp - 0xdc]
test dword [ecx + 0x18], 0x4000
jne case.default.0x4a75f6
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ecx + 0x10]
mov ecx, dword [edi + 8]
add edx, edx
mov edx, dword [esi + edx*8 + 4]
call fcn.0046e29d
mov dword [ebp - 0xd4], eax
cmp al, 6
jne case.default.0x4a75f6
push dword [edi + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0xdc]
jmp 0x4ab8f1
mov edi, dword [edi + 0x10]
mov eax, dword [ebp - 0xdc]
call fcn.00470f12
mov dword [ebp - 0xd4], eax
test edi, edi
je 0x4a764a
mov esi, dword [edi + 8]
mov edi, ebx
call fcn.0046ec97
jmp 0x4a764a
push 0x28
lea eax, [ebp - 0x334]
push 0
push eax
call fcn.004de430
mov esi, dword [edi + 8]
mov eax, dword [ebp - 0xdc]
imul esi, esi, 0x28
add esi, dword [ebp - 0xe0]
mov dword [ebp - 0x314], eax
lea eax, [ebp - 0x334]
call fcn.004724b4
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x334]
push eax
call fcn.004756e6
add esp, 0x10
test eax, eax
je 0x4aba4d
lea ecx, [ebx + 0x2c]
push ecx
mov ecx, dword [ebp - 0xdc]
push eax
mov eax, dword [edi + 4]
call fcn.0047ec51
pop ecx
pop ecx
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x334]
jmp 0x4ab66e
mov ecx, dword [ebp - 0xdc]
lea esi, [ecx + 0xa4]
inc dword [esi]
push dword [edi + 0x10]
mov eax, dword [edi + 4]
call fcn.00469cfb
dec dword [esi]
pop ecx
mov dword [ebp - 0xd4], eax
jmp case.default.0x4a75f6
and dword [ebp - 0x11c], 0
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 8]
test esi, esi
je 0x4abafb
mov eax, dword [esi]
mov dword [ebp - 0x104], eax
test eax, eax
je 0x4abafb
lea ecx, [ebp - 0x11c]
push ecx
push esi
call dword [eax + 0x18]
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.0046ec97
cmp dword [ebp - 0xd4], 0
jne 0x4a764a
mov eax, dword [ebp - 0x11c]
mov dword [eax], esi
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 4]
push 0
push 0xffffffffffffffff
push 0
call fcn.0049c982
add esp, 0xc
test eax, eax
je 0x4ac215
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 0x24], ecx
inc dword [esi + 4]
jmp 0x4a9946
mov dword [ebp - 0xd4], 6
jmp case.default.0x4a75f6
mov eax, dword [edi + 0xc]
mov edx, dword [ebx + 0x38]
imul eax, eax, 0x28
mov ecx, dword [edi + 4]
mov ecx, dword [edx + ecx*4]
add eax, dword [ebp - 0xe0]
and dword [ebp - 0x100], 0
mov dword [ebp - 0x11c], ecx
mov ecx, dword [ecx + 0x24]
mov esi, dword [ecx]
mov dword [ebp - 0x104], ecx
mov ecx, dword [esi]
mov dword [ebp - 0x120], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [eax]
xor edx, edx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebx + 0xc]
cmp dword [ebp - 0xe4], edx
jle 0x4abb7d
add eax, 0x50
jmp 0x4abb68
mov eax, dword [ebp - 0xec]
mov dword [ecx + edx*4], eax
inc edx
add eax, 0x28
mov dword [ebp - 0xec], eax
cmp edx, dword [ebp - 0xe4]
jl 0x4abb62
mov eax, dword [ebp - 0x120]
push ecx
push dword [ebp - 0xe4]
push dword [edi + 0x10]
push dword [ebp - 0x10c]
push dword [ebp - 0x104]
call dword [eax + 0x20]
add esp, 0x14
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.0046ec97
cmp dword [ebp - 0xd4], 0
jne 0x4abbcb
push dword [ebp - 0x104]
mov eax, dword [ebp - 0x120]
call dword [eax + 0x28]
pop ecx
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x11c]
cmp dword [ebp - 0x100], 0
mov byte [eax + 0x19], 0
jmp 0x4a9f06
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + eax*4]
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
cmp byte [esi + 0x19], 0
mov dword [ebp - 0xe4], eax
jne 0x4a7c25
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x120], eax
mov eax, dword [eax]
push 0x1c
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x2e4]
push 0
push eax
call fcn.004de430
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x2e4], eax
mov cx, word [eax + 8]
mov edx, 0xbe01
and cx, dx
or cx, 1
mov word [eax + 8], cx
push dword [edi + 8]
lea eax, [ebp - 0x2e4]
push eax
push dword [esi + 0x24]
mov eax, dword [ebp - 0x104]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0x120]
add esp, 0x18
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.0046ec97
mov eax, dword [ebp - 0x2d0]
test eax, eax
je 0x4abc85
mov dword [ebp - 0xd4], eax
movzx eax, byte [ebp - 0x118]
push eax
mov eax, dword [ebp - 0xe4]
call fcn.004751c0
pop ecx
mov ecx, dword [ebp - 0xe4]
jmp 0x4ab6c5
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 0x19], 0
mov dword [ebp - 0x104], eax
jne case.default.0x4a75f6
mov eax, dword [eax + 0x24]
mov esi, dword [eax]
mov ecx, dword [esi]
push eax
mov dword [ebp - 0x120], ecx
call dword [ecx + 0x24]
pop ecx
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.0046ec97
cmp dword [ebp - 0xd4], 0
jne 0x4abcfc
mov eax, dword [ebp - 0x104]
push dword [eax + 0x24]
mov eax, dword [ebp - 0x120]
call dword [eax + 0x28]
pop ecx
test eax, eax
jne 0x4abd18
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x110]
imul eax, eax, 0x14
lea eax, [eax + ecx - 0x14]
mov dword [ebp - 0xd8], eax
mov esi, dword [ebp - 0xdc]
mov eax, dword [esi + 0xf0]
test eax, eax
jne 0x4ac254
mov edi, dword [esi + 0x124]
test edi, edi
je 0x4a764a
mov eax, dword [ebp - 0x160]
cmp eax, dword [ebp - 0x16c]
jb 0x4a764a
mov ecx, dword [esi + 0x12c]
xor edx, edx
div ecx
push dword [esi + 0x128]
sub ecx, edx
add ecx, dword [ebp - 0x160]
mov dword [ebp - 0x16c], ecx
call edi
pop ecx
test eax, eax
je 0x4a764a
mov dword [ebp - 0xd4], 9
push dword [ebx + 0x2c]
mov eax, dword [ebp - 0xd8]
push dword [ebx + 0xa8]
sub eax, dword [ebp - 0x110]
push 0x14
pop ecx
cdq
idiv ecx
mov esi, dword [ebp - 0xd4]
mov dword [ebx + 0x50], esi
push eax
push str.statement_aborts_at__d:___s___s
push esi
call fcn.004788d6
add esp, 0x14
mov edi, ebx
call fcn.004a014d
cmp esi, 0xc0a
jne 0x4abdcb
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x41], 1
xor edi, edi
inc edi
cmp byte [ebp - 0x121], 0
jbe 0x4abdec
movzx eax, byte [ebp - 0x121]
mov esi, dword [ebp - 0xdc]
dec eax
push eax
call fcn.004761df
pop ecx
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x150]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x14c]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x160]
add dword [ebx + 0x7c], eax
mov esi, ebx
call fcn.00466b43
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004dea60
leave
ret
mov esi, dword [edi + 4]
mov eax, dword [edi + 0x10]
imul esi, esi, 0x28
mov eax, dword [eax + 8]
add esi, dword [ebp - 0xe0]
mov dword [ebp - 0x104], eax
push 1
mov eax, esi
call fcn.004751c0
pop ecx
mov dword [ebp - 0xd4], eax
test eax, eax
jne case.default.0x4a75f6
push dword [esi + 0x10]
mov edi, dword [ebp - 0x104]
mov eax, dword [edi]
push edi
call dword [eax + 0x4c]
pop ecx
mov esi, edi
pop ecx
mov edi, ebx
mov dword [ebp - 0xd4], eax
call fcn.0046ec97
and dword [ebx + 0x58], 0xfffffff7
jmp 0x4a764a
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x104], eax
test eax, eax
je 0x4abafb
mov esi, dword [eax]
test esi, esi
je 0x4abafb
cmp dword [esi + 0x34], 0
mov eax, dword [edi + 8]
mov dword [ebp - 0xe4], eax
je case.default.0x4a75f6
mov eax, dword [ebp - 0xdc]
mov al, byte [eax + 0x45]
and dword [ebp - 0xec], 0
mov ecx, dword [ebx + 0xc]
mov byte [ebp - 0xf9], al
mov eax, dword [edi + 0xc]
imul eax, eax, 0x28
add eax, dword [ebp - 0xe0]
cmp dword [ebp - 0xe4], 0
jle 0x4abefd
mov edx, dword [ebp - 0xec]
mov dword [ecx + edx*4], eax
add eax, 0x28
inc dword [ebp - 0xec]
mov edx, dword [ebp - 0xec]
cmp edx, dword [ebp - 0xe4]
jl 0x4abedd
mov al, byte [edi + 3]
mov edi, dword [ebp - 0xdc]
mov byte [edi + 0x45], al
lea eax, [ebp - 0x250]
push eax
push ecx
push dword [ebp - 0xe4]
push dword [ebp - 0x104]
call dword [esi + 0x34]
mov esi, dword [ebp - 0x104]
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0xf9]
mov byte [edi + 0x45], al
add esp, 0x10
mov edi, ebx
call fcn.0046ec97
cmp dword [ebp - 0xd4], 0
mov esi, dword [ebp - 0xd8]
jne 0x4abf78
cmp dword [esi + 4], 0
je 0x4abf78
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], ecx
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], ecx
cmp byte [ebp - 0xd4], 0x13
jne 0x4abfb1
mov eax, dword [esi + 0x10]
cmp byte [eax + 0x10], 0
je 0x4abfb1
mov al, byte [esi + 3]
cmp al, 4
jne 0x4abf9d
and dword [ebp - 0xd4], 0
jmp 0x4a764a
cmp al, 5
jne 0x4abfa6
push 2
pop eax
jmp 0x4abfa9
movzx eax, al
mov byte [ebx + 0x56], al
jmp 0x4a764a
inc dword [ebx + 0x5c]
jmp 0x4a764a
push ebx
mov eax, edi
call fcn.0046773c
mov edx, dword [ebp - 0xdc]
mov edx, dword [edx + 0x10]
pop ecx
mov ecx, eax
mov eax, dword [edi + 4]
add eax, eax
mov eax, dword [edx + eax*8 + 4]
call fcn.0046611e
and dword [ecx + 4], 0
mov dword [ecx], eax
jmp case.default.0x4a75f6
push ebx
mov eax, edi
call fcn.0046773c
mov dword [ebp - 0xf4], eax
mov eax, dword [edi + 4]
pop ecx
mov ecx, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0x10]
add eax, eax
mov esi, dword [ecx + eax*8 + 4]
mov ecx, dword [edi + 0xc]
xor eax, eax
test ecx, ecx
je 0x4ac01d
mov eax, esi
call fcn.0046611e
cmp eax, ecx
jae 0x4ac01d
mov eax, ecx
push eax
call fcn.0046e087
pop ecx
mov ecx, dword [ebp - 0xf4]
jmp 0x4a77bd
mov esi, dword [ebp - 0xdc]
cmp dword [esi + 0xb0], 0
je 0x4ac081
test dword [ebx + 0x58], 0x200
jne 0x4ac081
mov edx, dword [edi + 0x10]
test edx, edx
jne 0x4ac058
mov edx, dword [ebx + 0xa8]
test edx, edx
je 0x4ac081
mov ecx, ebx
call fcn.00479ff7
push eax
push dword [esi + 0xb4]
mov dword [ebp - 0x104], eax
call dword [esi + 0xb0]
mov edx, dword [ebp - 0x104]
pop ecx
pop ecx
mov ecx, esi
call fcn.004622de
cmp dword [edi + 8], 0
je case.default.0x4a75f6
jmp 0x4a9f12
mov eax, dword [edi + 4]
mov dword [ebx + 0x50], eax
mov al, byte [edi + 8]
mov byte [ebx + 0x56], al
mov dword [ebx + 0x4c], esi
cmp dword [ebx + 0x50], ecx
je 0x4ac11f
mov al, byte [edi + 3]
test al, al
je 0x4ac0b5
movzx eax, al
mov ecx, dword [eax*4 + 0x51dbd4]
test ecx, ecx
je 0x4ac0da
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4ac0da
push eax
push ecx
push str._s_constraint_failed:__s
push dword [ebp - 0xdc]
lea edi, [ebx + 0x2c]
call fcn.004806a0
add esp, 0x10
jmp 0x4ac100
mov eax, dword [edi + 0x10]
lea edi, [ebx + 0x2c]
test eax, eax
je 0x4ac0ec
push eax
push 0x50f82c
jmp 0x4ac0f2
push ecx
push str._s_constraint_failed
push dword [ebp - 0xdc]
call fcn.004806a0
add esp, 0xc
push dword [edi]
mov eax, dword [ebp - 0xd8]
push dword [ebx + 0xa8]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.004788d6
add esp, 0x14
mov edi, ebx
call fcn.004a014d
push 5
pop edi
cmp eax, edi
je 0x4ac158
mov edi, dword [ebx + 0x50]
neg edi
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x4abdec
mov eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0x110]
push 0x14
cdq
pop ecx
idiv ecx
mov dword [ebx + 0x4c], eax
mov byte [esi + 0x3f], 0
mov dword [ebx + 0x50], edi
jmp 0x4abdec
test edi, edi
je 0x4ac182
push 0x204
mov eax, esi
call fcn.0049c726
pop ecx
mov byte [esi + 0x3f], 1
mov esi, dword [ebp - 0xdc]
call fcn.0046b0cc
jmp 0x4ac12d
push 1
mov esi, ebx
call fcn.004824e7
mov edi, eax
pop ecx
test edi, edi
jne 0x4abdec
mov al, byte [ebp - 0x104]
mov esi, dword [ebp - 0xdc]
mov edi, ebx
mov byte [esi + 0x3f], al
call fcn.004a014d
push 5
pop edi
cmp eax, edi
jne 0x4ac175
mov eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0x110]
push 0x14
cdq
pop ecx
idiv ecx
mov dword [ebx + 0x4c], eax
mov al, 1
sub al, byte [ebp - 0x104]
mov byte [esi + 0x3f], al
jmp 0x4ac158
mov dword [ebp - 0xd4], 8
jmp 0x4aa38f
mov eax, edi
sub eax, dword [ebp - 0x110]
push 0x14
cdq
pop esi
idiv esi
mov edi, ecx
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x4c], eax
jmp 0x4abdec
push 0x121b6
call fcn.0047fd7d
pop ecx
mov dword [ebp - 0xd4], eax
jmp 0x4aa38f
push dword [ebp - 0x11c]
mov eax, dword [ebp - 0x104]
call dword [eax + 0x1c]
pop ecx
mov ebx, dword [ebp - 0x114]
mov eax, dword [ebp - 0xdc]
push 0x51bfbc
push eax
lea edi, [ebx + 0x2c]
mov byte [eax + 0x41], 1
call fcn.004806a0
pop ecx
pop ecx
mov dword [ebp - 0xd4], 7
jmp 0x4abd7f
push 9
pop ecx
mov dword [ebp - 0xd4], ecx
mov dword [ebx + 0x50], ecx
call fcn.0046b161
push eax
push 0x50f82c
push dword [ebp - 0xdc]
jmp 0x4aa3c7