Function at 0x4a4810
Capabilities:
Parse credit card information
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x304
mov eax, dword [0x725fec]
xor eax, esp
mov dword [esp + 0x2fc], eax
mov eax, ecx
mov dword [esp + 8], 0
push ebx
push ebp
push esi
mov ecx, dword [eax + 4]
xor esi, esi
mov ebx, dword [eax + 8]
mov ebp, ecx
push edi
mov edi, dword [eax]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edi
mov cl, byte [edi + 0x3e]
mov byte [esp + 0x28], cl
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x88], ecx
mov ecx, dword [edi + 0x24]
mov dword [esp + 0x8c], ecx
mov ecx, eax
mov byte [esp + 0x67], 0
mov dword [esp + 0xc0], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xa4], esi
call fcn.0049e690
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x50], 7
je 0x4a6480
mov dword [ecx + 0x50], esi
mov dword [ecx + 0x88], esi
mov dword [ecx + 0x8c], esi
mov dword [ecx + 0x14], esi
mov dword [edi + 0x1c4], esi
cmp dword [edi + 0xf0], esi
jne 0x4a9a2c
cmp dword [edi + 0x124], esi
je 0x4a48e0
mov esi, dword [edi + 0x12c]
xor edx, edx
mov eax, dword [ecx + 0x7c]
div esi
sub esi, edx
mov dword [esp + 0xb8], esi
xor esi, esi
mov eax, dword [ecx + 0x4c]
mov edx, ebp
mov dword [esp + 0x104], 0xbe01
lea eax, [eax + eax*4]
lea ebp, [edx + eax*4]
xor eax, eax
mov dword [esp + 0x24], ebp
mov dh, byte [esp + 0x28]
cmp byte [edi + 0x41], 0
jne 0x4a6480
mov dl, byte [ebp]
inc esi
movzx ebx, dl
mov dword [esp + 0x1c], esi
mov byte [esp + 0x37], dl
lea esi, [ebx - 1]
cmp esi, 0x9d
ja case.0x4a4928.62
jmp dword [esi*4 + 0x4a9ab4]
mov eax, dword [ebp + 4]
mov ecx, ebp
mov ebx, dword [esp + 0x2c]
sub ecx, dword [esp + 0x3c]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x3c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebp, [ecx + eax*4]
jmp 0x4a968b
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
lea eax, [eax + 5]
lea ebp, [edx + eax*4]
mov dh, byte [esp + 0x28]
mov eax, 0x80
mov dword [esp + 0x24], ebp
mov word [ebx + ecx*8 + 8], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 8], ax
cmp dword [ebp + 8], 0
jne 0x4a5bef
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ebp, 0x80
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
mov word [ebx + ecx*8 + 8], bp
mov ecx, dword [esp + 0x14]
lea eax, [eax + eax*4]
lea ebp, [edx + eax*4]
mov eax, dword [esp + 0x18]
mov dh, byte [esp + 0x28]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
sub ebp, dword [esp + 0x3c]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x3c]
lea eax, [eax + 5]
mov dword [ebx + esi*8 + 4], edx
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
lea ebp, [ecx + eax*4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x4a6f23
mov ebx, dword [esp + 0x14]
mov ecx, ebp
sub ecx, dword [esp + 0x3c]
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp + 4]
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
test ecx, ecx
jne 0x4a96ab
mov edx, dword [ebx + 0xb0]
test edx, edx
je 0x4a96ab
mov eax, dword [edx + 4]
mov ecx, edx
dec dword [ebx + 0xb8]
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0x5c]
add dword [edi + 0x54], eax
mov dword [edi + 0x50], eax
call fcn.0049f090
cmp dword [ebp + 8], 4
mov ecx, eax
mov eax, dword [edi + 0x20]
mov edx, dword [ebx + 4]
mov dword [esp + 0x88], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x3c], edx
jne 0x4a4b28
lea eax, [ecx + ecx*4]
mov ecx, dword [edx + eax*4 + 8]
dec ecx
mov eax, dword [ebx + 8]
lea ecx, [ecx + 1]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
lea eax, [ecx + ecx*4]
lea ebp, [edx + eax*4]
mov ecx, ebx
mov eax, dword [esp + 0x18]
mov dh, byte [esp + 0x28]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov edx, ebp
call fcn.004a47e0
mov esi, dword [esp + 0x1c]
mov ecx, eax
mov eax, dword [ebp + 4]
add ebp, 0x14
cdq
mov dword [esp + 0x24], ebp
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
mov dh, byte [esp + 0x28]
jmp 0x4a4900
mov edx, ebp
call fcn.004a47e0
mov ecx, dword [ebp + 0x10]
mov edx, eax
mov esi, dword [esp + 0x1c]
add ebp, 0x14
mov dword [esp + 0x24], ebp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dh, byte [esp + 0x28]
jmp 0x4a4900
mov edx, ebp
call fcn.004a47e0
mov dh, byte [esp + 0x28]
mov ecx, eax
mov esi, dword [esp + 0x1c]
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp + 0x10]
add ebp, 0x14
mov dword [esp + 0x24], ebp
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x18]
movsd qword [ecx], xmm0
mov ecx, dword [esp + 0x14]
jmp 0x4a4900
mov edx, ebp
call fcn.004a47e0
mov edx, dword [ebp + 0x10]
mov esi, eax
mov byte [ebp], 0x19
test edx, edx
jne 0x4a4c00
xor ecx, ecx
jmp 0x4a4c18
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a4c05
sub ecx, edi
mov edi, dword [esp + 0x20]
and ecx, 0x3fffffff
mov bl, byte [esp + 0x28]
mov dword [ebp + 4], ecx
cmp bl, 1
je 0x4a4c8d
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.0049cb50
add esp, 0xc
mov dword [esp + 0x18], eax
cmp eax, 0x12
je 0x4a8cab
test byte [esi + 8], 2
je 0x4a4c5d
cmp byte [esi + 0xa], bl
je 0x4a4c5d
mov dl, bl
mov ecx, esi
call fcn.00483200
test eax, eax
jne 0x4a647c
mov eax, 0x800
mov dword [esi + 0x18], 0
or word [esi + 8], ax
cmp byte [ebp + 1], 0xff
jne 0x4a4c7d
mov edx, dword [ebp + 0x10]
mov ecx, edi
call fcn.00480df0
mov byte [ebp + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x10], eax
mov ecx, dword [esi + 0xc]
mov dword [ebp + 4], ecx
cmp ecx, dword [edi + 0x58]
jg 0x4a8cab
mov ecx, dword [esp + 0x14]
jmp 0x4a4ca0
mov bl, byte [esp + 0x28]
mov edx, ebp
call fcn.004a47e0
mov edx, eax
mov eax, 0xa02
mov word [edx + 8], ax
mov ecx, dword [ebp + 0x10]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebp + 4]
mov dword [edx + 0xc], ecx
mov byte [edx + 0xa], bl
cmp byte [ebp + 3], 0
je 0x4a968b
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
or eax, dword [ebx + ecx*8 + 4]
mov ecx, dword [esp + 0x14]
je 0x4a4cef
mov eax, 0xa10
mov word [edx + 8], ax
mov eax, dword [esp + 0x18]
jmp 0x4a9697
mov edx, ebp
call fcn.004a47e0
cmp dword [ebp + 4], 0
mov ebx, 0x101
mov edi, dword [ebp + 0xc]
mov ecx, 1
mov edx, dword [ebp + 8]
cmovne ecx, ebx
sub edi, edx
movzx ebx, cx
mov word [eax + 8], bx
lea esi, [eax + 8]
test edi, edi
jle 0x4a698a
mov eax, 0x2460
nop
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x4a4d46
lea ecx, [esi - 8]
call fcn.0049c390
mov eax, 0x2460
dec edi
mov word [esi], bx
test edi, edi
jg 0x4a4d30
jmp 0x4a698a
mov eax, dword [ebp + 4]
mov esi, 0xff7f
mov ebx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
mov ax, word [ebx + ecx*8 + 8]
and ax, si
mov esi, dword [esp + 0x1c]
or ax, 1
add ebp, 0x14
mov word [ebx + ecx*8 + 8], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov edx, ebp
call fcn.004a47e0
mov edx, dword [ebp + 0x10]
mov esi, eax
push 0
push 0
push dword [ebp + 4]
mov ecx, esi
call fcn.0049cb50
mov dh, byte [esp + 0x34]
add esp, 0xc
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov byte [esi + 0xa], dh
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x14]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x3c]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.0049ca40
test eax, eax
jne 0x4a8cab
mov edx, ebp
mov ecx, ebx
call fcn.004a47e0
push 0x800
lea edx, [esi - 0x28]
mov ecx, eax
call fcn.0049ca90
mov eax, dword [esp + 0x1c]
add esp, 4
mov dh, byte [esp + 0x28]
add ebp, 0x14
mov esi, dword [esp + 0x1c]
mov ecx, ebx
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x2460
test word [esi + 8], ax
jne 0x4a4e46
cmp dword [esi + 0x18], 0
je 0x4a4e4d
mov ecx, esi
call fcn.0049c410
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 8], ax
mov eax, 0x1000
mov dword [edi + 0x18], 0
test word [esi + 8], ax
je 0x4a4e8f
mov ecx, esi
call fcn.0049c0e0
test eax, eax
jne 0x4a6478
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x4a4e35
jmp 0x4a698a
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
nop dword [eax + eax]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.0049ca90
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x4a4eeb
mov ecx, esi
call fcn.0049c0e0
test eax, eax
jne 0x4a6478
mov eax, ebx
dec ebx
test eax, eax
je 0x4a698a
add esi, 0x28
add edi, 0x28
jmp 0x4a4ec0
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
push 0x1000
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.0049ca90
mov eax, dword [esp + 0x1c]
add esp, 4
mov ecx, dword [esp + 0x14]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [edi + 0x124]
mov esi, dword [esp + 0x1c]
test eax, eax
je 0x4a4f6b
cmp esi, dword [esp + 0xb8]
jb 0x4a4f6b
push dword [edi + 0x128]
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
test eax, eax
jne 0x4a9761
xor edx, edx
call fcn.0049fb20
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a9697
lea edx, [eax + 1]
call fcn.0049f9f0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a9697
mov eax, dword [ecx + 0x48]
xor edi, edi
mov edx, dword [esp + 0x2c]
add eax, 2
or eax, 1
mov dword [ecx + 0x48], eax
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [ecx + 0x14], esi
cmp dword [ebp + 8], edi
jle 0x4a4ffd
mov ebx, 0x202
mov eax, 0x1000
test word [esi + 8], ax
je 0x4a4fdc
mov ecx, esi
call fcn.0049c0e0
test eax, eax
jne 0x4a6478
mov ax, word [esi + 8]
and ax, bx
cmp ax, 2
jne 0x4a4ff0
mov ecx, esi
call fcn.0049c1c0
inc edi
add esi, 0x28
cmp edi, dword [ebp + 8]
jl 0x4a4fc2
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
cmp byte [edi + 0x41], 0
jne 0x4a6480
sub ebp, dword [esp + 0x3c]
mov eax, 0x66666667
mov ebx, dword [esp + 0x1c]
imul ebp
mov dword [esp + 0x18], 0x64
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [ecx + 0x4c], eax
jmp 0x4a9a7a
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
movzx ecx, word [edx + eax*8 + 8]
lea ebx, [edx + eax*8]
mov eax, dword [ebp + 8]
mov dword [esp + 0x50], ebx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov al, byte [edi + 8]
or al, cl
test al, 1
je 0x4a508b
mov eax, 0x2460
test word [esi + 8], ax
je 0x4a507d
mov ecx, esi
call fcn.0049c390
jmp 0x4a698a
mov eax, 1
mov word [esi + 8], ax
jmp 0x4a698a
test ecx, 0x4000
je 0x4a50a2
mov ecx, ebx
call fcn.0049c160
test eax, eax
jne 0x4a6478
mov eax, 0x4000
test word [edi + 8], ax
je 0x4a50bc
mov ecx, edi
call fcn.0049c160
test eax, eax
jne 0x4a6478
test byte [ebx + 8], 0x12
jne 0x4a50da
mov dl, byte [esp + 0x28]
mov ecx, ebx
push 0
call fcn.0049c200
add esp, 4
test eax, eax
jne 0x4a6478
test byte [edi + 8], 0x12
jne 0x4a50f8
mov dl, byte [esp + 0x28]
mov ecx, edi
push 0
call fcn.0049c200
add esp, 4
test eax, eax
jne 0x4a6478
mov eax, dword [esp + 0x20]
mov ebx, dword [ebx + 0xc]
add ebx, dword [edi + 0xc]
cmp ebx, dword [eax + 0x58]
jg 0x4a8cab
xor eax, eax
lea edx, [ebx + 2]
cmp esi, edi
mov ecx, esi
sete al
push eax
call fcn.0049bf90
add esp, 4
test eax, eax
jne 0x4a6478
mov ax, word [esi + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x4a5151
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.006435e0
add esp, 0xc
mov eax, dword [esp + 0x50]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.006435e0
mov eax, dword [esi + 0x10]
add esp, 0xc
mov dh, byte [esp + 0x28]
mov byte [ebx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [ebx + eax + 1], 0
mov eax, 0x200
or word [esi + 8], ax
mov dword [esi + 0xc], ebx
mov byte [esi + 0xa], dh
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [esp + 0x30], eax
call fcn.004a47c0
movzx ebx, ax
mov eax, dword [ebp + 8]
mov dword [esp + 0x68], ebx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.004a47c0
mov ecx, dword [esp + 0x30]
movzx edx, ax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x48], eax
mov al, byte [esi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x4a54d2
mov al, dl
and al, bl
test al, 4
je 0x4a53d1
mov eax, ecx
mov byte [esp + 0x37], 1
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
movzx eax, byte [ebp]
add eax, 0xffffffa7
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], edi
cmp eax, 3
ja case.default.0x4a5244
jmp dword [eax*4 + 0x4a9d2c]
test esi, esi
jl 0x4a52bb
jg 0x4a5255
test edx, edx
jb 0x4a52bb
test edi, edi
jl 0x4a52f5
jg 0x4a5267
test ebx, ebx
je 0x4a52f5
or ecx, 0xffffffff
mov eax, SysReAllocString
sub ecx, ebx
sbb eax, edi
cmp eax, esi
jg 0x4a52f5
jl 0x4a5281
cmp ecx, edx
jae 0x4a52f5
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
call fcn.0049c580
mov ecx, esi
movsd qword [esp + 0x40], xmm0
call fcn.0049c580
movzx eax, byte [ebp]
movaps xmm1, xmm0
add eax, 0xffffffa7
movsd qword [esp + 0x50], xmm1
cmp eax, 3
ja case.default.0x4a52b4
jmp dword [eax*4 + 0x4a9d3c]
test edi, edi
jg 0x4a52f5
jl 0x4a52c5
test ebx, ebx
jae 0x4a52f5
mov eax, 1
mov ecx, SysReAllocStringLen
sub eax, ebx
mov dword [esp + 0x50], eax
mov eax, edx
sbb ecx, edi
add eax, 1
mov dword [esp + 0x60], eax
mov eax, esi
adc eax, 0
cmp ecx, eax
jg 0x4a5281
jl 0x4a52f5
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x60]
ja 0x4a5281
add ebx, edx
mov dword [esp + 0x90], ebx
adc edi, esi
mov dword [esp + 0x94], edi
jmp 0x4a53a1
push esi
push edx
lea ecx, [esp + 0x98]
call fcn.00484b50
add esp, 8
test eax, eax
jne 0x4a5281
jmp 0x4a53a1
push esi
push edx
lea ecx, [esp + 0x98]
call fcn.00484ba0
add esp, 8
test eax, eax
jne 0x4a5281
jmp 0x4a53a1
mov eax, edx
or eax, esi
je 0x4a54d2
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x4a5365
test ebx, ebx
jne 0x4a5365
cmp edi, 0x80000000
je 0x4a5281
push esi
push edx
push edi
push ebx
call fcn.0063e5f0
jmp 0x4a5393
mov eax, edx
or eax, esi
je 0x4a54d2
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x4a538a
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ebx
call fcn.00681940
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x48]
mov edx, 0xbe04
mov eax, dword [esp + 0x90]
mov dword [ecx], eax
mov eax, dword [esp + 0x94]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
mov word [ecx + 8], ax
jmp 0x4a698a
mov byte [esp + 0x37], 0
jmp 0x4a5289
addsd xmm1, qword [esp + 0x40]
jmp 0x4a546d
subsd xmm1, qword [esp + 0x40]
jmp 0x4a546d
mulsd xmm1, qword [esp + 0x40]
jmp 0x4a546d
movsd xmm0, qword [esp + 0x40]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x4a54d2
divsd xmm1, xmm0
jmp 0x4a546d
movsd xmm0, qword [esp + 0x40]
call fcn.0068239f
movsd xmm0, qword [esp + 0x50]
mov esi, eax
mov edi, edx
call fcn.0068239f
mov ecx, esi
mov dword [esp + 0x94], edx
or ecx, edi
mov ebx, eax
mov dword [esp + 0x90], ebx
je 0x4a54d2
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x4a545a
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ebx
call fcn.00681940
mov ecx, eax
call fcn.006824f0
movaps xmm1, xmm0
movsd qword [esp + 0x40], xmm1
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [esp + 0x40]
ucomisd xmm0, qword [esp + 0x50]
lahf
test ah, 0x44
jp 0x4a54d2
mov ecx, dword [esp + 0x48]
mov edx, 0xbe08
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [esp + 0x70]
or al, byte [esp + 0x68]
test al, 8
jne 0x4a698a
cmp byte [esp + 0x37], 0
jne 0x4a698a
call fcn.0049c5e0
jmp 0x4a698a
mov eax, dword [esp + 0x48]
add ebp, 0x14
mov ecx, 0x2460
mov dword [esp + 0x24], ebp
test word [eax + 8], cx
je 0x4a5508
mov ecx, eax
call fcn.0049c390
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
jmp 0x4a4900
mov ecx, 1
mov word [eax + 8], cx
jmp 0x4a698d
mov eax, dword [ebp + 4]
test eax, eax
je 0x4a5572
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x2460
test word [eax + 8], dx
je 0x4a555c
push 0
push 0
mov ecx, eax
call fcn.0049c900
mov eax, dword [esp + 0x20]
add esp, 8
mov ecx, dword [esp + 0x14]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], dx
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov bl, byte [ebp + 3]
mov ecx, edi
movzx eax, bl
cdq
add eax, 7
adc edx, 0
shld edx, eax, 2
shl eax, 2
push edx
push eax
call fcn.00481060
mov esi, eax
add esp, 8
test esi, esi
je 0x4a647c
mov dword [esi], 0
mov eax, 0x66666667
mov ecx, dword [ebp + 0x10]
mov dword [esi + 4], ecx
mov ecx, ebp
sub ecx, dword [esp + 0x3c]
imul ecx
mov byte [esi + 0x1a], bl
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov word [ebp], 0xec24
mov dword [ebp + 0x10], esi
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x2c]
mov esi, dword [ebp + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov edx, dword [esi]
cmp edx, edi
je 0x4a562e
movzx ecx, byte [esi + 0x1a]
mov edx, edi
sub ecx, 1
mov dword [esi], edi
js 0x4a562e
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebp + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x4a5616
mov edx, dword [esi]
mov ax, word [edx + 8]
mov ecx, 0xbe01
mov ebx, dword [esp + 0x20]
and ax, cx
or ax, 1
mov word [edx + 8], ax
mov eax, dword [esp + 0x88]
mov byte [esi + 0x19], 0
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x24], eax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov eax, dword [ecx + 0xc]
push esi
call eax
mov eax, dword [ebx + 0x20]
add esp, 0xc
cmp byte [esi + 0x19], 0
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x8c], eax
je 0x4a56c7
cmp dword [esi + 0x14], 0
je 0x4a56b5
mov ecx, dword [esi]
mov dl, 1
call fcn.0049cfb0
push eax
push 0x6eea3c
push dword [esp + 0x1c]
call fcn.0049d550
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x18], eax
push dword [ebp + 4]
mov edx, dword [esi + 0x10]
mov ecx, dword [esp + 0x18]
call fcn.004a00b0
add esp, 4
test byte [edi + 8], 0x12
je 0x4a9689
mov ecx, dword [esi]
mov eax, ecx
test byte [ecx + 8], 2
je 0x4a56ed
mov bl, byte [esp + 0x28]
cmp byte [ecx + 0xa], bl
je 0x4a56ed
mov dl, bl
call fcn.00483200
mov eax, dword [esi]
mov ecx, eax
call fcn.0049ca40
test eax, eax
jne 0x4a8cab
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
jmp 0x4a968f
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
mov dword [esp + 0x50], edx
test al, 1
je 0x4a575b
mov eax, 0x2460
test word [edx + 8], ax
je 0x4a574d
mov ecx, edx
call fcn.0049c390
jmp 0x4a698a
mov eax, 1
mov word [edx + 8], ax
jmp 0x4a698a
call fcn.0049c4d0
mov ebx, eax
mov esi, edx
mov ecx, edi
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], esi
call fcn.0049c4d0
mov cl, byte [ebp]
mov edi, eax
cmp cl, 0x55
jne 0x4a5789
and ebx, edi
and esi, edx
jmp 0x4a57ef
cmp cl, 0x56
jne 0x4a5794
or ebx, edi
or esi, edx
jmp 0x4a57ef
mov eax, edi
or eax, edx
je 0x4a57ef
test edx, edx
jg 0x4a57c8
jl 0x4a57a4
test edi, edi
jae 0x4a57bd
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x4a57c8
jg 0x4a57b6
cmp edi, 0xffffffc0
jbe 0x4a57c8
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x4a5811
jg 0x4a57c8
cmp edi, 0x40
jb 0x4a5811
test esi, esi
jg 0x4a57de
jl 0x4a57d2
test ebx, ebx
jae 0x4a57de
cmp cl, 0x57
je 0x4a57de
or ebx, 0xffffffff
or esi, ebx
jmp 0x4a57ef
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
mov edx, 0xbe04
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx], ebx
or ax, 4
mov dword [ecx + 4], esi
mov word [ecx + 8], ax
jmp 0x4a698a
movq xmm1, qword [esp + 0x108]
movd xmm0, edi
cmp cl, 0x57
jne 0x4a582f
psllq xmm1, xmm0
movq qword [esp + 0x40], xmm1
jmp 0x4a57e7
psrlq xmm1, xmm0
movq qword [esp + 0x40], xmm1
test esi, esi
jg 0x4a57e7
jl 0x4a5843
test ebx, ebx
jae 0x4a57e7
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.00681900
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
or ebx, eax
or esi, edx
jmp 0x4a57ef
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0049c4d0
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [esp + 0x14]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [ebp + 8]
cdq
add dword [esi], eax
mov eax, dword [esp + 0x18]
adc dword [esi + 4], edx
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x4a58fe
push dword [esp + 0x28]
mov dl, 0x43
mov ecx, esi
call fcn.004a4660
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x4a58fe
cmp dword [ebp + 8], 0
jne 0x4a5bef
mov eax, 0x14
mov dword [esp + 0x18], eax
jmp 0x4a788f
mov eax, dword [esp + 0x18]
and ecx, 0xbe04
mov dh, byte [esp + 0x28]
or ecx, 4
mov word [esi + 8], cx
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 4
lea esi, [edx + eax*8]
je 0x4a595e
mov ecx, esi
call fcn.0049c580
mov ax, word [esi + 8]
mov ecx, 0xbe08
and ax, cx
movsd qword [esi], xmm0
mov ecx, dword [esp + 0x14]
or ax, 8
mov word [esi + 8], ax
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4a599b
mov ecx, esi
call fcn.0049c160
mov dword [esp + 0x18], eax
jmp 0x4a59a3
mov dword [esp + 0x18], 0
push dword [esp + 0x28]
mov dl, byte [ebp + 8]
mov ecx, esi
call fcn.0049c800
add esp, 4
jmp 0x4a968b
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
movzx esi, word [ecx + eax*8 + 8]
lea edi, [ecx + eax*8]
movzx ecx, word [ebx + 8]
mov eax, ecx
mov dword [esp + 0x24], eax
mov eax, esi
mov dword [esp + 0x30], eax
or al, cl
test al, 1
mov al, byte [ebp + 3]
je 0x4a5a4c
test al, al
jns 0x4a5a17
mov ecx, esi
xor esi, esi
mov eax, ecx
and eax, dword [esp + 0x24]
bt ax, si
jae 0x4a5a0d
test ecx, 0x100
je 0x4a5ad8
mov esi, 1
jmp 0x4a5ad8
mov edi, dword [esp + 0x20]
test al, 0x20
je 0x4a5a2c
mov eax, dword [ebp + 8]
mov esi, 0xbe01
jmp 0x4a4d5b
test al, 0x10
jne 0x4a5bef
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
and al, 0x47
cmp al, 0x43
jb 0x4a5aee
and cl, 0xe
mov eax, esi
cmp cl, 2
jne 0x4a5a6d
xor edx, edx
mov ecx, ebx
call fcn.004a45d0
movzx eax, word [edi + 8]
and al, 0xe
cmp al, 2
jne 0x4a5a7c
xor edx, edx
mov ecx, edi
call fcn.004a45d0
mov esi, dword [esp + 0x30]
mov eax, 0x4000
test word [ebx + 8], ax
je 0x4a5a9f
mov ecx, ebx
call fcn.0049c160
and dword [esp + 0x24], 0xbfff
mov eax, 0x4000
test word [edi + 8], ax
je 0x4a5ab6
mov ecx, edi
call fcn.0049c160
and esi, 0xbfff
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x41], 0
jne 0x4a9a61
push dword [ebp + 0x10]
mov edx, ebx
mov ecx, edi
call fcn.004a0cf0
mov dl, byte [ebp]
add esp, 4
mov esi, eax
movzx ecx, dl
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x4a5ae7
jmp dword [ecx*4 + 0x4a9d4c]
cmp al, 0x42
jne 0x4a5a7c
mov eax, esi
test cl, 2
jne 0x4a5b2e
test cl, 0xc
je 0x4a5b2e
push 1
mov dl, dh
mov ecx, ebx
call fcn.0049c200
mov ax, word [ebx + 8]
mov esi, 0x1ff
xor ax, word [esp + 0x28]
add esp, 4
and ax, si
xor ax, word [ebx + 8]
movzx eax, ax
mov dword [esp + 0x24], eax
movzx eax, word [edi + 8]
jmp 0x4a5b33
mov esi, 0x1ff
test al, 2
jne 0x4a5a7c
test al, 0xc
je 0x4a5a7c
mov dl, byte [esp + 0x28]
mov ecx, edi
push 1
call fcn.0049c200
mov ax, word [edi + 8]
add esp, 4
mov ecx, dword [esp + 0x30]
xor ax, cx
and ax, si
xor ax, word [edi + 8]
movzx esi, ax
mov dword [esp + 0x30], esi
jmp 0x4a5a80
xor eax, eax
test esi, esi
sete al
jmp 0x4a5ba0
xor eax, eax
test esi, esi
setne al
jmp 0x4a5ba0
mov eax, esi
jmp 0x4a5b9d
xor eax, eax
test esi, esi
setle al
jmp 0x4a5ba0
xor eax, eax
test esi, esi
setg al
jmp 0x4a5ba0
mov eax, esi
not eax
shr eax, 0x1f
mov ecx, dword [esp + 0x24]
mov word [ebx + 8], cx
mov ecx, dword [esp + 0x30]
mov word [edi + 8], cx
test byte [ebp + 3], 0x20
je 0x4a5be3
mov ecx, dword [ebp + 8]
mov edx, 0xbe04
mov ebx, dword [esp + 0x2c]
lea esi, [ecx + ecx*4]
mov cx, word [ebx + esi*8 + 8]
and cx, dx
cdq
or cx, 4
mov dword [ebx + esi*8], eax
mov word [ebx + esi*8 + 8], cx
mov dword [ebx + esi*8 + 4], edx
jmp 0x4a698a
test eax, eax
je 0x4a698a
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x3c]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebp, [ecx + eax*4]
jmp 0x4a968b
mov edx, dword [ebp + 0x10]
add ebp, 0x14
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xa4], edx
mov dh, byte [esp + 0x28]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
test byte [ebp + 3], 1
mov edi, 0
mov ecx, dword [ebp + 4]
cmovne edi, dword [esp + 0xa4]
xor esi, esi
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x60], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x70], eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0x50], ecx
test eax, eax
jle 0x4a5cc7
test edi, edi
je 0x4a5c61
mov ecx, dword [edi + esi*4]
jmp 0x4a5c63
mov ecx, esi
mov eax, dword [edx + 0x10]
push dword [edx + esi*4 + 0x14]
mov edx, dword [esp + 0x30]
mov bl, byte [esi + eax]
mov eax, dword [esp + 0x54]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x64]
add eax, ecx
mov ecx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.004a0cf0
add esp, 4
mov dword [esp + 0xc0], eax
test eax, eax
jne 0x4a5cba
mov edx, dword [esp + 0xa4]
inc esi
cmp esi, dword [esp + 0x70]
jl 0x4a5c58
mov dword [esp + 0xa4], eax
jmp 0x4a698a
test bl, bl
je 0x4a5cc7
neg eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xa4], 0
jmp 0x4a698a
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0x3c]
test esi, esi
jns 0x4a5d04
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea ebp, [edx + eax*4]
mov eax, dword [esp + 0x18]
mov dh, byte [esp + 0x28]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
jne 0x4a5d24
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea ebp, [edx + eax*4]
mov eax, dword [esp + 0x18]
mov dh, byte [esp + 0x28]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea ebp, [edx + eax*4]
mov eax, dword [esp + 0x18]
mov dh, byte [esp + 0x28]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
je 0x4a5d5d
mov esi, 6
jmp 0x4a5d6f
call fcn.0049c4d0
or eax, edx
je 0x4a5d6d
mov esi, 3
jmp 0x4a5d6f
xor esi, esi
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
je 0x4a5d8b
mov eax, 0x6de40a
mov ecx, 0x6e07ea
jmp 0x4a5daa
call fcn.0049c4d0
or eax, edx
je 0x4a5da0
mov eax, 0x6de409
mov ecx, 0x6e07e9
jmp 0x4a5daa
mov eax, 0x6de408
mov ecx, 0x6e07e8
cmp byte [ebp], 0x48
cmove eax, ecx
mov dl, byte [eax + esi]
mov eax, dword [ebp + 0xc]
lea esi, [eax + eax*4]
movzx ecx, word [ebx + esi*8 + 8]
cmp dl, 2
jne 0x4a5dee
mov eax, dword [esp + 0x18]
and ecx, 0xbe01
mov dh, byte [esp + 0x28]
or ecx, 1
mov word [ebx + esi*8 + 8], cx
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
and ecx, 0xbe04
movzx eax, dl
cdq
or ecx, 4
mov dword [ebx + esi*8], eax
add ebp, 0x14
mov eax, dword [esp + 0x18]
mov dword [ebx + esi*8 + 4], edx
mov dh, byte [esp + 0x28]
mov word [ebx + esi*8 + 8], cx
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4a5e4d
mov ecx, esi
call fcn.0049c390
jmp 0x4a5e56
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x4a698a
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.0049c4d0
or eax, edx
jne 0x4a5e85
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x4a698a
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x4a698a
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x4a5eca
mov ecx, esi
call fcn.0049c390
jmp 0x4a5ed3
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x4a698a
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.0049c4d0
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x4a698a
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ebp + 4]
cmp byte [eax + ecx], 0
jne 0x4a5bef
mov esi, dword [esp + 0x1c]
add ebp, 0x14
mov byte [eax + ecx], 1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x4a5f43
mov eax, dword [ebp + 0xc]
jmp 0x4a5f67
call fcn.0049c580
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4a5f5c
mov eax, 1
jmp 0x4a5f5e
xor eax, eax
cmp byte [ebp], 0x2e
jne 0x4a5f67
xor eax, 1
test eax, eax
jne 0x4a5bef
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
jne 0x4a5bef
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x4a5bef
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x5c], esi
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, edi
mov dword [esp + 0x48], edi
mov ebx, dword [edi + 0x50]
mov eax, dword [edi]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x38], eax
call fcn.004a04d0
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a788b
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 0x3c]
cmp eax, dword [ecx + 0x48]
je 0x4a6193
cmp byte [edi + 0x19], 0
je 0x4a609e
cmp dword [esp + 0x38], 0
jne 0x4a6079
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8 + 0xc]
mov dword [esp + 0x98], eax
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x98]
mov dword [edi + 0x40], eax
mov eax, dword [edx + ecx*8 + 0x10]
mov dword [edi + 0x4c], eax
jmp 0x4a6119
mov eax, 0x2460
test word [esi + 8], ax
je 0x4a6090
mov ecx, esi
call fcn.0049c390
jmp 0x4a6431
mov eax, 1
mov word [esi + 8], ax
jmp 0x4a6431
mov ecx, dword [esp + 0x38]
mov ebx, dword [edi + 0x1c]
call fcn.00494b50
lea edx, [esp + 0x98]
test bl, 4
jne 0x4a60e4
mov ebx, dword [esp + 0x38]
mov ecx, ebx
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x110], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x114], eax
call fcn.00495140
mov dword [edi + 0x4c], eax
mov eax, dword [esp + 0x110]
mov dword [edi + 0x40], eax
jmp 0x4a60f6
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x1c]
mov dword [edi + 0x40], eax
call fcn.00495140
mov dword [edi + 0x4c], eax
mov ecx, dword [edi + 0x40]
mov eax, dword [esp + 0x98]
cmp ecx, eax
cmovbe eax, ecx
mov dword [edi + 0x44], eax
mov eax, dword [esp + 0x20]
cmp ecx, dword [eax + 0x58]
ja 0x4a8cab
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x4c]
mov eax, dword [eax + 0x48]
mov dword [edi + 0x3c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x4a613a
movzx eax, al
mov dword [esp + 0x84], eax
mov al, 1
jmp 0x4a6146
lea edx, [esp + 0x84]
call fcn.00484940
movzx eax, al
mov dword [edi + 0x48], eax
xor eax, eax
mov word [edi + 0x16], ax
mov eax, dword [esp + 0x84]
mov dword [ebx], eax
mov eax, dword [esp + 0x84]
cmp eax, 0x18003
ja 0x4a976f
cmp eax, dword [edi + 0x40]
ja 0x4a976f
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x98], eax
jae 0x4a61a3
mov dword [edi + 0x4c], 0
mov dword [edi + 0x44], 0
jmp 0x4a61a3
movzx eax, word [edi + 0x16]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jg 0x4a6359
mov eax, dword [edi + 0x48]
cmp eax, dword [ebx]
jae 0x4a6330
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4a6210
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x1a0]
push eax
xorps xmm0, xmm0
xor edx, edx
movups xmmword [esp + 0x1a4], xmm0
movups xmmword [esp + 0x1b4], xmm0
movq qword [esp + 0x1c4], xmm0
mov eax, dword [edi + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [ebx]
call fcn.0049ceb0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a5700
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 0x24], ecx
movzx edi, word [edi + 0x16]
mov eax, dword [ebx + edi*4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x48]
mov edx, dword [ebx]
mov esi, dword [eax + 0x48]
lea ebx, [eax + 0x54]
add esi, ecx
lea ebx, [ebx + edi*4]
add edx, ecx
mov dword [esp + 0x70], edx
mov al, byte [esi]
cmp al, 0x80
jae 0x4a624c
movzx eax, al
mov ecx, 1
mov dword [esp + 0x9c], eax
jmp 0x4a6268
lea edx, [esp + 0x9c]
mov ecx, esi
call fcn.00484940
mov edx, dword [esp + 0x70]
movzx ecx, al
mov eax, dword [esp + 0x9c]
mov dword [ebx], eax
add esi, ecx
mov eax, dword [esp + 0x9c]
cmp eax, 0xc
jb 0x4a627f
lea ecx, [eax - 0xc]
shr ecx, 1
jmp 0x4a6286
movzx ecx, byte [eax + 0x6de744]
mov eax, dword [esp + 0x84]
add eax, ecx
mov dword [esp + 0x84], eax
cmp eax, ecx
jb 0x4a62b1
mov ecx, dword [esp + 0x68]
inc edi
add ebx, 4
mov dword [ecx + edi*4], eax
cmp edi, dword [esp + 0x30]
jg 0x4a62b4
cmp esi, edx
jb 0x4a6235
jmp 0x4a62b4
lea esi, [edx + 1]
mov eax, dword [esp + 0x48]
mov word [eax + 0x16], di
mov eax, esi
mov edi, dword [esp + 0x48]
sub eax, dword [esp + 0x24]
cmp dword [edi + 0x4c], 0
mov dword [edi + 0x48], eax
jne 0x4a62ff
test dword [esp + 0x1a8], 0x2460
jne 0x4a62e6
cmp dword [esp + 0x1b8], 0
je 0x4a62f2
lea ecx, [esp + 0x1a0]
call fcn.0049c410
mov eax, 1
mov word [esp + 0x1a8], ax
mov eax, dword [esp + 0x84]
cmp esi, dword [esp + 0x70]
jb 0x4a631b
ja 0x4a9799
cmp eax, dword [edi + 0x40]
jne 0x4a9799
cmp eax, dword [edi + 0x40]
ja 0x4a9799
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x30]
movzx eax, word [edi + 0x16]
cmp eax, ecx
jg 0x4a6359
cmp byte [ebp + 1], 0xf8
jne 0x4a6079
mov edx, dword [ebp + 0x10]
mov ecx, esi
push 0x800
call fcn.0049ca90
add esp, 4
jmp 0x4a6431
mov eax, 0x2460
test word [esi + 8], ax
je 0x4a636b
mov ecx, esi
call fcn.0049c390
mov ecx, dword [esp + 0x30]
mov edx, dword [edi + ecx*4 + 0x54]
mov dword [esp + 0x9c], edx
mov eax, dword [edi + 0x44]
cmp eax, dword [ebx + ecx*4 + 4]
jb 0x4a639b
mov eax, dword [esp + 0x30]
mov ecx, dword [edi + 0x4c]
push esi
add ecx, dword [ebx + eax*4]
call fcn.004a0760
add esp, 4
jmp 0x4a642a
mov al, byte [ebp + 3]
test al, 0xc0
je 0x4a63b0
cmp edx, 0xc
jb 0x4a63ac
test dl, 1
je 0x4a63c7
test al, al
js 0x4a63c7
cmp edx, 0xc
jb 0x4a63bc
lea ecx, [edx - 0xc]
shr ecx, 1
jmp 0x4a63c3
movzx ecx, byte [edx + 0x6de744]
test ecx, ecx
jne 0x4a63e1
xor eax, eax
lea ecx, [esp + 0x110]
cmp edx, 0xd
push esi
cmova ecx, eax
call fcn.004a0760
add esp, 4
jmp 0x4a642a
mov eax, dword [edi + 0x1c]
shr eax, 2
not eax
and eax, 1
push esi
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x44]
mov edx, dword [ebx + eax*4]
call fcn.0049ceb0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a5700
mov edx, dword [esp + 0x9c]
mov ecx, dword [esi + 0x10]
push esi
call fcn.004a0760
mov eax, 0xefff
add esp, 4
and word [esi + 8], ax
mov al, byte [esp + 0x28]
mov byte [esi + 0xa], al
movzx ecx, word [esi + 8]
test ecx, 0x1000
je 0x4a56fc
mov ebx, dword [esi + 0x10]
test ebx, ebx
je 0x4a56fc
mov eax, dword [esp + 0x5c]
mov esi, ecx
and esi, 0x12
mov edi, dword [eax + 0xc]
lea edx, [edi + 2]
cmp dword [eax + 0x18], edx
jge 0x4a6515
push 0
mov ecx, eax
call fcn.0049bf90
add esp, 4
test eax, eax
je 0x4a6526
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push str.out_of_memory
push ecx
mov byte [edi + 0x41], 1
call fcn.0049d550
mov eax, 7
add esp, 8
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
sub ebp, dword [esp + 0x3c]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x14]
push dword [eax + 0x2c]
push dword [eax + 0xa8]
mov eax, 0x66666667
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [esp + 0x28]
call fcn.00482f10
mov ecx, dword [esp + 0x28]
add esp, 0x14
call fcn.0049fb90
cmp dword [esp + 0x18], 0xc0a
jne 0x4a64f1
mov byte [edi + 0x41], 1
mov al, byte [esp + 0x67]
mov dword [esp + 0x18], 1
test al, al
je 0x4a9a76
movzx edx, al
mov ecx, edi
dec edx
call fcn.004b98d0
jmp 0x4a9a76
mov edx, dword [esp + 0x5c]
and ecx, 0xd
mov eax, dword [eax + 0x14]
mov dword [edx + 0x10], eax
mov word [edx + 8], cx
push edi
push ebx
mov ebx, dword [esp + 0x64]
push dword [ebx + 0x10]
call fcn.006435e0
mov eax, dword [ebx + 0x10]
add esp, 0xc
or esi, 0x200
mov byte [edi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [edi + eax + 1], 0
mov edi, dword [esp + 0x20]
mov word [ebx + 8], si
jmp 0x4a968b
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0x2c]
mov esi, dword [ebp + 0x10]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov al, byte [esi]
test al, al
je 0x4a6590
nop
push dword [esp + 0x28]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.004a4660
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x4a6570
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov edi, dword [esp + 0x20]
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov edi, dword [esp + 0x2c]
xor eax, eax
mov dword [esp + 0x30], eax
xorps xmm0, xmm0
mov eax, dword [ebp + 4]
mov esi, dword [ebp + 0x10]
movlpd qword [esp + 0x48], xmm0
movlpd qword [esp + 0x68], xmm0
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebp + 8]
mov dword [esp + 0x60], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], ebx
movzx edx, byte [eax + 0x57]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], edx
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [esp + 0x50], edi
test esi, esi
je 0x4a6627
mov al, byte [esi]
mov edi, ecx
push dword [esp + 0x28]
mov dl, al
mov ecx, edi
call fcn.004a4660
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x4a6606
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov ecx, ebx
call fcn.004a0500
mov esi, eax
mov dword [ebx + 0x1c], esi
cmp esi, 0xc
jb 0x4a665f
lea edi, [esi - 0xc]
shr edi, 1
jmp 0x4a6666
movzx edi, byte [esi + 0x6de744]
mov eax, 0x4000
test word [ebx + 8], ax
je 0x4a6699
mov eax, dword [esp + 0x38]
or eax, dword [esp + 0x5c]
je 0x4a668c
mov ecx, ebx
call fcn.0049c160
test eax, eax
jne 0x4a6478
jmp 0x4a6699
mov eax, dword [ebx]
cdq
add dword [esp + 0x68], eax
adc dword [esp + 0x48], edx
sub edi, dword [ebx]
mov eax, edi
mov edi, dword [esp + 0x5c]
cdq
add dword [esp + 0x38], eax
adc edi, edx
mov edx, 1
mov dword [esp + 0x5c], edi
cmp esi, 0x7f
jbe 0x4a66ce
shr esi, 7
xor ecx, ecx
mov eax, esi
or eax, ecx
je 0x4a66ce
nop
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
jne 0x4a66c0
mov eax, dword [esp + 0x30]
sub ebx, 0x28
add eax, edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x30], eax
cmp ebx, dword [esp + 0x60]
jae 0x4a6647
cmp eax, 0x7e
jle 0x4a674a
cdq
mov ebx, 1
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x4a6711
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x4a6703
mov eax, dword [esp + 0x30]
mov edi, 1
add eax, ebx
mov dword [esp + 0x30], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x4a673e
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x4a6730
mov eax, dword [esp + 0x30]
cmp ebx, edi
mov edi, dword [esp + 0x5c]
jge 0x4a674f
inc eax
mov dword [esp + 0x30], eax
cdq
mov ebx, eax
mov esi, edx
mov eax, dword [esp + 0x38]
add eax, ebx
mov ecx, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
adc edi, esi
add ecx, dword [esp + 0x68]
adc edi, dword [esp + 0x48]
mov eax, dword [eax + 0x58]
cdq
cmp edi, edx
jg 0x4a8cab
jl 0x4a6784
cmp ecx, eax
ja 0x4a8cab
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x38]
cmp dword [edi + 0x18], eax
jge 0x4a67a9
push 0
mov edx, eax
mov ecx, edi
call fcn.0049bf90
add esp, 4
test eax, eax
jne 0x4a6478
jmp 0x4a67b4
mov eax, dword [edi + 0x14]
and word [edi + 8], 0xd
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x30]
mov edi, dword [edi + 0x10]
cmp eax, 0x80
jae 0x4a67cb
mov byte [edi], al
mov eax, 1
jmp 0x4a67d7
push esi
push ebx
mov ecx, edi
call fcn.00484750
add esp, 8
mov ebp, dword [esp + 0x60]
movzx esi, al
nop
mov ebx, dword [ebp + 0x1c]
lea ecx, [esi + edi]
cmp ebx, 0x80
jae 0x4a67f7
mov byte [ecx], bl
mov eax, 1
jmp 0x4a6802
push 0
push ebx
call fcn.00484750
add esp, 8
push ebx
mov ebx, dword [esp + 0x34]
mov edx, ebp
movzx eax, al
add esi, eax
lea ecx, [ebx + edi]
call fcn.004a0600
add ebx, eax
add ebp, 0x28
add esp, 4
mov dword [esp + 0x30], ebx
cmp ebp, dword [esp + 0x40]
jbe 0x4a67e0
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x24]
mov dword [edi + 0xc], eax
mov eax, 0x10
mov word [edi + 8], ax
mov eax, ecx
or eax, dword [esp + 0x48]
je 0x4a6857
mov eax, 0x4010
mov dword [edi], ecx
mov word [edi + 8], ax
mov byte [edi + 0xa], 1
jmp 0x4a698a
mov ebx, dword [esp + 0x14]
lea edx, [esp + 0x118]
mov ecx, dword [ebp + 4]
xorps xmm0, xmm0
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
movlpd qword [esp + 0x118], xmm0
call fcn.0049a160
mov edx, ebp
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.004a47e0
mov ecx, dword [esp + 0x118]
mov dword [eax], ecx
mov ecx, dword [esp + 0x11c]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x18]
mov ecx, ebx
jmp case.0x4a4928.62
mov eax, dword [ebp + 4]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x4a69aa
cmp dword [edi + 0x9c], eax
jg 0x4a97c3
test ebx, ebx
jne 0x4a68d8
xor esi, esi
jmp 0x4a68ef
mov esi, ebx
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a68e0
sub esi, ecx
and esi, 0x3fffffff
mov eax, dword [edi + 0x1f4]
xor edx, edx
add eax, dword [edi + 0x1f0]
mov ecx, edi
push eax
call fcn.004df100
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a788f
lea eax, [esi + 0x21]
mov ecx, edi
push 0
push eax
call fcn.00481060
mov edi, eax
add esp, 8
test edi, edi
je 0x4a698a
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call fcn.006435e0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
cmp byte [ecx + 0x3f], 0
je 0x4a6951
mov byte [ecx + 0x3f], 0
mov byte [ecx + 0x46], 1
jmp 0x4a6957
inc dword [ecx + 0x1f0]
mov eax, dword [ecx + 0x1e8]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x1f8]
mov dword [ecx + 0x1e8], edi
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x1fc]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x200]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x204]
mov dword [edi + 0x14], eax
add ebp, 0x14
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [esp + 0x20]
xor edi, edi
mov esi, dword [eax + 0x1e8]
test esi, esi
je 0x4a69db
nop word [eax + eax]
push ebx
push dword [esi]
call fcn.004839e0
add esp, 8
test eax, eax
je 0x4a69fb
mov esi, dword [esi + 0x18]
inc edi
test esi, esi
jne 0x4a69c0
mov ecx, dword [esp + 0x14]
push ebx
push str.no_such_savepoint:__s
push ecx
call fcn.0049d550
mov edi, dword [esp + 0x2c]
add esp, 0xc
mov eax, 1
add ebp, 0x14
jmp 0x4a6497
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x38]
cmp dword [edx + 0x9c], 0
jle 0x4a6a15
cmp ebx, 1
je 0x4a97de
cmp dword [esi + 0x18], 0
jne 0x4a6a76
cmp byte [edx + 0x46], 0
je 0x4a6a76
mov dword [esp + 0x5c], 1
cmp ebx, 1
jne 0x4a6a7e
mov ecx, dword [esp + 0x14]
mov edx, ebx
call fcn.0049fb20
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a9a68
mov eax, dword [esp + 0x20]
mov byte [eax + 0x3f], bl
call fcn.0049fb90
cmp eax, 5
je 0x4a9800
mov eax, dword [esp + 0x20]
mov byte [eax + 0x46], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x18], ecx
jmp 0x4a6b72
mov dword [esp + 0x5c], 0
mov ecx, dword [edx + 0x1f0]
mov eax, dword [edx + 0x14]
sub ecx, edi
dec ecx
mov dword [esp + 0x48], ecx
cmp ebx, 2
jne 0x4a6af2
mov edx, dword [edx + 0x18]
xor ebx, ebx
shr edx, 1
and edx, 1
mov dword [esp + 0x68], edx
test eax, eax
jle 0x4a6af8
mov ecx, edx
xor ecx, 1
xor edi, edi
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x20]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.00494590
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a788b
mov eax, dword [esp + 0x20]
inc ebx
mov ecx, dword [esp + 0x40]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x4a6ab0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x68]
jmp 0x4a6af8
xor edx, edx
mov dword [esp + 0x68], edx
xor ebx, ebx
test eax, eax
mov eax, dword [esp + 0x20]
jle 0x4a6b39
xor edi, edi
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.00494860
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a788b
mov eax, dword [esp + 0x20]
inc ebx
mov ecx, dword [esp + 0x48]
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x4a6b04
mov edx, dword [esp + 0x68]
test edx, edx
je 0x4a6b6a
mov eax, dword [eax + 4]
test eax, eax
je 0x4a6b4f
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x4a6b44
mov ecx, dword [esp + 0x20]
call fcn.004b9910
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
or dword [ecx + 0x18], 2
jmp 0x4a6b76
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x1e8], esi
je 0x4a6bae
mov ebx, dword [esp + 0x20]
mov edx, dword [ebx + 0x1e8]
mov ecx, ebx
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x1e8], eax
call fcn.00480df0
dec dword [ebx + 0x1f0]
cmp dword [ebx + 0x1e8], esi
jne 0x4a6b82
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
cmp ebx, 1
jne 0x4a6bda
mov eax, dword [esi + 0x18]
mov edx, esi
mov dword [ecx + 0x1e8], eax
call fcn.00480df0
cmp dword [esp + 0x5c], 0
jne 0x4a56fc
mov eax, dword [esp + 0x20]
dec dword [eax + 0x1f0]
jmp 0x4a6c0e
cmp dword [esp + 0x5c], 0
mov eax, dword [esi + 8]
mov dword [ecx + 0x1f8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1fc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x200], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x204], eax
je 0x4a6c0e
cmp ebx, 2
jne 0x4a56fc
push edi
mov edi, dword [esp + 0x24]
mov edx, ebx
mov ecx, edi
call fcn.004df100
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a788f
jmp 0x4a968f
mov ebx, dword [ebp + 4]
mov ecx, dword [ebp + 8]
test ebx, ebx
je 0x4a6c6c
mov al, byte [edi + 0x3f]
test al, al
jne 0x4a6c6c
test ecx, ecx
jne 0x4a6c6f
cmp dword [edi + 0x9c], ecx
jle 0x4a6c6f
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
mov dword [esp + 0x18], 5
push eax
push dword [esp + 0x18]
call fcn.0049d550
add esp, 8
jmp 0x4a968b
mov al, byte [edi + 0x3f]
movzx eax, al
cmp ebx, eax
jne 0x4a983c
test ebx, ebx
jne 0x4a6c85
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4a6c94
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
push dword [esp + 0x18]
mov dword [esp + 0x20], 1
call fcn.0049d550
add esp, 8
jmp 0x4a968b
mov edx, dword [ebp + 8]
test edx, edx
je 0x4a6cc2
test dword [edi + 0x18], 0x2000000
jne 0x4a98d0
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x4a6dbb
mov ecx, esi
call fcn.00493630
mov dword [esp + 0x18], eax
cmp al, 5
je 0x4a98de
test eax, eax
jne 0x4a788f
cmp dword [ebp + 8], eax
je 0x4a6d8c
mov ebx, dword [esp + 0x14]
test byte [ebx + 0x58], 0x20
je 0x4a6d8c
cmp byte [edi + 0x3f], al
je 0x4a6d1a
cmp dword [edi + 0x98], 1
jle 0x4a6d8c
mov eax, dword [ebx + 0x68]
test eax, eax
jne 0x4a6d36
mov eax, dword [edi + 0x1f0]
inc dword [edi + 0x1f4]
add eax, dword [edi + 0x1f4]
mov dword [ebx + 0x68], eax
dec eax
xor edx, edx
push eax
mov ecx, edi
call fcn.004df100
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x4a6d5c
mov edx, dword [ebx + 0x68]
mov ecx, esi
call fcn.00494800
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x1f8]
mov dword [ebx + 0x98], eax
mov eax, dword [edi + 0x1fc]
mov dword [ebx + 0x9c], eax
mov eax, dword [edi + 0x200]
mov dword [ebx + 0xa0], eax
mov eax, dword [edi + 0x204]
mov dword [ebx + 0xa4], eax
lea eax, [esp + 0xc4]
mov edx, 1
push eax
mov ecx, esi
call fcn.0049a050
mov ecx, dword [ebp + 4]
add esp, 4
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0xc4]
jmp 0x4a6dc6
xor eax, eax
xor ecx, ecx
mov dword [esp + 0xc4], eax
cmp byte [ebp + 3], 0
je 0x4a968b
cmp eax, dword [ebp + 0xc]
jne 0x4a6dde
cmp ecx, dword [ebp + 0x10]
je 0x4a968b
mov ebx, dword [esp + 0x14]
mov ecx, edi
mov edx, dword [ebx + 0x2c]
call fcn.00480df0
mov edx, str.database_schema_has_changed
mov ecx, edi
call fcn.00481230
mov dword [ebx + 0x2c], eax
mov edx, dword [ebp + 4]
mov ecx, edx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [esp + 0xc4]
je 0x4a6e1b
mov ecx, edi
call fcn.004b98d0
mov ecx, ebx
mov eax, 0x11
mov dword [esp + 0x18], eax
or dword [ecx + 0x58], 8
jmp case.0x4a4928.62
mov ecx, dword [edi + 0x10]
lea eax, [esp + 0xf4]
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0049a050
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, ebp
call fcn.004a47e0
mov ecx, eax
mov eax, dword [esp + 0xf4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
shl edi, 4
add edi, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0049c4d0
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
push dword [esi]
or ax, 4
mov word [esi + 8], ax
mov edx, dword [ebp + 8]
mov ecx, dword [edi + 4]
call fcn.0049a0b0
mov dword [esp + 0x1c], eax
add esp, 4
mov eax, dword [ebp + 8]
cmp eax, 1
jne 0x4a6eeb
mov ecx, dword [edi + 0xc]
mov edi, dword [esp + 0x20]
mov eax, dword [esi]
mov dword [ecx], eax
or dword [edi + 0x18], 2
jmp 0x4a6efc
cmp eax, 2
jne 0x4a6ef8
mov ecx, dword [edi + 0xc]
mov al, byte [esi]
mov byte [ecx + 0x4c], al
mov edi, dword [esp + 0x20]
cmp dword [ebp + 4], 1
jne 0x4a968b
mov eax, dword [edi + 4]
test eax, eax
je 0x4a6f1b
nop dword [eax]
or dword [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x4a6f10
mov ecx, dword [esp + 0x14]
and dword [ecx + 0x58], 0xfffffff7
mov eax, dword [esp + 0x18]
jmp case.0x4a4928.62
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x4a6f49
mov eax, dword [esi + 0x20]
cmp eax, dword [ebp + 8]
je 0x4a7068
mov ecx, dword [esp + 0x14]
test byte [ecx + 0x58], 8
jne 0x4a992d
mov ecx, dword [ebp + 8]
xor edi, edi
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [esp + 0x48], ecx
mov eax, esi
mov ecx, dword [esp + 0x20]
shl eax, 4
mov dword [esp + 0x40], esi
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x48]
cmp dl, 0x37
jne 0x4a6fa1
mov eax, dword [eax + 0xc]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x50], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x4a6fa5
mov byte [edx + 0x57], al
jmp 0x4a6fa5
mov dword [esp + 0x50], ebx
test byte [ebp + 3], 4
je 0x4a6fe8
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x2c]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0049c4d0
mov dword [esi], eax
mov ecx, 0xbe04
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esi]
mov dword [esp + 0x48], eax
cmp eax, 2
jl 0x4a990a
mov esi, dword [esp + 0x40]
mov al, byte [ebp + 1]
cmp al, 0xfa
jne 0x4a6ffe
mov ebx, dword [ebp + 0x10]
movzx edi, word [ebx + 8]
movzx eax, word [ebx + 6]
add edi, eax
jmp 0x4a7005
cmp al, 0xf2
jne 0x4a7005
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x14]
push 1
push esi
push edi
call fcn.004a44f0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4a6478
push dword [esi]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x64]
or dword [esi + 0x1c], 8
push ebx
push dword [esp + 0x58]
mov byte [esi + 0x19], 1
mov dword [esi + 0x20], edx
call fcn.004948f0
mov edi, dword [esp + 0x2c]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x18], eax
mov dword [esi + 8], ebx
mov eax, 4
cmp byte [ebp + 1], 0xfa
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 0x1c], ecx
mov cl, byte [ebp + 3]
mov eax, dword [esi]
and cl, 3
mov byte [eax + 0x43], cl
jmp 0x4a968b
mov edx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.004a44f0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4a647c
or dword [esi + 0x1c], 1
lea edi, [esi + 4]
mov byte [esi + 0x19], 1
xor edx, edx
movzx eax, byte [ebp + 3]
push 0x41e
or eax, 5
push eax
mov eax, dword [esp + 0x28]
push edi
push eax
mov ecx, dword [eax]
call fcn.004925f0
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a7146
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.00493630
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a7146
mov ebx, dword [ebp + 0x10]
mov ecx, dword [edi]
test ebx, ebx
je 0x4a712b
movzx eax, byte [ebp + 3]
lea edx, [esp + 0xf8]
or eax, 2
push eax
call fcn.00499a60
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a7125
push dword [esi]
mov edx, dword [esp + 0xfc]
mov ecx, dword [edi]
push ebx
push 1
mov dword [esi + 8], ebx
call fcn.004948f0
add esp, 0xc
mov dword [esp + 0x18], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x4a7146
push dword [esi]
mov edx, 1
push 0
push 1
call fcn.004948f0
add esp, 0xc
mov dword [esp + 0x18], eax
or dword [esi + 0x1c], 4
mov edi, dword [esp + 0x20]
xor ecx, ecx
cmp byte [ebp + 3], 8
mov eax, 8
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffff7
or ecx, eax
mov dword [esi + 0x1c], ecx
jmp 0x4a968b
mov edx, dword [ebp + 4]
push 1
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.004a44f0
add esp, 0xc
test eax, eax
je 0x4a647c
mov ecx, dword [ebp + 0x10]
mov dword [eax + 8], ecx
mov ecx, edi
mov edx, dword [ebp + 0xc]
push eax
call fcn.004ab2a0
add esp, 4
mov dword [esp + 0x18], eax
jmp 0x4a968f
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x2c], eax
je 0x4a5beb
jmp 0x4a698a
mov edx, dword [ebp + 4]
push 0
push 0xffffffffffffffff
push dword [ebp + 0xc]
call fcn.004a44f0
add esp, 0xc
test eax, eax
je 0x4a647c
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov byte [eax + 0x19], 1
mov ecx, dword [ebp + 8]
or dword [eax + 0x1c], 4
add ebp, 0x14
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov edx, dword [ecx + 0x38]
mov edx, dword [edx + eax*4]
call fcn.0049efe0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x24], ebp
mov dword [eax + ecx*4], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x4a4900
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x2c]
test byte [edi + 0x1c], 4
mov byte [edi + 0x19], 0
je 0x4a730e
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov al, byte [ecx + 8]
and al, 0xe
mov dword [esp + 0x48], ecx
cmp al, 2
jne 0x4a728e
xor edx, edx
call fcn.004a45d0
mov ecx, dword [esp + 0x48]
call fcn.0049c4d0
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x68], edx
movzx ecx, word [eax + 8]
test cl, 4
jne 0x4a72de
test cl, 8
je 0x4a5beb
mov ecx, dword [esp + 0x50]
call fcn.006824f0
mov eax, dword [esp + 0x48]
movsd xmm1, qword [eax]
comisd xmm0, xmm1
jbe 0x4a72d2
test bl, 1
cmovne esi, ebx
mov ebx, esi
jmp 0x4a72de
comisd xmm1, xmm0
jbe 0x4a72de
test bl, 1
je 0x4a72de
inc ebx
mov esi, dword [esp + 0x50]
lea eax, [esp + 0x74]
mov ecx, dword [edi]
xor edx, edx
push eax
push 0
push dword [esp + 0x70]
push esi
call fcn.00495500
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 0x30], esi
jmp 0x4a7377
mov eax, dword [edi + 8]
mov dword [esp + 0x164], eax
mov ax, word [ebp + 0x10]
mov word [esp + 0x168], ax
lea eax, [ebx - 1]
test al, 1
sete al
lea eax, [eax*2 - 1]
mov byte [esp + 0x16a], al
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [esp + 0x16c], ecx
test word [ecx + 8], ax
je 0x4a735a
call fcn.0049c160
mov ecx, dword [edi]
lea eax, [esp + 0x74]
push eax
push 0
push 0
push 0
lea edx, [esp + 0x174]
call fcn.00495500
mov dword [esp + 0x28], eax
add esp, 0x10
test eax, eax
jne 0x4a788b
mov byte [edi + 0x1a], al
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x74]
cmp ebx, 0x41
jl 0x4a73c3
test eax, eax
js 0x4a73ad
jne 0x4a739c
cmp ebx, 0x42
je 0x4a73ad
mov edi, dword [esp + 0x20]
mov dword [esp + 0x74], 0
jmp 0x4a968b
lea eax, [esp + 0x74]
mov dword [esp + 0x74], 0
push eax
push dword [edi]
call fcn.00495b70
jmp 0x4a73f3
test eax, eax
jg 0x4a73df
jne 0x4a73ce
cmp ebx, 0x3f
je 0x4a73df
mov ecx, dword [edi]
call fcn.00495a40
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x18]
jmp 0x4a7402
lea eax, [esp + 0x74]
mov dword [esp + 0x74], 0
push eax
push dword [edi]
call fcn.00495d00
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a788b
cmp dword [esp + 0x74], 0
mov edi, dword [esp + 0x20]
jne 0x4a5bef
jmp 0x4a968f
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x2c]
mov byte [esi + 0x19], 0
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0049c4d0
mov ecx, dword [esp + 0x14]
add ebp, 0x14
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x34], edx
mov dh, byte [esp + 0x28]
mov byte [esi + 0x1a], 1
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x50], ecx
mov dword [esp + 0xf0], 0
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [ebp + 0x10]
movzx edx, ax
test eax, eax
jle 0x4a74fa
mov eax, dword [ecx + 8]
xor edi, edi
mov dword [esp + 0x150], eax
xor eax, eax
mov word [esp + 0x154], dx
mov dword [esp + 0x158], ebx
cmp ax, dx
jae 0x4a74ed
xor esi, esi
mov ebp, 0x4000
nop dword [eax + eax]
test word [esi + ebx + 8], bp
lea ecx, [esi + ebx]
je 0x4a74de
call fcn.0049c160
mov ebx, dword [esp + 0x158]
mov dx, word [esp + 0x154]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x4a74c0
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x50]
lea esi, [esp + 0x150]
jmp 0x4a754b
mov ecx, dword [ecx + 8]
lea eax, [esp + 0xf0]
push eax
push 0xbf
lea edx, [esp + 0x250]
call fcn.004a0930
mov esi, eax
add esp, 8
test esi, esi
je 0x4a647c
mov eax, 0x4000
test word [ebx + 8], ax
je 0x4a7535
mov ecx, ebx
call fcn.0049c160
mov edx, dword [ebx + 0xc]
push esi
push dword [ebx + 0x10]
mov ebx, dword [esp + 0x58]
mov ecx, dword [ebx + 8]
call fcn.004a09a0
add esp, 8
mov byte [esi + 6], 0
xor edi, edi
cmp byte [ebp], 0x44
jne 0x4a757b
movzx edx, word [esi + 4]
xor ecx, ecx
test edx, edx
je 0x4a757b
mov eax, dword [esi + 8]
add eax, 8
test byte [eax], 1
jne 0x4a7576
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x4a7567
jmp 0x4a757b
mov edi, 1
mov ecx, dword [ebx]
lea eax, [esp + 0xd4]
push eax
push 0
push 0
push 0
mov edx, esi
call fcn.00495500
mov edx, dword [esp + 0x100]
add esp, 0x10
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
call fcn.00480df0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4a5700
mov eax, dword [esp + 0xd4]
xor ecx, ecx
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0xd4]
test eax, eax
mov byte [ebx + 0x1a], 0
sete cl
mov dword [ebx + 0x3c], 0
test eax, eax
setne al
mov byte [ebx + 0x19], al
cmp byte [ebp], 0x46
jne 0x4a75f3
test ecx, ecx
jne 0x4a5beb
jmp 0x4a698a
test edi, edi
jne 0x4a5beb
test ecx, ecx
je 0x4a5beb
jmp 0x4a698a
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebx]
lea eax, [eax + eax*4]
mov dword [esp + 0xc8], 0
mov esi, dword [edx + eax*8]
mov edi, dword [edx + eax*8 + 4]
lea eax, [esp + 0xc8]
push eax
push 0
push edi
push esi
xor edx, edx
call fcn.00495500
mov dword [ebx + 0x30], esi
add esp, 0x10
mov dword [ebx + 0x34], edi
mov word [ebx + 0x19], 0
mov dword [ebx + 0x3c], 0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc8]
mov dword [ebx + 0xc], eax
cmp dword [esp + 0xc8], 0
je 0x4a56fc
cmp dword [ebp + 8], 0
jne 0x4a5beb
mov ecx, 0x12c73
call fcn.004f0770
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], eax
jmp 0x4a968f
mov edx, ebp
call fcn.004a47e0
mov ebx, dword [esp + 0x14]
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x38]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x28]
mov dword [eax], ecx
mov ecx, dword [edx + 0x2c]
mov dh, byte [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, ebx
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
add ebp, 0x14
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
xorps xmm0, xmm0
mov dword [esp + 0xa8], 0
mov edx, ebp
movlpd qword [esp + 0x78], xmm0
call fcn.004a47e0
mov esi, dword [esp + 0x14]
mov ebx, eax
mov edx, dword [ebp + 4]
mov ecx, dword [esi + 0x38]
mov edi, dword [ecx + edx*4]
test byte [edi + 0x1c], 2
jne 0x4a777e
mov ecx, dword [edi]
lea edx, [esp + 0xa8]
call fcn.004954a0
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a993a
cmp dword [esp + 0xa8], eax
je 0x4a7744
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], eax
jmp 0x4a777e
mov ecx, dword [edi]
lea edx, [esp + 0x78]
call fcn.00494b90
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
cmp ecx, 0x7fffffff
jl 0x4a7770
jg 0x4a776a
cmp eax, 0xffffffff
jb 0x4a7770
or dword [edi + 0x1c], 2
jmp 0x4a777e
add eax, 1
mov dword [esp + 0x78], eax
adc ecx, 0
mov dword [esp + 0x7c], ecx
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4a7814
mov edx, dword [esi + 0xb0]
test edx, edx
je 0x4a77b4
mov eax, dword [edx + 4]
test eax, eax
je 0x4a77a9
nop word [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4a77a0
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x4a77be
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x2c]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0049c680
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x4a77db
cmp edx, 0x7fffffff
je 0x4a7882
test byte [edi + 0x1c], 2
jne 0x4a7882
add ecx, 1
adc edx, 0
cmp dword [esp + 0x7c], edx
jg 0x4a7807
jl 0x4a77fb
mov eax, dword [esp + 0x78]
cmp eax, ecx
jae 0x4a780b
mov eax, ecx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
jmp 0x4a780b
mov eax, dword [esp + 0x78]
mov dword [esi], eax
mov eax, dword [esp + 0x7c]
mov dword [esi + 4], eax
test byte [edi + 0x1c], 2
je 0x4a78ab
xor esi, esi
lea eax, [esp + 0x78]
push eax
push 8
call fcn.00482fd0
mov eax, dword [esp + 0x84]
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0x80]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [esp + 0x84], ecx
push 0
push eax
mov dword [esp + 0x90], eax
xor edx, edx
push ecx
mov ecx, dword [edi]
call fcn.00495500
add esp, 0x18
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a78ab
cmp dword [esp + 0xa8], eax
jne 0x4a78ab
inc esi
cmp esi, 0x64
jl 0x4a7820
mov eax, 0xd
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
cmp byte [edi + 0x41], 0
je 0x4a994e
mov eax, 7
mov dword [esp + 0x18], eax
jmp 0x4a9959
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x20]
mov dword [ebx], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 4], eax
jmp 0x4a968b
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0xc]
cmp dl, 0x54
jne 0x4a78fb
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
mov edi, dword [edx + eax*8]
mov eax, dword [edx + eax*8 + 4]
jmp 0x4a7904
cdq
mov edi, eax
mov eax, edx
mov edx, dword [esp + 0x2c]
mov cl, byte [ebp + 3]
mov dword [esp + 0x50], eax
test cl, 1
je 0x4a7916
inc dword [ebx + 0x5c]
mov cl, byte [ebp + 3]
test cl, 2
je 0x4a7933
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
movzx eax, word [edx + esi*8 + 8]
test al, 1
je 0x4a794c
mov dword [edx + esi*8 + 0x10], 0
mov dword [edx + esi*8 + 0xc], 0
mov bl, byte [ebp + 3]
test bl, 0x10
je 0x4a795d
mov edx, dword [esp + 0x60]
mov edx, dword [edx + 0xc]
jmp 0x4a795f
xor edx, edx
test eax, 0x4000
je 0x4a796f
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + esi*8]
jmp 0x4a7971
xor ecx, ecx
push edx
movzx eax, bl
xor edx, edx
mov ebx, dword [esp + 0x64]
shr eax, 3
and eax, 1
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [ebx]
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 0x10]
mov esi, dword [esp + 0x64]
push esi
push edi
call fcn.00499130
add esp, 0x1c
mov dword [esp + 0x18], eax
mov byte [ebx + 0x1a], 0
mov dword [ebx + 0x3c], 0
test eax, eax
jne 0x4a5700
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xd4]
test edx, edx
je 0x4a9685
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4a9681
movsx ecx, byte [ebx + 0x18]
push esi
push edi
mov edi, dword [esp + 0x28]
add ecx, ecx
test byte [ebp + 3], 4
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
mov ecx, 0x17
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [edi + 0xd0]
call edx
add esp, 0x18
jmp 0x4a968b
cmp dword [edi + 0xd4], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
je 0x4a7a2e
cmp dword [ebp + 0x10], 0
je 0x4a7a2e
test byte [esi + 0x1c], 4
je 0x4a7a2e
mov bl, 1
jmp 0x4a7a30
xor bl, bl
mov al, byte [ebp + 3]
test al, al
je 0x4a7a48
test bl, bl
je 0x4a7a48
mov ecx, dword [esi]
lea edx, [esi + 0x30]
call fcn.00494b90
mov al, byte [ebp + 3]
mov ecx, dword [esi]
movzx edx, al
call fcn.00499380
mov dword [esp + 0x18], eax
mov dword [esi + 0x3c], 0
test eax, eax
jne 0x4a7a91
test bl, bl
je 0x4a7a91
push dword [esi + 0x34]
movsx ecx, byte [esi + 0x18]
push dword [esi + 0x30]
mov eax, dword [edi + 0x10]
add ecx, ecx
push dword [ebp + 0x10]
push dword [eax + ecx*8]
mov eax, dword [edi + 0xd4]
push 9
push dword [edi + 0xd0]
call eax
mov eax, dword [esp + 0x30]
add esp, 0x18
test byte [ebp + 8], 1
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
je 0x4a9697
inc dword [ecx + 0x5c]
jmp 0x4a9697
mov edx, dword [ecx + 0x5c]
mov ecx, edi
call fcn.004a1b30
mov ecx, dword [esp + 0x14]
add ebp, 0x14
mov eax, dword [esp + 0x18]
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [ecx + 0x5c], 0
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xd8], 0
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [esp + 0xd8]
push eax
push dword [ebp + 0x10]
call fcn.004ad440
add esp, 8
mov dword [esp + 0x18], eax
cmp dword [esp + 0xd8], 0
jne 0x4a5bef
jmp 0x4a968f
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.004ad3a0
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, ebx
mov dword [eax + 0x3c], 0
mov eax, dword [esp + 0x18]
jmp case.0x4a4928.62
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + ecx*4]
test byte [ebx + 0x1c], 4
mov edi, dword [ebx]
mov ecx, edi
jne 0x4a7bc4
lea edx, [esp + 0x128]
call fcn.00494b90
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x58]
cdq
cmp dword [esp + 0x12c], edx
jg 0x4a8cab
mov ecx, dword [esp + 0x128]
jl 0x4a7bbb
cmp ecx, eax
ja 0x4a8cab
mov dword [esp + 0xa0], ecx
jmp 0x4a7be4
lea edx, [esp + 0xa0]
call fcn.00494bb0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xa0]
cmp ecx, dword [eax + 0x58]
ja 0x4a8cab
mov edx, 0x20
cmp ecx, edx
cmova edx, ecx
mov ecx, esi
call fcn.0049c0c0
test eax, eax
jne 0x4a6478
mov eax, dword [esp + 0xa0]
mov ecx, 0xbe10
mov dword [esi + 0xc], eax
mov ax, word [esi + 8]
and ax, cx
or ax, 0x10
mov word [esi + 8], ax
test byte [ebx + 0x1c], 4
mov eax, dword [esi + 0x10]
push eax
push dword [esp + 0xa4]
jne 0x4a7c49
xor edx, edx
mov ecx, edi
call fcn.004950d0
mov edi, dword [esp + 0x28]
add esp, 8
mov dword [esp + 0x18], eax
mov byte [esi + 0xa], 1
jmp 0x4a968f
push 0
push edi
call fcn.004950f0
mov edi, dword [esp + 0x30]
add esp, 0x10
mov dword [esp + 0x18], eax
mov byte [esi + 0xa], 1
jmp 0x4a968f
mov edx, ebp
call fcn.004a47e0
mov ebx, dword [esp + 0x14]
mov edi, eax
mov edx, dword [ebp + 4]
mov ecx, dword [ebx + 0x38]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 0x19], 0
je 0x4a7ca8
mov dh, byte [esp + 0x28]
mov eax, 1
mov esi, dword [esp + 0x1c]
add ebp, 0x14
mov word [edi + 8], ax
mov ecx, ebx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
cmp byte [esi + 0x1a], 0
je 0x4a7cc7
mov eax, dword [esi + 0x30]
mov dword [esp + 0xe8], eax
mov eax, dword [esi + 0x34]
mov dword [esp + 0xec], eax
jmp 0x4a7d3f
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x4a7cf2
mov esi, dword [ecx]
lea edx, [esp + 0xe8]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [esp + 0x18], eax
mov edx, esi
mov ecx, ebx
call fcn.004a1b90
jmp 0x4a7d3f
mov ecx, esi
call fcn.004a04b0
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a9943
cmp byte [esi + 0x19], al
je 0x4a7d2d
mov dh, byte [esp + 0x28]
mov ecx, 1
mov esi, dword [esp + 0x1c]
add ebp, 0x14
mov word [edi + 8], cx
mov ecx, ebx
mov edi, dword [esp + 0x20]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov ecx, dword [esi]
lea edx, [esp + 0xe8]
call fcn.00494b90
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xe8]
mov ecx, ebx
mov dword [edi], eax
mov eax, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
jmp case.0x4a4928.62
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
test ecx, ecx
je 0x4a6e68
call fcn.00491100
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xcc]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
mov dword [esp + 0xcc], 0
call fcn.004954a0
mov dword [esp + 0x18], eax
mov al, byte [esp + 0xcc]
mov byte [esi + 0x19], al
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xc], eax
cmp dword [ebp + 8], 0
jle 0x4a968b
cmp dword [esp + 0xcc], 0
jne 0x4a5bef
jmp 0x4a968b
inc dword [ecx + 0x74]
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xac]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov dword [esp + 0xac], 1
cmp dword [esi + 0x38], 0
je 0x4a7e37
mov ecx, esi
call fcn.004ad2a0
jmp 0x4a7e49
mov ecx, dword [esi]
call fcn.00495470
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov dword [esp + 0x18], eax
mov al, byte [esp + 0xac]
mov byte [esi + 0x19], al
cmp dword [esp + 0xac], 0
jne 0x4a5bef
jmp 0x4a968b
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [esp + 0xb0]
push eax
mov edx, esi
mov dword [esp + 0xb4], 0
mov ecx, edi
call fcn.004ad330
add esp, 4
jmp 0x4a7ed7
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x38]
cmp dword [eax + ecx*4], 0
je 0x4a68a7
jmp 0x4a7eb2
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebp + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xb0]
push eax
push dword [esi]
mov eax, dword [ebp + 0x10]
call eax
add esp, 8
mov dword [esp + 0x18], eax
mov dword [esi + 0x3c], 0
cmp dword [esp + 0xb0], 0
jne 0x4a7efd
mov byte [esi + 0x19], 0
movzx eax, byte [ebp + 3]
inc dword [ebx + eax*4 + 0x6c]
jmp case.0x4a4928.14
mov byte [esi + 0x19], 1
jmp 0x4a93c2
test byte [ebp + 3], 1
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x4a7f29
inc dword [edx + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4a7f47
mov ecx, esi
call fcn.0049c160
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a5700
cmp byte [ebp], 0x6e
jne 0x4a7f63
mov edx, esi
mov ecx, edi
call fcn.004ac480
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], eax
jmp 0x4a968f
test byte [ebp + 3], 0x10
je 0x4a7f6e
mov eax, dword [edi + 0xc]
jmp 0x4a7f70
xor eax, eax
mov ecx, dword [edi]
push eax
push dword [ebp + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
cdq
push 0x6e1417
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.00499130
mov dword [edi + 0x3c], 0
add esp, 0x1c
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], eax
jmp 0x4a968f
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x178]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [esp + 0x178], eax
mov ax, word [ebp + 0xc]
mov word [esp + 0x17c], ax
mov eax, dword [ebp + 8]
mov byte [esp + 0x17e], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [esp + 0x180], eax
lea eax, [esp + 0xfc]
push eax
push 0
push 0
push 0
call fcn.00495500
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a8022
cmp dword [esp + 0xfc], eax
jne 0x4a8022
xor edx, edx
mov ecx, edi
call fcn.00499380
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x20]
mov dword [esi + 0x3c], 0
jmp 0x4a968f
mov edx, ebp
call fcn.004a47e0
mov edx, dword [ebp + 4]
mov esi, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
mov eax, 1
mov edi, dword [ecx + edx*4]
mov ecx, edi
mov ebx, dword [edi]
mov word [esi + 8], ax
call fcn.004a04b0
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a788b
cmp byte [edi + 0x19], al
mov edi, dword [esp + 0x20]
jne 0x4a80bb
lea eax, [esp + 0x120]
xorps xmm0, xmm0
push eax
mov edx, ebx
movlpd qword [esp + 0x124], xmm0
mov ecx, edi
call fcn.004a18c0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a788f
mov eax, dword [esp + 0x120]
mov dword [esi], eax
mov eax, dword [esp + 0x124]
mov dword [esi + 4], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
cmp byte [esp + 0x37], 0x74
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esp + 0x2c]
mov eax, dword [edx + 8]
mov dword [esp + 0x18c], eax
mov ax, word [ebp + 0x10]
mov word [esp + 0x190], ax
sbb al, al
mov byte [esp + 0x192], al
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb4], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [esp + 0x194], eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x190]
push eax
call fcn.004a1a10
add esp, 8
mov dword [esp + 0x18], eax
test byte [ebp], 1
mov eax, dword [esp + 0xb4]
jne 0x4a8152
neg eax
jmp 0x4a8153
inc eax
mov dword [esp + 0xb4], eax
test eax, eax
jg 0x4a5bef
jmp 0x4a968b
mov edx, ebp
call fcn.004a47e0
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov ecx, dword [edi + 0xa4]
inc ecx
cmp dword [edi + 0x98], ecx
jg 0x4a9978
mov ebx, dword [ebp + 0xc]
lea eax, [esp + 0xd0]
mov ecx, dword [edi + 0x10]
mov edx, dword [ebp + 4]
push eax
mov eax, ebx
mov dword [esp + 0xd4], 0
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0049a000
mov dword [esp + 0x1c], eax
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [esp + 0xd0]
cdq
mov dword [esi], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 4], edx
test eax, eax
jne 0x4a968f
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4a968b
push dword [ebp + 4]
mov edx, ebx
mov ecx, edi
push eax
call fcn.004bbf20
mov al, bl
add esp, 8
inc al
mov byte [esp + 0x67], al
jmp 0x4a968b
mov edx, dword [ebp + 4]
lea eax, [esp + 0xdc]
xor ecx, ecx
mov dword [esp + 0xdc], 0
cmp dword [ebp + 0xc], ecx
cmove eax, ecx
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [ebp + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00499c70
mov ecx, dword [esp + 0x18]
add esp, 4
cmp dword [ebp + 0xc], 0
mov dword [esp + 0x18], eax
je case.0x4a4928.62
mov eax, dword [esp + 0xdc]
add dword [ecx + 0x5c], eax
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x1c]
test ecx, ecx
jle 0x4a8272
mov ebx, dword [esp + 0x2c]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x4a9697
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x4a82b6
mov ecx, edi
call fcn.004ab7b0
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov ecx, dword [ecx]
call fcn.00499d20
mov dword [esp + 0x18], eax
jmp 0x4a968f
mov edx, ebp
call fcn.004a47e0
mov esi, dword [ebp + 4]
lea edx, [esp + 0xe0]
mov edi, eax
shl esi, 4
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0xe0], 0
add esi, dword [eax + 0x10]
cmp byte [ebp], 0x7a
setne cl
inc ecx
push ecx
mov ecx, dword [esi + 4]
call fcn.00499a60
mov dword [esp + 0x1c], eax
add esp, 4
mov eax, dword [esp + 0xe0]
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
mov edi, dword [esp + 0x20]
jmp 0x4a968b
mov ecx, dword [ebp + 4]
mov edx, str.sqlite_temp_master
mov eax, dword [esp + 0x14]
push dword [ebp + 0x10]
add eax, 0x2c
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x148], eax
cmp ecx, 1
mov eax, str.sqlite_master
mov dword [esp + 0x144], edi
cmove eax, edx
add ecx, ecx
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.00482d00
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x4a8377
mov dword [esp + 0x18], 7
jmp 0x4a83c8
push 0
lea eax, [esp + 0x144]
mov byte [edi + 0x91], 1
push eax
push fcn.004cea40
push esi
push edi
mov dword [esp + 0x160], 0
call fcn.004cad90
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, edi
cmove eax, dword [esp + 0x14c]
mov dword [esp + 0x18], eax
call fcn.00480df0
mov eax, dword [esp + 0x18]
mov byte [edi + 0x91], 0
test eax, eax
je 0x4a83d3
mov ecx, edi
call fcn.004b9910
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, 7
je 0x4a6480
jmp case.0x4a4928.62
mov edx, dword [ebp + 4]
mov ecx, edi
call fcn.004b7f10
mov dword [esp + 0x18], eax
jmp 0x4a968f
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
mov ecx, edi
call fcn.004b9da0
mov eax, dword [esp + 0x1c]
add esp, 4
mov ecx, dword [esp + 0x14]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
mov ecx, edi
call fcn.004b96e0
mov eax, dword [esp + 0x1c]
add esp, 4
mov ecx, dword [esp + 0x14]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
mov ecx, edi
call fcn.004dab10
mov eax, dword [esp + 0x1c]
add esp, 4
mov ecx, dword [esp + 0x14]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov ebx, dword [ebp + 8]
mov ecx, edi
push 0
lea eax, [ebx*4 + 4]
push eax
call fcn.00481060
mov edi, eax
add esp, 8
mov dword [esp + 0x50], edi
test edi, edi
je 0x4a6478
mov ecx, dword [ebp + 0xc]
xor esi, esi
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [esp + 0x40], eax
test ebx, ebx
jle 0x4a84e3
mov ebp, dword [esp + 0x50]
mov edi, eax
mov ecx, edi
call fcn.0049c4d0
mov dword [ebp + esi*4], eax
add edi, 0x28
inc esi
cmp esi, ebx
jl 0x4a84c8
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0xe4]
push eax
mov eax, dword [esp + 0x64]
mov edx, edi
mov dword [edi + esi*4], 0
push dword [ecx + eax*8]
movzx eax, byte [ebp + 3]
push ebx
mov ebx, dword [esp + 0x2c]
add eax, eax
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0049acd0
add esp, 0xc
mov edx, edi
mov ecx, ebx
mov esi, eax
call fcn.00480df0
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x40]
cdq
sub dword [ebx + ecx*8], eax
sbb dword [ebx + ecx*8 + 4], edx
mov ecx, edi
call fcn.0049c8e0
cmp dword [esp + 0xe4], 0
je 0x4a856d
test esi, esi
je 0x4a6478
push fcn.00480d40
push 1
push 0xffffffffffffffff
mov edx, esi
mov ecx, edi
call fcn.0049cb50
add esp, 0xc
movzx edx, byte [esp + 0x28]
mov ecx, edi
call fcn.0049bf70
jmp 0x4a698a
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 0x20
lea esi, [ebx + eax*8]
mov eax, dword [ebp + 8]
lea edi, [eax + eax*4]
jne 0x4a85a9
mov ecx, esi
call fcn.0049c970
test byte [esi + 8], 0x20
je 0x4a6478
push dword [ebx + edi*8 + 4]
mov ecx, dword [esi]
push dword [ebx + edi*8]
call fcn.00489770
add esp, 8
jmp 0x4a698a
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 0x20
lea esi, [ebx + eax*8]
je 0x4a8609
mov ecx, dword [esi]
lea edx, [esp + 0x130]
call fcn.00489a80
test eax, eax
je 0x4a8609
mov eax, dword [ebp + 0xc]
push dword [esp + 0x134]
push dword [esp + 0x134]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.0049c930
add esp, 8
jmp 0x4a93c2
mov ecx, esi
call fcn.0049c8e0
jmp case.0x4a4928.14
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebp + 0xc]
lea edi, [eax + eax*4]
jne 0x4a8647
mov ecx, esi
call fcn.0049c970
test byte [esi + 8], 0x20
je 0x4a6478
mov ecx, dword [esp + 0x2c]
test ebx, ebx
je 0x4a8668
push dword [ecx + edi*8 + 4]
mov edx, ebx
push dword [ecx + edi*8]
mov ecx, dword [esi]
call fcn.00489ae0
add esp, 8
test eax, eax
jne 0x4a5beb
test ebx, ebx
js 0x4a698a
mov ebx, dword [esp + 0x2c]
jmp 0x4a85a9
cmp byte [ebp + 3], 0
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x2c]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x48], esi
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
je 0x4a86b6
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x4a86b2
cmp dword [eax + 0x1c], ecx
je 0x4a6e68
mov eax, dword [eax + 4]
test eax, eax
jne 0x4a86a2
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xb8]
cmp eax, dword [edi + 0x80]
jge 0x4a9991
test byte [ebx + 8], 0x40
jne 0x4a87b4
mov ecx, dword [esi + 0xc]
mov esi, dword [esi + 8]
add esi, ecx
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
lea eax, [eax + ecx*4]
mov ecx, edi
cdq
push edx
push eax
call fcn.00481030
mov edi, eax
add esp, 8
test edi, edi
je 0x4a6478
mov ecx, ebx
call fcn.0049c4b0
mov ecx, dword [esp + 0x48]
mov eax, 0x40
mov word [ebx + 8], ax
sub ebp, dword [esp + 0x3c]
mov dword [ebx], edi
mov ebx, dword [esp + 0x14]
mov dword [edi], ebx
mov dword [edi + 0x3c], esi
mov eax, dword [ecx + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
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 [ecx + 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, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x50]
cmp eax, ecx
je 0x4a87a4
mov edx, dword [esp + 0x20]
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x4a8796
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x48]
mov eax, dword [ecx + 0xb8]
jmp 0x4a87b6
mov edi, dword [ebx]
inc eax
lea ebx, [edi + 0x28]
mov dword [ecx + 0xb8], eax
mov eax, dword [ecx + 0xb0]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x8c]
mov dword [edi + 0x24], eax
mov eax, dword [ecx + 0x5c]
mov dword [edi + 0x44], eax
mov eax, dword [ecx]
mov dword [esp + 0x2c], ebx
mov eax, dword [eax + 0x50]
mov dword [edi + 0x48], eax
mov dword [ecx + 8], ebx
mov dword [ecx + 0x5c], 0
mov dword [ecx + 0xb0], edi
mov eax, dword [edi + 0x3c]
mov dword [ecx + 0x1c], eax
movzx edx, word [edi + 0x40]
mov dword [ecx + 0x24], edx
lea eax, [eax + eax*4]
lea eax, [eax + 5]
lea ecx, [ebx + eax*8]
mov ebx, dword [esp + 0x14]
mov dword [ebx + 0x38], ecx
lea ecx, [ecx + edx*4]
mov edi, dword [esi]
mov dword [ebx + 4], edi
mov eax, dword [esi + 4]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0xc8], ecx
mov eax, dword [esi + 0x10]
push eax
push 0
push ecx
mov dword [esp + 0x48], edi
mov dword [ebx + 0xc4], eax
call fcn.006440e0
mov eax, dword [esp + 0x24]
mov ebp, edi
mov edi, dword [esp + 0x2c]
add esp, 0xc
mov dh, byte [esp + 0x28]
mov ecx, ebx
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov edx, ebp
call fcn.004a47e0
mov esi, eax
mov eax, dword [esp + 0x14]
push 0x1000
mov eax, dword [eax + 0xb0]
mov ecx, dword [eax + 0x2c]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4 + 4]
add ecx, dword [ebp + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.0049ca90
mov eax, dword [esp + 0x1c]
add esp, 4
mov ecx, dword [esp + 0x14]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
test dword [edi + 0x18], 0x1000000
mov eax, dword [ebp + 8]
cdq
je 0x4a88ee
add dword [edi + 0x200], eax
mov eax, dword [esp + 0x18]
adc dword [edi + 0x204], edx
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
cmp dword [ebp + 4], 0
je 0x4a8918
add dword [edi + 0x1f8], eax
mov eax, dword [esp + 0x18]
adc dword [edi + 0x1fc], edx
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
add dword [ecx + 0x90], eax
mov eax, dword [esp + 0x18]
adc dword [ecx + 0x94], edx
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
cmp dword [ebp + 4], 0
je 0x4a8976
mov eax, dword [edi + 0x1f8]
or eax, dword [edi + 0x1fc]
jne 0x4a8962
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x4a5bef
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ecx + 0x90]
or eax, dword [ecx + 0x94]
jmp 0x4a894e
mov edx, dword [ecx + 0xb0]
test edx, edx
je 0x4a89b0
mov eax, dword [edx + 4]
test eax, eax
je 0x4a899e
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4a8995
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x4a89bd
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ecx, edi
call fcn.0049c680
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.0049c680
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x4a698a
jl 0x4a89ec
cmp dword [edi], eax
jae 0x4a698a
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4a698a
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8 + 4]
mov ecx, dword [ebx + esi*8]
test edi, edi
jl 0x4a518c
jg 0x4a8a19
test ecx, ecx
je 0x4a518c
mov eax, dword [ebp + 0xc]
cdq
sub ecx, eax
mov dword [ebx + esi*8], ecx
sbb edi, edx
mov dword [ebx + esi*8 + 4], edi
jmp 0x4a5beb
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
cmp dword [ebx + eax*8 + 4], 0
jg 0x4a8a5c
jl 0x4a8a46
cmp dword [ebx + eax*8], 0
ja 0x4a8a5c
mov edx, ebp
call fcn.004a47e0
mov ecx, eax
mov eax, dword [ebp + 0xc]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea edi, [eax + eax*4]
mov ecx, dword [ebx + edi*8]
mov eax, ecx
mov esi, dword [ebx + edi*8 + 4]
or eax, esi
je 0x4a518c
mov eax, dword [ebp + 0xc]
cdq
sub ecx, eax
mov dword [ebx + edi*8], ecx
sbb esi, edx
mov dword [ebx + edi*8 + 4], esi
jmp 0x4a5beb
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
add dword [ebx + ecx*8], 0xffffffff
mov eax, dword [ebx + ecx*8]
adc dword [ebx + ecx*8 + 4], 0xffffffff
or eax, dword [ebx + ecx*8 + 4]
je 0x4a5bef
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea esi, [eax + eax*4]
mov edi, dword [ebx + esi*8]
mov ecx, edi
mov edx, dword [ebx + esi*8 + 4]
add ecx, 1
mov eax, edx
mov dword [ebx + esi*8], ecx
adc eax, 0
or edi, edx
mov dword [ebx + esi*8 + 4], eax
je 0x4a5beb
jmp 0x4a698a
mov bl, byte [ebp + 3]
mov ecx, edi
movzx eax, bl
cdq
add eax, 7
adc edx, 0
shld edx, eax, 2
shl eax, 2
push edx
push eax
call fcn.00481060
mov esi, eax
add esp, 8
test esi, esi
je 0x4a647c
mov dword [esi + 8], 0
mov eax, 0x66666667
mov ecx, dword [ebp + 0x10]
mov dword [esi + 4], ecx
mov ecx, ebp
sub ecx, dword [esp + 0x3c]
imul ecx
mov byte [esi + 0x1a], bl
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov word [ebp], 0xec90
mov dword [ebp + 0x10], esi
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x2c]
mov esi, dword [ebp + 0x10]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
cmp dword [esi + 8], edi
je 0x4a8bab
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x4a8bab
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebp + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x4a8b95
inc dword [edi + 0xc]
lea ecx, [esp + 0x210]
mov edi, dword [esp + 0x20]
mov edx, edi
push 1
call fcn.0049c8c0
mov ecx, dword [esi + 4]
lea eax, [esp + 0x214]
add esp, 4
mov dword [esi], eax
lea eax, [esi + 0x1c]
mov word [esi + 0x18], 0
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov eax, dword [ecx + 0x10]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x4a8c2a
cmp dword [esi + 0x14], 0
je 0x4a8c1e
lea eax, [esp + 0x210]
push eax
call fcn.004a20f0
add esp, 4
push eax
push 0x6eea3c
push dword [esp + 0x1c]
call fcn.0049d550
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x210]
call fcn.0049c4b0
cmp byte [esi + 0x18], 0
je 0x4a968b
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4a968b
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.0049c930
add esp, 8
jmp 0x4a968b
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0049c2e0
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a8c90
push esi
call fcn.004a20f0
add esp, 4
push eax
push 0x6eea3c
push dword [esp + 0x1c]
call fcn.0049d550
add esp, 0xc
movzx edx, byte [esp + 0x28]
mov ecx, esi
call fcn.0049bf70
mov ecx, esi
call fcn.0049ca40
test eax, eax
je 0x4a968b
push str.string_or_blob_too_big
push dword [esp + 0x18]
call fcn.0049d550
mov edi, dword [esp + 0x28]
mov eax, 0x12
jmp 0x4a6494
mov edx, dword [ebp + 4]
lea eax, [esp + 0x244]
push eax
lea eax, [esp + 0x244]
mov dword [esp + 0x240], 0
push eax
push dword [ebp + 8]
mov ecx, edi
mov dword [esp + 0x250], 0xffffffff
mov dword [esp + 0x24c], 0xffffffff
call fcn.004ef150
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x18], ecx
cmp ecx, 5
jne 0x4a8d26
mov dword [esp + 0x18], 0
mov dword [esp + 0x23c], 1
mov eax, dword [ebp + 0xc]
xor esi, esi
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esp + esi*4 + 0x23c]
mov ecx, edi
cdq
push edx
push eax
call fcn.0049c930
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x4a8d35
mov edi, dword [esp + 0x20]
jmp 0x4a968b
mov edx, ebp
call fcn.004a47e0
mov edx, dword [ebp + 4]
mov ecx, dword [edi + 0x10]
add edx, edx
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [esp + 0x40], eax
call fcn.0049a2b0
mov ebx, eax
mov ecx, ebx
call fcn.0048e760
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.0048e770
test eax, eax
mov edx, 1
mov ecx, ebx
cmove esi, edi
call fcn.0048e340
cmp esi, 5
jne 0x4a8dcc
mov ecx, eax
call fcn.00483750
test eax, eax
je 0x4a8e3a
mov ecx, ebx
call fcn.0048e7a0
test eax, eax
je 0x4a8e3a
cmp esi, edi
je 0x4a8e3c
cmp edi, 5
je 0x4a8dde
cmp esi, 5
jne 0x4a8e3c
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x3f], 0
je 0x4a99b4
cmp dword [eax + 0x98], 1
jg 0x4a99b4
cmp edi, 5
jne 0x4a8e11
mov ecx, ebx
call fcn.0048e9d0
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a8e3a
mov edx, esi
jmp 0x4a8e19
cmp edi, 4
jne 0x4a8e20
lea edx, [edi - 2]
mov ecx, ebx
call fcn.0048e650
mov ecx, dword [esp + 0x40]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.0049b2c0
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a8e3c
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.0048e650
mov ebx, dword [esp + 0x50]
mov ecx, 0xa02
mov word [ebx + 8], cx
mov ecx, eax
call fcn.004cbfa0
mov ecx, eax
mov dword [ebx + 0x10], eax
call fcn.00483750
movzx edx, byte [esp + 0x28]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.0049bf70
mov edi, dword [esp + 0x20]
jmp 0x4a968b
add ecx, 0x2c
mov edx, edi
call fcn.004dd930
mov dword [esp + 0x18], eax
jmp 0x4a968f
mov ecx, dword [ebp + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00494040
mov dword [esp + 0x18], eax
cmp eax, 0x65
jne 0x4a968f
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], 0
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebp, [ecx + eax*4]
jmp 0x4a968b
cmp dword [ebp + 4], 0
jne 0x4a8ef6
mov ecx, edi
call fcn.004a1b40
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov ecx, dword [esp + 0x14]
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
or dword [ecx + 0x58], 8
add ebp, 0x14
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov al, byte [ebp + 0xc]
mov byte [esp + 0x100], al
test al, al
jne 0x4a8f25
test dword [edi + 0x18], 0x4000
jne 0x4a6f23
mov eax, dword [ebp + 4]
mov ecx, dword [edi + 0x10]
add eax, eax
push dword [esp + 0x100]
mov edx, dword [ebp + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0049b190
add esp, 4
mov dword [esp + 0x18], eax
cmp al, 6
jne 0x4a968f
push dword [ebp + 0x10]
push str.database_table_is_locked:__s
push dword [esp + 0x1c]
call fcn.0049d550
add esp, 0xc
jmp 0x4a968b
mov esi, dword [ebp + 0x10]
mov ecx, edi
mov edx, esi
call fcn.004deff0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
test esi, esi
je case.0x4a4928.62
mov edx, dword [esi + 8]
call fcn.004a1b90
jmp 0x4a968b
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x2c]
movq qword [esp + 0x1e8], xmm0
movups xmmword [esp + 0x1c8], xmm0
lea eax, [eax + eax*4]
mov dword [esp + 0x1e8], edi
lea edx, [ecx + eax*8]
lea ecx, [esp + 0x1c8]
movups xmmword [esp + 0x1d8], xmm0
call fcn.0049cae0
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1c8]
push eax
call fcn.004a20f0
add esp, 4
test eax, eax
je 0x4a8fff
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 4]
add ecx, 0x2c
push ecx
push eax
mov ecx, edi
call fcn.004deb50
add esp, 8
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x1c8]
call fcn.0049c4b0
jmp 0x4a968b
inc dword [edi + 0xa4]
mov ecx, edi
push dword [ebp + 0x10]
mov edx, dword [ebp + 4]
call fcn.004dee90
add esp, 4
mov dword [esp + 0x18], eax
dec dword [edi + 0xa4]
jmp 0x4a968f
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xbc], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x4a9a0d
mov edi, dword [esi]
test edi, edi
je 0x4a9a09
lea eax, [esp + 0xbc]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ebx, dword [esp + 0x1c]
add esp, 8
mov edx, esi
mov dword [esp + 0x18], eax
mov ecx, ebx
call fcn.004a1b90
mov eax, dword [esp + 0x18]
mov ecx, ebx
test eax, eax
jne 0x4a947d
mov eax, dword [esp + 0xbc]
push 0
push 0xffffffffffffffff
push 0
mov dword [eax], esi
mov edx, dword [ebp + 4]
call fcn.004a44f0
add esp, 0xc
test eax, eax
je 0x4a99ef
mov ecx, dword [esp + 0xbc]
mov edi, dword [esp + 0x20]
mov dword [eax + 0x24], ecx
mov ecx, ebx
inc dword [esi + 4]
mov eax, dword [esp + 0x18]
jmp case.0x4a4928.62
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
lea edx, [eax + eax*4]
mov dword [esp + 0x38], 0
mov eax, dword [ebx + 0x38]
add esi, 0x28
mov edi, dword [esi + edx*8]
lea esi, [esi + edx*8]
mov ebx, dword [ebx + 0xc]
movd xmm0, esi
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x60], esi
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x24]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], ebx
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + edx*8]
mov dword [esp + 0x70], edx
test edi, edi
jle 0x4a922b
cmp edi, 0x10
jb 0x4a920f
cmp dword [0x732f1c], 2
jl 0x4a920f
movaps xmm2, xmmword [0x6f3770]
mov eax, edi
and eax, 0x8000000f
jns 0x4a9159
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [str.____dd]
mov edx, edi
sub edx, eax
mov esi, 8
mov dword [esp + 0x40], edx
lea edx, [ebx + 0x20]
mov ebx, dword [esp + 0x40]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebx
jl 0x4a9174
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x70]
cmp ecx, edi
jge 0x4a922b
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
nop dword [eax]
mov dword [ebx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x4a9220
mov esi, dword [esp + 0x48]
push ebx
push edi
push dword [ebp + 0x10]
mov edi, dword [esp + 0x74]
push edx
push esi
mov eax, dword [edi + 0x20]
call eax
mov edx, dword [esp + 0x70]
add esp, 0x14
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
call fcn.004a1b90
cmp dword [esp + 0x18], 0
jne 0x4a9265
mov eax, dword [edi + 0x28]
push esi
call eax
add esp, 4
jmp 0x4a9269
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov byte [ecx + 0x19], 0
test eax, eax
jne 0x4a5bef
jmp 0x4a968b
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [ebx + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x2c]
cmp byte [edx + 0x19], 0
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x4a92c7
mov ecx, edi
call fcn.0049c8e0
mov eax, dword [esp + 0x18]
add ebp, 0x14
mov edi, dword [esp + 0x20]
mov ecx, ebx
mov dh, byte [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movups xmmword [esp + 0x1f0], xmm0
mov dword [esp + 0x1f0], edi
movups xmmword [esp + 0x200], xmm0
mov ax, word [edi + 8]
and ax, word [esp + 0x104]
or ax, 1
mov word [edi + 8], ax
lea eax, [esp + 0x1f0]
push dword [ebp + 8]
push eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x2c]
call eax
add esp, 0xc
mov dword [esp + 0x18], eax
mov edx, esi
mov ecx, ebx
call fcn.004a1b90
mov eax, dword [esp + 0x204]
test eax, eax
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x28]
cmovne ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, edi
call fcn.0049bf70
mov ecx, edi
call fcn.0049ca40
test eax, eax
jne 0x4a8cab
mov eax, dword [esp + 0x18]
mov ecx, ebx
mov edi, dword [esp + 0x20]
jmp case.0x4a4928.62
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x4a56fc
mov eax, dword [edi + 0x24]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, esi
mov dword [esp + 0x18], eax
call fcn.004a1b90
cmp dword [esp + 0x18], 0
jne 0x4a93af
push dword [edi + 0x24]
mov eax, dword [ebx + 0x28]
call eax
mov edi, dword [esp + 0x24]
add esp, 4
test eax, eax
jne 0x4a93c2
jmp case.0x4a4928.14
mov edi, dword [esp + 0x20]
mov ebp, dword [ebp + 8]
mov ecx, dword [esp + 0x3c]
dec ebp
lea ebp, [ebp + ebp*4]
lea ebp, [ecx + ebp*4]
cmp dword [edi + 0xf0], 0
jne 0x4a9a28
mov ecx, dword [edi + 0x124]
mov esi, dword [esp + 0x1c]
test ecx, ecx
je 0x4a8272
cmp esi, dword [esp + 0xb8]
jb 0x4a8272
mov ebx, dword [esp + 0x1c]
xor edx, edx
mov esi, dword [edi + 0x12c]
mov eax, ebx
div esi
push dword [edi + 0x128]
sub esi, edx
add esi, ebx
mov dword [esp + 0xbc], esi
call ecx
mov ecx, dword [esp + 0x18]
add esp, 4
test eax, eax
jne 0x4a9a1a
mov eax, dword [esp + 0x18]
jmp case.0x4a4928.62
mov eax, dword [ebp + 0x10]
mov edx, 1
mov ecx, dword [esp + 0x2c]
mov esi, dword [eax + 8]
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0049bf70
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a5700
mov eax, dword [esi]
push dword [edi + 0x10]
push esi
mov eax, dword [eax + 0x4c]
call eax
mov ecx, dword [esp + 0x1c]
add esp, 8
mov edx, esi
mov dword [esp + 0x18], eax
call fcn.004a1b90
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
and dword [ecx + 0x58], 0xfffffff7
mov edi, dword [esp + 0x20]
jmp case.0x4a4928.62
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x4a9a0d
mov edx, dword [ebx]
test edx, edx
je 0x4a9a0d
cmp dword [edx + 0x34], 0
mov esi, dword [ebp + 8]
je 0x4a6f23
mov al, byte [edi + 0x45]
mov edi, dword [ecx + 0xc]
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x37], al
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x4a94d3
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x4a94c8
mov ecx, dword [esp + 0x20]
mov al, byte [ebp + 3]
mov byte [ecx + 0x45], al
lea eax, [esp + 0x138]
push eax
mov eax, dword [edx + 0x34]
push edi
push esi
push ebx
call eax
mov edi, dword [esp + 0x30]
add esp, 0x10
mov ecx, dword [esp + 0x14]
mov edx, ebx
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x37]
mov byte [edi + 0x45], al
call fcn.004a1b90
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4a9539
cmp dword [ebp + 4], eax
je 0x4a9539
mov ebx, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ecx
mov dword [edi + 0x20], ebx
mov dword [edi + 0x24], ecx
cmp al, 0x13
jne 0x4a958e
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x10], 0
je 0x4a958a
mov cl, byte [ebp + 3]
cmp cl, 4
jne 0x4a956c
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dh, byte [esp + 0x28]
add ebp, 0x14
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ebp
jmp 0x4a4900
movzx eax, cl
cmp cl, 5
mov ecx, 2
cmove eax, ecx
mov ecx, dword [esp + 0x14]
mov byte [ecx + 0x56], al
mov eax, dword [esp + 0x18]
jmp case.0x4a4928.62
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
inc dword [ecx + 0x5c]
jmp case.0x4a4928.62
mov edx, ebp
call fcn.004a47e0
mov edx, dword [ebp + 4]
mov esi, eax
mov ecx, dword [edi + 0x10]
shl edx, 4
mov ecx, dword [edx + ecx + 4]
call fcn.00492390
mov ecx, dword [esp + 0x14]
add ebp, 0x14
mov dh, byte [esp + 0x28]
mov dword [esi], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 4], 0
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
jmp 0x4a4900
mov edx, ebp
call fcn.004a47e0
mov edx, dword [ebp + 4]
mov edi, eax
mov eax, dword [esp + 0x20]
add edx, edx
mov ecx, dword [eax + 0x10]
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
cmp dword [ebp + 0xc], edx
je 0x4a960a
mov ecx, esi
call fcn.00492390
mov edx, eax
cmp edx, dword [ebp + 0xc]
cmovb edx, dword [ebp + 0xc]
mov ecx, esi
call fcn.004930e0
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x4a698a
cmp dword [edi + 0xb0], 0
je 0x4a9665
test dword [ecx + 0x58], 0x200
jne 0x4a9665
mov edx, dword [ebp + 0x10]
test edx, edx
jne 0x4a963f
mov edx, dword [ecx + 0xa8]
test edx, edx
je 0x4a9665
call fcn.004a4020
mov ecx, dword [edi + 0xb0]
mov esi, eax
push esi
push dword [edi + 0xb4]
call ecx
add esp, 8
mov edx, esi
mov ecx, edi
call fcn.00480df0
mov ecx, dword [esp + 0x14]
cmp dword [ebp + 8], 0
je 0x4a6f23
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x3c]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebp, [ecx + eax*4]
jmp 0x4a968b
mov eax, dword [esp + 0x18]
mov edi, ecx
jmp 0x4a968f
mov edi, ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
add ebp, 0x14
mov dword [esp + 0x24], ebp
test eax, eax
jne 0x4a649b
jmp 0x4a48fc
mov dword [ebx + 0x50], ecx
mov al, byte [ebp + 8]
mov byte [ebx + 0x56], al
mov dword [ebx + 0x4c], esi
test ecx, ecx
je 0x4a9727
mov al, byte [ebp + 3]
test al, al
je 0x4a96ed
movzx eax, al
mov eax, dword [eax*4 + 0x6e0900]
test eax, eax
je 0x4a96ef
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4a96ef
push ecx
push eax
push str._s_constraint_failed:__s
push ebx
call fcn.0049d550
add esp, 0x10
jmp 0x4a970d
xor eax, eax
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4a96fe
push ecx
push 0x6eea3c
jmp 0x4a9704
push eax
push str._s_constraint_failed
push ebx
call fcn.0049d550
add esp, 0xc
push dword [ebx + 0x2c]
push dword [ebx + 0xa8]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebp + 4]
call fcn.00482f10
add esp, 0x14
mov ecx, ebx
call fcn.0049fb90
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
cmp eax, 5
jne 0x4a9747
mov dword [esp + 0x18], eax
mov dword [ecx + 0x50], eax
jmp 0x4a9a7a
cmp dword [ecx + 0x50], 0
mov eax, 0x65
mov edx, 1
cmovne eax, edx
mov dword [esp + 0x18], eax
jmp 0x4a9a7a
mov eax, 9
mov dword [esp + 0x18], eax
jmp 0x4a649f
push 0x6f29f0
push 0x1263f
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.00482f10
mov edi, dword [esp + 0x30]
add esp, 0x10
mov eax, 0xb
add ebp, 0x14
jmp 0x4a6497
push 0x6f29f0
push 0x12693
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.00482f10
mov edi, dword [esp + 0x30]
add esp, 0x10
mov eax, 0xb
add ebp, 0x14
jmp 0x4a6497
push str.cannot_open_savepoint___SQL_statements_in_progress
push ecx
call fcn.0049d550
add esp, 8
mov eax, 5
add ebp, 0x14
jmp 0x4a6497
push str.cannot_release_savepoint___SQL_statements_in_progress
push dword [esp + 0x18]
call fcn.0049d550
mov edi, dword [esp + 0x28]
add esp, 8
mov eax, 5
add ebp, 0x14
jmp 0x4a6497
sub ebp, dword [esp + 0x3c]
mov eax, 0x66666667
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x4c], eax
mov byte [edi + 0x3f], 0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], 5
mov dword [ecx + 0x50], 5
jmp 0x4a9a7a
test ecx, ecx
je 0x4a9855
mov edx, 0x204
mov ecx, edi
call fcn.004ee4a0
mov al, 1
mov esi, 1
jmp 0x4a9873
mov ecx, dword [esp + 0x14]
mov esi, 1
mov edx, esi
call fcn.0049fb20
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4a9a72
mov al, bl
mov ecx, dword [esp + 0x14]
mov byte [edi + 0x3f], al
call fcn.0049fb90
cmp eax, 5
jne 0x4a98ac
sub ebp, dword [esp + 0x3c]
mov eax, 0x66666667
mov ecx, dword [esp + 0x14]
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x4c], eax
mov al, 1
sub al, bl
mov byte [edi + 0x3f], al
jmp 0x4a9824
mov ecx, edi
call fcn.004edd00
mov ecx, dword [esp + 0x14]
mov eax, 0x65
mov ebx, dword [esp + 0x1c]
cmp dword [ecx + 0x50], 0
cmovne eax, esi
mov dword [esp + 0x18], eax
jmp 0x4a9a7a
mov eax, 8
mov dword [esp + 0x18], eax
jmp 0x4a788f
sub ebp, dword [esp + 0x3c]
mov eax, 0x66666667
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
imul ebp
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x4c], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x50], eax
jmp 0x4a9a7a
push 0x6f29f0
push 0x129e1
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.00482f10
add esp, 0x10
mov eax, 0xb
jmp 0x4a7887
mov eax, 0x204
add ebp, 0x14
jmp 0x4a6497
mov edi, dword [esp + 0x20]
jmp 0x4a7893
mov edi, dword [esp + 0x20]
mov esi, ebx
jmp 0x4a7893
cmp eax, 0xc0a
je 0x4a649b
mov ecx, eax
call fcn.004ee5e0
push eax
push 0x6eea3c
push esi
call fcn.0049d550
mov eax, dword [esp + 0x24]
add esp, 0xc
jmp 0x4a649b
mov ecx, dword [esp + 0x14]
mov eax, 6
mov dword [esp + 0x18], eax
add ebp, 0x14
mov byte [ecx + 0x56], 2
jmp 0x4a649f
push str.too_many_levels_of_trigger_recursion
push ecx
mov dword [esp + 0x20], 1
call fcn.0049d550
add esp, 8
mov eax, 1
add ebp, 0x14
jmp 0x4a649b
mov ecx, str.out_of
mov dword [esp + 0x18], 1
cmp esi, 5
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push dword [esp + 0x1c]
call fcn.0049d550
mov edi, dword [esp + 0x2c]
add esp, 0xc
add ebp, 0x14
mov eax, 1
jmp 0x4a649b
push dword [esp + 0xbc]
mov eax, dword [edi + 0x1c]
call eax
mov edi, dword [esp + 0x24]
add esp, 4
mov ecx, ebx
jmp 0x4a6480
mov edi, dword [esp + 0x20]
mov eax, 6
add ebp, 0x14
jmp 0x4a6497
mov eax, 9
mov dword [esp + 0x18], eax
jmp 0x4a64a3
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x50], 9
mov ecx, 9
mov dword [esp + 0x18], 9
call fcn.004ee5e0
push eax
push 0x6eea3c
push dword [esp + 0x1c]
call fcn.0049d550
add esp, 0xc
mov eax, 9
jmp 0x4a649b
mov edi, eax
jmp 0x4a647c
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
jmp 0x4a9a7a
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x88]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x8c]
mov dword [edi + 0x24], eax
add dword [ecx + 0x7c], ebx
call fcn.0049e750
mov ecx, dword [esp + 0x30c]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0063db0b
add esp, 0x304
ret