Function at 0x4a2a80
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x304
mov eax, dword [0x5c2b80]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0x218], 0
push esi
push edi
mov dword [ebp - 0x204], ebx
mov edi, dword [ebx]
mov esi, dword [ebx + 4]
mov dword [ebp - 0x20c], esi
mov dword [ebp - 0x208], 0
mov al, byte [edi + 0x3e]
mov byte [ebp - 0x23c], al
mov eax, dword [ebx + 8]
mov dword [ebp - 0x214], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x260], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x210], edi
mov byte [ebp - 0x249], 0
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x264], eax
call fcn.0049c7f0
cmp dword [ebx + 0x50], 7
je 0x4a7fbb
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x88], 0
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0x14], 0
cmp dword [edi + 0xf0], 0
mov dword [edi + 0x1c4], 0
jne 0x4a7f79
cmp dword [edi + 0x124], 0
je 0x4a2b8e
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x4a2b80
mov edx, dword [edi + 0x12c]
jmp 0x4a2b88
xor edx, edx
div dword [edi + 0x12c]
mov dword [ebp - 0x25c], edx
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x2ac], 0xbe01
cmp byte [edi + 0x41], 0
mov edx, 0x2460
jne 0x4a7fbb
inc dword [ebp - 0x268]
lea ebx, [eax + eax*4]
test byte [esi + ebx*4 + 2], 2
mov dword [ebp - 0x134], ebx
je 0x4a2bf8
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x21c], ecx
test word [ecx + 8], dx
je 0x4a2bed
call fcn.0049a9b0
mov ecx, dword [ebp - 0x21c]
mov eax, 4
mov word [ecx + 8], ax
jmp 0x4a2bfe
mov ecx, dword [ebp - 0x21c]
mov dl, byte [esi + ebx*4]
movzx eax, dl
dec eax
mov byte [ebp - 0x229], dl
cmp eax, 0x98
ja case.default.0x4a2c16
jmp dword [eax*4 + 0x4a8094]
mov ecx, dword [esi + ebx*4 + 8]
dec ecx
mov dword [ebp - 0x218], ecx
jmp 0x4a79b1
mov ecx, dword [esi + ebx*4 + 4]
mov edx, 4
mov eax, dword [ebp - 0x214]
mov edi, dword [ebp - 0x214]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 8], dx
mov eax, dword [ebp - 0x218]
cdq
mov dword [edi + ecx*8], eax
mov eax, edi
mov dword [eax + ecx*8 + 4], edx
jmp 0x4a7cf3
mov eax, dword [esi + ebx*4 + 4]
mov edx, 0x80
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
mov ebx, dword [ecx + eax*8]
mov dword [ebp - 0x218], ebx
mov word [ecx + eax*8 + 8], dx
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esi + ebx*4 + 0xc]
dec eax
mov dword [ebp - 0x21c], ecx
cdq
mov dword [ecx], eax
mov eax, 4
mov dword [ecx + 4], edx
mov word [ecx + 8], ax
mov eax, dword [esi + ebx*4 + 8]
mov ebx, dword [ebp - 0x204]
test eax, eax
je 0x4a7a19
dec eax
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0x214]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [esi + eax*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x214]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 8], ax
mov eax, dword [ebp - 0x218]
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
mov dword [ebp - 0x218], ecx
mov esi, dword [ebp - 0x20c]
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je case.default.0x4a2c16
cmp dword [esi + ebx*4 + 4], 0
mov edx, dword [ebp - 0x204]
jne 0x4a7d2c
mov ecx, dword [edx + 0xb0]
test ecx, ecx
je 0x4a7d2c
mov eax, dword [ecx + 4]
dec dword [edx + 0xb8]
mov dword [edx + 0xb0], eax
mov eax, dword [edx + 0x5c]
add dword [edi + 0x54], eax
mov dword [edi + 0x50], eax
call fcn.0049d280
mov ecx, dword [edi + 0x20]
cmp dword [esi + ebx*4 + 8], 4
mov ebx, dword [ebp - 0x204]
mov dword [ebp - 0x260], ecx
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x264], ecx
jne 0x4a2dc2
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
mov eax, dword [ebx + 8]
mov esi, dword [ebx + 4]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x20c], esi
jmp 0x4a7d10
mov eax, dword [esi + ebx*4 + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x4a2c16
mov ecx, dword [esi + ebx*4 + 0x10]
mov edx, dword [ebp - 0x21c]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
jmp case.default.0x4a2c16
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [esi + ebx*4 + 0x10]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
jmp case.default.0x4a2c16
mov ecx, dword [esi + ebx*4 + 0x10]
mov byte [esi + ebx*4], 0x1b
call fcn.0047fbe0
cmp byte [ebp - 0x23c], 1
mov dword [esi + ebx*4 + 4], eax
je 0x4a2eb7
push 0
push 1
mov edx, ecx
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
call fcn.0049b190
add esp, 0xc
mov dword [ebp - 0x208], eax
cmp eax, 0x12
je 0x4a7f56
movzx edx, byte [ebp - 0x23c]
mov ecx, dword [ebp - 0x21c]
call fcn.0049a570
test eax, eax
jne 0x4a7fb5
mov ecx, dword [ebp - 0x21c]
mov dword [ecx + 0x18], eax
mov eax, 0x800
or word [ecx + 8], ax
cmp byte [esi + ebx*4 + 1], 0xff
jne 0x4a2ea4
mov edx, dword [esi + ebx*4 + 0x10]
mov ecx, edi
call fcn.0047cfd0
mov ecx, dword [ebp - 0x21c]
mov byte [esi + ebx*4 + 1], 0xff
mov eax, dword [ecx + 0x10]
mov dword [esi + ebx*4 + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + ebx*4 + 4], eax
mov eax, dword [esi + ebx*4 + 4]
cmp eax, dword [edi + 0x58]
jg 0x4a7f56
mov ecx, dword [ebp - 0x21c]
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [esi + ebx*4 + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + ebx*4 + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x23c]
mov byte [ecx + 0xa], al
jmp case.default.0x4a2c16
mov ecx, dword [ebp - 0x20c]
mov eax, 1
mov esi, dword [esi + ebx*4 + 0xc]
sub esi, dword [ecx + ebx*4 + 8]
cmp dword [ecx + ebx*4 + 4], 0
mov ecx, 0x101
mov ebx, dword [ebp - 0x21c]
cmovne eax, ecx
movzx edi, ax
mov word [ebx + 8], di
test esi, esi
jle 0x4a2f39
add ebx, 0x28
mov ecx, ebx
call fcn.0049aee0
dec esi
mov word [ebx + 8], di
test esi, esi
jg 0x4a2f20
mov dword [ebp - 0x21c], ebx
mov esi, dword [ebp - 0x20c]
jmp 0x4a7cfe
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, 0xff7f
mov ax, word [ebx + 8]
and ax, cx
mov dword [ebp - 0x21c], ebx
or ax, 1
mov word [ebx + 8], ax
jmp case.default.0x4a2c16
mov edx, dword [esi + ebx*4 + 0x10]
push 0
push 0
push dword [esi + ebx*4 + 4]
call fcn.0049b190
mov eax, dword [ebp - 0x21c]
add esp, 0xc
mov cl, byte [ebp - 0x23c]
mov byte [eax + 0xa], cl
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x204]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x3c]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.0049b050
test eax, eax
jne 0x4a7f5c
mov ecx, dword [ebp - 0x21c]
lea edx, [esi - 0x28]
push 0x800
call fcn.0049b080
mov esi, dword [ebp - 0x20c]
add esp, 4
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x20c]
mov edi, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
lea esp, [esp]
mov edx, esi
mov ecx, ebx
call fcn.0049b140
add esi, 0x28
add ebx, 0x28
dec edi
jne 0x4a3010
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x21c], ebx
jmp 0x4a7cfe
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x20c]
mov edi, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
push 0x1000
mov edx, esi
mov dword [ebp - 0x21c], ebx
mov ecx, ebx
call fcn.0049b080
mov eax, 0x1000
add esp, 4
test word [ebx + 8], ax
je 0x4a3088
mov ecx, ebx
call fcn.0049a6c0
test eax, eax
jne 0x4a45d7
mov eax, edi
dec edi
test eax, eax
je 0x4a2f39
add ebx, 0x28
add esi, 0x28
jmp 0x4a3057
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [ebp - 0x214]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x21c], ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.0049b080
add esp, 4
jmp case.default.0x4a2c16
mov eax, dword [edi + 0x124]
test eax, eax
je 0x4a30f8
mov edx, dword [ebp - 0x268]
cmp edx, dword [ebp - 0x25c]
jb 0x4a30f8
push dword [edi + 0x128]
call eax
add esp, 4
test eax, eax
jne 0x4a7df7
mov ecx, dword [ebp - 0x204]
xor edx, edx
call fcn.0049dfa0
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a7d0a
mov ecx, dword [ebp - 0x204]
lea edx, [eax + 1]
call fcn.0049de70
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a7d0a
mov ecx, dword [ebp - 0x204]
xor edi, edi
mov edx, dword [ebp - 0x214]
mov eax, dword [ecx + 0x48]
add eax, 2
or eax, 1
mov dword [ecx + 0x48], eax
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ebp - 0x20c]
mov dword [ecx + 0x14], esi
cmp dword [eax + ebx*4 + 8], edi
jle 0x4a3193
mov eax, 0x1000
test word [esi + 8], ax
je 0x4a317c
mov ecx, esi
call fcn.0049a6c0
test eax, eax
jne 0x4a45d7
mov ecx, esi
call fcn.0049a7d0
mov eax, dword [ebp - 0x20c]
inc edi
add esi, 0x28
cmp edi, dword [eax + ebx*4 + 8]
jl 0x4a3162
mov edi, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x204]
cmp byte [edi + 0x41], 0
jne 0x4a7fbb
mov eax, dword [ebp - 0x218]
mov edi, 0x64
inc eax
mov dword [ebx + 0x4c], eax
jmp 0x4a8058
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x20c]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x220], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ebx, dword [ebp - 0x220]
lea eax, [eax + eax*4]
movzx ecx, word [ebx + 8]
lea edx, [edx + eax*8]
mov al, byte [esi + 8]
or al, cl
mov dword [ebp - 0x21c], edx
test al, 1
je 0x4a3218
mov ecx, edx
call fcn.0049aee0
mov esi, dword [ebp - 0x20c]
jmp case.default.0x4a2c16
test ecx, 0x4000
je 0x4a322f
mov ecx, ebx
call fcn.0049a730
test eax, eax
jne 0x4a7fb5
mov eax, 0x4000
test word [esi + 8], ax
je 0x4a3249
mov ecx, esi
call fcn.0049a730
test eax, eax
jne 0x4a7fb5
test byte [ebx + 8], 0x12
jne 0x4a3269
mov dl, byte [ebp - 0x23c]
mov ecx, ebx
push 0
call fcn.0049a7f0
add esp, 4
test eax, eax
jne 0x4a7fb5
test byte [esi + 8], 0x12
jne 0x4a3289
mov dl, byte [ebp - 0x23c]
mov ecx, esi
push 0
call fcn.0049a7f0
add esp, 4
test eax, eax
jne 0x4a7fb5
mov eax, dword [ebx + 0xc]
add eax, dword [esi + 0xc]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0x210]
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x4a7f50
jl 0x4a32b0
cmp edi, eax
ja 0x4a7f50
mov ecx, dword [ebp - 0x21c]
lea edx, [edi + 2]
xor eax, eax
cmp ecx, esi
sete al
push eax
call fcn.0049a590
add esp, 4
test eax, eax
jne 0x4a45d7
mov ecx, dword [ebp - 0x21c]
mov edx, 0xbe02
mov ax, word [ecx + 8]
and ax, dx
or ax, 2
mov word [ecx + 8], ax
cmp ecx, esi
je 0x4a3300
push dword [esi + 0xc]
push dword [esi + 0x10]
push dword [ecx + 0x10]
call fcn.0052e420
add esp, 0xc
push dword [ebx + 0xc]
mov eax, dword [esi + 0xc]
push dword [ebx + 0x10]
mov ebx, dword [ebp - 0x21c]
add eax, dword [ebx + 0x10]
push eax
call fcn.0052e420
mov eax, dword [ebx + 0x10]
add esp, 0xc
mov esi, dword [ebp - 0x20c]
mov byte [edi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [edi + eax + 1], 0
mov eax, 0x200
or word [ebx + 8], ax
mov al, byte [ebp - 0x23c]
mov dword [ebx + 0xc], edi
mov byte [ebx + 0xa], al
jmp 0x4a7cfe
mov eax, dword [esi + ebx*4 + 4]
mov edi, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x240], eax
call fcn.004a2a60
movzx eax, ax
mov dword [ebp - 0x224], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x228], eax
call fcn.004a2a60
mov ecx, dword [ebp - 0x240]
movzx edx, ax
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [ebp - 0x228]
mov dword [ebp - 0x220], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x21c], eax
mov al, byte [esi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x4a35f7
mov al, dl
and al, byte [ebp - 0x224]
test al, 4
je 0x4a34bf
mov eax, ecx
mov byte [ebp - 0x229], 1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, esi
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x278], esi
mov dword [ebp - 0x274], edi
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x4a33fd
jmp dword [eax*4 + 0x4a82f8]
push edx
push ecx
lea ecx, [ebp - 0x278]
call fcn.00480ff0
add esp, 8
test eax, eax
jne 0x4a34c8
mov edx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x278]
jmp 0x4a3495
push edx
push ecx
lea ecx, [ebp - 0x278]
call fcn.00481090
jmp 0x4a3411
push edx
push ecx
lea ecx, [ebp - 0x278]
call fcn.004810e0
jmp 0x4a3411
mov eax, ecx
or eax, edx
je 0x4a35f7
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4a3467
test esi, esi
jne 0x4a3467
cmp edi, 0x80000000
je 0x4a34c8
push edx
push ecx
push edi
push esi
call fcn.0052ea70
jmp 0x4a3495
mov eax, ecx
or eax, edx
je 0x4a35f7
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x4a348c
mov ecx, 1
xor edx, edx
push edx
push ecx
push edi
push esi
call fcn.0053dcc0
mov ebx, dword [ebp - 0x21c]
mov ecx, 0xbe04
mov esi, dword [ebp - 0x20c]
mov dword [ebx], eax
mov ax, word [ebx + 8]
and ax, cx
mov dword [ebx + 4], edx
or ax, 4
mov word [ebx + 8], ax
jmp 0x4a7cfe
mov byte [ebp - 0x229], 0
jmp 0x4a34d4
mov esi, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x240]
call fcn.0049ab90
mov ecx, esi
movsd qword [ebp - 0x238], xmm0
call fcn.0049ab90
mov esi, dword [ebp - 0x20c]
movapd xmm1, xmm0
movsd qword [ebp - 0x258], xmm1
movzx eax, byte [esi + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x4a3506
jmp dword [eax*4 + 0x4a8308]
addsd xmm1, qword [ebp - 0x238]
jmp 0x4a359f
subsd xmm1, qword [ebp - 0x238]
jmp 0x4a359f
mulsd xmm1, qword [ebp - 0x238]
jmp 0x4a359f
movsd xmm0, qword [ebp - 0x238]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x4a35f7
divsd xmm1, xmm0
jmp 0x4a359f
movsd xmm0, qword [ebp - 0x238]
call fcn.00549e1d
movsd xmm0, qword [ebp - 0x258]
mov esi, eax
mov edi, edx
call fcn.00549e1d
mov ecx, esi
or ecx, edi
je 0x4a35f7
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x4a3585
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.0053dcc0
mov ecx, eax
call fcn.00549fbd
mov esi, dword [ebp - 0x20c]
movapd xmm1, xmm0
movapd xmm0, xmm1
call fcn.0047fba0
test eax, eax
jne 0x4a35f7
mov ebx, dword [ebp - 0x21c]
mov ecx, 0xbe08
mov ax, word [ebx + 8]
and ax, cx
movsd qword [ebx], xmm1
or ax, 8
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x220]
or al, byte [ebp - 0x224]
test al, 8
jne 0x4a7cfe
cmp byte [ebp - 0x229], 0
jne 0x4a7cfe
mov ecx, ebx
call fcn.0049abf0
jmp 0x4a7cfe
mov ecx, dword [ebp - 0x21c]
call fcn.0049aee0
mov esi, dword [ebp - 0x20c]
jmp 0x4a7cfe
mov eax, dword [esi + ebx*4 + 4]
test eax, eax
je case.default.0x4a2c16
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.0049af40
add esp, 8
jmp case.default.0x4a2c16
mov eax, dword [ebp - 0x204]
mov edi, dword [ebp - 0x214]
movzx ecx, byte [esi + ebx*4 + 3]
mov dword [ebp - 0x220], ecx
mov edx, dword [eax + 0xc]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x234], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x150], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
xor edi, edi
test ecx, ecx
jle 0x4a36ba
mov eax, 0x1000
mov dword [edx + edi*4], esi
test word [esi + 8], ax
je 0x4a36aa
mov ecx, esi
call fcn.0049a6c0
test eax, eax
jne 0x4a45d7
mov ecx, dword [ebp - 0x220]
mov eax, 0x1000
mov edx, dword [ebp - 0x234]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x4a3681
mov esi, dword [ebp - 0x150]
jmp 0x4a36c0
mov esi, dword [ebp - 0x224]
mov eax, dword [ebp - 0x20c]
mov edi, 0xbe01
push edx
push ecx
mov eax, dword [eax + ebx*4 + 0x10]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x144], eax
mov ax, word [esi + 8]
and ax, di
mov edi, dword [ebp - 0x210]
or ax, 1
mov word [esi + 8], ax
lea eax, [ebp - 0x150]
mov esi, dword [ebp - 0x260]
push eax
mov eax, dword [ebp - 0x14c]
mov dword [edi + 0x20], esi
mov esi, dword [ebp - 0x264]
mov byte [ebp - 0x137], 0
mov dword [edi + 0x24], esi
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [edi + 0x20]
add esp, 0xc
cmp byte [ebp - 0x137], 0
mov dword [ebp - 0x260], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x264], eax
je 0x4a37ab
cmp dword [ebp - 0x13c], 0
je 0x4a3789
push dword [ebp - 0x150]
call fcn.004a03a0
add esp, 4
push eax
mov eax, dword [ebp - 0x204]
push 0x59517c
add eax, 0x2c
push edi
push eax
call fcn.0047d4f0
mov eax, dword [ebp - 0x13c]
add esp, 0x10
mov dword [ebp - 0x208], eax
mov esi, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x218]
push dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x204]
mov ecx, ebx
call fcn.0049e4d0
add esp, 4
jmp 0x4a37b7
mov esi, dword [ebp - 0x20c]
mov ebx, dword [ebp - 0x204]
movzx edx, byte [ebp - 0x23c]
mov ecx, dword [ebp - 0x150]
call fcn.0049a570
mov ecx, dword [ebp - 0x150]
call fcn.0049b050
test eax, eax
jne 0x4a7f5c
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0x20c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + ebx*4 + 0xc]
mov edx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [ebp - 0x21c], edx
test al, 1
je 0x4a3839
mov ecx, edx
call fcn.0049aee0
mov esi, dword [ebp - 0x20c]
jmp case.default.0x4a2c16
call fcn.0049aae0
mov edi, edx
mov dword [ebp - 0x230], eax
mov ecx, esi
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], edi
call fcn.0049aae0
mov esi, eax
mov eax, dword [ebp - 0x20c]
mov cl, byte [eax + ebx*4]
cmp cl, 0x55
jne 0x4a3878
mov ecx, dword [ebp - 0x230]
and ecx, esi
and edi, edx
jmp 0x4a395e
cmp cl, 0x56
jne 0x4a388c
mov ecx, dword [ebp - 0x230]
or ecx, esi
or edi, edx
jmp 0x4a395e
mov eax, esi
or eax, edx
je 0x4a3958
test edx, edx
jg 0x4a38c4
jl 0x4a38a0
test esi, esi
jae 0x4a38b9
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x4a38c4
jg 0x4a38b2
cmp esi, 0xffffffc0
jbe 0x4a38c4
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x4a38ee
jg 0x4a38c4
cmp esi, 0x40
jb 0x4a38ee
test edi, edi
jg 0x4a38e5
jl 0x4a38d3
cmp dword [ebp - 0x230], 0
jae 0x4a38e5
cmp cl, 0x57
je 0x4a38e5
or eax, 0xffffffff
cdq
mov ecx, eax
mov edi, edx
jmp 0x4a395e
xor eax, eax
cdq
mov ecx, eax
mov edi, edx
jmp 0x4a395e
movq xmm1, qword [ebp - 0x2b8]
movd xmm0, esi
cmp cl, 0x57
jne 0x4a3919
psllq xmm1, xmm0
movq qword [ebp - 0x288], xmm1
mov edi, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x288]
jmp 0x4a395e
psrlq xmm1, xmm0
movq qword [ebp - 0x288], xmm1
test edi, edi
jg 0x4a390b
jl 0x4a3934
cmp dword [ebp - 0x230], 0
jae 0x4a390b
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.00549c00
mov ecx, dword [ebp - 0x288]
mov edi, dword [ebp - 0x284]
or ecx, eax
or edi, edx
jmp 0x4a395e
mov ecx, dword [ebp - 0x230]
mov ebx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x20c]
mov ax, word [ebx + 8]
mov dword [ebx], ecx
mov ecx, 0xbe04
and ax, cx
mov dword [ebx + 4], edi
or ax, 4
mov word [ebx + 8], ax
jmp 0x4a7cfe
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0049ac90
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x20c]
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x4a3a21
test al, 8
jne 0x4a39e8
test al, 2
je 0x4a39ef
mov edx, 1
mov ecx, esi
call fcn.004a2880
jmp 0x4a39ef
mov ecx, esi
call fcn.0049abf0
movzx eax, word [esi + 8]
test al, 4
jne 0x4a3a21
mov esi, dword [ebp - 0x20c]
mov eax, dword [esi + ebx*4 + 8]
mov ebx, dword [ebp - 0x204]
test eax, eax
je 0x4a7e07
dec eax
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
and eax, 0xbe04
or eax, 4
mov word [esi + 8], ax
mov esi, dword [ebp - 0x20c]
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea ecx, [ecx + eax*8]
je case.default.0x4a2c16
call fcn.0049acc0
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4a3a87
mov ecx, esi
call fcn.0049a730
mov dword [ebp - 0x208], eax
jmp 0x4a3a91
mov dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x20c]
mov ecx, esi
push dword [ebp - 0x23c]
mov dl, byte [eax + ebx*4 + 8]
call fcn.0049ae10
mov esi, dword [ebp - 0x20c]
add esp, 4
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
movzx edx, word [ecx + eax*8 + 8]
lea esi, [ecx + eax*8]
movzx ecx, word [edi + 8]
mov eax, ecx
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x230], eax
mov al, dl
or al, cl
test al, 1
mov eax, dword [ebp - 0x20c]
mov al, byte [eax + ebx*4 + 3]
je 0x4a3b7b
test al, al
jns 0x4a3b24
test cl, 1
je 0x4a3b1a
test dl, 1
je 0x4a3b1a
test edx, 0x100
jne 0x4a3b1a
xor edx, edx
jmp 0x4a3c44
mov edx, 1
jmp 0x4a3c44
mov esi, dword [ebp - 0x20c]
mov edi, dword [ebp - 0x210]
test al, 0x20
je 0x4a3b63
mov eax, dword [esi + ebx*4 + 8]
mov edx, 0xbe01
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 8]
and ax, dx
mov dword [ebp - 0x21c], ecx
or ax, 1
mov word [ecx + 8], ax
jmp case.default.0x4a2c16
test al, 0x10
je case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
and al, 0x47
cmp al, 0x43
jl 0x4a3ba6
and cl, 0xe
cmp cl, 2
jne 0x4a3b92
xor edx, edx
mov ecx, edi
call fcn.004a2880
mov al, byte [esi + 8]
and al, 0xe
cmp al, 2
jne 0x4a3be4
xor edx, edx
mov ecx, esi
call fcn.004a2880
jmp 0x4a3be4
cmp al, 0x42
jne 0x4a3be4
test cl, 2
jne 0x4a3bc6
test cl, 0xc
je 0x4a3bc6
mov dl, byte [ebp - 0x23c]
mov ecx, edi
push 1
call fcn.0049a7f0
add esp, 4
movzx eax, word [esi + 8]
test al, 2
jne 0x4a3be4
test al, 0xc
je 0x4a3be4
mov dl, byte [ebp - 0x23c]
mov ecx, esi
push 1
call fcn.0049a7f0
add esp, 4
mov eax, 0x4000
test word [edi + 8], ax
je 0x4a3c05
mov ecx, edi
call fcn.0049a730
and dword [ebp - 0x230], 0xbfff
mov eax, 0x4000
test word [esi + 8], ax
je 0x4a3c1c
mov ecx, esi
call fcn.0049a730
and dword [ebp - 0x134], 0xbfff
mov eax, dword [ebp - 0x210]
cmp byte [eax + 0x41], 0
jne 0x4a7fb3
mov eax, dword [ebp - 0x20c]
mov edx, edi
mov ecx, esi
push dword [eax + ebx*4 + 0x10]
call fcn.0049f0b0
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x20c]
movzx ecx, byte [eax + ebx*4]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x4a3c56
jmp dword [ecx*4 + 0x4a8318]
xor eax, eax
test edx, edx
sete al
jmp 0x4a3c91
xor eax, eax
test edx, edx
setne al
jmp 0x4a3c91
xor eax, eax
test edx, edx
sets al
jmp 0x4a3c91
xor eax, eax
test edx, edx
setle al
jmp 0x4a3c91
xor eax, eax
test edx, edx
setg al
jmp 0x4a3c91
xor eax, eax
test edx, edx
setns al
mov ecx, dword [ebp - 0x20c]
test byte [ecx + ebx*4 + 3], 0x20
je 0x4a3cd0
mov ecx, dword [ecx + ebx*4 + 8]
mov edx, dword [ebp - 0x214]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov edx, 0xbe04
mov cx, word [ebx + 8]
and cx, dx
mov dword [ebp - 0x21c], ebx
cdq
or cx, 4
mov word [ebx + 8], cx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x4a3cdf
test eax, eax
je 0x4a3cdf
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x230]
mov word [edi + 8], ax
mov eax, dword [ebp - 0x134]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x20c]
jmp 0x4a7cfe
mov ecx, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0x26c], ecx
jmp case.default.0x4a2c16
test byte [esi + ebx*4 + 3], 1
mov ecx, 0
mov eax, dword [ebp - 0x26c]
mov edx, dword [esi + ebx*4 + 0x10]
cmove eax, ecx
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x26c], eax
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x234], ecx
mov ecx, dword [esi + ebx*4 + 8]
xor esi, esi
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x254], edx
mov dword [ebp - 0x220], ecx
test eax, eax
jle 0x4a3def
lea edi, [edx + 0x14]
jmp 0x4a3d60
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x4a3d6f
mov ecx, dword [eax + esi*4]
jmp 0x4a3d71
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x214]
push dword [edi]
movzx ebx, byte [esi + eax]
mov eax, dword [ebp - 0x220]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x234]
add eax, ecx
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0049f0b0
add esp, 4
mov dword [ebp - 0x27c], eax
test eax, eax
jne 0x4a3ddd
mov edx, dword [ebp - 0x254]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x224]
jl 0x4a3d60
mov edi, dword [ebp - 0x210]
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x26c], eax
jmp case.default.0x4a2c16
test ebx, ebx
je 0x4a3de9
neg eax
mov dword [ebp - 0x27c], eax
mov edi, dword [ebp - 0x210]
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x26c], 0
jmp case.default.0x4a2c16
mov eax, dword [ebp - 0x27c]
test eax, eax
jns 0x4a3e1e
mov eax, dword [esi + ebx*4 + 4]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
jne 0x4a3e30
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 0xc]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x4a3e5e
mov esi, 2
jmp 0x4a3e70
call fcn.0049aae0
or eax, edx
je 0x4a3e6e
mov esi, 1
jmp 0x4a3e70
xor esi, esi
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x214]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x4a3e94
mov eax, 2
jmp 0x4a3ea6
call fcn.0049aae0
or eax, edx
je 0x4a3ea4
mov eax, 1
jmp 0x4a3ea6
xor eax, eax
mov ecx, dword [ebp - 0x20c]
lea eax, [eax + esi*2]
cmp byte [ecx + ebx*4], 0x48
jne 0x4a3ebf
movzx ecx, byte [esi + eax + 0x5904ec]
jmp 0x4a3ec7
movzx ecx, byte [esi + eax + 0x590f30]
mov esi, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x214]
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov dword [ebp - 0x21c], ebx
cmp ecx, 2
jne 0x4a3f01
mov ax, word [ebx + 8]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [ebx + 8], ax
jmp case.default.0x4a2c16
mov eax, ecx
mov ecx, 0xbe04
cdq
mov dword [ebx], eax
mov ax, word [ebx + 8]
and ax, cx
mov dword [ebx + 4], edx
or ax, 4
mov word [ebx + 8], ax
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0x21c], ebx
call fcn.0049aee0
test byte [esi + 8], 1
jne 0x4a2d2d
mov eax, 4
mov ecx, esi
mov word [ebx + 8], ax
call fcn.0049aae0
or eax, edx
jne 0x4a3f83
mov esi, dword [ebp - 0x20c]
mov eax, 1
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.default.0x4a2c16
mov esi, dword [ebp - 0x20c]
xor eax, eax
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0x21c], ebx
call fcn.0049aee0
test byte [esi + 8], 1
jne 0x4a2d2d
mov eax, 4
mov ecx, esi
mov word [ebx + 8], ax
call fcn.0049aae0
mov esi, dword [ebp - 0x20c]
not eax
not edx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.default.0x4a2c16
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0xc8]
cmp byte [eax + ecx], 0
je 0x4a4017
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov byte [eax + ecx], 1
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x4a4042
mov ecx, dword [esi + ebx*4 + 0xc]
test ecx, ecx
jmp 0x4a3b65
call fcn.0049ab90
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4a405b
mov ecx, 1
jmp 0x4a405d
xor ecx, ecx
cmp byte [esi + ebx*4], 0x2e
jne 0x4a406c
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
jmp 0x4a3b65
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jmp 0x4a3b65
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x214]
mov edx, dword [esi + ebx*4 + 8]
mov dword [ebp - 0x228], edx
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x230], edi
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd8], ecx
cmp byte [ecx + 0x1a], 0
mov esi, dword [ecx + 0x50]
mov eax, dword [ecx]
mov dword [ebp - 0x244], esi
mov dword [ebp - 0x240], eax
je 0x4a4106
call fcn.0049e840
jmp 0x4a4115
test eax, eax
je 0x4a4131
cmp byte [eax + 0x49], 1
je 0x4a4131
call fcn.0049e8a0
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5b95
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x228]
jmp 0x4a413b
mov dword [ebp - 0x208], 0
mov ebx, dword [ebp - 0x204]
mov eax, dword [ecx + 0x3c]
cmp eax, dword [ebx + 0x48]
mov ebx, dword [ebp - 0x134]
je 0x4a42b1
cmp byte [ecx + 0x19], 0
je 0x4a4192
cmp dword [ebp - 0x240], 0
jne 0x4a4186
mov eax, dword [ecx + 0x10]
lea edi, [ecx + 0x40]
mov edx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*8 + 0xc]
mov dword [ecx + 0x44], esi
mov dword [edi], esi
mov eax, dword [edx + eax*8 + 0x10]
mov dword [ecx + 0x4c], eax
jmp 0x4a420f
mov ecx, edi
call fcn.0049aee0
jmp 0x4a4590
test byte [ecx + 0x1c], 4
jne 0x4a41cc
mov ecx, dword [ebp - 0x240]
lea edx, [ebp - 0x100]
call fcn.00492ba0
mov edx, dword [ebp - 0x240]
mov ecx, dword [ebp - 0xd8]
lea edi, [ecx + 0x40]
mov eax, dword [edx + 0x20]
movzx esi, word [edx + 0x28]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0x100]
mov dword [edi], eax
jmp 0x4a41f2
lea edi, [ecx + 0x40]
mov ecx, dword [ebp - 0x240]
mov edx, edi
call fcn.00492c00
mov eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0xd8]
movzx esi, word [eax + 0x28]
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x4c], eax
mov eax, dword [edi]
cmp eax, esi
ja 0x4a41fd
mov dword [ecx + 0x44], eax
jmp 0x4a4200
mov dword [ecx + 0x44], esi
mov edx, dword [ebp - 0x210]
cmp eax, dword [edx + 0x58]
ja 0x4a7f4c
mov eax, dword [ebp - 0x204]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ecx + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x4a4234
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x28c], ecx
jmp 0x4a4248
lea edx, [ebp - 0x28c]
call fcn.00480e20
mov ecx, dword [ebp - 0x28c]
movzx eax, al
mov edx, dword [ebp - 0xd8]
movzx eax, al
mov dword [edx + 0x48], eax
xor eax, eax
mov word [edx + 0x16], ax
mov eax, dword [ebp - 0x244]
mov dword [eax], ecx
cmp ecx, 0x18003
ja 0x4a4290
cmp ecx, dword [edi]
ja 0x4a4290
mov edx, dword [ebp - 0x228]
cmp esi, ecx
mov ecx, dword [ebp - 0xd8]
mov esi, eax
jae 0x4a42bd
mov dword [ecx + 0x4c], 0
mov dword [ecx + 0x44], 0
jmp 0x4a42bd
mov ecx, 0x11b3f
call fcn.004efd10
mov dword [ebp - 0x208], eax
mov edi, dword [ebp - 0x210]
mov esi, dword [ebp - 0x20c]
jmp 0x4a7d0a
movzx eax, word [ecx + 0x16]
cmp eax, edx
jg 0x4a4494
mov eax, dword [ecx + 0x48]
cmp eax, dword [esi]
jae 0x4a4457
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x254], eax
test eax, eax
jne 0x4a4331
xorps xmm0, xmm0
lea eax, [ebp - 0x200]
push eax
movdqu xmmword [ebp - 0x200], xmm0
xor edx, edx
movdqu xmmword [ebp - 0x1f0], xmm0
movq qword [ebp - 0x1e0], xmm0
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x240]
shr eax, 2
not eax
and eax, 1
push eax
push dword [esi]
call fcn.0049b3a0
add esp, 0xc
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a42a0
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x254], eax
movzx edx, word [ecx + 0x16]
mov dword [ebp - 0x234], edx
mov edi, dword [esi + edx*4]
mov esi, dword [ecx + 0x48]
add esi, eax
mov eax, dword [ebp - 0x244]
mov eax, dword [eax]
add eax, dword [ebp - 0x254]
mov dword [ebp - 0x224], eax
lea eax, [edx + 0x15]
lea eax, [ecx + eax*4]
mov dword [ebp - 0x248], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x4a4375
movzx ecx, al
inc esi
mov dword [ebp - 0x290], ecx
jmp 0x4a4393
lea edx, [ebp - 0x290]
mov ecx, esi
call fcn.00480e20
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x234]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0x248]
mov dword [eax], ecx
call fcn.0049e9f0
add edi, eax
mov dword [ebp - 0x28c], edi
cmp edi, eax
jb 0x4a43d5
mov eax, dword [ebp - 0x244]
inc edx
add dword [ebp - 0x248], 4
mov dword [ebp - 0x234], edx
mov dword [eax + edx*4], edi
cmp edx, dword [ebp - 0x228]
jg 0x4a43dc
cmp esi, dword [ebp - 0x224]
jb 0x4a4363
jmp 0x4a43dc
mov esi, dword [ebp - 0x224]
inc esi
mov ecx, dword [ebp - 0xd8]
mov eax, esi
sub eax, dword [ebp - 0x254]
cmp dword [ecx + 0x4c], 0
mov word [ecx + 0x16], dx
mov dword [ecx + 0x48], eax
jne 0x4a4414
lea ecx, [ebp - 0x200]
call fcn.0049aac0
mov ecx, dword [ebp - 0xd8]
mov eax, 1
mov word [ebp - 0x1f8], ax
mov eax, dword [ebp - 0x224]
cmp esi, eax
jb 0x4a4425
ja 0x4a442a
cmp edi, dword [ecx + 0x40]
jne 0x4a442a
cmp edi, dword [ecx + 0x40]
jbe 0x4a444b
mov ecx, 0x11b93
call fcn.004efd10
mov edi, dword [ebp - 0x210]
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x208], eax
jmp 0x4a7d0a
mov esi, dword [ebp - 0x244]
mov edx, dword [ebp - 0x228]
movzx eax, word [ecx + 0x16]
mov edi, dword [ebp - 0x230]
cmp eax, edx
jg 0x4a4494
mov esi, dword [ebp - 0x20c]
mov ecx, edi
cmp byte [esi + ebx*4 + 1], 0xf8
jne 0x4a448a
mov edx, dword [esi + ebx*4 + 0x10]
push 0x800
call fcn.0049b080
add esp, 4
jmp 0x4a4596
call fcn.0049aee0
jmp 0x4a4596
mov eax, 0x2460
test word [edi + 8], ax
je 0x4a44ac
mov ecx, edi
call fcn.0049aee0
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x228]
mov ebx, dword [ebp - 0x228]
mov edx, dword [ecx + eax*4 + 0x54]
mov eax, dword [ecx + 0x44]
cmp eax, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x134]
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x290], edx
jb 0x4a44f1
mov eax, dword [ebp - 0x228]
mov ecx, dword [ecx + 0x4c]
push edi
add ecx, dword [esi + eax*4]
call fcn.0049eb40
add esp, 4
jmp 0x4a4587
mov eax, dword [ebp - 0x20c]
mov al, byte [eax + ebx*4 + 3]
test al, 0xc0
je 0x4a450d
cmp edx, 0xc
jb 0x4a4509
test dl, 1
je 0x4a451a
test al, al
js 0x4a451a
mov ecx, edx
call fcn.0049e9f0
mov ecx, eax
test ecx, ecx
jne 0x4a4533
xor eax, eax
lea ecx, [ebp - 0x100]
cmp edx, 0xd
push edi
cmova ecx, eax
call fcn.0049eb40
add esp, 4
jmp 0x4a4587
mov edx, dword [ebp - 0xd8]
push edi
mov eax, dword [edx + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0x228]
push ecx
mov ecx, dword [ebp - 0x240]
mov edx, dword [esi + eax*4]
call fcn.0049b3a0
add esp, 0xc
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a42a0
mov edx, dword [ebp - 0x220]
mov ecx, dword [edi + 0x10]
push edi
call fcn.0049eb40
mov eax, 0xefff
add esp, 4
and word [edi + 8], ax
mov al, byte [ebp - 0x23c]
mov byte [edi + 0xa], al
mov esi, dword [ebp - 0x20c]
movzx ecx, word [edi + 8]
test ecx, 0x1000
je 0x4a7cfe
mov ebx, dword [edi + 0x10]
test ebx, ebx
je 0x4a7cfe
mov edi, dword [edi + 0xc]
mov esi, ecx
mov eax, dword [ebp - 0x230]
and esi, 0x12
lea edx, [edi + 2]
cmp dword [eax + 0x18], edx
jge 0x4a45e2
push 0
mov ecx, eax
call fcn.0049a590
add esp, 4
test eax, eax
je 0x4a45f5
mov edi, dword [ebp - 0x210]
jmp 0x4a7fb5
mov edx, dword [ebp - 0x230]
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 [ebp - 0x230]
push dword [ebx + 0x10]
call fcn.0052e420
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 word [ebx + 8], si
mov esi, dword [ebp - 0x20c]
jmp 0x4a7cfe
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x214]
mov esi, dword [esi + ebx*4 + 0x10]
mov eax, dword [eax + ebx*4 + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
test al, al
je 0x4a2f39
push dword [ebp - 0x23c]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.004a2910
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x4a4650
mov esi, dword [ebp - 0x20c]
jmp 0x4a7cfe
mov ecx, dword [ebp - 0x20c]
xor eax, eax
mov edx, dword [ebp - 0x214]
xorps xmm0, xmm0
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x248], eax
mov eax, dword [ecx + ebx*4 + 4]
mov esi, dword [esi + ebx*4 + 0x10]
movlpd qword [ebp - 0x2f0], xmm0
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov dword [ebp - 0x254], edi
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edi + eax*8]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x204]
movzx edx, byte [eax + 0x57]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x234], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x21c], eax
test esi, esi
je 0x4a4716
mov al, byte [esi]
push dword [ebp - 0x23c]
mov dl, al
mov ecx, edi
call fcn.004a2910
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x4a46f1
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x2ec]
mov esi, dword [ebp - 0x134]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x228], eax
mov ecx, esi
call fcn.0049e8f0
mov ebx, eax
mov ecx, ebx
mov dword [esi + 0x1c], ebx
call fcn.0049e9f0
mov edi, eax
mov eax, 0x4000
test word [esi + 8], ax
je 0x4a4775
mov ecx, dword [ebp - 0x228]
or ecx, dword [ebp - 0x224]
je 0x4a476b
mov ecx, esi
call fcn.0049a730
jmp 0x4a4775
mov eax, dword [esi]
add dword [ebp - 0x248], eax
sub edi, eax
mov eax, edi
mov edi, dword [ebp - 0x224]
cdq
add dword [ebp - 0x228], eax
adc edi, edx
mov dword [ebp - 0x224], edi
cmp ebx, 0x7f
ja 0x4a4798
mov eax, 1
jmp 0x4a47a3
push 0
push ebx
call fcn.00480ea0
add esp, 8
mov ecx, dword [ebp - 0xd8]
sub esi, 0x28
mov ebx, dword [ebp - 0x254]
add ecx, eax
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0xd8], ecx
cmp esi, ebx
jae 0x4a4734
cmp ecx, 0x7e
jle 0x4a47fc
mov eax, ecx
cdq
push edx
push eax
call fcn.00480ea0
mov esi, eax
mov eax, dword [ebp - 0xd8]
add eax, esi
mov dword [ebp - 0xd8], eax
cdq
push edx
push eax
call fcn.00480ea0
mov ecx, dword [ebp - 0xd8]
add esp, 0x10
cmp esi, eax
jge 0x4a4803
inc ecx
mov dword [ebp - 0xd8], ecx
mov eax, ecx
cdq
add dword [ebp - 0x228], eax
mov esi, edx
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x210]
adc edi, esi
mov eax, dword [eax + 0x58]
cdq
cmp edi, edx
jg 0x4a7f50
jl 0x4a4836
cmp dword [ebp - 0x228], eax
ja 0x4a7f50
mov edi, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x228]
cmp dword [edi + 0x18], eax
jge 0x4a4865
push 0
mov edx, eax
mov ecx, edi
call fcn.0049a590
add esp, 4
test eax, eax
jne 0x4a45d7
mov ecx, dword [ebp - 0xd8]
jmp 0x4a4870
mov eax, dword [edi + 0x14]
and word [edi + 8], 0xd
mov dword [edi + 0x10], eax
mov edi, dword [edi + 0x10]
cmp ecx, 0x80
jae 0x4a4884
mov byte [edi], cl
mov eax, 1
jmp 0x4a4895
push esi
push dword [ebp - 0x220]
mov ecx, edi
call fcn.00480c40
add esp, 8
mov ecx, dword [ebp - 0xd8]
movzx esi, al
mov edi, edi
mov ebx, dword [ebx + 0x1c]
cmp ebx, 0x80
jae 0x4a48b5
mov byte [esi + edi], bl
mov eax, 1
jmp 0x4a48c9
push 0
push ebx
lea ecx, [esi + edi]
call fcn.00480c40
mov ecx, dword [ebp - 0xd8]
add esp, 8
push ebx
mov ebx, dword [ebp - 0x254]
add ecx, edi
movzx eax, al
mov edx, ebx
add esi, eax
call fcn.0049ea10
mov ecx, dword [ebp - 0xd8]
add ebx, 0x28
add ecx, eax
mov dword [ebp - 0x254], ebx
add esp, 4
mov dword [ebp - 0xd8], ecx
cmp ebx, dword [ebp - 0x134]
jbe 0x4a48a0
mov ebx, dword [ebp - 0x21c]
mov eax, 0x10
mov edx, dword [ebp - 0x228]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x248]
mov dword [ebx + 0xc], edx
test eax, eax
je 0x4a492d
mov dword [ebx], eax
mov eax, 0x4010
mov word [ebx + 8], ax
mov esi, dword [ebp - 0x20c]
mov byte [ebx + 0xa], 1
jmp 0x4a7cfe
mov ecx, dword [esi + ebx*4 + 4]
lea edx, [ebp - 0x2c8]
mov ebx, dword [ebp - 0x204]
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c8], xmm0
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
call fcn.00497fb0
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov edi, dword [esi + ebx*4 + 4]
mov esi, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0x230], edi
test edi, edi
jne 0x4a4a74
mov edi, dword [ebp - 0x210]
cmp dword [edi + 0x9c], 0
jle 0x4a49bb
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x4a4b03
mov ecx, esi
call fcn.0047fbe0
mov ecx, dword [edi + 0x1f4]
xor edx, edx
add ecx, dword [edi + 0x1f0]
mov ebx, eax
push ecx
mov ecx, edi
call fcn.004df3f0
add esp, 4
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5b9b
lea eax, [ebx + 0x21]
mov ecx, edi
push 0
push eax
call fcn.0047d250
mov edi, eax
add esp, 8
test edi, edi
je 0x4a2f39
lea ecx, [ebx + 1]
push ecx
lea edx, [edi + 0x20]
push esi
push edx
mov dword [edi], edx
call fcn.0052e420
mov ecx, dword [ebp - 0x210]
add esp, 0xc
cmp byte [ecx + 0x3f], 0
je 0x4a4a2e
mov byte [ecx + 0x3f], 0
mov byte [ecx + 0x46], 1
jmp 0x4a4a34
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
mov esi, dword [ebp - 0x20c]
mov edi, ecx
jmp case.default.0x4a2c16
mov eax, dword [ebp - 0x210]
xor edi, edi
mov dword [ebp - 0x244], edi
mov ebx, dword [eax + 0x1e8]
test ebx, ebx
je 0x4a4aad
lea esp, [esp]
push esi
push dword [ebx]
call fcn.0047ff20
add esp, 8
test eax, eax
je 0x4a4ae2
mov ebx, dword [ebx + 0x18]
inc edi
mov dword [ebp - 0x244], edi
test ebx, ebx
jne 0x4a4a90
mov ebx, dword [ebp - 0x204]
mov edi, dword [ebp - 0x210]
push esi
push str.no_such_savepoint:__s
lea eax, [ebx + 0x2c]
push edi
push eax
call fcn.0047d4f0
mov esi, dword [ebp - 0x20c]
mov eax, 1
add esp, 0x10
mov dword [ebp - 0x208], eax
jmp 0x4a7d10
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x230]
cmp dword [ecx + 0x9c], 0
jle 0x4a4b2c
cmp edx, 1
jne 0x4a4b2c
push str.cannot_release_savepoint___SQL_statements_in_progress
mov edi, ecx
mov ebx, dword [ebp - 0x204]
push edi
lea eax, [ebx + 0x2c]
push eax
call fcn.0047d4f0
mov esi, dword [ebp - 0x20c]
mov eax, 5
add esp, 0xc
mov dword [ebp - 0x208], eax
jmp 0x4a7d10
cmp dword [ebx + 0x18], 0
jne 0x4a4b94
cmp byte [ecx + 0x46], 0
je 0x4a4b94
mov esi, 1
mov dword [ebp - 0x224], esi
cmp edx, esi
jne 0x4a4b9e
mov ecx, dword [ebp - 0x204]
mov edx, esi
call fcn.0049dfa0
mov edi, eax
test edi, edi
jne 0x4a8052
mov edi, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x204]
mov byte [edi + 0x3f], 1
call fcn.0049e010
cmp eax, 5
je 0x4a7e17
mov eax, dword [ebp - 0x204]
mov byte [edi + 0x46], 0
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x208], eax
jmp 0x4a4c9e
mov dword [ebp - 0x224], 0
mov eax, dword [ecx + 0x1f0]
sub eax, edi
dec eax
mov dword [ebp - 0x244], eax
cmp edx, 2
jne 0x4a4c28
mov ecx, dword [ecx + 0x18]
xor edi, edi
mov esi, dword [ebp - 0x210]
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [esi + 0x14], edi
jle 0x4a4c34
xor eax, eax
test ecx, ecx
mov ecx, dword [ebp - 0x210]
sete al
xor esi, esi
mov dword [ebp - 0x220], eax
mov ecx, dword [ecx + 0x10]
mov edx, 0x204
push eax
mov ecx, dword [esi + ecx + 4]
call fcn.00492620
add esp, 4
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5b95
mov ecx, dword [ebp - 0x210]
inc edi
mov eax, dword [ebp - 0x220]
add esi, 0x10
cmp edi, dword [ecx + 0x14]
jl 0x4a4be2
mov eax, dword [ebp - 0x244]
mov edx, dword [ebp - 0x230]
jmp 0x4a4c36
mov dword [ebp - 0x234], 0
jmp 0x4a4c36
mov ecx, esi
xor edi, edi
cmp dword [ecx + 0x14], edi
jle 0x4a4c79
xor esi, esi
nop
mov ecx, dword [ecx + 0x10]
push eax
mov ecx, dword [esi + ecx + 4]
call fcn.00492920
add esp, 4
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5b95
mov ecx, dword [ebp - 0x210]
inc edi
mov eax, dword [ebp - 0x244]
add esi, 0x10
mov edx, dword [ebp - 0x230]
cmp edi, dword [ecx + 0x14]
jl 0x4a4c40
cmp dword [ebp - 0x234], 0
mov edi, dword [ebp - 0x210]
je 0x4a4c98
mov ecx, edi
call fcn.0049fe20
call fcn.004b8260
or dword [edi + 0x18], 2
mov esi, dword [ebp - 0x224]
cmp dword [edi + 0x1e8], ebx
je 0x4a4d10
jmp 0x4a4cb0
cmp dword [edi + 0x208], 0
mov ecx, dword [edi + 0x1e8]
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x1e8], eax
je 0x4a4cd3
mov edx, ecx
mov ecx, edi
call fcn.0047cf90
jmp 0x4a4d02
cmp ecx, dword [edi + 0x114]
jb 0x4a4cf9
cmp ecx, dword [edi + 0x118]
jae 0x4a4cf9
mov eax, dword [edi + 0x110]
mov dword [ecx], eax
dec dword [edi + 0xfc]
mov dword [edi + 0x110], ecx
jmp 0x4a4d02
push ecx
call fcn.0047cef0
add esp, 4
dec dword [edi + 0x1f0]
cmp dword [edi + 0x1e8], ebx
jne 0x4a4cb0
mov edi, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x210]
cmp edi, 1
jne 0x4a4d43
mov eax, dword [ebx + 0x18]
mov edx, ebx
mov dword [ecx + 0x1e8], eax
mov ebx, ecx
call fcn.0047cfd0
test esi, esi
jne 0x4a7cd3
dec dword [ebx + 0x1f0]
jmp 0x4a4d6f
mov eax, dword [ebx + 8]
mov dword [ecx + 0x1f8], eax
mov eax, dword [ebx + 0xc]
mov dword [ecx + 0x1fc], eax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x200], eax
mov eax, dword [ebx + 0x14]
mov dword [ecx + 0x204], eax
test esi, esi
jne 0x4a4a67
push dword [ebp - 0x244]
mov edx, edi
mov edi, dword [ebp - 0x210]
mov ecx, edi
call fcn.004df3f0
mov ebx, dword [ebp - 0x204]
add esp, 4
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5ba1
mov esi, dword [ebp - 0x20c]
jmp 0x4a7d10
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [esi + ebx*4 + 8]
mov dword [ebp - 0x220], ecx
test ecx, ecx
je 0x4a4df2
cmp byte [edi + 0x3f], 0
jne 0x4a4df2
test edx, edx
jne 0x4a4df2
cmp dword [edi + 0x9c], edx
jle 0x4a4df2
mov ebx, dword [ebp - 0x204]
push str.cannot_commit_transaction___SQL_statements_in_progress
push edi
lea eax, [ebx + 0x2c]
push eax
call fcn.0047d4f0
mov eax, 5
add esp, 0xc
mov dword [ebp - 0x208], eax
jmp 0x4a7d10
movzx eax, byte [edi + 0x3f]
cmp ecx, eax
jne 0x4a7e37
test ecx, ecx
jne 0x4a4e09
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x4a4e18
test edx, edx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
mov ebx, dword [ebp - 0x204]
push eax
push edi
lea eax, [ebx + 0x2c]
push eax
call fcn.0047d4f0
mov eax, 1
add esp, 0xc
mov dword [ebp - 0x208], eax
jmp 0x4a7d10
mov edx, dword [esi + ebx*4 + 8]
test edx, edx
je 0x4a4e51
test dword [edi + 0x18], 0x2000000
jne 0x4a7eca
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x4a4f70
mov ecx, esi
call fcn.004916b0
mov dword [ebp - 0x208], eax
cmp eax, 5
je 0x4a7eda
test eax, eax
jne 0x4a5b9b
mov eax, dword [ebp - 0x20c]
cmp dword [eax + ebx*4 + 8], 0
je 0x4a4f3c
mov ecx, dword [ebp - 0x204]
test byte [ecx + 0x58], 0x80
je 0x4a4f3c
cmp byte [edi + 0x3f], 0
je 0x4a4eb8
cmp dword [edi + 0x98], 1
jle 0x4a4f3c
cmp dword [ecx + 0x68], 0
jne 0x4a4ed3
mov eax, dword [edi + 0x1f0]
inc dword [edi + 0x1f4]
add eax, dword [edi + 0x1f4]
mov dword [ecx + 0x68], eax
mov eax, dword [ecx + 0x68]
xor edx, edx
dec eax
mov ecx, edi
push eax
call fcn.004df3f0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4a4f06
mov eax, dword [ebp - 0x204]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.004928d0
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x204]
mov eax, dword [edi + 0x1f8]
mov dword [ecx + 0x98], eax
mov eax, dword [edi + 0x1fc]
mov dword [ecx + 0x9c], eax
mov eax, dword [edi + 0x200]
mov dword [ecx + 0xa0], eax
mov eax, dword [edi + 0x204]
mov dword [ecx + 0xa4], eax
lea eax, [ebp - 0x298]
mov edx, 1
push eax
mov ecx, esi
call fcn.00497e80
mov eax, dword [ebp - 0x20c]
add esp, 4
mov esi, dword [ebp - 0x298]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x4a4f7a
xor esi, esi
xor eax, eax
mov dword [ebp - 0x298], esi
mov ecx, dword [ebp - 0x20c]
cmp byte [ecx + ebx*4 + 3], 0
je 0x4a2d2d
cmp esi, dword [ecx + ebx*4 + 0xc]
jne 0x4a4f9b
cmp eax, dword [ecx + ebx*4 + 0x10]
je 0x4a2d2d
mov eax, dword [ebp - 0x204]
mov ecx, edi
mov edx, dword [eax + 0x2c]
call fcn.0047cfd0
mov edx, str.database_schema_has_changed
mov ecx, edi
call fcn.0047d450
mov ecx, dword [ebp - 0x204]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x20c]
mov edx, dword [eax + ebx*4 + 4]
mov ecx, edx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
je 0x4a4fe0
mov ecx, edi
call fcn.004b8220
mov ebx, dword [ebp - 0x204]
mov eax, 0x11
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x208], eax
or dword [ebx + 0x58], 0x20
jmp 0x4a7d10
mov ecx, dword [edi + 0x10]
lea eax, [ebp - 0x2cc]
mov edx, dword [esi + ebx*4 + 0xc]
push eax
mov eax, dword [esi + ebx*4 + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00497e80
mov ecx, dword [ebp - 0x21c]
add esp, 4
mov eax, dword [ebp - 0x2cc]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x4a2c16
mov eax, dword [ebp - 0x20c]
mov esi, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
shl esi, 4
mov eax, dword [eax + ebx*4 + 0xc]
add esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0049ac90
mov eax, dword [ebp - 0x20c]
push dword [edi]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*4 + 8]
call fcn.00497f00
mov dword [ebp - 0x208], eax
add esp, 4
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + ebx*4 + 8]
cmp eax, 1
jne 0x4a509d
mov eax, dword [edi]
mov ecx, dword [esi + 0xc]
mov edi, dword [ebp - 0x210]
mov dword [ecx], eax
or dword [edi + 0x18], 2
jmp 0x4a50b0
cmp eax, 2
jne 0x4a50aa
mov ecx, dword [esi + 0xc]
mov al, byte [edi]
mov byte [ecx + 0x4c], al
mov edi, dword [ebp - 0x210]
mov esi, dword [ebp - 0x20c]
cmp dword [esi + ebx*4 + 4], 1
jne case.default.0x4a2c16
mov ecx, edi
call fcn.0049fe20
mov ebx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x208]
and dword [ebx + 0x58], 0xffffffdf
jmp 0x4a7d10
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x4a2c16.54
mov eax, dword [eax + 0x20]
cmp eax, dword [esi + ebx*4 + 8]
je case.default.0x4a2c16
mov eax, dword [ebp - 0x204]
test byte [eax + 0x58], 0x20
je 0x4a511a
mov eax, 0x204
mov dword [ebp - 0x208], eax
jmp 0x4a7d0a
mov ecx, dword [esi + ebx*4 + 8]
xor edi, edi
mov esi, dword [esi + ebx*4 + 0xc]
mov eax, esi
mov dword [ebp - 0x224], ecx
mov ecx, dword [ebp - 0x210]
shl eax, 4
mov dword [ebp - 0x234], edi
mov dword [ebp - 0x220], esi
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x248], ecx
mov ecx, dword [ebp - 0x224]
cmp dl, 0x37
jne 0x4a5178
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x204]
mov dword [ebp - 0x254], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x4a517e
mov byte [edx + 0x57], al
jmp 0x4a517e
mov dword [ebp - 0x254], edi
mov eax, dword [ebp - 0x20c]
test byte [eax + ebx*4 + 3], 2
je 0x4a51b5
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x214]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0049ac90
mov eax, dword [esi]
mov dword [ebp - 0x224], eax
cmp eax, 2
jl 0x4a7ef6
mov esi, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x20c]
mov al, byte [ecx + ebx*4 + 1]
cmp al, 0xfa
jne 0x4a51d9
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x234], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x4a51e1
cmp al, 0xf2
jne 0x4a51e1
mov edi, dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0x204]
push 1
push esi
push edi
call fcn.004a27a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4a45d7
push dword [esi]
mov edi, dword [ebp - 0x234]
mov edx, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x248]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0x254]
mov byte [esi + 0x19], 1
mov dword [esi + 0x20], edx
call fcn.00492a70
mov edx, dword [ebp - 0x20c]
add esp, 0xc
mov dword [ebp - 0x208], eax
mov eax, dword [esi]
mov dword [esi + 8], edi
mov cl, byte [edx + ebx*4 + 3]
and cl, 1
mov byte [eax + 0x4a], cl
xor eax, eax
cmp byte [edx + ebx*4 + 1], 0xfa
setne al
shl eax, 2
xor eax, dword [esi + 0x1c]
and eax, 4
xor dword [esi + 0x1c], eax
mov esi, edx
jmp 0x4a7cfe
mov edx, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x204]
push 1
push 0xffffffffffffffff
push dword [esi + ebx*4 + 8]
call fcn.004a27a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4a7fb5
mov eax, dword [ebp - 0x20c]
lea edi, [esi + 4]
or dword [esi + 0x1c], 1
xor edx, edx
mov byte [esi + 0x19], 1
push 0x41e
movzx eax, byte [eax + ebx*4 + 3]
or eax, 5
push eax
mov eax, dword [ebp - 0x210]
push edi
push eax
mov ecx, dword [eax]
call fcn.00490690
add esp, 0x10
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5364
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.004916b0
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5364
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x220], eax
test eax, eax
je 0x4a5345
movzx eax, byte [ecx + ebx*4 + 3]
lea edx, [ebp - 0x29c]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.00497980
add esp, 4
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a533f
push dword [esi]
mov eax, dword [ebp - 0x220]
mov edx, dword [ebp - 0x29c]
mov ecx, dword [edi]
push eax
push 1
mov dword [esi + 8], eax
call fcn.00492a70
add esp, 0xc
mov dword [ebp - 0x208], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x4a5364
push dword [esi]
mov ecx, dword [edi]
mov edx, 1
push 0
push 1
call fcn.00492a70
add esp, 0xc
mov dword [ebp - 0x208], eax
or dword [esi + 0x1c], 4
mov ecx, dword [ebp - 0x20c]
xor eax, eax
cmp byte [ecx + ebx*4 + 3], 8
setne al
shl eax, 3
xor eax, dword [esi + 0x1c]
and eax, 8
xor dword [esi + 0x1c], eax
mov esi, ecx
jmp 0x4a7cfe
mov edx, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x204]
push 1
push 0xffffffffffffffff
push dword [esi + ebx*4 + 8]
call fcn.004a27a0
add esp, 0xc
test eax, eax
je 0x4a7fb5
mov ecx, dword [esi + ebx*4 + 0x10]
mov dword [eax + 8], ecx
mov ecx, edi
mov edx, dword [esi + ebx*4 + 0xc]
push eax
call fcn.004a9590
add esp, 4
mov dword [ebp - 0x208], eax
jmp 0x4a7d0a
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [ebp - 0x204]
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 esi, dword [ebp - 0x20c]
mov edi, dword [ebp - 0x210]
mov dword [edx + 0x2c], eax
jne case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov edx, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x204]
push 0
push 0xffffffffffffffff
push dword [esi + ebx*4 + 0xc]
call fcn.004a27a0
add esp, 0xc
test eax, eax
je 0x4a7fb5
mov byte [eax + 0x19], 1
mov ecx, dword [esi + ebx*4 + 8]
or dword [eax + 0x1c], 4
mov dword [eax + 0x10], ecx
jmp case.default.0x4a2c16
mov ecx, dword [ebp - 0x204]
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ecx + 0x38]
mov edx, dword [edx + eax*4]
call fcn.0049d220
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x204]
mov eax, dword [ebx + 0x38]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x20c]
test byte [esi + 0x1c], 4
movzx edx, byte [eax + ebx*4]
mov dword [ebp - 0x230], edx
mov byte [esi + 0x19], 0
je 0x4a5567
mov eax, dword [eax + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [edi + 8]
and al, 0xe
cmp al, 2
jne 0x4a54ce
xor edx, edx
mov ecx, edi
call fcn.004a2880
mov ecx, edi
call fcn.0049aae0
movzx ecx, word [edi + 8]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x224], edx
test cl, 4
jne 0x4a5528
test cl, 8
je 0x4a7ced
mov ecx, eax
call fcn.00549fbd
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x4a5511
mov eax, dword [ebp - 0x230]
test al, 1
je 0x4a5528
dec eax
jmp 0x4a5522
comisd xmm1, xmm0
jbe 0x4a5528
mov eax, dword [ebp - 0x230]
test al, 1
jne 0x4a5528
inc eax
mov dword [ebp - 0x230], eax
mov edi, dword [ebp - 0x234]
lea eax, [ebp - 0xdc]
mov ecx, dword [esi]
xor edx, edx
push eax
push 0
push dword [ebp - 0x224]
push edi
call fcn.00493620
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x224]
mov dword [esi + 0x30], edi
mov edi, dword [ebp - 0x210]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0x208]
jmp 0x4a55da
mov ecx, dword [eax + ebx*4 + 0x10]
test dl, 1
mov eax, dword [esi + 8]
mov dword [ebp - 0x1a4], eax
sete al
mov word [ebp - 0x1a0], cx
mov ecx, dword [ebp - 0x214]
lea eax, [eax*2 - 1]
mov byte [ebp - 0x19e], al
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [ebp - 0x19c], ecx
test word [ecx + 8], ax
je 0x4a55ba
call fcn.0049a730
mov ecx, dword [esi]
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x1a4]
call fcn.00493620
mov dword [ebp - 0x208], eax
add esp, 0x10
test eax, eax
jne 0x4a5b9b
mov byte [esi + 0x1a], al
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0xdc]
cmp eax, 0x40
jl 0x4a5636
test ecx, ecx
js 0x4a561c
jne 0x4a5607
cmp eax, 0x41
je 0x4a561c
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0xdc], 0
jmp case.default.0x4a2c16
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
push eax
push dword [esi]
call fcn.00493bd0
jmp 0x4a5672
test ecx, ecx
jg 0x4a565a
jne 0x4a5641
cmp eax, 0x3e
je 0x4a565a
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x49], 1
mov eax, dword [ebp - 0x208]
setne cl
mov dword [ebp - 0xdc], ecx
jmp 0x4a5683
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0
push eax
push dword [esi]
call fcn.00493d70
add esp, 8
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5b9b
cmp dword [ebp - 0xdc], 0
mov esi, dword [ebp - 0x20c]
je 0x4a7d0a
mov ebx, dword [esi + ebx*4 + 8]
dec ebx
mov dword [ebp - 0x218], ebx
jmp 0x4a7d0a
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x214]
mov byte [esi + 0x19], 0
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0049aae0
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
mov esi, dword [ebp - 0x20c]
jmp case.default.0x4a2c16
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x254], 0
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x234], ecx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x220], esi
cmp dword [edx + ebx*4 + 0x10], 0
jle 0x4a579f
mov eax, dword [ecx + 8]
xor edi, edi
mov dword [ebp - 0x190], eax
xor eax, eax
mov dx, word [edx + ebx*4 + 0x10]
mov word [ebp - 0x18c], dx
mov dword [ebp - 0x188], esi
cmp ax, dx
jae 0x4a5791
mov ebx, dword [ebp - 0x220]
xor esi, esi
lea esp, [esp]
lea ecx, [esi + ebx]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x4a5780
call fcn.0049a730
mov ebx, dword [ebp - 0x188]
mov dx, word [ebp - 0x18c]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x4a5760
mov ebx, dword [ebp - 0x134]
mov esi, dword [ebp - 0x234]
lea edi, [ebp - 0x190]
jmp 0x4a57f0
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0x254]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.0049ecf0
mov edi, eax
add esp, 8
test edi, edi
je 0x4a45d7
mov eax, 0x4000
test word [esi + 8], ax
je 0x4a57d8
mov ecx, esi
call fcn.0049a730
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [ebp - 0x234]
mov ecx, dword [esi + 8]
call fcn.0049ed60
add esp, 8
mov eax, dword [ebp - 0x20c]
mov byte [edi + 6], 0
cmp byte [eax + ebx*4], 0x43
jne 0x4a5830
movzx edx, word [edi + 4]
xor ecx, ecx
test edx, edx
jle 0x4a5830
mov eax, dword [edi + 8]
add eax, 8
test byte [eax], 1
jne 0x4a581f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x4a5810
jmp 0x4a5830
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
mov ecx, dword [esi]
lea eax, [ebp - 0x2a8]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.00493620
mov edi, dword [ebp - 0x210]
add esp, 0x10
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x20c]
cmp dword [eax + ebx*4 + 0x10], 0
jne 0x4a586f
mov edx, dword [ebp - 0x254]
mov ecx, edi
call fcn.0047cfd0
mov eax, dword [ebp - 0x208]
test eax, eax
jne 0x4a42a6
mov eax, dword [ebp - 0x2a8]
xor ecx, ecx
test eax, eax
mov dword [esi + 0xc], eax
mov al, 1
mov byte [esi + 0x1a], 0
sete cl
mov dword [esi + 0x3c], 0
sub al, cl
mov byte [esi + 0x19], al
mov esi, dword [ebp - 0x20c]
cmp byte [esi + ebx*4], 0x45
jne 0x4a58b2
test ecx, ecx
jmp 0x4a3b65
test ecx, ecx
jne case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x234], 0
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x220], ecx
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*8]
mov edi, dword [edx + eax*8 + 4]
lea eax, [ebp - 0x234]
push eax
push 0
push edi
push esi
xor edx, edx
call fcn.00493620
mov ecx, dword [ebp - 0x234]
add esp, 0x10
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x220]
mov dword [eax + 0x30], esi
mov esi, dword [ebp - 0x20c]
mov dword [eax + 0x34], edi
mov word [eax + 0x19], 0
mov dword [eax + 0x3c], 0
test ecx, ecx
je 0x4a594f
mov ebx, dword [esi + ebx*4 + 8]
dec ebx
mov dword [ebp - 0x218], ebx
mov dword [eax + 0xc], ecx
jmp 0x4a7cfe
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [ebp - 0x204]
mov edx, dword [ebp - 0x21c]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x28]
mov dword [edx], eax
mov eax, dword [ecx + 0x2c]
mov dword [edx + 4], eax
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x204]
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [ebp - 0x204]
xorps xmm0, xmm0
mov ecx, dword [esi + ebx*4 + 4]
movlpd qword [ebp - 0xe8], xmm0
mov dword [ebp - 0x230], 0
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x228], edx
mov ecx, dword [edx]
test ecx, ecx
je 0x4a5bf2
test byte [edx + 0x1c], 2
jne 0x4a5a70
lea edx, [ebp - 0x230]
call fcn.004935c0
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5b9b
cmp dword [ebp - 0x230], eax
je 0x4a5a16
mov edx, dword [ebp - 0x228]
mov edi, 1
xor esi, esi
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], esi
jmp 0x4a5a7c
mov ecx, dword [ebp - 0x228]
lea edx, [ebp - 0xe8]
mov ecx, dword [ecx]
call fcn.00492ba0
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0x208], eax
cmp esi, 0x7fffffff
jl 0x4a5a56
jg 0x4a5a4a
cmp edi, 0xffffffff
jb 0x4a5a56
mov edx, dword [ebp - 0x228]
or dword [edx + 0x1c], 2
jmp 0x4a5a7c
mov edx, dword [ebp - 0x228]
add edi, 1
mov dword [ebp - 0xe8], edi
adc esi, 0
mov dword [ebp - 0xe4], esi
jmp 0x4a5a7c
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x20c]
mov ecx, dword [eax + ebx*4 + 0xc]
test ecx, ecx
je 0x4a5b17
mov eax, dword [ebp - 0x204]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x4a5ab9
mov eax, dword [edx + 4]
test eax, eax
je 0x4a5aae
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4a5aa5
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x4a5ac5
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x214]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.0049ac90
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp eax, 0xffffffff
jne 0x4a5ae2
cmp ecx, 0x7fffffff
je 0x4a5b8a
mov edx, dword [ebp - 0x228]
test byte [edx + 0x1c], 2
jne 0x4a5b8a
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x4a5b12
jl 0x4a5b02
cmp edi, eax
jae 0x4a5b12
mov edi, eax
mov esi, ecx
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], esi
mov dword [ebx], edi
mov dword [ebx + 4], esi
test byte [edx + 0x1c], 2
je 0x4a5bd1
xor ebx, ebx
lea eax, [ebp - 0xe8]
push eax
push 8
call fcn.0047f160
mov esi, dword [ebp - 0xe4]
lea eax, [ebp - 0x230]
mov edi, dword [ebp - 0xe8]
and esi, 0x3fffffff
push eax
mov eax, dword [ebp - 0x228]
add edi, 1
push 0
adc esi, 0
mov dword [ebp - 0xe8], edi
push esi
mov ecx, dword [eax]
xor edx, edx
push edi
mov dword [ebp - 0xe4], esi
call fcn.00493620
add esp, 0x18
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5bcb
cmp dword [ebp - 0x230], eax
jne 0x4a5bcb
inc ebx
cmp ebx, 0x64
jl 0x4a5b23
mov eax, 0xd
mov dword [ebp - 0x208], eax
mov edi, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x204]
cmp byte [edi + 0x41], 0
je 0x4a7f05
mov eax, 7
mov dword [ebp - 0x208], 7
mov edx, str.unknown_error
mov ecx, eax
call fcn.004eddd0
jmp 0x4a7f2a
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x21c]
mov byte [edx + 0x1a], 0
mov dword [edx + 0x3c], 0
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x20c]
mov dword [eax], edi
jmp 0x4a7cfe
mov eax, dword [ebp - 0x21c]
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xe8]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x20c]
mov dword [eax], edi
jmp 0x4a7cfe
mov eax, dword [esi + ebx*4 + 8]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x20c]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0x204]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x224], eax
mov eax, dword [ecx + ebx*4 + 0xc]
cmp dl, 0x4b
jne 0x4a5c5e
mov edx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
mov edi, dword [edx + eax*8]
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0x234], eax
jmp 0x4a5c69
cdq
mov edi, eax
mov dword [ebp - 0x234], edx
mov eax, edx
test byte [ecx + ebx*4 + 3], 1
je 0x4a5c79
mov edx, dword [ebp - 0x204]
inc dword [edx + 0x5c]
test byte [ecx + ebx*4 + 3], 2
je 0x4a5c9e
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x264], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x214]
movzx eax, word [edx + esi*8 + 8]
test al, 1
je 0x4a5cbd
mov dword [edx + esi*8 + 0x10], 0
mov dword [edx + esi*8 + 0xc], 0
mov cl, byte [ecx + ebx*4 + 3]
mov byte [ebp - 0x229], cl
test cl, 0x10
je 0x4a5cd7
mov edx, dword [ebp - 0x224]
mov edx, dword [edx + 0xc]
jmp 0x4a5cd9
xor edx, edx
test eax, 0x4000
je 0x4a5ceb
mov eax, dword [ebp - 0x214]
mov ecx, dword [eax + esi*8]
jmp 0x4a5ced
xor ecx, ecx
movzx eax, byte [ebp - 0x229]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0x214]
push ecx
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 0x10]
mov eax, dword [ebp - 0x224]
mov esi, dword [ebp - 0x234]
push esi
push edi
mov ecx, dword [eax]
call fcn.004971f0
mov ecx, dword [ebp - 0x224]
add esp, 0x1c
mov dword [ebp - 0x208], eax
mov byte [ecx + 0x1a], 0
mov dword [ecx + 0x3c], 0
test eax, eax
jne 0x4a42a0
mov eax, dword [ebp - 0x210]
mov edx, dword [eax + 0xd0]
test edx, edx
je 0x4a7cc9
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x4a2f39
movsx ecx, byte [ecx + 0x18]
push esi
mov esi, dword [ebp - 0x20c]
add ecx, ecx
push edi
mov edi, dword [ebp - 0x210]
push eax
test byte [esi + ebx*4 + 3], 4
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
mov ecx, 0x17
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [edi + 0xcc]
call edx
add esp, 0x18
jmp case.default.0x4a2c16
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.00497410
mov dword [ebp - 0x208], eax
mov dword [esi + 0x3c], 0
test eax, eax
jne 0x4a5e14
mov edx, dword [edi + 0xd0]
test edx, edx
je 0x4a5e14
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x4a5e0e
test byte [esi + 0x1c], 4
je 0x4a5e0e
push dword [esi + 0x34]
movsx ecx, byte [esi + 0x18]
push dword [esi + 0x30]
add ecx, ecx
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
push 9
push dword [edi + 0xcc]
call edx
add esp, 0x18
mov eax, dword [ebp - 0x208]
mov esi, dword [ebp - 0x20c]
test byte [esi + ebx*4 + 8], 1
mov ebx, dword [ebp - 0x204]
je 0x4a7d10
inc dword [ebx + 0x5c]
jmp 0x4a7d10
mov ebx, dword [ebp - 0x204]
mov eax, dword [ebx + 0x5c]
add dword [edi + 0x54], eax
mov dword [edi + 0x50], eax
mov eax, dword [ebp - 0x208]
mov dword [ebx + 0x5c], 0
jmp 0x4a7d10
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x248], 0
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x248]
push eax
push dword [esi + ebx*4 + 0x10]
call fcn.004ab740
add esp, 8
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x248], 0
je 0x4a7d0a
mov ebx, dword [esi + ebx*4 + 8]
dec ebx
mov dword [ebp - 0x218], ebx
jmp 0x4a7d0a
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x21c], edx
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.004ab6a0
mov ecx, dword [esi + ebx*4 + 0xc]
mov ebx, dword [ebp - 0x204]
mov dword [ebp - 0x208], eax
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x3c], 0
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x204]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + ecx*4]
test byte [ebx + 0x1c], 4
mov edi, dword [ebx]
mov ecx, edi
jne 0x4a5f70
lea edx, [ebp - 0x2e0]
call fcn.00492ba0
mov eax, dword [ebp - 0x210]
mov eax, dword [eax + 0x58]
cdq
cmp dword [ebp - 0x2dc], edx
jg 0x4a7f50
mov esi, dword [ebp - 0x2e0]
jl 0x4a5f68
cmp esi, eax
ja 0x4a7f50
mov dword [ebp - 0x294], esi
jmp 0x4a5f90
lea edx, [ebp - 0x294]
call fcn.00492c00
mov eax, dword [ebp - 0x210]
mov esi, dword [ebp - 0x294]
cmp esi, dword [eax + 0x58]
ja 0x4a7f48
mov ecx, dword [ebp - 0x21c]
mov edx, 0x20
cmp esi, edx
cmova edx, esi
cmp dword [ecx + 0x18], edx
jge 0x4a5fbf
push 0
call fcn.0049a590
add esp, 4
test eax, eax
jne 0x4a45d7
mov ecx, dword [ebp - 0x21c]
jmp 0x4a5fca
mov eax, dword [ecx + 0x14]
and word [ecx + 8], 0xd
mov dword [ecx + 0x10], eax
mov ax, word [ecx + 8]
mov edx, 0xbe10
and ax, dx
mov dword [ecx + 0xc], esi
or ax, 0x10
mov word [ecx + 8], ax
test byte [ebx + 0x1c], 4
mov ebx, dword [ebp - 0x21c]
jne 0x4a601a
push 0
push dword [ebx + 0x10]
xor edx, edx
mov ecx, edi
push esi
call fcn.00492e20
mov edi, dword [ebp - 0x210]
add esp, 0xc
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x208], eax
mov byte [ebx + 0xa], 1
jmp 0x4a7d0a
push dword [ebx + 0x10]
push esi
push 0
push edi
call fcn.00493200
mov edi, dword [ebp - 0x210]
add esp, 0x10
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x208], eax
mov byte [ebx + 0xa], 1
jmp 0x4a7d0a
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x204]
mov eax, dword [ebx + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x4a607a
mov eax, dword [ebp - 0x21c]
mov ecx, 1
mov esi, dword [ebp - 0x20c]
mov word [eax + 8], cx
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
cmp byte [esi + 0x1a], 0
je 0x4a6097
mov eax, dword [esi + 0x30]
mov dword [ebp - 0xf8], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0xf4], eax
jmp 0x4a611d
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x4a60c3
mov esi, dword [ecx]
lea edx, [ebp - 0xf8]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0x208], eax
mov edx, esi
mov ecx, ebx
call fcn.0049fef0
jmp 0x4a611d
mov eax, dword [esi]
cmp byte [eax + 0x49], 1
je 0x4a60e2
mov ecx, esi
call fcn.0049e8a0
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5ba1
jmp 0x4a60ea
xor eax, eax
mov dword [ebp - 0x208], eax
cmp byte [esi + 0x19], 0
je 0x4a610a
mov ecx, dword [ebp - 0x21c]
mov edx, 1
mov esi, dword [ebp - 0x20c]
mov word [ecx + 8], dx
jmp 0x4a7d10
mov ecx, dword [esi]
lea edx, [ebp - 0xf8]
call fcn.00492ba0
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0x20c]
mov dword [ecx], eax
mov eax, dword [ebp - 0xf4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x204]
mov eax, dword [ebx + 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 0x4a7a19
call fcn.0048f340
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [ebp - 0x204]
lea edx, [ebp - 0x244]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x244], 0
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.004935c0
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x244]
mov byte [esi + 0x19], al
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov esi, dword [ebp - 0x20c]
mov ecx, dword [esi + ebx*4 + 8]
test ecx, ecx
jle case.default.0x4a2c16
mov ebx, dword [ebp - 0x204]
test eax, eax
je 0x4a7a19
lea eax, [ecx - 1]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [ebp - 0x204]
inc dword [eax + 0x74]
jmp 0x4a6200
mov eax, dword [ebp - 0x204]
mov eax, dword [eax + 0x38]
mov ecx, dword [esi + ebx*4 + 4]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x240], eax
cmp dword [esi + 0x38], 0
je 0x4a624a
lea edx, [ebp - 0x240]
mov ecx, esi
call fcn.004ab5d0
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x240]
test eax, eax
mov byte [esi + 0x19], al
mov esi, dword [ebp - 0x20c]
jmp 0x4a3b65
mov edi, dword [esi]
mov ecx, edi
call fcn.004932f0
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a627c
cmp byte [edi + 0x49], al
jne 0x4a6269
mov eax, 1
jmp 0x4a6282
xor eax, eax
mov ecx, edi
call fcn.004934d0
mov dword [ebp - 0x208], eax
xor eax, eax
jmp 0x4a6282
mov eax, dword [ebp - 0x220]
mov edi, dword [ebp - 0x210]
test eax, eax
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov byte [esi + 0x19], al
mov esi, dword [ebp - 0x20c]
jmp 0x4a3b65
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0xec]
push eax
mov edx, esi
mov dword [ebp - 0xec], 0
mov ecx, edi
call fcn.004ab630
add esp, 4
jmp 0x4a631b
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + ecx*4], 0
je case.default.0x4a2c16
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ecx + ebx*4 + 0xc]
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0xec]
push eax
push dword [esi]
mov eax, dword [ecx + ebx*4 + 0x10]
call eax
add esp, 8
mov dword [esi + 0x3c], 0
cmp dword [ebp - 0xec], 0
mov dword [ebp - 0x208], eax
jne 0x4a635a
mov byte [esi + 0x19], 0
mov esi, dword [ebp - 0x20c]
mov ecx, dword [esi + ebx*4 + 8]
movzx eax, byte [esi + ebx*4 + 3]
dec ecx
mov ebx, dword [ebp - 0x204]
mov dword [ebp - 0x218], ecx
inc dword [ebx + eax*4 + 0x6c]
jmp 0x4a79b7
mov byte [esi + 0x19], 1
jmp 0x4a79ab
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0x20c]
mov eax, dword [eax + 0x38]
test byte [edx + ebx*4 + 3], 1
mov edi, dword [eax + ecx*4]
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edi]
mov dword [ebp - 0x220], ecx
je 0x4a63a1
mov eax, dword [ebp - 0x204]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4a63cd
mov ecx, esi
call fcn.0049a730
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a42a0
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x20c]
cmp dword [edi + 0x38], 0
je 0x4a63f3
mov edx, esi
mov ecx, edi
call fcn.004aa810
mov edi, dword [ebp - 0x210]
mov esi, dword [ebp - 0x20c]
mov dword [ebp - 0x208], eax
jmp 0x4a7d0a
test byte [edx + ebx*4 + 3], 0x10
je 0x4a63ff
mov eax, dword [edi + 0xc]
jmp 0x4a6401
xor eax, eax
push eax
push dword [edx + ebx*4 + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
cdq
push 0x592b28
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.004971f0
mov esi, dword [ebp - 0x20c]
add esp, 0x1c
mov dword [edi + 0x3c], 0
mov edi, dword [ebp - 0x210]
mov dword [ebp - 0x208], eax
jmp 0x4a7d0a
mov eax, dword [ebp - 0x204]
lea edx, [ebp - 0x1b8]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x20c]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x1b8], eax
mov ax, word [ecx + ebx*4 + 0xc]
mov word [ebp - 0x1b4], ax
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0x214]
mov byte [ebp - 0x1b2], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x2a4]
push eax
push 0
push 0
push 0
call fcn.00493620
add esp, 0x10
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a64c4
cmp dword [ebp - 0x2a4], eax
jne 0x4a64c4
mov ecx, edi
call fcn.00497410
mov dword [ebp - 0x208], eax
mov edi, dword [ebp - 0x210]
mov dword [esi + 0x3c], 0
mov esi, dword [ebp - 0x20c]
jmp 0x4a7d0a
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x21c]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov edi, dword [esi]
mov word [ebx + 8], ax
mov eax, dword [esi]
cmp byte [eax + 0x49], 1
je 0x4a651c
mov ecx, esi
call fcn.0049e8a0
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5b95
jmp 0x4a6524
xor eax, eax
mov dword [ebp - 0x208], eax
cmp byte [esi + 0x19], 0
jne 0x4a42a0
lea eax, [ebp - 0x2d8]
mov edx, edi
mov edi, dword [ebp - 0x210]
xorps xmm0, xmm0
push eax
mov ecx, edi
movlpd qword [ebp - 0x2d8], xmm0
call fcn.0049fb70
add esp, 4
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a5b9b
mov eax, dword [ebp - 0x2d8]
mov esi, dword [ebp - 0x20c]
mov dword [ebx], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebx + 4], eax
mov eax, 4
mov word [ebx + 8], ax
jmp case.default.0x4a2c16
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
cmp byte [ebp - 0x229], 0x73
mov dword [ebp - 0x224], 0
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x214]
mov eax, dword [edx + 8]
mov dword [ebp - 0x304], eax
mov ax, word [esi + ebx*4 + 0x10]
mov word [ebp - 0x300], ax
sbb al, al
mov byte [ebp - 0x2fe], al
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x2fc], eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x304]
push eax
call fcn.0049fcf0
add esp, 8
mov dword [ebp - 0x208], eax
test byte [esi + ebx*4], 1
mov eax, dword [ebp - 0x224]
je 0x4a6607
neg eax
jmp 0x4a6608
inc eax
test eax, eax
jle case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov eax, dword [edi + 4]
xor edx, edx
test eax, eax
je 0x4a665a
lea esp, [esp]
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x4a6653
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x4a6653
and cl, 0xc
cmp cl, 8
jae 0x4a6653
cmp dword [eax + 0x4c], 0
jl 0x4a6653
inc edx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x4a6630
mov eax, dword [ebp - 0x21c]
mov ecx, 1
mov word [eax + 8], cx
cmp edx, ecx
jle 0x4a6687
mov ebx, dword [ebp - 0x204]
mov eax, 6
mov dword [ebp - 0x208], eax
mov byte [ebx + 0x56], 2
jmp 0x4a7d10
mov eax, dword [esi + ebx*4 + 0xc]
lea ecx, [ebp - 0x228]
mov edx, dword [esi + ebx*4 + 4]
push ecx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x220], eax
add eax, eax
mov dword [ebp - 0x228], 0
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00497e30
mov edi, dword [ebp - 0x21c]
mov ecx, 4
mov dword [ebp - 0x208], eax
add esp, 4
mov eax, dword [ebp - 0x21c]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x228]
mov eax, ecx
cdq
mov dword [edi], eax
mov eax, edi
mov edi, dword [ebp - 0x210]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x208]
test eax, eax
jne 0x4a7d0a
test ecx, ecx
je 0x4a7d0a
push dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x220]
mov edx, ebx
push ecx
mov ecx, edi
call fcn.004baa30
add esp, 8
inc bl
mov byte [ebp - 0x249], bl
jmp case.default.0x4a2c16
mov edx, dword [esi + ebx*4 + 4]
lea eax, [ebp - 0xd8]
xor ecx, ecx
mov dword [ebp - 0xd8], 0
cmp dword [esi + ebx*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [esi + ebx*4 + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00497b90
add esp, 4
mov dword [ebp - 0x208], eax
cmp dword [esi + ebx*4 + 0xc], 0
je 0x4a7d0a
mov ecx, dword [ebp - 0x204]
mov eax, dword [ebp - 0xd8]
add dword [ecx + 0x5c], eax
mov ecx, dword [esi + ebx*4 + 0xc]
test ecx, ecx
jle case.default.0x4a2c16
mov ebx, dword [ebp - 0x214]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
jmp case.default.0x4a2c16
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x204]
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x4a67c0
mov ecx, edi
call fcn.004a9ab0
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov ecx, dword [ecx]
push 0
mov edx, dword [ecx + 0x3c]
mov ecx, dword [ecx]
call fcn.00497b90
add esp, 4
mov dword [ebp - 0x208], eax
jmp 0x4a7d10
mov ecx, dword [esi + ebx*4 + 4]
xor eax, eax
shl ecx, 4
add ecx, dword [edi + 0x10]
cmp dl, 0x79
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], 0
setne al
inc eax
mov ecx, dword [ecx + 4]
push eax
call fcn.00497980
mov ecx, dword [ebp - 0x21c]
add esp, 4
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x220]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x4a2c16
mov edx, dword [esi + ebx*4 + 4]
mov eax, str.sqlite_master
push dword [esi + ebx*4 + 0x10]
cmp edx, 1
mov dword [ebp - 0x174], edx
mov ecx, str.sqlite_temp_master
mov dword [ebp - 0x17c], edi
cmovne ecx, eax
mov eax, dword [ebp - 0x204]
add eax, 0x2c
add edx, edx
mov dword [ebp - 0x178], eax
mov eax, dword [edi + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.0047ed30
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x4a6884
mov dword [ebp - 0x208], 7
jmp 0x4a68d6
push 0
lea eax, [ebp - 0x17c]
mov byte [edi + 0x91], 1
push eax
push fcn.004cdb20
push esi
push edi
mov dword [ebp - 0x170], 0
call fcn.004c9d90
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, edi
cmove eax, dword [ebp - 0x170]
mov dword [ebp - 0x208], eax
call fcn.0047cfd0
mov eax, dword [ebp - 0x208]
mov byte [edi + 0x91], 0
test eax, eax
je 0x4a68e3
mov ecx, edi
call fcn.004b8260
mov eax, dword [ebp - 0x208]
mov ebx, dword [ebp - 0x204]
cmp eax, 7
je 0x4a7fbb
mov esi, dword [ebp - 0x20c]
jmp 0x4a7d10
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.004b6620
mov dword [ebp - 0x208], eax
jmp 0x4a7d0a
push dword [esi + ebx*4 + 0x10]
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.004b8690
add esp, 4
jmp case.default.0x4a2c16
push dword [esi + ebx*4 + 0x10]
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.004b8000
add esp, 4
jmp case.default.0x4a2c16
push dword [esi + ebx*4 + 0x10]
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.004da570
add esp, 4
jmp case.default.0x4a2c16
mov edi, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0x210]
push 0
mov dword [ebp - 0x220], edi
lea eax, [edi*4 + 4]
push eax
call fcn.0047d250
mov edx, eax
add esp, 8
mov dword [ebp - 0x234], edx
test edx, edx
je 0x4a45d7
mov ecx, dword [esi + ebx*4 + 0xc]
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x224], eax
xor esi, esi
mov eax, dword [ebp - 0x214]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x254], eax
test edi, edi
jle 0x4a69e4
mov ebx, dword [ebp - 0x220]
mov edi, eax
jmp 0x4a69c0
mov ecx, edi
call fcn.0049aae0
mov edx, dword [ebp - 0x234]
add edi, 0x28
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x4a69c0
mov ebx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x214]
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x224]
mov dword [edx + esi*4], 0
push dword [ecx + eax*8]
mov eax, dword [ebp - 0x20c]
push edi
movzx eax, byte [eax + ebx*4 + 3]
mov ebx, dword [ebp - 0x210]
add eax, eax
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00498d10
mov edx, dword [ebp - 0x234]
add esp, 0xc
mov ecx, ebx
mov edi, eax
call fcn.0047cfd0
mov ecx, dword [ebp - 0x224]
mov ebx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x2a0]
mov eax, esi
cdq
sub dword [ebx + ecx*8], eax
sbb dword [ebx + ecx*8 + 4], edx
mov ebx, dword [ebp - 0x254]
mov ecx, ebx
call fcn.0049aee0
test esi, esi
je 0x4a6a7d
test edi, edi
je 0x4a45d7
push fcn.0047cef0
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.0049b190
add esp, 0xc
movzx edx, byte [ebp - 0x23c]
mov ecx, ebx
call fcn.0049a570
mov esi, dword [ebp - 0x20c]
jmp 0x4a7cfe
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x4a6acb
mov ecx, esi
call fcn.0049af80
test byte [esi + 8], 0x20
je 0x4a45d7
mov eax, dword [ebp - 0x214]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.004867d0
mov esi, dword [ebp - 0x20c]
add esp, 8
jmp 0x4a7cfe
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
je 0x4a6b44
mov ecx, dword [esi]
lea edx, [ebp - 0x2e8]
call fcn.00486be0
test eax, eax
je 0x4a6b44
mov esi, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x214]
push dword [ebp - 0x2e4]
mov eax, dword [esi + ebx*4 + 0xc]
push dword [ebp - 0x2e8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0049af40
add esp, 8
jmp 0x4a79b1
mov ecx, esi
call fcn.0049aee0
mov esi, dword [ebp - 0x20c]
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp 0x4a79b1
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x20c]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 0x20
lea esi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x220], eax
jne 0x4a6bac
mov ecx, esi
call fcn.0049af80
test byte [esi + 8], 0x20
je 0x4a45d7
mov eax, dword [ebp - 0x220]
mov edx, dword [ebp - 0x214]
test eax, eax
je 0x4a6bd3
push dword [edx + edi*8 + 4]
mov ecx, dword [esi]
push dword [edx + edi*8]
mov edx, eax
call fcn.00486c40
add esp, 8
test eax, eax
jne 0x4a7ced
mov eax, dword [ebp - 0x220]
test eax, eax
js 0x4a2f39
mov eax, dword [ebp - 0x214]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.004867d0
mov esi, dword [ebp - 0x20c]
add esp, 8
jmp 0x4a7cfe
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x214]
mov edx, dword [esi + ebx*4 + 0x10]
cmp byte [esi + ebx*4 + 3], 0
mov ebx, dword [ebp - 0x204]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x234], eax
je 0x4a6c45
mov eax, dword [ebx + 0xb0]
mov ecx, dword [edx + 0x14]
test eax, eax
je 0x4a6c45
cmp dword [eax + 0x1c], ecx
je 0x4a7a19
mov eax, dword [eax + 4]
test eax, eax
jne 0x4a6c35
mov eax, dword [ebx + 0xb8]
cmp eax, dword [edi + 0x80]
jl 0x4a6c79
push str.too_many_levels_of_trigger_recursion
lea eax, [ebx + 0x2c]
mov dword [ebp - 0x208], 1
push edi
push eax
call fcn.0047d4f0
add esp, 0xc
mov eax, 1
jmp 0x4a7d10
mov ebx, dword [ebp - 0x234]
test byte [ebx + 8], 0x40
jne 0x4a6d5a
mov ecx, dword [edx + 0xc]
mov edi, dword [edx + 8]
add edi, ecx
lea eax, [edi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x210]
cdq
push edx
push eax
call fcn.0047d220
mov esi, eax
add esp, 8
test esi, esi
je 0x4a45d7
mov ecx, ebx
call fcn.0049aac0
mov edx, dword [ebp - 0x220]
mov eax, 0x40
mov word [ebx + 8], ax
mov dword [ebx], esi
mov ebx, dword [ebp - 0x204]
mov dword [esi + 0x3c], edi
mov dword [esi], ebx
mov eax, dword [edx + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x218]
mov dword [esi + 0x2c], eax
mov eax, dword [ebx + 8]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0x1c]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 0x38]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [ebx + 4]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x1c], eax
mov eax, dword [ebx + 0xc8]
mov dword [esi + 0x14], eax
mov eax, dword [ebx + 0xc4]
mov dword [esi + 0x38], eax
lea eax, [edi + 2]
mov edi, dword [ebp - 0x210]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
lea eax, [esi + 0x50]
cmp eax, ecx
je 0x4a6d62
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], edi
add eax, 0x28
cmp eax, ecx
jne 0x4a6d44
mov edx, dword [ebp - 0x220]
jmp 0x4a6d5c
mov esi, dword [ebx]
mov ebx, dword [ebp - 0x204]
inc dword [ebx + 0xb8]
lea ecx, [esi + 0x28]
mov eax, dword [ebx + 0xb0]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x260]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x264]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x5c]
mov dword [esi + 0x44], eax
mov eax, dword [ebx]
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x218], 0xffffffff
mov eax, dword [eax + 0x50]
mov dword [esi + 0x48], eax
mov dword [ebx + 8], ecx
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0xb0], esi
mov eax, dword [esi + 0x3c]
mov dword [ebx + 0x1c], eax
movzx eax, word [esi + 0x40]
mov dword [ebx + 0x24], eax
mov eax, dword [ebx + 0x1c]
inc eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebx + 0x38], ecx
mov esi, dword [edx]
mov dword [ebx + 4], esi
mov eax, dword [edx + 4]
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x20c], esi
lea ecx, [ecx + eax*4]
mov dword [ebx + 0xc8], ecx
mov eax, dword [edx + 0x10]
push eax
push 0
push ecx
mov dword [ebx + 0xc4], eax
call fcn.0052ebd0
mov eax, dword [ebp - 0x208]
add esp, 0xc
jmp 0x4a7d10
mov eax, dword [ebp - 0x204]
push 0x1000
mov edx, dword [eax + 0xb0]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
add eax, dword [esi + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edx, [eax + ecx*8]
mov ecx, dword [ebp - 0x21c]
call fcn.0049b080
add esp, 4
jmp case.default.0x4a2c16
test dword [edi + 0x18], 0x1000000
mov eax, dword [esi + ebx*4 + 8]
cdq
je 0x4a6e68
add dword [edi + 0x200], eax
adc dword [edi + 0x204], edx
jmp case.default.0x4a2c16
cmp dword [esi + ebx*4 + 4], 0
mov ebx, dword [ebp - 0x204]
je 0x4a6e8c
add dword [edi + 0x1f8], eax
mov eax, dword [ebp - 0x208]
adc dword [edi + 0x1fc], edx
jmp 0x4a7d10
add dword [ebx + 0x90], eax
mov eax, dword [ebp - 0x208]
adc dword [ebx + 0x94], edx
jmp 0x4a7d10
cmp dword [esi + ebx*4 + 4], 0
je 0x4a6ede
mov eax, dword [edi + 0x1f8]
or eax, dword [edi + 0x1fc]
jne case.default.0x4a2c16
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
jne case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov ecx, dword [ebp - 0x204]
mov eax, dword [ecx + 0x90]
or eax, dword [ecx + 0x94]
jne 0x4a6f0b
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
jne 0x4a6f0b
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x208]
mov ebx, ecx
jmp 0x4a7d10
mov eax, dword [ebp - 0x204]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x4a6f48
mov eax, dword [edx + 4]
test eax, eax
je 0x4a6f39
nop
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4a6f30
mov eax, dword [esi + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x4a6f58
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0049ac90
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0049ac90
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x4a2f39
jl 0x4a6f8e
cmp dword [edi], eax
jae 0x4a2f39
mov esi, dword [ebp - 0x20c]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4a7cfe
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], 0
jl case.default.0x4a2c16
jg 0x4a3b6b
cmp dword [ecx + eax*8], 0
jbe case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov edi, dword [ebp - 0x214]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ebx*4 + 0xc]
cdq
add dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [ebp - 0x210]
adc dword [eax + ecx*8 + 4], edx
cmp dword [eax + ecx*8 + 4], 0
jg case.default.0x4a2c16
jl 0x4a3b6b
cmp dword [eax + ecx*8], 0
jae case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov edi, dword [ebp - 0x214]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ebx*4 + 0xc]
cdq
add dword [edi + ecx*8], eax
mov eax, edi
adc dword [eax + ecx*8 + 4], edx
mov edx, edi
mov eax, dword [eax + ecx*8]
mov edi, dword [ebp - 0x210]
or eax, dword [edx + ecx*8 + 4]
jne case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0x214]
movzx edx, byte [esi + ebx*4 + 3]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0x204]
mov esi, dword [eax + 0xc]
xor eax, eax
test edx, edx
jle 0x4a7091
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x4a7086
mov ecx, dword [ebp - 0x20c]
push esi
push edx
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x168], eax
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x164], eax
inc dword [eax + 0xc]
mov eax, 1
mov word [ebp - 0x128], ax
lea eax, [ebp - 0x130]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0x16c]
push eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x158], 0
mov byte [ebp - 0x154], 0
mov eax, dword [eax + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x158], 0
je 0x4a715f
lea eax, [ebp - 0x130]
push eax
call fcn.004a03a0
add esp, 4
push eax
mov eax, dword [ebp - 0x204]
push 0x59517c
add eax, 0x2c
push edi
push eax
call fcn.0047d4f0
mov eax, dword [ebp - 0x158]
add esp, 0x10
mov dword [ebp - 0x208], eax
cmp byte [ebp - 0x154], 0
mov esi, dword [ebp - 0x20c]
je 0x4a718e
mov eax, dword [esi + ebx*4 - 0x10]
test eax, eax
je 0x4a718e
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.0049af40
add esp, 8
lea ecx, [ebp - 0x130]
call fcn.0049aac0
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0x20c]
mov ecx, esi
mov edx, dword [eax + ebx*4 + 0x10]
call fcn.0049a8d0
mov dword [ebp - 0x208], eax
test eax, eax
je 0x4a71ed
push esi
call fcn.004a03a0
mov ebx, dword [ebp - 0x204]
add esp, 4
push eax
push 0x59517c
lea eax, [ebx + 0x2c]
push edi
push eax
call fcn.0047d4f0
add esp, 0x10
jmp 0x4a71f3
mov ebx, dword [ebp - 0x204]
movzx edx, byte [ebp - 0x23c]
mov ecx, esi
call fcn.0049a570
mov ecx, esi
call fcn.0049b050
test eax, eax
jne 0x4a7f5c
mov esi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov edx, dword [esi + ebx*4 + 4]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd4], 0
push eax
push dword [esi + ebx*4 + 8]
mov ecx, edi
mov dword [ebp - 0xcc], 0xffffffff
mov dword [ebp - 0xd0], 0xffffffff
call fcn.004ee810
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x208], ecx
cmp ecx, 5
jne 0x4a7280
mov dword [ebp - 0x208], 0
mov dword [ebp - 0xd4], 1
mov eax, dword [esi + ebx*4 + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + esi*4 - 0xd4]
mov ecx, edi
cdq
push edx
push eax
call fcn.0049af40
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x4a7292
mov esi, dword [ebp - 0x20c]
jmp 0x4a7cfe
mov eax, dword [ebp - 0x20c]
mov esi, dword [esi + ebx*4 + 0xc]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x220], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
movzx edx, byte [edi + 5]
cmove esi, edx
mov dword [ebp - 0x234], edx
cmp byte [edi + 0x10], 3
jae 0x4a7308
mov eax, dword [edi + 0x40]
cmp dword [eax], 0
je 0x4a730a
cmp dword [edi + 0x4c], 0
jl 0x4a730a
jg 0x4a7308
cmp dword [edi + 0x48], 0
jbe 0x4a730a
mov esi, edx
cmp byte [edi + 0xf], 0
mov ecx, 0x592b28
jne 0x4a731b
mov ecx, dword [edi + 0xa8]
cmp esi, 5
jne 0x4a7374
call fcn.0047fbe0
test eax, eax
je 0x4a7334
mov ecx, edi
call fcn.0048bea0
test eax, eax
jne 0x4a7374
mov esi, edx
mov edx, esi
mov ecx, edi
call fcn.0048bd20
mov esi, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x214]
mov ecx, dword [esi + ebx*4 + 8]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov ecx, 0xa02
mov dword [ebp - 0x21c], ebx
mov word [ebx + 8], cx
cmp eax, 6
jne 0x4a7438
xor ecx, ecx
jmp 0x4a743f
cmp esi, edx
je 0x4a7336
cmp edx, 5
je 0x4a7382
cmp esi, 5
jne 0x4a7336
mov eax, dword [ebp - 0x210]
cmp byte [eax + 0x3f], 0
je 0x4a73ef
cmp dword [eax + 0x98], 1
jg 0x4a73ef
cmp edx, 5
jne 0x4a73b1
mov ecx, edi
call fcn.0048c050
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a73e4
mov edx, esi
jmp 0x4a73bb
cmp edx, 4
jne 0x4a73c2
mov edx, 2
mov ecx, edi
call fcn.0048bd20
mov ecx, dword [ebp - 0x220]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00499440
mov dword [ebp - 0x208], eax
test eax, eax
je 0x4a7336
mov esi, dword [ebp - 0x234]
jmp 0x4a7336
mov ebx, dword [ebp - 0x204]
cmp esi, 5
mov edi, dword [ebp - 0x210]
mov ecx, str.out_of
mov eax, str.into
mov dword [ebp - 0x208], 1
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
lea eax, [ebx + 0x2c]
push edi
push eax
call fcn.0047d4f0
mov esi, dword [ebp - 0x20c]
add esp, 0x10
mov eax, 1
jmp 0x4a7d10
mov ecx, dword [eax*4 + 0x590a58]
mov dword [ebx + 0x10], ecx
call fcn.0047fbe0
movzx edx, byte [ebp - 0x23c]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.0049a570
jmp 0x4a7cfe
mov ebx, dword [ebp - 0x204]
mov edx, edi
lea ecx, [ebx + 0x2c]
call fcn.004ddcf0
mov dword [ebp - 0x208], eax
jmp 0x4a7d10
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.004920f0
mov dword [ebp - 0x208], eax
cmp eax, 0x65
jne 0x4a7d0a
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
xor eax, eax
mov dword [ebp - 0x208], eax
jmp 0x4a7d0a
cmp dword [esi + ebx*4 + 4], 0
jne 0x4a74c8
mov ecx, edi
call fcn.0049fe20
jmp case.default.0x4a2c16
mov ebx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x208]
or dword [ebx + 0x58], 0x20
jmp 0x4a7d10
mov al, byte [esi + ebx*4 + 0xc]
mov byte [ebp - 0x2bc], al
test al, al
jne 0x4a74f8
test dword [edi + 0x18], 0x4000
jne case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [edi + 0x10]
add eax, eax
push dword [ebp - 0x2bc]
mov edx, dword [esi + ebx*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00499330
add esp, 4
mov dword [ebp - 0x208], eax
cmp al, 6
jne 0x4a7d0a
push dword [esi + ebx*4 + 0x10]
mov ebx, dword [ebp - 0x204]
push str.database_table_is_locked:__s
push edi
lea eax, [ebx + 0x2c]
push eax
call fcn.0047d4f0
mov eax, dword [ebp - 0x208]
add esp, 0x10
jmp 0x4a7d10
mov esi, dword [esi + ebx*4 + 0x10]
mov ecx, edi
mov edx, esi
call fcn.004df350
mov ebx, dword [ebp - 0x204]
mov dword [ebp - 0x208], eax
test esi, esi
je 0x4a4d9b
mov edx, dword [esi + 8]
mov ecx, ebx
call fcn.0049fef0
mov esi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [ebp - 0x204]
mov ecx, edi
mov edx, dword [esi + ebx*4 + 4]
add eax, 0x2c
push eax
push dword [esi + ebx*4 + 0x10]
call fcn.004dee60
add esp, 8
mov dword [ebp - 0x208], eax
jmp 0x4a7d0a
mov ecx, dword [ebp - 0x204]
mov eax, dword [ecx + 0x58]
and eax, 0xfffffffb
or eax, 8
mov dword [ecx + 0x58], eax
mov ecx, edi
push dword [esi + ebx*4 + 0x10]
mov edx, dword [esi + ebx*4 + 4]
call fcn.004df130
mov ebx, dword [ebp - 0x204]
add esp, 4
mov dword [ebp - 0x208], eax
and dword [ebx + 0x58], 0xfffffff3
jmp 0x4a7d10
mov eax, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0x134], 0
mov esi, dword [eax + 8]
lea eax, [ebp - 0x134]
push eax
push esi
mov edi, dword [esi]
mov eax, dword [edi + 0x18]
call eax
mov ecx, dword [ebp - 0x204]
add esp, 8
mov edx, esi
mov dword [ebp - 0x208], eax
call fcn.0049fef0
mov eax, dword [ebp - 0x208]
test eax, eax
jne 0x4a42a0
mov eax, dword [ebp - 0x134]
push 0
push 0xffffffffffffffff
push 0
mov dword [eax], esi
mov esi, dword [ebp - 0x20c]
mov edx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x204]
mov ecx, ebx
call fcn.004a27a0
add esp, 0xc
test eax, eax
je 0x4a7672
mov ecx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x210]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [ebp - 0x210]
push dword [ebp - 0x134]
mov byte [eax + 0x41], 1
mov eax, dword [edi + 0x1c]
call eax
mov edi, dword [ebp - 0x210]
add esp, 4
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [esi + ebx*4 + 0xc]
mov edi, dword [ebp - 0x204]
mov esi, dword [ebp - 0x214]
add esi, 0x28
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x20c]
lea esi, [esi + edx*8]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [edi + 0x38]
mov edi, dword [edi + 0xc]
movd xmm0, esi
mov dword [ebp - 0x220], esi
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov esi, dword [esi]
mov dword [ebp - 0x134], eax
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x224], eax
mov eax, dword [eax]
mov dword [ebp - 0x248], eax
mov eax, dword [eax]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x214]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x234], eax
test esi, esi
jle 0x4a778b
cmp esi, 4
jb 0x4a776b
cmp dword [0x5cee20], 2
jl 0x4a776b
movdqa xmm2, xmmword [0x5a9bd0]
mov eax, esi
and eax, 0x80000003
jns 0x4a7734
dec eax
or eax, 0xfffffffc
inc eax
movdqa xmm1, xmmword [str.____]
mov edx, esi
sub edx, eax
mov eax, edi
movd xmm0, ecx
lea eax, [eax + 0x10]
pshufd xmm0, xmm0, 0
add ecx, 4
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [eax - 0x10], xmm0
cmp ecx, edx
jl 0x4a7742
cmp ecx, esi
jge 0x4a778b
mov edx, dword [ebp - 0x220]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edi, edi
mov dword [edi + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x4a7780
mov ecx, dword [ebp - 0x204]
push edi
mov edi, dword [ebp - 0x254]
push esi
mov eax, dword [ecx + 0x58]
mov esi, dword [ebp - 0x224]
and eax, 0xfffffff7
or eax, 4
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0x20c]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [edi + 0x20]
push dword [ebp - 0x234]
push esi
call eax
mov edx, dword [ebp - 0x248]
add esp, 0x14
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x204]
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.0049fef0
cmp dword [ebp - 0x208], 0
jne 0x4a7817
mov eax, dword [edi + 0x28]
push esi
call eax
mov esi, dword [ebp - 0x20c]
add esp, 4
test eax, eax
je 0x4a781d
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x134]
mov byte [eax + 0x19], 0
jmp 0x4a7cfe
mov esi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x134]
mov byte [eax + 0x19], 0
jmp 0x4a7cfe
mov eax, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0x214]
cmp byte [edx + 0x19], 0
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x4a785e
mov ecx, edi
call fcn.0049aee0
jmp 0x4a7cfe
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movdqu xmmword [ebp - 0x1d4], xmm0
mov dword [ebp - 0x1bc], 0
movq qword [ebp - 0x1c4], xmm0
mov dword [ebp - 0x1d4], edi
mov ax, word [edi + 8]
and ax, word [ebp - 0x2ac]
or ax, 1
mov word [edi + 8], ax
mov eax, dword [ebp - 0x20c]
push dword [eax + ebx*4 + 8]
lea eax, [ebp - 0x1d4]
push eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x2c]
call eax
mov ebx, dword [ebp - 0x204]
add esp, 0xc
mov edx, esi
mov dword [ebp - 0x208], eax
mov ecx, ebx
call fcn.0049fef0
mov eax, dword [ebp - 0x1c0]
test eax, eax
mov ecx, dword [ebp - 0x208]
movzx edx, byte [ebp - 0x23c]
cmovne ecx, eax
mov dword [ebp - 0x208], ecx
mov ecx, edi
call fcn.0049a570
mov ecx, edi
call fcn.0049b050
mov edi, dword [ebp - 0x210]
test eax, eax
jne 0x4a7f5c
mov esi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov edx, dword [ebp - 0x204]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x4a7cdd
mov eax, dword [edi + 0x24]
mov esi, dword [eax]
mov eax, dword [edx + 0x58]
and eax, 0xfffffff7
or eax, 4
mov ecx, dword [esi]
mov dword [edx + 0x58], eax
push dword [edi + 0x24]
mov dword [ebp - 0x220], ecx
mov eax, dword [ecx + 0x24]
call eax
mov dword [ebp - 0x208], eax
add esp, 4
mov eax, dword [ebp - 0x204]
mov edx, esi
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.0049fef0
cmp dword [ebp - 0x208], 0
jne 0x4a798c
mov eax, dword [ebp - 0x220]
push dword [edi + 0x24]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x4a79a5
mov esi, dword [ebp - 0x20c]
mov edi, dword [ebp - 0x210]
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
jmp 0x4a79b1
mov edi, dword [ebp - 0x210]
mov esi, dword [ebp - 0x20c]
mov ebx, dword [ebp - 0x204]
cmp dword [edi + 0xf0], 0
jne 0x4a7f79
mov ecx, dword [edi + 0x124]
test ecx, ecx
je 0x4a7a19
mov edx, dword [ebp - 0x268]
cmp edx, dword [ebp - 0x25c]
jb 0x4a7a19
mov eax, dword [edi + 0x12c]
mov dword [ebp - 0x25c], eax
mov eax, edx
xor edx, edx
div dword [ebp - 0x25c]
mov eax, dword [ebp - 0x25c]
push dword [edi + 0x128]
sub eax, edx
add eax, dword [ebp - 0x268]
mov dword [ebp - 0x25c], eax
call ecx
add esp, 4
test eax, eax
jne 0x4a7f72
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [esi + ebx*4 + 0x10]
mov ecx, dword [ebp - 0x214]
mov edi, dword [eax + 8]
mov eax, dword [esi + ebx*4 + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 2
lea esi, [ecx + eax*8]
je 0x4a7a5f
cmp byte [esi + 0xa], 1
je 0x4a7a5f
mov dl, 1
mov ecx, esi
call fcn.0047f4f0
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x4a42a0
mov eax, dword [edi]
push dword [esi + 0x10]
push edi
mov eax, dword [eax + 0x4c]
call eax
mov ebx, dword [ebp - 0x204]
add esp, 8
mov edx, edi
mov dword [ebp - 0x208], eax
mov ecx, ebx
call fcn.0049fef0
and dword [ebx + 0x58], 0xffffffdf
mov edi, dword [ebp - 0x210]
mov esi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [esi + ebx*4 + 0x10]
mov esi, dword [esi + ebx*4 + 8]
mov edx, dword [eax + 8]
mov dword [ebp - 0x234], edx
mov eax, dword [edx]
mov dword [ebp - 0x220], eax
cmp dword [eax + 0x34], 0
je 0x4a2d2d
mov al, byte [edi + 0x45]
mov ecx, dword [ebp - 0x214]
mov byte [ebp - 0x229], al
mov eax, dword [ebp - 0x204]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x4a7afb
mov edi, edi
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x4a7af0
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x210]
mov al, byte [eax + ebx*4 + 3]
mov byte [ecx + 0x45], al
lea eax, [ebp - 0x108]
push eax
mov eax, dword [ebp - 0x220]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov edi, dword [ebp - 0x210]
add esp, 0x10
mov edx, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x204]
mov dword [ebp - 0x208], eax
mov al, byte [ebp - 0x229]
mov byte [edi + 0x45], al
call fcn.0049fef0
mov eax, dword [ebp - 0x208]
mov esi, dword [ebp - 0x20c]
test eax, eax
jne 0x4a7b80
cmp dword [esi + ebx*4 + 4], eax
je 0x4a7b80
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x264], edx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], edx
cmp al, 0x13
jne 0x4a7bdd
mov eax, dword [esi + ebx*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x4a7bd7
mov al, byte [esi + ebx*4 + 3]
cmp al, 4
jne 0x4a7ba3
xor eax, eax
mov dword [ebp - 0x208], eax
jmp 0x4a7d0a
cmp al, 5
jne 0x4a7bc0
mov ebx, dword [ebp - 0x204]
mov eax, 2
mov byte [ebx + 0x56], al
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov ebx, dword [ebp - 0x204]
movzx eax, al
mov byte [ebx + 0x56], al
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov eax, dword [ebp - 0x208]
mov ebx, dword [ebp - 0x204]
inc dword [ebx + 0x5c]
jmp 0x4a7d10
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp - 0x21c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], 0
jmp case.default.0x4a2c16
mov ecx, dword [esi + ebx*4 + 4]
xor edx, edx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [esi + ebx*4 + 0xc]
mov ecx, dword [eax + ecx*8 + 4]
test esi, esi
je 0x4a7c34
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.004911e0
mov ecx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x20c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x4a2c16
mov eax, dword [esi + ebx*4 + 8]
test eax, eax
je 0x4a7c5f
dec eax
mov dword [ebp - 0x218], eax
cmp dword [edi + 0xac], 0
je case.default.0x4a2c16
mov eax, dword [ebp - 0x204]
test dword [eax + 0x58], 0x800
jne case.default.0x4a2c16
mov edx, dword [esi + ebx*4 + 0x10]
mov ebx, eax
test edx, edx
jne 0x4a7c97
mov edx, dword [ebx + 0xa8]
test edx, edx
je 0x4a7a19
mov ecx, ebx
call fcn.004a22d0
mov ecx, dword [edi + 0xac]
mov esi, eax
push esi
push dword [edi + 0xb0]
call ecx
add esp, 8
mov edx, esi
mov ecx, edi
call fcn.0047cfd0
mov esi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov esi, dword [ebp - 0x20c]
mov edi, eax
jmp case.default.0x4a2c16
mov esi, dword [ebp - 0x20c]
mov edi, ebx
jmp case.default.0x4a2c16
mov edi, dword [ebp - 0x210]
mov ebx, edx
mov eax, dword [ebp - 0x208]
jmp 0x4a7d10
mov esi, dword [ebp - 0x20c]
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0x218], eax
mov edi, dword [ebp - 0x210]
mov eax, dword [ebp - 0x208]
mov ebx, dword [ebp - 0x204]
mov edx, dword [ebp - 0x218]
inc edx
mov dword [ebp - 0x218], edx
test eax, eax
jne 0x4a7fe2
mov eax, edx
jmp 0x4a2ba1
mov ecx, dword [esi + ebx*4 + 4]
mov dword [edx + 0x50], ecx
mov al, byte [esi + ebx*4 + 8]
mov byte [edx + 0x56], al
mov eax, dword [ebp - 0x218]
mov dword [edx + 0x4c], eax
test ecx, ecx
je 0x4a7dcf
mov al, byte [esi + ebx*4 + 3]
test al, al
je 0x4a7d7f
movzx eax, al
mov eax, dword [eax*4 + 0x590c74]
test eax, eax
je 0x4a7d81
mov ecx, dword [esi + ebx*4 + 0x10]
test ecx, ecx
je 0x4a7d81
push ecx
push eax
push str._s_constraint_failed:__s
lea esi, [edx + 0x2c]
push edi
push esi
call fcn.0047d4f0
add esp, 0x14
jmp 0x4a7da4
xor eax, eax
mov ecx, dword [esi + ebx*4 + 0x10]
lea esi, [edx + 0x2c]
test ecx, ecx
je 0x4a7d94
push ecx
push 0x59517c
jmp 0x4a7d9a
push eax
push str._s_constraint_failed
push edi
push esi
call fcn.0047d4f0
add esp, 0x10
push dword [esi]
mov eax, dword [ebp - 0x204]
push dword [eax + 0xa8]
mov eax, dword [ebp - 0x20c]
push dword [ebp - 0x218]
push str.abort_at__d_in___s_:__s
push dword [eax + ebx*4 + 4]
call fcn.0047f120
add esp, 0x14
mov ebx, dword [ebp - 0x204]
mov ecx, ebx
call fcn.0049e010
cmp eax, 5
je 0x4a7e2a
cmp dword [ebx + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x4a8058
mov ebx, dword [ebp - 0x204]
mov eax, 9
jmp 0x4a7fd6
mov eax, 0x14
mov dword [ebp - 0x208], eax
jmp 0x4a5ba1
mov ebx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x218]
mov dword [ebx + 0x4c], eax
mov byte [edi + 0x3f], 0
mov edi, 5
mov dword [ebx + 0x50], edi
jmp 0x4a8058
test edx, edx
je 0x4a7e6e
mov edx, 0x204
mov ecx, edi
call fcn.004edc80
mov byte [edi + 0x3f], 1
mov ecx, edi
call fcn.004ed5f0
mov ebx, dword [ebp - 0x204]
mov edi, 1
mov eax, 0x65
cmp dword [ebx + 0x50], 0
cmove edi, eax
jmp 0x4a8058
mov ebx, dword [ebp - 0x204]
mov edx, 1
mov ecx, ebx
call fcn.0049dfa0
mov edi, eax
test edi, edi
jne 0x4a8058
mov edi, dword [ebp - 0x210]
mov esi, dword [ebp - 0x204]
mov ecx, esi
mov ebx, dword [ebp - 0x220]
mov byte [edi + 0x3f], bl
call fcn.0049e010
cmp eax, 5
jne 0x4a7e4b
mov eax, dword [ebp - 0x218]
mov dword [esi + 0x4c], eax
mov al, 1
sub al, bl
mov ebx, esi
mov byte [edi + 0x3f], al
mov edi, 5
mov dword [ebx + 0x50], edi
jmp 0x4a8058
mov eax, 8
mov dword [ebp - 0x208], eax
jmp 0x4a5b9b
mov ebx, dword [ebp - 0x204]
mov edi, 5
mov eax, dword [ebp - 0x218]
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], edi
jmp 0x4a8058
mov ecx, 0x11ee7
call fcn.004efd10
jmp 0x4a5b8f
cmp eax, 0xc0a
je 0x4a7fdc
cmp eax, 0x204
je 0x4a7f25
mov edx, str.unknown_error
mov ecx, eax
call fcn.004eddd0
jmp 0x4a7f2a
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x59517c
lea eax, [ebx + 0x2c]
push edi
push eax
call fcn.0047d4f0
mov eax, dword [ebp - 0x208]
add esp, 0x10
jmp 0x4a7fdc
mov edi, eax
jmp 0x4a7f56
mov edi, edx
jmp 0x4a7f56
mov edi, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x204]
push str.string_or_blob_too_big
lea eax, [ebx + 0x2c]
push edi
push eax
call fcn.0047d4f0
mov eax, 0x12
jmp 0x4a7fd3
mov eax, 9
jmp 0x4a7fd6
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
test eax, eax
mov dword [ebp - 0x208], 9
mov dword [ebx + 0x50], 9
cmovne ecx, eax
lea eax, [ebx + 0x2c]
push ecx
push 0x59517c
push edi
push eax
call fcn.0047d4f0
add esp, 0x10
mov eax, 9
jmp 0x4a7fdc
mov edi, eax
mov ebx, dword [ebp - 0x204]
push str.out_of_memory
lea eax, [ebx + 0x2c]
mov byte [edi + 0x41], 1
push edi
push eax
call fcn.0047d4f0
mov eax, 7
add esp, 0xc
mov dword [ebp - 0x208], eax
mov edx, dword [ebp - 0x218]
push dword [ebx + 0x2c]
mov dword [ebx + 0x50], eax
push dword [ebx + 0xa8]
push edx
push str.statement_aborts_at__d:___s___s
push eax
call fcn.0047f120
add esp, 0x14
mov ecx, ebx
call fcn.0049e010
cmp dword [ebp - 0x208], 0xc0a
jne 0x4a8014
mov byte [edi + 0x41], 1
mov al, byte [ebp - 0x249]
mov edi, 1
test al, al
je 0x4a8058
mov ebx, dword [ebp - 0x210]
movzx esi, al
dec esi
mov ecx, esi
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.004be880
add esp, 4
cmp esi, edi
je 0x4a8052
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.004be880
add esp, 4
mov ebx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x210]
mov ecx, ebx
mov esi, dword [ebp - 0x260]
mov dword [eax + 0x20], esi
mov esi, dword [ebp - 0x264]
mov dword [eax + 0x24], esi
mov eax, dword [ebp - 0x268]
add dword [ebx + 0x7c], eax
call fcn.0049c860
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0052ab62
mov esp, ebp
pop ebp
ret