Function at 0x44d780
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2fc
mov eax, dword [0x4e4738]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0xec], 0
push esi
push edi
mov dword [ebp - 0xd8], ebx
mov edi, dword [ebx]
mov esi, dword [ebx + 4]
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], 0
mov al, byte [edi + 0x3e]
mov byte [ebp - 0x118], al
mov eax, dword [ebx + 8]
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x148], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0xe4], edi
mov byte [ebp - 0x125], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x14c], eax
call fcn.004475f0
cmp dword [ebx + 0x50], 7
je 0x452cbb
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 0x452c79
cmp dword [edi + 0x124], 0
je 0x44d88e
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x44d880
mov edx, dword [edi + 0x12c]
jmp 0x44d888
xor edx, edx
div dword [edi + 0x12c]
mov dword [ebp - 0x144], edx
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x1a4], 0xbe01
cmp byte [edi + 0x41], 0
mov edx, 0x2460
jne 0x452cbb
inc dword [ebp - 0x150]
lea ebx, [eax + eax*4]
test byte [esi + ebx*4 + 2], 2
mov dword [ebp - 0x114], ebx
je 0x44d8f8
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xf0], ecx
test word [ecx + 8], dx
je 0x44d8ed
call fcn.00445750
mov ecx, dword [ebp - 0xf0]
mov eax, 4
mov word [ecx + 8], ax
jmp 0x44d8fe
mov ecx, dword [ebp - 0xf0]
mov dl, byte [esi + ebx*4]
movzx eax, dl
dec eax
mov byte [ebp - 0x101], dl
cmp eax, 0x98
ja case.default.0x44d916
jmp dword [eax*4 + 0x452d94]
mov ecx, dword [esi + ebx*4 + 8]
dec ecx
mov dword [ebp - 0xec], ecx
jmp 0x4526b1
mov ecx, dword [esi + ebx*4 + 4]
mov edx, 4
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 8], dx
mov eax, dword [ebp - 0xec]
cdq
mov dword [edi + ecx*8], eax
mov eax, edi
mov dword [eax + ecx*8 + 4], edx
jmp 0x4529f3
mov eax, dword [esi + ebx*4 + 4]
mov edx, 0x80
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov ebx, dword [ecx + eax*8]
mov dword [ebp - 0xec], ebx
mov word [ecx + eax*8 + 8], dx
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esi + ebx*4 + 0xc]
dec eax
mov dword [ebp - 0xf0], 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 - 0xd8]
test eax, eax
je 0x452719
dec eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xe8]
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 - 0xec], eax
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xe8]
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 - 0xec]
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
mov dword [ebp - 0xec], ecx
mov esi, dword [ebp - 0xe0]
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je case.default.0x44d916
cmp dword [esi + ebx*4 + 4], 0
mov edx, dword [ebp - 0xd8]
jne 0x452a2c
mov ecx, dword [edx + 0xb0]
test ecx, ecx
je 0x452a2c
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.00448080
mov ecx, dword [edi + 0x20]
cmp dword [esi + ebx*4 + 8], 4
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0x148], ecx
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x14c], ecx
jne 0x44dac2
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + 8]
mov esi, dword [ebx + 4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], esi
jmp 0x452a10
mov eax, dword [esi + ebx*4 + 4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x44d916
mov ecx, dword [esi + ebx*4 + 0x10]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
jmp case.default.0x44d916
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.0x44d916
mov ecx, dword [esi + ebx*4 + 0x10]
mov byte [esi + ebx*4], 0x1b
call fcn.0042ac70
cmp byte [ebp - 0x118], 1
mov dword [esi + ebx*4 + 4], eax
je 0x44dbb7
push 0
push 1
mov edx, ecx
mov ecx, dword [ebp - 0xf0]
push 0xffffffffffffffff
call fcn.00445f30
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp eax, 0x12
je 0x452c56
movzx edx, byte [ebp - 0x118]
mov ecx, dword [ebp - 0xf0]
call fcn.00445330
test eax, eax
jne 0x452cb5
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + 0x18], eax
mov eax, 0x800
or word [ecx + 8], ax
cmp byte [esi + ebx*4 + 1], 0xff
jne 0x44dba4
mov edx, dword [esi + ebx*4 + 0x10]
mov ecx, edi
call fcn.004280c0
mov ecx, dword [ebp - 0xf0]
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 0x452c56
mov ecx, dword [ebp - 0xf0]
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 - 0x118]
mov byte [ecx + 0xa], al
jmp case.default.0x44d916
mov ecx, dword [ebp - 0xe0]
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 - 0xf0]
cmovne eax, ecx
movzx edi, ax
mov word [ebx + 8], di
test esi, esi
jle 0x44dc39
add ebx, 0x28
mov ecx, ebx
call fcn.00445c80
dec esi
mov word [ebx + 8], di
test esi, esi
jg 0x44dc20
mov dword [ebp - 0xf0], ebx
mov esi, dword [ebp - 0xe0]
jmp 0x4529fe
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, 0xff7f
mov ax, word [ebx + 8]
and ax, cx
mov dword [ebp - 0xf0], ebx
or ax, 1
mov word [ebx + 8], ax
jmp case.default.0x44d916
mov edx, dword [esi + ebx*4 + 0x10]
push 0
push 0
push dword [esi + ebx*4 + 4]
call fcn.00445f30
mov eax, dword [ebp - 0xf0]
add esp, 0xc
mov cl, byte [ebp - 0x118]
mov byte [eax + 0xa], cl
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x3c]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.00445df0
test eax, eax
jne 0x452c5c
mov ecx, dword [ebp - 0xf0]
lea edx, [esi - 0x28]
push 0x800
call fcn.00445e20
mov esi, dword [ebp - 0xe0]
add esp, 4
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe0]
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.00445ee0
add esi, 0x28
add ebx, 0x28
dec edi
jne 0x44dd10
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xf0], ebx
jmp 0x4529fe
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe0]
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 - 0xf0], ebx
mov ecx, ebx
call fcn.00445e20
mov eax, 0x1000
add esp, 4
test word [ebx + 8], ax
je 0x44dd88
mov ecx, ebx
call fcn.00445480
test eax, eax
jne 0x44f2d7
mov eax, edi
dec edi
test eax, eax
je 0x44dc39
add ebx, 0x28
add esi, 0x28
jmp 0x44dd57
mov eax, dword [esi + ebx*4 + 8]
mov edx, dword [ebp - 0xe8]
push 0x1000
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xf0], ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
call fcn.00445e20
add esp, 4
jmp case.default.0x44d916
mov eax, dword [edi + 0x124]
test eax, eax
je 0x44ddf8
mov edx, dword [ebp - 0x150]
cmp edx, dword [ebp - 0x144]
jb 0x44ddf8
push dword [edi + 0x128]
call eax
add esp, 4
test eax, eax
jne 0x452af7
mov ecx, dword [ebp - 0xd8]
xor edx, edx
call fcn.00448d20
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x452a0a
mov ecx, dword [ebp - 0xd8]
lea edx, [eax + 1]
call fcn.00448bf0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x452a0a
mov ecx, dword [ebp - 0xd8]
xor edi, edi
mov edx, dword [ebp - 0xe8]
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 - 0xe0]
mov dword [ecx + 0x14], esi
cmp dword [eax + ebx*4 + 8], edi
jle 0x44de93
mov eax, 0x1000
test word [esi + 8], ax
je 0x44de7c
mov ecx, esi
call fcn.00445480
test eax, eax
jne 0x44f2d7
mov ecx, esi
call fcn.00445590
mov eax, dword [ebp - 0xe0]
inc edi
add esi, 0x28
cmp edi, dword [eax + ebx*4 + 8]
jl 0x44de62
mov edi, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xd8]
cmp byte [edi + 0x41], 0
jne 0x452cbb
mov eax, dword [ebp - 0xec]
mov edi, 0x64
inc eax
mov dword [ebx + 0x4c], eax
jmp 0x452d58
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xf4], 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 - 0xf4]
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 - 0xf0], edx
test al, 1
je 0x44df18
mov ecx, edx
call fcn.00445c80
mov esi, dword [ebp - 0xe0]
jmp case.default.0x44d916
test ecx, 0x4000
je 0x44df2f
mov ecx, ebx
call fcn.004454f0
test eax, eax
jne 0x452cb5
mov eax, 0x4000
test word [esi + 8], ax
je 0x44df49
mov ecx, esi
call fcn.004454f0
test eax, eax
jne 0x452cb5
test byte [ebx + 8], 0x12
jne 0x44df69
mov dl, byte [ebp - 0x118]
mov ecx, ebx
push 0
call fcn.004455b0
add esp, 4
test eax, eax
jne 0x452cb5
test byte [esi + 8], 0x12
jne 0x44df89
mov dl, byte [ebp - 0x118]
mov ecx, esi
push 0
call fcn.004455b0
add esp, 4
test eax, eax
jne 0x452cb5
mov eax, dword [ebx + 0xc]
add eax, dword [esi + 0xc]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x452c50
jl 0x44dfb0
cmp edi, eax
ja 0x452c50
mov ecx, dword [ebp - 0xf0]
lea edx, [edi + 2]
xor eax, eax
cmp ecx, esi
sete al
push eax
call fcn.00445350
add esp, 4
test eax, eax
jne 0x44f2d7
mov ecx, dword [ebp - 0xf0]
mov edx, 0xbe02
mov ax, word [ecx + 8]
and ax, dx
or ax, 2
mov word [ecx + 8], ax
cmp ecx, esi
je 0x44e000
push dword [esi + 0xc]
push dword [esi + 0x10]
push dword [ecx + 0x10]
call fcn.004aaff0
add esp, 0xc
push dword [ebx + 0xc]
mov eax, dword [esi + 0xc]
push dword [ebx + 0x10]
mov ebx, dword [ebp - 0xf0]
add eax, dword [ebx + 0x10]
push eax
call fcn.004aaff0
mov eax, dword [ebx + 0x10]
add esp, 0xc
mov esi, dword [ebp - 0xe0]
mov byte [edi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [eax + edi + 1], 0
mov eax, 0x200
or word [ebx + 8], ax
mov al, byte [ebp - 0x118]
mov dword [ebx + 0xc], edi
mov byte [ebx + 0xa], al
jmp 0x4529fe
mov eax, dword [esi + ebx*4 + 4]
mov edi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x11c], eax
call fcn.0044d760
movzx eax, ax
mov dword [ebp - 0xf8], eax
mov eax, dword [esi + ebx*4 + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0xfc], eax
call fcn.0044d760
mov ecx, dword [ebp - 0x11c]
movzx edx, ax
mov eax, dword [esi + ebx*4 + 0xc]
mov esi, dword [ebp - 0xfc]
mov dword [ebp - 0xf4], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xf0], eax
mov al, byte [esi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x44e2f7
mov al, dl
and al, byte [ebp - 0xf8]
test al, 4
je 0x44e1bf
mov eax, ecx
mov byte [ebp - 0x101], 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 - 0xe0]
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x15c], edi
movzx eax, byte [eax + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x44e0fd
jmp dword [eax*4 + 0x452ff8]
push edx
push ecx
lea ecx, [ebp - 0x160]
call fcn.0042c090
add esp, 8
test eax, eax
jne 0x44e1c8
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x160]
jmp 0x44e195
push edx
push ecx
lea ecx, [ebp - 0x160]
call fcn.0042c130
jmp 0x44e111
push edx
push ecx
lea ecx, [ebp - 0x160]
call fcn.0042c180
jmp 0x44e111
mov eax, ecx
or eax, edx
je 0x44e2f7
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x44e167
test esi, esi
jne 0x44e167
cmp edi, 0x80000000
je 0x44e1c8
push edx
push ecx
push edi
push esi
call fcn.004b4b10
jmp 0x44e195
mov eax, ecx
or eax, edx
je 0x44e2f7
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x44e18c
mov ecx, 1
xor edx, edx
push edx
push ecx
push edi
push esi
call fcn.004b4bc0
mov ebx, dword [ebp - 0xf0]
mov ecx, 0xbe04
mov esi, dword [ebp - 0xe0]
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 0x4529fe
mov byte [ebp - 0x101], 0
jmp 0x44e1d4
mov esi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x11c]
call fcn.00445930
mov ecx, esi
movsd qword [ebp - 0x110], xmm0
call fcn.00445930
mov esi, dword [ebp - 0xe0]
movapd xmm1, xmm0
movsd qword [ebp - 0x130], xmm1
movzx eax, byte [esi + ebx*4]
add eax, 0xffffffa7
cmp eax, 3
ja case.default.0x44e206
jmp dword [eax*4 + 0x453008]
addsd xmm1, qword [ebp - 0x110]
jmp 0x44e29f
subsd xmm1, qword [ebp - 0x110]
jmp 0x44e29f
mulsd xmm1, qword [ebp - 0x110]
jmp 0x44e29f
movsd xmm0, qword [ebp - 0x110]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x44e2f7
divsd xmm1, xmm0
jmp 0x44e29f
movsd xmm0, qword [ebp - 0x110]
call fcn.004c260d
movsd xmm0, qword [ebp - 0x130]
mov esi, eax
mov edi, edx
call fcn.004c260d
mov ecx, esi
or ecx, edi
je 0x44e2f7
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x44e285
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.004b4bc0
mov ecx, eax
call fcn.004c27ad
mov esi, dword [ebp - 0xe0]
movapd xmm1, xmm0
movapd xmm0, xmm1
call fcn.0042ac30
test eax, eax
jne 0x44e2f7
mov ebx, dword [ebp - 0xf0]
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 - 0xf4]
or al, byte [ebp - 0xf8]
test al, 8
jne 0x4529fe
cmp byte [ebp - 0x101], 0
jne 0x4529fe
mov ecx, ebx
call fcn.00445990
jmp 0x4529fe
mov ecx, dword [ebp - 0xf0]
call fcn.00445c80
mov esi, dword [ebp - 0xe0]
jmp 0x4529fe
mov eax, dword [esi + ebx*4 + 4]
test eax, eax
je case.default.0x44d916
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.00445ce0
add esp, 8
jmp case.default.0x44d916
mov eax, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xe8]
movzx ecx, byte [esi + ebx*4 + 3]
mov dword [ebp - 0xf4], ecx
mov edx, dword [eax + 0xc]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x10c], edx
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x1e0], 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 0x44e3ba
mov eax, 0x1000
mov dword [edx + edi*4], esi
test word [esi + 8], ax
je 0x44e3aa
mov ecx, esi
call fcn.00445480
test eax, eax
jne 0x44f2d7
mov ecx, dword [ebp - 0xf4]
mov eax, 0x1000
mov edx, dword [ebp - 0x10c]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x44e381
mov esi, dword [ebp - 0x1e0]
jmp 0x44e3c0
mov esi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xe0]
mov edi, 0xbe01
push edx
push ecx
mov eax, dword [eax + ebx*4 + 0x10]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x1d4], eax
mov ax, word [esi + 8]
and ax, di
mov edi, dword [ebp - 0xe4]
or ax, 1
mov word [esi + 8], ax
lea eax, [ebp - 0x1e0]
mov esi, dword [ebp - 0x148]
push eax
mov eax, dword [ebp - 0x1dc]
mov dword [edi + 0x20], esi
mov esi, dword [ebp - 0x14c]
mov byte [ebp - 0x1c7], 0
mov dword [edi + 0x24], esi
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [edi + 0x20]
add esp, 0xc
cmp byte [ebp - 0x1c7], 0
mov dword [ebp - 0x148], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x14c], eax
je 0x44e4ab
cmp dword [ebp - 0x1cc], 0
je 0x44e489
push dword [ebp - 0x1e0]
call fcn.0044b090
add esp, 4
push eax
mov eax, dword [ebp - 0xd8]
push 0x4d6b94
add eax, 0x2c
push edi
push eax
call fcn.004285e0
mov eax, dword [ebp - 0x1cc]
add esp, 0x10
mov dword [ebp - 0xdc], eax
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xec]
push dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xd8]
mov ecx, ebx
call fcn.00449250
add esp, 4
jmp 0x44e4b7
mov esi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xd8]
movzx edx, byte [ebp - 0x118]
mov ecx, dword [ebp - 0x1e0]
call fcn.00445330
mov ecx, dword [ebp - 0x1e0]
call fcn.00445df0
test eax, eax
jne 0x452c5c
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe0]
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 - 0xe8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov al, byte [ecx + 8]
or al, byte [esi + 8]
mov dword [ebp - 0xf0], edx
test al, 1
je 0x44e539
mov ecx, edx
call fcn.00445c80
mov esi, dword [ebp - 0xe0]
jmp case.default.0x44d916
call fcn.00445880
mov edi, edx
mov dword [ebp - 0x100], eax
mov ecx, esi
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edi
call fcn.00445880
mov esi, eax
mov eax, dword [ebp - 0xe0]
mov cl, byte [eax + ebx*4]
cmp cl, 0x55
jne 0x44e578
mov ecx, dword [ebp - 0x100]
and ecx, esi
and edi, edx
jmp 0x44e65e
cmp cl, 0x56
jne 0x44e58c
mov ecx, dword [ebp - 0x100]
or ecx, esi
or edi, edx
jmp 0x44e65e
mov eax, esi
or eax, edx
je 0x44e658
test edx, edx
jg 0x44e5c4
jl 0x44e5a0
test esi, esi
jae 0x44e5b9
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x44e5c4
jg 0x44e5b2
cmp esi, 0xffffffc0
jbe 0x44e5c4
neg esi
adc edx, 0
neg edx
test edx, edx
jl 0x44e5ee
jg 0x44e5c4
cmp esi, 0x40
jb 0x44e5ee
test edi, edi
jg 0x44e5e5
jl 0x44e5d3
cmp dword [ebp - 0x100], 0
jae 0x44e5e5
cmp cl, 0x57
je 0x44e5e5
or eax, 0xffffffff
cdq
mov ecx, eax
mov edi, edx
jmp 0x44e65e
xor eax, eax
cdq
mov ecx, eax
mov edi, edx
jmp 0x44e65e
movq xmm1, qword [ebp - 0x198]
movd xmm0, esi
cmp cl, 0x57
jne 0x44e619
psllq xmm1, xmm0
movq qword [ebp - 0x170], xmm1
mov edi, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x170]
jmp 0x44e65e
psrlq xmm1, xmm0
movq qword [ebp - 0x170], xmm1
test edi, edi
jg 0x44e60b
jl 0x44e634
cmp dword [ebp - 0x100], 0
jae 0x44e60b
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.004c2370
mov ecx, dword [ebp - 0x170]
mov edi, dword [ebp - 0x16c]
or ecx, eax
or edi, edx
jmp 0x44e65e
mov ecx, dword [ebp - 0x100]
mov ebx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xe0]
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 0x4529fe
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00445a30
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
mov esi, dword [ebp - 0xe0]
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x44e721
test al, 8
jne 0x44e6e8
test al, 2
je 0x44e6ef
mov edx, 1
mov ecx, esi
call fcn.0044d580
jmp 0x44e6ef
mov ecx, esi
call fcn.00445990
movzx eax, word [esi + 8]
test al, 4
jne 0x44e721
mov esi, dword [ebp - 0xe0]
mov eax, dword [esi + ebx*4 + 8]
mov ebx, dword [ebp - 0xd8]
test eax, eax
je 0x452b07
dec eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
and eax, 0xbe04
or eax, 4
mov word [esi + 8], ax
mov esi, dword [ebp - 0xe0]
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea ecx, [ecx + eax*8]
je case.default.0x44d916
call fcn.00445a60
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x44e787
mov ecx, esi
call fcn.004454f0
mov dword [ebp - 0xdc], eax
jmp 0x44e791
mov dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xe0]
mov ecx, esi
push dword [ebp - 0x118]
mov dl, byte [eax + ebx*4 + 8]
call fcn.00445bb0
mov esi, dword [ebp - 0xe0]
add esp, 4
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
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 - 0x114], edx
mov dword [ebp - 0x100], eax
mov al, dl
or al, cl
test al, 1
mov eax, dword [ebp - 0xe0]
mov al, byte [eax + ebx*4 + 3]
je 0x44e87b
test al, al
jns 0x44e824
test cl, 1
je 0x44e81a
test dl, 1
je 0x44e81a
test edx, 0x100
jne 0x44e81a
xor edx, edx
jmp 0x44e944
mov edx, 1
jmp 0x44e944
mov esi, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xe4]
test al, 0x20
je 0x44e863
mov eax, dword [esi + ebx*4 + 8]
mov edx, 0xbe01
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 8]
and ax, dx
mov dword [ebp - 0xf0], ecx
or ax, 1
mov word [ecx + 8], ax
jmp case.default.0x44d916
test al, 0x10
je case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
and al, 0x47
cmp al, 0x43
jl 0x44e8a6
and cl, 0xe
cmp cl, 2
jne 0x44e892
xor edx, edx
mov ecx, edi
call fcn.0044d580
mov al, byte [esi + 8]
and al, 0xe
cmp al, 2
jne 0x44e8e4
xor edx, edx
mov ecx, esi
call fcn.0044d580
jmp 0x44e8e4
cmp al, 0x42
jne 0x44e8e4
test cl, 2
jne 0x44e8c6
test cl, 0xc
je 0x44e8c6
mov dl, byte [ebp - 0x118]
mov ecx, edi
push 1
call fcn.004455b0
add esp, 4
movzx eax, word [esi + 8]
test al, 2
jne 0x44e8e4
test al, 0xc
je 0x44e8e4
mov dl, byte [ebp - 0x118]
mov ecx, esi
push 1
call fcn.004455b0
add esp, 4
mov eax, 0x4000
test word [edi + 8], ax
je 0x44e905
mov ecx, edi
call fcn.004454f0
and dword [ebp - 0x100], 0xbfff
mov eax, 0x4000
test word [esi + 8], ax
je 0x44e91c
mov ecx, esi
call fcn.004454f0
and dword [ebp - 0x114], 0xbfff
mov eax, dword [ebp - 0xe4]
cmp byte [eax + 0x41], 0
jne 0x452cb3
mov eax, dword [ebp - 0xe0]
mov edx, edi
mov ecx, esi
push dword [eax + ebx*4 + 0x10]
call fcn.00449e00
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0xe0]
movzx ecx, byte [eax + ebx*4]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x44e956
jmp dword [ecx*4 + 0x453018]
xor eax, eax
test edx, edx
sete al
jmp 0x44e991
xor eax, eax
test edx, edx
setne al
jmp 0x44e991
xor eax, eax
test edx, edx
sets al
jmp 0x44e991
xor eax, eax
test edx, edx
setle al
jmp 0x44e991
xor eax, eax
test edx, edx
setg al
jmp 0x44e991
xor eax, eax
test edx, edx
setns al
mov ecx, dword [ebp - 0xe0]
test byte [ecx + ebx*4 + 3], 0x20
je 0x44e9d0
mov ecx, dword [ecx + ebx*4 + 8]
mov edx, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov edx, 0xbe04
mov cx, word [ebx + 8]
and cx, dx
mov dword [ebp - 0xf0], ebx
cdq
or cx, 4
mov word [ebx + 8], cx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x44e9df
test eax, eax
je 0x44e9df
mov eax, dword [ecx + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x100]
mov word [edi + 8], ax
mov eax, dword [ebp - 0x114]
mov word [esi + 8], ax
mov esi, dword [ebp - 0xe0]
jmp 0x4529fe
mov ecx, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0x154], ecx
jmp case.default.0x44d916
test byte [esi + ebx*4 + 3], 1
mov ecx, 0
mov eax, dword [ebp - 0x154]
mov edx, dword [esi + ebx*4 + 0x10]
cmove eax, ecx
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x154], eax
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x10c], ecx
mov ecx, dword [esi + ebx*4 + 8]
xor esi, esi
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0xf4], ecx
test eax, eax
jle 0x44eaef
lea edi, [edx + 0x14]
jmp 0x44ea60
mov eax, dword [ebp - 0x154]
test eax, eax
je 0x44ea6f
mov ecx, dword [eax + esi*4]
jmp 0x44ea71
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0xe8]
push dword [edi]
movzx ebx, byte [esi + eax]
mov eax, dword [ebp - 0xf4]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x10c]
add eax, ecx
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00449e00
add esp, 4
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x44eadd
mov edx, dword [ebp - 0x12c]
inc esi
add edi, 4
cmp esi, dword [ebp - 0xf8]
jl 0x44ea60
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x154], eax
jmp case.default.0x44d916
test ebx, ebx
je 0x44eae9
neg eax
mov dword [ebp - 0x174], eax
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x154], 0
jmp case.default.0x44d916
mov eax, dword [ebp - 0x174]
test eax, eax
jns 0x44eb1e
mov eax, dword [esi + ebx*4 + 4]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
jne 0x44eb30
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 0xc]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x44eb5e
mov esi, 2
jmp 0x44eb70
call fcn.00445880
or eax, edx
je 0x44eb6e
mov esi, 1
jmp 0x44eb70
xor esi, esi
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe8]
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 0x44eb94
mov eax, 2
jmp 0x44eba6
call fcn.00445880
or eax, edx
je 0x44eba4
mov eax, 1
jmp 0x44eba6
xor eax, eax
mov ecx, dword [ebp - 0xe0]
lea eax, [eax + esi*2]
cmp byte [ecx + ebx*4], 0x48
jne 0x44ebbf
movzx ecx, byte [esi + eax + 0x4d1f7c]
jmp 0x44ebc7
movzx ecx, byte [esi + eax + 0x4d29c0]
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe8]
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov dword [ebp - 0xf0], ebx
cmp ecx, 2
jne 0x44ec01
mov ax, word [ebx + 8]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [ebx + 8], ax
jmp case.default.0x44d916
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.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0xf0], ebx
call fcn.00445c80
test byte [esi + 8], 1
jne 0x44da2d
mov eax, 4
mov ecx, esi
mov word [ebx + 8], ax
call fcn.00445880
or eax, edx
jne 0x44ec83
mov esi, dword [ebp - 0xe0]
mov eax, 1
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.default.0x44d916
mov esi, dword [ebp - 0xe0]
xor eax, eax
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0xf0], ebx
call fcn.00445c80
test byte [esi + 8], 1
jne 0x44da2d
mov eax, 4
mov ecx, esi
mov word [ebx + 8], ax
call fcn.00445880
mov esi, dword [ebp - 0xe0]
not eax
not edx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.default.0x44d916
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0xc8]
cmp byte [eax + ecx], 0
je 0x44ed17
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov byte [eax + ecx], 1
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x44ed42
mov ecx, dword [esi + ebx*4 + 0xc]
test ecx, ecx
jmp 0x44e865
call fcn.00445930
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x44ed5b
mov ecx, 1
jmp 0x44ed5d
xor ecx, ecx
cmp byte [esi + ebx*4], 0x2e
jne 0x44ed6c
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
jmp 0x44e865
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jmp 0x44e865
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [esi + ebx*4 + 8]
mov dword [ebp - 0xfc], edx
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x100], edi
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x108], ecx
cmp byte [ecx + 0x1a], 0
mov esi, dword [ecx + 0x50]
mov eax, dword [ecx]
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x11c], eax
je 0x44ee06
call fcn.004495c0
jmp 0x44ee15
test eax, eax
je 0x44ee31
cmp byte [eax + 0x49], 1
je 0x44ee31
call fcn.00449620
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x450895
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xfc]
jmp 0x44ee3b
mov dword [ebp - 0xdc], 0
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ecx + 0x3c]
cmp eax, dword [ebx + 0x48]
mov ebx, dword [ebp - 0x114]
je 0x44efb1
cmp byte [ecx + 0x19], 0
je 0x44ee92
cmp dword [ebp - 0x11c], 0
jne 0x44ee86
mov eax, dword [ecx + 0x10]
lea edi, [ecx + 0x40]
mov edx, dword [ebp - 0xe8]
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 0x44ef0f
mov ecx, edi
call fcn.00445c80
jmp 0x44f290
test byte [ecx + 0x1c], 4
jne 0x44eecc
mov ecx, dword [ebp - 0x11c]
lea edx, [ebp - 0x218]
call fcn.0043d9f0
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x108]
lea edi, [ecx + 0x40]
mov eax, dword [edx + 0x20]
movzx esi, word [edx + 0x28]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0x218]
mov dword [edi], eax
jmp 0x44eef2
lea edi, [ecx + 0x40]
mov ecx, dword [ebp - 0x11c]
mov edx, edi
call fcn.0043da50
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x108]
movzx esi, word [eax + 0x28]
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x4c], eax
mov eax, dword [edi]
cmp eax, esi
ja 0x44eefd
mov dword [ecx + 0x44], eax
jmp 0x44ef00
mov dword [ecx + 0x44], esi
mov edx, dword [ebp - 0xe4]
cmp eax, dword [edx + 0x58]
ja 0x452c4c
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ecx + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x44ef34
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x168], ecx
jmp 0x44ef48
lea edx, [ebp - 0x168]
call fcn.0042bec0
mov ecx, dword [ebp - 0x168]
movzx eax, al
mov edx, dword [ebp - 0x108]
movzx eax, al
mov dword [edx + 0x48], eax
xor eax, eax
mov word [edx + 0x16], ax
mov eax, dword [ebp - 0x120]
mov dword [eax], ecx
cmp ecx, 0x18003
ja 0x44ef90
cmp ecx, dword [edi]
ja 0x44ef90
mov edx, dword [ebp - 0xfc]
cmp esi, ecx
mov ecx, dword [ebp - 0x108]
mov esi, eax
jae 0x44efbd
mov dword [ecx + 0x4c], 0
mov dword [ecx + 0x44], 0
jmp 0x44efbd
mov ecx, 0x11b3f
call fcn.0049a590
mov dword [ebp - 0xdc], eax
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
jmp 0x452a0a
movzx eax, word [ecx + 0x16]
cmp eax, edx
jg 0x44f194
mov eax, dword [ecx + 0x48]
cmp eax, dword [esi]
jae 0x44f157
mov eax, dword [ecx + 0x4c]
mov dword [ebp - 0x12c], eax
test eax, eax
jne 0x44f031
xorps xmm0, xmm0
lea eax, [ebp - 0x2d0]
push eax
movdqu xmmword [ebp - 0x2d0], xmm0
xor edx, edx
movdqu xmmword [ebp - 0x2c0], xmm0
movq qword [ebp - 0x2b0], xmm0
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x11c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [esi]
call fcn.00446140
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44efa0
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x12c], eax
movzx edx, word [ecx + 0x16]
mov dword [ebp - 0x10c], edx
mov edi, dword [esi + edx*4]
mov esi, dword [ecx + 0x48]
add esi, eax
mov eax, dword [ebp - 0x120]
mov eax, dword [eax]
add eax, dword [ebp - 0x12c]
mov dword [ebp - 0xf8], eax
lea eax, [edx + 0x15]
lea eax, [ecx + eax*4]
mov dword [ebp - 0x124], eax
mov al, byte [esi]
cmp al, 0x80
jae 0x44f075
movzx ecx, al
inc esi
mov dword [ebp - 0x178], ecx
jmp 0x44f093
lea edx, [ebp - 0x178]
mov ecx, esi
call fcn.0042bec0
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x10c]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0x124]
mov dword [eax], ecx
call fcn.00449770
add edi, eax
mov dword [ebp - 0x168], edi
cmp edi, eax
jb 0x44f0d5
mov eax, dword [ebp - 0x120]
inc edx
add dword [ebp - 0x124], 4
mov dword [ebp - 0x10c], edx
mov dword [eax + edx*4], edi
cmp edx, dword [ebp - 0xfc]
jg 0x44f0dc
cmp esi, dword [ebp - 0xf8]
jb 0x44f063
jmp 0x44f0dc
mov esi, dword [ebp - 0xf8]
inc esi
mov ecx, dword [ebp - 0x108]
mov eax, esi
sub eax, dword [ebp - 0x12c]
cmp dword [ecx + 0x4c], 0
mov word [ecx + 0x16], dx
mov dword [ecx + 0x48], eax
jne 0x44f114
lea ecx, [ebp - 0x2d0]
call fcn.00445860
mov ecx, dword [ebp - 0x108]
mov eax, 1
mov word [ebp - 0x2c8], ax
mov eax, dword [ebp - 0xf8]
cmp esi, eax
jb 0x44f125
ja 0x44f12a
cmp edi, dword [ecx + 0x40]
jne 0x44f12a
cmp edi, dword [ecx + 0x40]
jbe 0x44f14b
mov ecx, 0x11b93
call fcn.0049a590
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
jmp 0x452a0a
mov esi, dword [ebp - 0x120]
mov edx, dword [ebp - 0xfc]
movzx eax, word [ecx + 0x16]
mov edi, dword [ebp - 0x100]
cmp eax, edx
jg 0x44f194
mov esi, dword [ebp - 0xe0]
mov ecx, edi
cmp byte [esi + ebx*4 + 1], 0xf8
jne 0x44f18a
mov edx, dword [esi + ebx*4 + 0x10]
push 0x800
call fcn.00445e20
add esp, 4
jmp 0x44f296
call fcn.00445c80
jmp 0x44f296
mov eax, 0x2460
test word [edi + 8], ax
je 0x44f1ac
mov ecx, edi
call fcn.00445c80
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xfc]
mov ebx, dword [ebp - 0xfc]
mov edx, dword [ecx + eax*4 + 0x54]
mov eax, dword [ecx + 0x44]
cmp eax, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0x114]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x178], edx
jb 0x44f1f1
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ecx + 0x4c]
push edi
add ecx, dword [esi + eax*4]
call fcn.004498c0
add esp, 4
jmp 0x44f287
mov eax, dword [ebp - 0xe0]
mov al, byte [eax + ebx*4 + 3]
test al, 0xc0
je 0x44f20d
cmp edx, 0xc
jb 0x44f209
test dl, 1
je 0x44f21a
test al, al
js 0x44f21a
mov ecx, edx
call fcn.00449770
mov ecx, eax
test ecx, ecx
jne 0x44f233
xor eax, eax
lea ecx, [ebp - 0x218]
cmp edx, 0xd
push edi
cmova ecx, eax
call fcn.004498c0
add esp, 4
jmp 0x44f287
mov edx, dword [ebp - 0x108]
push edi
mov eax, dword [edx + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0xfc]
push ecx
mov ecx, dword [ebp - 0x11c]
mov edx, dword [esi + eax*4]
call fcn.00446140
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44efa0
mov edx, dword [ebp - 0xf4]
mov ecx, dword [edi + 0x10]
push edi
call fcn.004498c0
mov eax, 0xefff
add esp, 4
and word [edi + 8], ax
mov al, byte [ebp - 0x118]
mov byte [edi + 0xa], al
mov esi, dword [ebp - 0xe0]
movzx ecx, word [edi + 8]
test ecx, 0x1000
je 0x4529fe
mov ebx, dword [edi + 0x10]
test ebx, ebx
je 0x4529fe
mov edi, dword [edi + 0xc]
mov esi, ecx
mov eax, dword [ebp - 0x100]
and esi, 0x12
lea edx, [edi + 2]
cmp dword [eax + 0x18], edx
jge 0x44f2e2
push 0
mov ecx, eax
call fcn.00445350
add esp, 4
test eax, eax
je 0x44f2f5
mov edi, dword [ebp - 0xe4]
jmp 0x452cb5
mov edx, dword [ebp - 0x100]
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 - 0x100]
push dword [ebx + 0x10]
call fcn.004aaff0
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 - 0xe0]
jmp 0x4529fe
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe8]
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 0x44dc39
push dword [ebp - 0x118]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.0044d610
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x44f350
mov esi, dword [ebp - 0xe0]
jmp 0x4529fe
mov ecx, dword [ebp - 0xe0]
xor eax, eax
mov edx, dword [ebp - 0xe8]
xorps xmm0, xmm0
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x124], eax
mov eax, dword [ecx + ebx*4 + 4]
mov esi, dword [esi + ebx*4 + 0x10]
movlpd qword [ebp - 0x220], xmm0
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + ebx*4 + 8]
mov dword [ebp - 0x12c], edi
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [edi + eax*8]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xd8]
movzx edx, byte [eax + 0x57]
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x10c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xf0], eax
test esi, esi
je 0x44f416
mov al, byte [esi]
push dword [ebp - 0x118]
mov dl, al
mov ecx, edi
call fcn.0044d610
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x44f3f1
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x114]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0xfc], eax
mov ecx, esi
call fcn.00449670
mov ebx, eax
mov ecx, ebx
mov dword [esi + 0x1c], ebx
call fcn.00449770
mov edi, eax
mov eax, 0x4000
test word [esi + 8], ax
je 0x44f475
mov ecx, dword [ebp - 0xfc]
or ecx, dword [ebp - 0xf8]
je 0x44f46b
mov ecx, esi
call fcn.004454f0
jmp 0x44f475
mov eax, dword [esi]
add dword [ebp - 0x124], eax
sub edi, eax
mov eax, edi
mov edi, dword [ebp - 0xf8]
cdq
add dword [ebp - 0xfc], eax
adc edi, edx
mov dword [ebp - 0xf8], edi
cmp ebx, 0x7f
ja 0x44f498
mov eax, 1
jmp 0x44f4a3
push 0
push ebx
call fcn.0042bf40
add esp, 8
mov ecx, dword [ebp - 0x108]
sub esi, 0x28
mov ebx, dword [ebp - 0x12c]
add ecx, eax
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], ecx
cmp esi, ebx
jae 0x44f434
cmp ecx, 0x7e
jle 0x44f4fc
mov eax, ecx
cdq
push edx
push eax
call fcn.0042bf40
mov esi, eax
mov eax, dword [ebp - 0x108]
add eax, esi
mov dword [ebp - 0x108], eax
cdq
push edx
push eax
call fcn.0042bf40
mov ecx, dword [ebp - 0x108]
add esp, 0x10
cmp esi, eax
jge 0x44f503
inc ecx
mov dword [ebp - 0x108], ecx
mov eax, ecx
cdq
add dword [ebp - 0xfc], eax
mov esi, edx
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xe4]
adc edi, esi
mov eax, dword [eax + 0x58]
cdq
cmp edi, edx
jg 0x452c50
jl 0x44f536
cmp dword [ebp - 0xfc], eax
ja 0x452c50
mov edi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xfc]
cmp dword [edi + 0x18], eax
jge 0x44f565
push 0
mov edx, eax
mov ecx, edi
call fcn.00445350
add esp, 4
test eax, eax
jne 0x44f2d7
mov ecx, dword [ebp - 0x108]
jmp 0x44f570
mov eax, dword [edi + 0x14]
and word [edi + 8], 0xd
mov dword [edi + 0x10], eax
mov edi, dword [edi + 0x10]
cmp ecx, 0x80
jae 0x44f584
mov byte [edi], cl
mov eax, 1
jmp 0x44f595
push esi
push dword [ebp - 0xf4]
mov ecx, edi
call fcn.0042bce0
add esp, 8
mov ecx, dword [ebp - 0x108]
movzx esi, al
mov edi, edi
mov ebx, dword [ebx + 0x1c]
cmp ebx, 0x80
jae 0x44f5b5
mov byte [esi + edi], bl
mov eax, 1
jmp 0x44f5c9
push 0
push ebx
lea ecx, [esi + edi]
call fcn.0042bce0
mov ecx, dword [ebp - 0x108]
add esp, 8
push ebx
mov ebx, dword [ebp - 0x12c]
add ecx, edi
movzx eax, al
mov edx, ebx
add esi, eax
call fcn.00449790
mov ecx, dword [ebp - 0x108]
add ebx, 0x28
add ecx, eax
mov dword [ebp - 0x12c], ebx
add esp, 4
mov dword [ebp - 0x108], ecx
cmp ebx, dword [ebp - 0x114]
jbe 0x44f5a0
mov ebx, dword [ebp - 0xf0]
mov eax, 0x10
mov edx, dword [ebp - 0xfc]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x124]
mov dword [ebx + 0xc], edx
test eax, eax
je 0x44f62d
mov dword [ebx], eax
mov eax, 0x4010
mov word [ebx + 8], ax
mov esi, dword [ebp - 0xe0]
mov byte [ebx + 0xa], 1
jmp 0x4529fe
mov ecx, dword [esi + ebx*4 + 4]
lea edx, [ebp - 0x1a0]
mov ebx, dword [ebp - 0xd8]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1a0], xmm0
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
call fcn.00442dd0
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x19c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov edi, dword [esi + ebx*4 + 4]
mov esi, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0x100], edi
test edi, edi
jne 0x44f774
mov edi, dword [ebp - 0xe4]
cmp dword [edi + 0x9c], 0
jle 0x44f6bb
push str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x44f803
mov ecx, esi
call fcn.0042ac70
mov ecx, dword [edi + 0x1f4]
xor edx, edx
add ecx, dword [edi + 0x1f0]
mov ebx, eax
push ecx
mov ecx, edi
call fcn.00489e40
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x45089b
lea eax, [ebx + 0x21]
mov ecx, edi
push 0
push eax
call fcn.00428340
mov edi, eax
add esp, 8
test edi, edi
je 0x44dc39
lea ecx, [ebx + 1]
push ecx
lea edx, [edi + 0x20]
push esi
push edx
mov dword [edi], edx
call fcn.004aaff0
mov ecx, dword [ebp - 0xe4]
add esp, 0xc
cmp byte [ecx + 0x3f], 0
je 0x44f72e
mov byte [ecx + 0x3f], 0
mov byte [ecx + 0x46], 1
jmp 0x44f734
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 - 0xe0]
mov edi, ecx
jmp case.default.0x44d916
mov eax, dword [ebp - 0xe4]
xor edi, edi
mov dword [ebp - 0x120], edi
mov ebx, dword [eax + 0x1e8]
test ebx, ebx
je 0x44f7ad
lea esp, [esp]
push esi
push dword [ebx]
call fcn.0042afb0
add esp, 8
test eax, eax
je 0x44f7e2
mov ebx, dword [ebx + 0x18]
inc edi
mov dword [ebp - 0x120], edi
test ebx, ebx
jne 0x44f790
mov ebx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xe4]
push esi
push str.no_such_savepoint:__s
lea eax, [ebx + 0x2c]
push edi
push eax
call fcn.004285e0
mov esi, dword [ebp - 0xe0]
mov eax, 1
add esp, 0x10
mov dword [ebp - 0xdc], eax
jmp 0x452a10
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x100]
cmp dword [ecx + 0x9c], 0
jle 0x44f82c
cmp edx, 1
jne 0x44f82c
push str.cannot_release_savepoint___SQL_statements_in_progress
mov edi, ecx
mov ebx, dword [ebp - 0xd8]
push edi
lea eax, [ebx + 0x2c]
push eax
call fcn.004285e0
mov esi, dword [ebp - 0xe0]
mov eax, 5
add esp, 0xc
mov dword [ebp - 0xdc], eax
jmp 0x452a10
cmp dword [ebx + 0x18], 0
jne 0x44f894
cmp byte [ecx + 0x46], 0
je 0x44f894
mov esi, 1
mov dword [ebp - 0xf8], esi
cmp edx, esi
jne 0x44f89e
mov ecx, dword [ebp - 0xd8]
mov edx, esi
call fcn.00448d20
mov edi, eax
test edi, edi
jne 0x452d52
mov edi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd8]
mov byte [edi + 0x3f], 1
call fcn.00448d90
cmp eax, 5
je 0x452b17
mov eax, dword [ebp - 0xd8]
mov byte [edi + 0x46], 0
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xdc], eax
jmp 0x44f99e
mov dword [ebp - 0xf8], 0
mov eax, dword [ecx + 0x1f0]
sub eax, edi
dec eax
mov dword [ebp - 0x120], eax
cmp edx, 2
jne 0x44f928
mov ecx, dword [ecx + 0x18]
xor edi, edi
mov esi, dword [ebp - 0xe4]
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x10c], ecx
cmp dword [esi + 0x14], edi
jle 0x44f934
xor eax, eax
test ecx, ecx
mov ecx, dword [ebp - 0xe4]
sete al
xor esi, esi
mov dword [ebp - 0xf4], eax
mov ecx, dword [ecx + 0x10]
mov edx, 0x204
push eax
mov ecx, dword [esi + ecx + 4]
call fcn.0043d470
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x450895
mov ecx, dword [ebp - 0xe4]
inc edi
mov eax, dword [ebp - 0xf4]
add esi, 0x10
cmp edi, dword [ecx + 0x14]
jl 0x44f8e2
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x100]
jmp 0x44f936
mov dword [ebp - 0x10c], 0
jmp 0x44f936
mov ecx, esi
xor edi, edi
cmp dword [ecx + 0x14], edi
jle 0x44f979
xor esi, esi
nop
mov ecx, dword [ecx + 0x10]
push eax
mov ecx, dword [esi + ecx + 4]
call fcn.0043d770
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x450895
mov ecx, dword [ebp - 0xe4]
inc edi
mov eax, dword [ebp - 0x120]
add esi, 0x10
mov edx, dword [ebp - 0x100]
cmp edi, dword [ecx + 0x14]
jl 0x44f940
cmp dword [ebp - 0x10c], 0
mov edi, dword [ebp - 0xe4]
je 0x44f998
mov ecx, edi
call fcn.0044ab10
call fcn.00462ce0
or dword [edi + 0x18], 2
mov esi, dword [ebp - 0xf8]
cmp dword [edi + 0x1e8], ebx
je 0x44fa10
jmp 0x44f9b0
cmp dword [edi + 0x208], 0
mov ecx, dword [edi + 0x1e8]
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x1e8], eax
je 0x44f9d3
mov edx, ecx
mov ecx, edi
call fcn.00428080
jmp 0x44fa02
cmp ecx, dword [edi + 0x114]
jb 0x44f9f9
cmp ecx, dword [edi + 0x118]
jae 0x44f9f9
mov eax, dword [edi + 0x110]
mov dword [ecx], eax
dec dword [edi + 0xfc]
mov dword [edi + 0x110], ecx
jmp 0x44fa02
push ecx
call fcn.00427fe0
add esp, 4
dec dword [edi + 0x1f0]
cmp dword [edi + 0x1e8], ebx
jne 0x44f9b0
mov edi, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xe4]
cmp edi, 1
jne 0x44fa43
mov eax, dword [ebx + 0x18]
mov edx, ebx
mov dword [ecx + 0x1e8], eax
mov ebx, ecx
call fcn.004280c0
test esi, esi
jne 0x4529d3
dec dword [ebx + 0x1f0]
jmp 0x44fa6f
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 0x44f767
push dword [ebp - 0x120]
mov edx, edi
mov edi, dword [ebp - 0xe4]
mov ecx, edi
call fcn.00489e40
mov ebx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4508a1
mov esi, dword [ebp - 0xe0]
jmp 0x452a10
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [esi + ebx*4 + 8]
mov dword [ebp - 0xf4], ecx
test ecx, ecx
je 0x44faf2
cmp byte [edi + 0x3f], 0
jne 0x44faf2
test edx, edx
jne 0x44faf2
cmp dword [edi + 0x9c], edx
jle 0x44faf2
mov ebx, dword [ebp - 0xd8]
push str.cannot_commit_transaction___SQL_statements_in_progress
push edi
lea eax, [ebx + 0x2c]
push eax
call fcn.004285e0
mov eax, 5
add esp, 0xc
mov dword [ebp - 0xdc], eax
jmp 0x452a10
movzx eax, byte [edi + 0x3f]
cmp ecx, eax
jne 0x452b37
test ecx, ecx
jne 0x44fb09
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x44fb18
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 - 0xd8]
push eax
push edi
lea eax, [ebx + 0x2c]
push eax
call fcn.004285e0
mov eax, 1
add esp, 0xc
mov dword [ebp - 0xdc], eax
jmp 0x452a10
mov edx, dword [esi + ebx*4 + 8]
test edx, edx
je 0x44fb51
test dword [edi + 0x18], 0x2000000
jne 0x452bca
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 0x44fc70
mov ecx, esi
call fcn.0043c500
mov dword [ebp - 0xdc], eax
cmp eax, 5
je 0x452bda
test eax, eax
jne 0x45089b
mov eax, dword [ebp - 0xe0]
cmp dword [eax + ebx*4 + 8], 0
je 0x44fc3c
mov ecx, dword [ebp - 0xd8]
test byte [ecx + 0x58], 0x80
je 0x44fc3c
cmp byte [edi + 0x3f], 0
je 0x44fbb8
cmp dword [edi + 0x98], 1
jle 0x44fc3c
cmp dword [ecx + 0x68], 0
jne 0x44fbd3
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.00489e40
mov ecx, eax
add esp, 4
mov dword [ebp - 0xdc], ecx
test ecx, ecx
jne 0x44fc06
mov eax, dword [ebp - 0xd8]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.0043d720
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xd8]
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 - 0x18c]
mov edx, 1
push eax
mov ecx, esi
call fcn.00442ca0
mov eax, dword [ebp - 0xe0]
add esp, 4
mov esi, dword [ebp - 0x18c]
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 0x44fc7a
xor esi, esi
xor eax, eax
mov dword [ebp - 0x18c], esi
mov ecx, dword [ebp - 0xe0]
cmp byte [ecx + ebx*4 + 3], 0
je 0x44da2d
cmp esi, dword [ecx + ebx*4 + 0xc]
jne 0x44fc9b
cmp eax, dword [ecx + ebx*4 + 0x10]
je 0x44da2d
mov eax, dword [ebp - 0xd8]
mov ecx, edi
mov edx, dword [eax + 0x2c]
call fcn.004280c0
mov edx, str.database_schema_has_changed
mov ecx, edi
call fcn.00428540
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0xe0]
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 0x44fce0
mov ecx, edi
call fcn.00462ca0
mov ebx, dword [ebp - 0xd8]
mov eax, 0x11
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
or dword [ebx + 0x58], 0x20
jmp 0x452a10
mov ecx, dword [edi + 0x10]
lea eax, [ebp - 0x1e4]
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.00442ca0
mov ecx, dword [ebp - 0xf0]
add esp, 4
mov eax, dword [ebp - 0x1e4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x44d916
mov eax, dword [ebp - 0xe0]
mov esi, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
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.00445a30
mov eax, dword [ebp - 0xe0]
push dword [edi]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*4 + 8]
call fcn.00442d20
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 8]
cmp eax, 1
jne 0x44fd9d
mov eax, dword [edi]
mov ecx, dword [esi + 0xc]
mov edi, dword [ebp - 0xe4]
mov dword [ecx], eax
or dword [edi + 0x18], 2
jmp 0x44fdb0
cmp eax, 2
jne 0x44fdaa
mov ecx, dword [esi + 0xc]
mov al, byte [edi]
mov byte [ecx + 0x4c], al
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
cmp dword [esi + ebx*4 + 4], 1
jne case.default.0x44d916
mov ecx, edi
call fcn.0044ab10
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
and dword [ebx + 0x58], 0xffffffdf
jmp 0x452a10
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
test eax, eax
je case.0x44d916.54
mov eax, dword [eax + 0x20]
cmp eax, dword [esi + ebx*4 + 8]
je case.default.0x44d916
mov eax, dword [ebp - 0xd8]
test byte [eax + 0x58], 0x20
je 0x44fe1a
mov eax, 0x204
mov dword [ebp - 0xdc], eax
jmp 0x452a0a
mov ecx, dword [esi + ebx*4 + 8]
xor edi, edi
mov esi, dword [esi + ebx*4 + 0xc]
mov eax, esi
mov dword [ebp - 0xf8], ecx
mov ecx, dword [ebp - 0xe4]
shl eax, 4
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], esi
add eax, dword [ecx + 0x10]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0xf8]
cmp dl, 0x37
jne 0x44fe78
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x12c], 1
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x57]
jae 0x44fe7e
mov byte [edx + 0x57], al
jmp 0x44fe7e
mov dword [ebp - 0x12c], edi
mov eax, dword [ebp - 0xe0]
test byte [eax + ebx*4 + 3], 2
je 0x44feb5
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe8]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00445a30
mov eax, dword [esi]
mov dword [ebp - 0xf8], eax
cmp eax, 2
jl 0x452bf6
mov esi, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe0]
mov al, byte [ecx + ebx*4 + 1]
cmp al, 0xfa
jne 0x44fed9
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x10c], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x44fee1
cmp al, 0xf2
jne 0x44fee1
mov edi, dword [ecx + ebx*4 + 0x10]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push esi
push edi
call fcn.0044d4a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x44f2d7
push dword [esi]
mov edi, dword [ebp - 0x10c]
mov edx, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x124]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0x12c]
mov byte [esi + 0x19], 1
mov dword [esi + 0x20], edx
call fcn.0043d8c0
mov edx, dword [ebp - 0xe0]
add esp, 0xc
mov dword [ebp - 0xdc], 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 0x4529fe
mov edx, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push dword [esi + ebx*4 + 8]
call fcn.0044d4a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x452cb5
mov eax, dword [ebp - 0xe0]
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 - 0xe4]
push edi
push eax
mov ecx, dword [eax]
call fcn.0043b4f0
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x450064
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.0043c500
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x450064
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x450045
movzx eax, byte [ecx + ebx*4 + 3]
lea edx, [ebp - 0x1b4]
mov ecx, dword [edi]
or eax, 2
push eax
call fcn.00442780
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x45003f
push dword [esi]
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x1b4]
mov ecx, dword [edi]
push eax
push 1
mov dword [esi + 8], eax
call fcn.0043d8c0
add esp, 0xc
mov dword [ebp - 0xdc], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x450064
push dword [esi]
mov ecx, dword [edi]
mov edx, 1
push 0
push 1
call fcn.0043d8c0
add esp, 0xc
mov dword [ebp - 0xdc], eax
or dword [esi + 0x1c], 4
mov ecx, dword [ebp - 0xe0]
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 0x4529fe
mov edx, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push 0xffffffffffffffff
push dword [esi + ebx*4 + 8]
call fcn.0044d4a0
add esp, 0xc
test eax, eax
je 0x452cb5
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.00454220
add esp, 4
mov dword [ebp - 0xdc], eax
jmp 0x452a0a
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [ebp - 0xd8]
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 - 0xe0]
mov edi, dword [ebp - 0xe4]
mov dword [edx + 0x2c], eax
jne case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov edx, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xd8]
push 0
push 0xffffffffffffffff
push dword [esi + ebx*4 + 0xc]
call fcn.0044d4a0
add esp, 0xc
test eax, eax
je 0x452cb5
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.0x44d916
mov ecx, dword [ebp - 0xd8]
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ecx + 0x38]
mov edx, dword [edx + eax*4]
call fcn.00448020
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebx + 0x38]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0xe0]
test byte [esi + 0x1c], 4
movzx edx, byte [eax + ebx*4]
mov dword [ebp - 0x100], edx
mov byte [esi + 0x19], 0
je 0x450267
mov eax, dword [eax + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [edi + 8]
and al, 0xe
cmp al, 2
jne 0x4501ce
xor edx, edx
mov ecx, edi
call fcn.0044d580
mov ecx, edi
call fcn.00445880
movzx ecx, word [edi + 8]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xf8], edx
test cl, 4
jne 0x450228
test cl, 8
je 0x4529ed
mov ecx, eax
call fcn.004c27ad
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x450211
mov eax, dword [ebp - 0x100]
test al, 1
je 0x450228
dec eax
jmp 0x450222
comisd xmm1, xmm0
jbe 0x450228
mov eax, dword [ebp - 0x100]
test al, 1
jne 0x450228
inc eax
mov dword [ebp - 0x100], eax
mov edi, dword [ebp - 0x10c]
lea eax, [ebp - 0x134]
mov ecx, dword [esi]
xor edx, edx
push eax
push 0
push dword [ebp - 0xf8]
push edi
call fcn.0043e470
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xf8]
mov dword [esi + 0x30], edi
mov edi, dword [ebp - 0xe4]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xdc]
jmp 0x4502da
mov ecx, dword [eax + ebx*4 + 0x10]
test dl, 1
mov eax, dword [esi + 8]
mov dword [ebp - 0x274], eax
sete al
mov word [ebp - 0x270], cx
mov ecx, dword [ebp - 0xe8]
lea eax, [eax*2 - 1]
mov byte [ebp - 0x26e], al
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [ebp - 0x26c], ecx
test word [ecx + 8], ax
je 0x4502ba
call fcn.004454f0
mov ecx, dword [esi]
lea eax, [ebp - 0x134]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x274]
call fcn.0043e470
mov dword [ebp - 0xdc], eax
add esp, 0x10
test eax, eax
jne 0x45089b
mov byte [esi + 0x1a], al
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x134]
cmp eax, 0x40
jl 0x450336
test ecx, ecx
js 0x45031c
jne 0x450307
cmp eax, 0x41
je 0x45031c
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x134], 0
jmp case.default.0x44d916
lea eax, [ebp - 0x134]
mov dword [ebp - 0x134], 0
push eax
push dword [esi]
call fcn.0043ea20
jmp 0x450372
test ecx, ecx
jg 0x45035a
jne 0x450341
cmp eax, 0x3e
je 0x45035a
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x49], 1
mov eax, dword [ebp - 0xdc]
setne cl
mov dword [ebp - 0x134], ecx
jmp 0x450383
lea eax, [ebp - 0x134]
mov dword [ebp - 0x134], 0
push eax
push dword [esi]
call fcn.0043ebc0
add esp, 8
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x45089b
cmp dword [ebp - 0x134], 0
mov esi, dword [ebp - 0xe0]
je 0x452a0a
mov ebx, dword [esi + ebx*4 + 8]
dec ebx
mov dword [ebp - 0xec], ebx
jmp 0x452a0a
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe8]
mov byte [esi + 0x19], 0
mov eax, dword [eax + ebx*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00445880
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
mov esi, dword [ebp - 0xe0]
jmp case.default.0x44d916
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x12c], 0
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0x10c], ecx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], esi
cmp dword [edx + ebx*4 + 0x10], 0
jle 0x45049f
mov eax, dword [ecx + 8]
xor edi, edi
mov dword [ebp - 0x24c], eax
xor eax, eax
mov dx, word [edx + ebx*4 + 0x10]
mov word [ebp - 0x248], dx
mov dword [ebp - 0x244], esi
cmp ax, dx
jae 0x450491
mov ebx, dword [ebp - 0xf4]
xor esi, esi
lea esp, [esp]
lea ecx, [esi + ebx]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x450480
call fcn.004454f0
mov ebx, dword [ebp - 0x244]
mov dx, word [ebp - 0x248]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x450460
mov ebx, dword [ebp - 0x114]
mov esi, dword [ebp - 0x10c]
lea edi, [ebp - 0x24c]
jmp 0x4504f0
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0x12c]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.00449a70
mov edi, eax
add esp, 8
test edi, edi
je 0x44f2d7
mov eax, 0x4000
test word [esi + 8], ax
je 0x4504d8
mov ecx, esi
call fcn.004454f0
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [ebp - 0x10c]
mov ecx, dword [esi + 8]
call fcn.00449ae0
add esp, 8
mov eax, dword [ebp - 0xe0]
mov byte [edi + 6], 0
cmp byte [eax + ebx*4], 0x43
jne 0x450530
movzx edx, word [edi + 4]
xor ecx, ecx
test edx, edx
jle 0x450530
mov eax, dword [edi + 8]
add eax, 8
test byte [eax], 1
jne 0x45051f
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x450510
jmp 0x450530
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
mov ecx, dword [esi]
lea eax, [ebp - 0x1c0]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.0043e470
mov edi, dword [ebp - 0xe4]
add esp, 0x10
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xe0]
cmp dword [eax + ebx*4 + 0x10], 0
jne 0x45056f
mov edx, dword [ebp - 0x12c]
mov ecx, edi
call fcn.004280c0
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x44efa6
mov eax, dword [ebp - 0x1c0]
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 - 0xe0]
cmp byte [esi + ebx*4], 0x45
jne 0x4505b2
test ecx, ecx
jmp 0x44e865
test ecx, ecx
jne case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x10c], 0
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + ebx*4 + 0xc]
mov dword [ebp - 0xf4], 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 - 0x10c]
push eax
push 0
push edi
push esi
xor edx, edx
call fcn.0043e470
mov ecx, dword [ebp - 0x10c]
add esp, 0x10
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xf4]
mov dword [eax + 0x30], esi
mov esi, dword [ebp - 0xe0]
mov dword [eax + 0x34], edi
mov word [eax + 0x19], 0
mov dword [eax + 0x3c], 0
test ecx, ecx
je 0x45064f
mov ebx, dword [esi + ebx*4 + 8]
dec ebx
mov dword [ebp - 0xec], ebx
mov dword [eax + 0xc], ecx
jmp 0x4529fe
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xf0]
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 - 0xd8]
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 - 0xdc]
jmp 0x452a10
mov eax, dword [ebp - 0xd8]
xorps xmm0, xmm0
mov ecx, dword [esi + ebx*4 + 4]
movlpd qword [ebp - 0x140], xmm0
mov dword [ebp - 0x100], 0
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xfc], edx
mov ecx, dword [edx]
test ecx, ecx
je 0x4508f2
test byte [edx + 0x1c], 2
jne 0x450770
lea edx, [ebp - 0x100]
call fcn.0043e410
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x45089b
cmp dword [ebp - 0x100], eax
je 0x450716
mov edx, dword [ebp - 0xfc]
mov edi, 1
xor esi, esi
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x13c], esi
jmp 0x45077c
mov ecx, dword [ebp - 0xfc]
lea edx, [ebp - 0x140]
mov ecx, dword [ecx]
call fcn.0043d9f0
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x140]
mov dword [ebp - 0xdc], eax
cmp esi, 0x7fffffff
jl 0x450756
jg 0x45074a
cmp edi, 0xffffffff
jb 0x450756
mov edx, dword [ebp - 0xfc]
or dword [edx + 0x1c], 2
jmp 0x45077c
mov edx, dword [ebp - 0xfc]
add edi, 1
mov dword [ebp - 0x140], edi
adc esi, 0
mov dword [ebp - 0x13c], esi
jmp 0x45077c
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + ebx*4 + 0xc]
test ecx, ecx
je 0x450817
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x4507b9
mov eax, dword [edx + 4]
test eax, eax
je 0x4507ae
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x4507a5
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x4507c5
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe8]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.00445a30
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp eax, 0xffffffff
jne 0x4507e2
cmp ecx, 0x7fffffff
je 0x45088a
mov edx, dword [ebp - 0xfc]
test byte [edx + 0x1c], 2
jne 0x45088a
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x450812
jl 0x450802
cmp edi, eax
jae 0x450812
mov edi, eax
mov esi, ecx
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x13c], esi
mov dword [ebx], edi
mov dword [ebx + 4], esi
test byte [edx + 0x1c], 2
je 0x4508d1
xor ebx, ebx
lea eax, [ebp - 0x140]
push eax
push 8
call fcn.0042a210
mov esi, dword [ebp - 0x13c]
lea eax, [ebp - 0x100]
mov edi, dword [ebp - 0x140]
and esi, 0x3fffffff
push eax
mov eax, dword [ebp - 0xfc]
add edi, 1
push 0
adc esi, 0
mov dword [ebp - 0x140], edi
push esi
mov ecx, dword [eax]
xor edx, edx
push edi
mov dword [ebp - 0x13c], esi
call fcn.0043e470
add esp, 0x18
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4508cb
cmp dword [ebp - 0x100], eax
jne 0x4508cb
inc ebx
cmp ebx, 0x64
jl 0x450823
mov eax, 0xd
mov dword [ebp - 0xdc], eax
mov edi, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xd8]
cmp byte [edi + 0x41], 0
je 0x452c05
mov eax, 7
mov dword [ebp - 0xdc], 7
mov edx, str.unknown_error
mov ecx, eax
call fcn.00498660
jmp 0x452c2a
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xf0]
mov byte [edx + 0x1a], 0
mov dword [edx + 0x3c], 0
mov dword [eax + 4], esi
mov esi, dword [ebp - 0xe0]
mov dword [eax], edi
jmp 0x4529fe
mov eax, dword [ebp - 0xf0]
mov esi, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x140]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0xe0]
mov dword [eax], edi
jmp 0x4529fe
mov eax, dword [esi + ebx*4 + 8]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + ebx*4 + 4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xf8], eax
mov eax, dword [ecx + ebx*4 + 0xc]
cmp dl, 0x4b
jne 0x45095e
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov edi, dword [edx + eax*8]
mov eax, dword [edx + eax*8 + 4]
mov dword [ebp - 0x10c], eax
jmp 0x450969
cdq
mov edi, eax
mov dword [ebp - 0x10c], edx
mov eax, edx
test byte [ecx + ebx*4 + 3], 1
je 0x450979
mov edx, dword [ebp - 0xd8]
inc dword [edx + 0x5c]
test byte [ecx + ebx*4 + 3], 2
je 0x45099e
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x14c], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe8]
movzx eax, word [edx + esi*8 + 8]
test al, 1
je 0x4509bd
mov dword [edx + esi*8 + 0x10], 0
mov dword [edx + esi*8 + 0xc], 0
mov cl, byte [ecx + ebx*4 + 3]
mov byte [ebp - 0x101], cl
test cl, 0x10
je 0x4509d7
mov edx, dword [ebp - 0xf8]
mov edx, dword [edx + 0xc]
jmp 0x4509d9
xor edx, edx
test eax, 0x4000
je 0x4509eb
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + esi*8]
jmp 0x4509ed
xor ecx, ecx
movzx eax, byte [ebp - 0x101]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0xe8]
push ecx
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 0x10]
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0x10c]
push esi
push edi
mov ecx, dword [eax]
call fcn.00442010
mov ecx, dword [ebp - 0xf8]
add esp, 0x1c
mov dword [ebp - 0xdc], eax
mov byte [ecx + 0x1a], 0
mov dword [ecx + 0x3c], 0
test eax, eax
jne 0x44efa0
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xd0]
test edx, edx
je 0x4529c9
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x44dc39
movsx ecx, byte [ecx + 0x18]
push esi
mov esi, dword [ebp - 0xe0]
add ecx, ecx
push edi
mov edi, dword [ebp - 0xe4]
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.0x44d916
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.00442230
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x3c], 0
test eax, eax
jne 0x450b14
mov edx, dword [edi + 0xd0]
test edx, edx
je 0x450b14
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 0x10]
test eax, eax
je 0x450b0e
test byte [esi + 0x1c], 4
je 0x450b0e
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 - 0xdc]
mov esi, dword [ebp - 0xe0]
test byte [esi + ebx*4 + 8], 1
mov ebx, dword [ebp - 0xd8]
je 0x452a10
inc dword [ebx + 0x5c]
jmp 0x452a10
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebx + 0x5c]
add dword [edi + 0x54], eax
mov dword [edi + 0x50], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebx + 0x5c], 0
jmp 0x452a10
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x124], 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 - 0x124]
push eax
push dword [esi + ebx*4 + 0x10]
call fcn.00456390
add esp, 8
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0x124], 0
je 0x452a0a
mov ebx, dword [esi + ebx*4 + 8]
dec ebx
mov dword [ebp - 0xec], ebx
jmp 0x452a0a
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xf0], edx
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.004562f0
mov ecx, dword [esi + ebx*4 + 0xc]
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x3c], 0
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + ecx*4]
test byte [ebx + 0x1c], 4
mov edi, dword [ebx]
mov ecx, edi
jne 0x450c70
lea edx, [ebp - 0x238]
call fcn.0043d9f0
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x58]
cdq
cmp dword [ebp - 0x234], edx
jg 0x452c50
mov esi, dword [ebp - 0x238]
jl 0x450c68
cmp esi, eax
ja 0x452c50
mov dword [ebp - 0x17c], esi
jmp 0x450c90
lea edx, [ebp - 0x17c]
call fcn.0043da50
mov eax, dword [ebp - 0xe4]
mov esi, dword [ebp - 0x17c]
cmp esi, dword [eax + 0x58]
ja 0x452c48
mov ecx, dword [ebp - 0xf0]
mov edx, 0x20
cmp esi, edx
cmova edx, esi
cmp dword [ecx + 0x18], edx
jge 0x450cbf
push 0
call fcn.00445350
add esp, 4
test eax, eax
jne 0x44f2d7
mov ecx, dword [ebp - 0xf0]
jmp 0x450cca
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 - 0xf0]
jne 0x450d1a
push 0
push dword [ebx + 0x10]
xor edx, edx
mov ecx, edi
push esi
call fcn.0043dc70
mov edi, dword [ebp - 0xe4]
add esp, 0xc
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
mov byte [ebx + 0xa], 1
jmp 0x452a0a
push dword [ebx + 0x10]
push esi
push 0
push edi
call fcn.0043e050
mov edi, dword [ebp - 0xe4]
add esp, 0x10
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
mov byte [ebx + 0xa], 1
jmp 0x452a0a
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebx + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x450d7a
mov eax, dword [ebp - 0xf0]
mov ecx, 1
mov esi, dword [ebp - 0xe0]
mov word [eax + 8], cx
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
cmp byte [esi + 0x1a], 0
je 0x450d97
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x188], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x184], eax
jmp 0x450e1d
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x450dc3
mov esi, dword [ecx]
lea edx, [ebp - 0x188]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0xdc], eax
mov edx, esi
mov ecx, ebx
call fcn.0044abe0
jmp 0x450e1d
mov eax, dword [esi]
cmp byte [eax + 0x49], 1
je 0x450de2
mov ecx, esi
call fcn.00449620
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4508a1
jmp 0x450dea
xor eax, eax
mov dword [ebp - 0xdc], eax
cmp byte [esi + 0x19], 0
je 0x450e0a
mov ecx, dword [ebp - 0xf0]
mov edx, 1
mov esi, dword [ebp - 0xe0]
mov word [ecx + 8], dx
jmp 0x452a10
mov ecx, dword [esi]
lea edx, [ebp - 0x188]
call fcn.0043d9f0
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x188]
mov esi, dword [ebp - 0xe0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x184]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xd8]
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 0x452719
call fcn.0043a1a0
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0x120]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0x120], 0
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.0043e410
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x120]
mov byte [esi + 0x19], al
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov esi, dword [ebp - 0xe0]
mov ecx, dword [esi + ebx*4 + 8]
test ecx, ecx
jle case.default.0x44d916
mov ebx, dword [ebp - 0xd8]
test eax, eax
je 0x452719
lea eax, [ecx - 1]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x74]
jmp 0x450f00
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x38]
mov ecx, dword [esi + ebx*4 + 4]
mov esi, dword [eax + ecx*4]
mov eax, 1
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x11c], eax
cmp dword [esi + 0x38], 0
je 0x450f4a
lea edx, [ebp - 0x11c]
mov ecx, esi
call fcn.00456220
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x11c]
test eax, eax
mov byte [esi + 0x19], al
mov esi, dword [ebp - 0xe0]
jmp 0x44e865
mov edi, dword [esi]
mov ecx, edi
call fcn.0043e140
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x450f7c
cmp byte [edi + 0x49], al
jne 0x450f69
mov eax, 1
jmp 0x450f82
xor eax, eax
mov ecx, edi
call fcn.0043e320
mov dword [ebp - 0xdc], eax
xor eax, eax
jmp 0x450f82
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xe4]
test eax, eax
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov byte [esi + 0x19], al
mov esi, dword [ebp - 0xe0]
jmp 0x44e865
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x164]
push eax
mov edx, esi
mov dword [ebp - 0x164], 0
mov ecx, edi
call fcn.00456280
add esp, 4
jmp 0x45101b
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
cmp dword [eax + ecx*4], 0
je case.default.0x44d916
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + ebx*4 + 0xc]
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0x164]
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 - 0x164], 0
mov dword [ebp - 0xdc], eax
jne 0x45105a
mov byte [esi + 0x19], 0
mov esi, dword [ebp - 0xe0]
mov ecx, dword [esi + ebx*4 + 8]
movzx eax, byte [esi + ebx*4 + 3]
dec ecx
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xec], ecx
inc dword [ebx + eax*4 + 0x6c]
jmp 0x4526b7
mov byte [esi + 0x19], 1
jmp 0x4526ab
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xe0]
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 - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, dword [edi]
mov dword [ebp - 0xf4], ecx
je 0x4510a1
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x4510cd
mov ecx, esi
call fcn.004454f0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44efa0
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xe0]
cmp dword [edi + 0x38], 0
je 0x4510f3
mov edx, esi
mov ecx, edi
call fcn.00455460
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
jmp 0x452a0a
test byte [edx + ebx*4 + 3], 0x10
je 0x4510ff
mov eax, dword [edi + 0xc]
jmp 0x451101
xor eax, eax
push eax
push dword [edx + ebx*4 + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
cdq
push 0x4d2f8d
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.00442010
mov esi, dword [ebp - 0xe0]
add esp, 0x1c
mov dword [edi + 0x3c], 0
mov edi, dword [ebp - 0xe4]
mov dword [ebp - 0xdc], eax
jmp 0x452a0a
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0x288]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x288], eax
mov ax, word [ecx + ebx*4 + 0xc]
mov word [ebp - 0x284], ax
mov eax, dword [ecx + ebx*4 + 8]
mov ecx, dword [ebp - 0xe8]
mov byte [ebp - 0x282], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x1c4]
push eax
push 0
push 0
push 0
call fcn.0043e470
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4511c4
cmp dword [ebp - 0x1c4], eax
jne 0x4511c4
mov ecx, edi
call fcn.00442230
mov dword [ebp - 0xdc], eax
mov edi, dword [ebp - 0xe4]
mov dword [esi + 0x3c], 0
mov esi, dword [ebp - 0xe0]
jmp 0x452a0a
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xf0]
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 0x45121c
mov ecx, esi
call fcn.00449620
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x450895
jmp 0x451224
xor eax, eax
mov dword [ebp - 0xdc], eax
cmp byte [esi + 0x19], 0
jne 0x44efa0
lea eax, [ebp - 0x1b0]
mov edx, edi
mov edi, dword [ebp - 0xe4]
xorps xmm0, xmm0
push eax
mov ecx, edi
movlpd qword [ebp - 0x1b0], xmm0
call fcn.0044a8c0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x45089b
mov eax, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0xe0]
mov dword [ebx], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebx + 4], eax
mov eax, 4
mov word [ebx + 8], ax
jmp case.default.0x44d916
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
cmp byte [ebp - 0x101], 0x73
mov dword [ebp - 0xf8], 0
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x260], eax
mov ax, word [esi + ebx*4 + 0x10]
mov word [ebp - 0x25c], ax
sbb al, al
mov byte [ebp - 0x25a], al
mov eax, dword [esi + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x258], eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.0044aa10
add esp, 8
mov dword [ebp - 0xdc], eax
test byte [esi + ebx*4], 1
mov eax, dword [ebp - 0xf8]
je 0x451307
neg eax
jmp 0x451308
inc eax
test eax, eax
jle case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov eax, dword [edi + 4]
xor edx, edx
test eax, eax
je 0x45135a
lea esp, [esp]
cmp dword [eax + 0x28], 0xbdf20da3
jne 0x451353
mov ecx, dword [eax + 0x58]
test ecx, 0x200
je 0x451353
and cl, 0xc
cmp cl, 8
jae 0x451353
cmp dword [eax + 0x4c], 0
jl 0x451353
inc edx
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x451330
mov eax, dword [ebp - 0xf0]
mov ecx, 1
mov word [eax + 8], cx
cmp edx, ecx
jle 0x451387
mov ebx, dword [ebp - 0xd8]
mov eax, 6
mov dword [ebp - 0xdc], eax
mov byte [ebx + 0x56], 2
jmp 0x452a10
mov eax, dword [esi + ebx*4 + 0xc]
lea ecx, [ebp - 0xfc]
mov edx, dword [esi + ebx*4 + 4]
push ecx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xf4], eax
add eax, eax
mov dword [ebp - 0xfc], 0
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00442c50
mov edi, dword [ebp - 0xf0]
mov ecx, 4
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebp - 0xf0]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0xfc]
mov eax, ecx
cdq
mov dword [edi], eax
mov eax, edi
mov edi, dword [ebp - 0xe4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x452a0a
test ecx, ecx
je 0x452a0a
push dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xf4]
mov edx, ebx
push ecx
mov ecx, edi
call fcn.004653f0
add esp, 8
inc bl
mov byte [ebp - 0x125], bl
jmp case.default.0x44d916
mov edx, dword [esi + ebx*4 + 4]
lea eax, [ebp - 0x108]
xor ecx, ecx
mov dword [ebp - 0x108], 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.00442990
add esp, 4
mov dword [ebp - 0xdc], eax
cmp dword [esi + ebx*4 + 0xc], 0
je 0x452a0a
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x108]
add dword [ecx + 0x5c], eax
mov ecx, dword [esi + ebx*4 + 0xc]
test ecx, ecx
jle case.default.0x44d916
mov ebx, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
jmp case.default.0x44d916
mov ecx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x4514c0
mov ecx, edi
call fcn.00454740
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov ecx, dword [ecx]
push 0
mov edx, dword [ecx + 0x3c]
mov ecx, dword [ecx]
call fcn.00442990
add esp, 4
mov dword [ebp - 0xdc], eax
jmp 0x452a10
mov ecx, dword [esi + ebx*4 + 4]
xor eax, eax
shl ecx, 4
add ecx, dword [edi + 0x10]
cmp dl, 0x79
lea edx, [ebp - 0xf4]
mov dword [ebp - 0xf4], 0
setne al
inc eax
mov ecx, dword [ecx + 4]
push eax
call fcn.00442780
mov ecx, dword [ebp - 0xf0]
add esp, 4
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xf4]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x44d916
mov edx, dword [esi + ebx*4 + 4]
mov eax, str.sqlite_master
push dword [esi + ebx*4 + 0x10]
cmp edx, 1
mov dword [ebp - 0x228], edx
mov ecx, str.sqlite_temp_master
mov dword [ebp - 0x230], edi
cmovne ecx, eax
mov eax, dword [ebp - 0xd8]
add eax, 0x2c
add edx, edx
mov dword [ebp - 0x22c], 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.00429e20
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x451584
mov dword [ebp - 0xdc], 7
jmp 0x4515d6
push 0
lea eax, [ebp - 0x230]
mov byte [edi + 0x91], 1
push eax
push fcn.004784e0
push esi
push edi
mov dword [ebp - 0x224], 0
call fcn.00474700
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, edi
cmove eax, dword [ebp - 0x224]
mov dword [ebp - 0xdc], eax
call fcn.004280c0
mov eax, dword [ebp - 0xdc]
mov byte [edi + 0x91], 0
test eax, eax
je 0x4515e3
mov ecx, edi
call fcn.00462ce0
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xd8]
cmp eax, 7
je 0x452cbb
mov esi, dword [ebp - 0xe0]
jmp 0x452a10
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.00461050
mov dword [ebp - 0xdc], eax
jmp 0x452a0a
push dword [esi + ebx*4 + 0x10]
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.00463110
add esp, 4
jmp case.default.0x44d916
push dword [esi + ebx*4 + 0x10]
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.00462a80
add esp, 4
jmp case.default.0x44d916
push dword [esi + ebx*4 + 0x10]
mov edx, dword [esi + ebx*4 + 4]
mov ecx, edi
call fcn.004851e0
add esp, 4
jmp case.default.0x44d916
mov edi, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0xe4]
push 0
mov dword [ebp - 0xf4], edi
lea eax, [edi*4 + 4]
push eax
call fcn.00428340
mov edx, eax
add esp, 8
mov dword [ebp - 0x10c], edx
test edx, edx
je 0x44f2d7
mov ecx, dword [esi + ebx*4 + 0xc]
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + ebx*4 + 4]
mov dword [ebp - 0xf8], eax
xor esi, esi
mov eax, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x12c], eax
test edi, edi
jle 0x4516e4
mov ebx, dword [ebp - 0xf4]
mov edi, eax
jmp 0x4516c0
mov ecx, edi
call fcn.00445880
mov edx, dword [ebp - 0x10c]
add edi, 0x28
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x4516c0
mov ebx, dword [ebp - 0x114]
mov edi, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe8]
lea eax, [ebp - 0x1b8]
push eax
mov eax, dword [ebp - 0xf8]
mov dword [edx + esi*4], 0
push dword [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
push edi
movzx eax, byte [eax + ebx*4 + 3]
mov ebx, dword [ebp - 0xe4]
add eax, eax
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00443b10
mov edx, dword [ebp - 0x10c]
add esp, 0xc
mov ecx, ebx
mov edi, eax
call fcn.004280c0
mov ecx, dword [ebp - 0xf8]
mov ebx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x1b8]
mov eax, esi
cdq
sub dword [ebx + ecx*8], eax
sbb dword [ebx + ecx*8 + 4], edx
mov ebx, dword [ebp - 0x12c]
mov ecx, ebx
call fcn.00445c80
test esi, esi
je 0x45177d
test edi, edi
je 0x44f2d7
push fcn.00427fe0
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.00445f30
add esp, 0xc
movzx edx, byte [ebp - 0x118]
mov ecx, ebx
call fcn.00445330
mov esi, dword [ebp - 0xe0]
jmp 0x4529fe
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 8]
lea edi, [eax + eax*4]
jne 0x4517cb
mov ecx, esi
call fcn.00445d20
test byte [esi + 8], 0x20
je 0x44f2d7
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.004318b0
mov esi, dword [ebp - 0xe0]
add esp, 8
jmp 0x4529fe
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
je 0x451844
mov ecx, dword [esi]
lea edx, [ebp - 0x208]
call fcn.00431c80
test eax, eax
je 0x451844
mov esi, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe8]
push dword [ebp - 0x204]
mov eax, dword [esi + ebx*4 + 0xc]
push dword [ebp - 0x208]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00445ce0
add esp, 8
jmp 0x4526b1
mov ecx, esi
call fcn.00445c80
mov esi, dword [ebp - 0xe0]
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp 0x4526b1
mov eax, dword [esi + ebx*4 + 4]
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe0]
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 - 0xf4], eax
jne 0x4518ac
mov ecx, esi
call fcn.00445d20
test byte [esi + 8], 0x20
je 0x44f2d7
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xe8]
test eax, eax
je 0x4518d3
push dword [edx + edi*8 + 4]
mov ecx, dword [esi]
push dword [edx + edi*8]
mov edx, eax
call fcn.00431ce0
add esp, 8
test eax, eax
jne 0x4529ed
mov eax, dword [ebp - 0xf4]
test eax, eax
js 0x44dc39
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.004318b0
mov esi, dword [ebp - 0xe0]
add esp, 8
jmp 0x4529fe
mov eax, dword [esi + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [esi + ebx*4 + 0x10]
cmp byte [esi + ebx*4 + 3], 0
mov ebx, dword [ebp - 0xd8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x10c], eax
je 0x451945
mov eax, dword [ebx + 0xb0]
mov ecx, dword [edx + 0x14]
test eax, eax
je 0x451945
cmp dword [eax + 0x1c], ecx
je 0x452719
mov eax, dword [eax + 4]
test eax, eax
jne 0x451935
mov eax, dword [ebx + 0xb8]
cmp eax, dword [edi + 0x80]
jl 0x451979
push str.too_many_levels_of_trigger_recursion
lea eax, [ebx + 0x2c]
mov dword [ebp - 0xdc], 1
push edi
push eax
call fcn.004285e0
add esp, 0xc
mov eax, 1
jmp 0x452a10
mov ebx, dword [ebp - 0x10c]
test byte [ebx + 8], 0x40
jne 0x451a5a
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 - 0xe4]
cdq
push edx
push eax
call fcn.00428310
mov esi, eax
add esp, 8
test esi, esi
je 0x44f2d7
mov ecx, ebx
call fcn.00445860
mov edx, dword [ebp - 0xf4]
mov eax, 0x40
mov word [ebx + 8], ax
mov dword [ebx], esi
mov ebx, dword [ebp - 0xd8]
mov dword [esi + 0x3c], edi
mov dword [esi], ebx
mov eax, dword [edx + 0xc]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0xec]
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 - 0xe4]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
lea eax, [esi + 0x50]
cmp eax, ecx
je 0x451a62
mov ebx, 0x80
mov word [eax + 8], bx
mov dword [eax + 0x20], edi
add eax, 0x28
cmp eax, ecx
jne 0x451a44
mov edx, dword [ebp - 0xf4]
jmp 0x451a5c
mov esi, dword [ebx]
mov ebx, dword [ebp - 0xd8]
inc dword [ebx + 0xb8]
lea ecx, [esi + 0x28]
mov eax, dword [ebx + 0xb0]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x148]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x14c]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x5c]
mov dword [esi + 0x44], eax
mov eax, dword [ebx]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xec], 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 - 0xe0], 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.004aaf60
mov eax, dword [ebp - 0xdc]
add esp, 0xc
jmp 0x452a10
mov eax, dword [ebp - 0xd8]
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 - 0xf0]
call fcn.00445e20
add esp, 4
jmp case.default.0x44d916
test dword [edi + 0x18], 0x1000000
mov eax, dword [esi + ebx*4 + 8]
cdq
je 0x451b68
add dword [edi + 0x200], eax
adc dword [edi + 0x204], edx
jmp case.default.0x44d916
cmp dword [esi + ebx*4 + 4], 0
mov ebx, dword [ebp - 0xd8]
je 0x451b8c
add dword [edi + 0x1f8], eax
mov eax, dword [ebp - 0xdc]
adc dword [edi + 0x1fc], edx
jmp 0x452a10
add dword [ebx + 0x90], eax
mov eax, dword [ebp - 0xdc]
adc dword [ebx + 0x94], edx
jmp 0x452a10
cmp dword [esi + ebx*4 + 4], 0
je 0x451bde
mov eax, dword [edi + 0x1f8]
or eax, dword [edi + 0x1fc]
jne case.default.0x44d916
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
jne case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + 0x90]
or eax, dword [ecx + 0x94]
jne 0x451c0b
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
jne 0x451c0b
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xdc]
mov ebx, ecx
jmp 0x452a10
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x451c48
mov eax, dword [edx + 4]
test eax, eax
je 0x451c39
nop
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x451c30
mov eax, dword [esi + ebx*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x451c58
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.00445a30
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.00445a30
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x44dc39
jl 0x451c8e
cmp dword [edi], eax
jae 0x44dc39
mov esi, dword [ebp - 0xe0]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4529fe
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 4], 0
jl case.default.0x44d916
jg 0x44e86b
cmp dword [ecx + eax*8], 0
jbe case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov edi, dword [ebp - 0xe8]
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 - 0xe4]
adc dword [eax + ecx*8 + 4], edx
cmp dword [eax + ecx*8 + 4], 0
jg case.default.0x44d916
jl 0x44e86b
cmp dword [eax + ecx*8], 0
jae case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov edi, dword [ebp - 0xe8]
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 - 0xe4]
or eax, dword [edx + ecx*8 + 4]
jne case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
mov ecx, dword [ebp - 0xe8]
movzx edx, byte [esi + ebx*4 + 3]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + 0xc]
xor eax, eax
test edx, edx
jle 0x451d91
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x451d86
mov ecx, dword [ebp - 0xe0]
push esi
push edx
mov eax, dword [ecx + ebx*4 + 0x10]
mov dword [ebp - 0x1fc], eax
mov eax, dword [ecx + ebx*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x1f8], eax
inc dword [eax + 0xc]
mov eax, 1
mov word [ebp - 0x2f0], ax
lea eax, [ebp - 0x2f8]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x200]
push eax
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x2d8], edi
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x1ec], 0
mov byte [ebp - 0x1e8], 0
mov eax, dword [eax + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x1ec], 0
je 0x451e5f
lea eax, [ebp - 0x2f8]
push eax
call fcn.0044b090
add esp, 4
push eax
mov eax, dword [ebp - 0xd8]
push 0x4d6b94
add eax, 0x2c
push edi
push eax
call fcn.004285e0
mov eax, dword [ebp - 0x1ec]
add esp, 0x10
mov dword [ebp - 0xdc], eax
cmp byte [ebp - 0x1e8], 0
mov esi, dword [ebp - 0xe0]
je 0x451e8e
mov eax, dword [esi + ebx*4 - 0x10]
test eax, eax
je 0x451e8e
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.00445ce0
add esp, 8
lea ecx, [ebp - 0x2f8]
call fcn.00445860
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov ecx, esi
mov edx, dword [eax + ebx*4 + 0x10]
call fcn.00445690
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x451eed
push esi
call fcn.0044b090
mov ebx, dword [ebp - 0xd8]
add esp, 4
push eax
push 0x4d6b94
lea eax, [ebx + 0x2c]
push edi
push eax
call fcn.004285e0
add esp, 0x10
jmp 0x451ef3
mov ebx, dword [ebp - 0xd8]
movzx edx, byte [ebp - 0x118]
mov ecx, esi
call fcn.00445330
mov ecx, esi
call fcn.00445df0
test eax, eax
jne 0x452c5c
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
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.004990a0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xdc], ecx
cmp ecx, 5
jne 0x451f80
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd4], 1
mov eax, dword [esi + ebx*4 + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0xe8]
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.00445ce0
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x451f92
mov esi, dword [ebp - 0xe0]
jmp 0x4529fe
mov eax, dword [ebp - 0xe0]
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 - 0xf4], eax
mov eax, dword [eax + 4]
mov edi, dword [eax]
movzx edx, byte [edi + 5]
cmove esi, edx
mov dword [ebp - 0x10c], edx
cmp byte [edi + 0x10], 3
jae 0x452008
mov eax, dword [edi + 0x40]
cmp dword [eax], 0
je 0x45200a
cmp dword [edi + 0x4c], 0
jl 0x45200a
jg 0x452008
cmp dword [edi + 0x48], 0
jbe 0x45200a
mov esi, edx
cmp byte [edi + 0xf], 0
mov ecx, 0x4d2f8d
jne 0x45201b
mov ecx, dword [edi + 0xa8]
cmp esi, 5
jne 0x452074
call fcn.0042ac70
test eax, eax
je 0x452034
mov ecx, edi
call fcn.00436da0
test eax, eax
jne 0x452074
mov esi, edx
mov edx, esi
mov ecx, edi
call fcn.00436c20
mov esi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe8]
mov ecx, dword [esi + ebx*4 + 8]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*8]
mov ecx, 0xa02
mov dword [ebp - 0xf0], ebx
mov word [ebx + 8], cx
cmp eax, 6
jne 0x452138
xor ecx, ecx
jmp 0x45213f
cmp esi, edx
je 0x452036
cmp edx, 5
je 0x452082
cmp esi, 5
jne 0x452036
mov eax, dword [ebp - 0xe4]
cmp byte [eax + 0x3f], 0
je 0x4520ef
cmp dword [eax + 0x98], 1
jg 0x4520ef
cmp edx, 5
jne 0x4520b1
mov ecx, edi
call fcn.00436f40
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x4520e4
mov edx, esi
jmp 0x4520bb
cmp edx, 4
jne 0x4520c2
mov edx, 2
mov ecx, edi
call fcn.00436c20
mov ecx, dword [ebp - 0xf4]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00444240
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x452036
mov esi, dword [ebp - 0x10c]
jmp 0x452036
mov ebx, dword [ebp - 0xd8]
cmp esi, 5
mov edi, dword [ebp - 0xe4]
mov ecx, str.out_of
mov eax, str.into
mov dword [ebp - 0xdc], 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.004285e0
mov esi, dword [ebp - 0xe0]
add esp, 0x10
mov eax, 1
jmp 0x452a10
mov ecx, dword [eax*4 + 0x4d2548]
mov dword [ebx + 0x10], ecx
call fcn.0042ac70
movzx edx, byte [ebp - 0x118]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.00445330
jmp 0x4529fe
mov ebx, dword [ebp - 0xd8]
mov edx, edi
lea ecx, [ebx + 0x2c]
call fcn.00488790
mov dword [ebp - 0xdc], eax
jmp 0x452a10
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.0043cf40
mov dword [ebp - 0xdc], eax
cmp eax, 0x65
jne 0x452a0a
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
xor eax, eax
mov dword [ebp - 0xdc], eax
jmp 0x452a0a
cmp dword [esi + ebx*4 + 4], 0
jne 0x4521c8
mov ecx, edi
call fcn.0044ab10
jmp case.default.0x44d916
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
or dword [ebx + 0x58], 0x20
jmp 0x452a10
mov al, byte [esi + ebx*4 + 0xc]
mov byte [ebp - 0x1bc], al
test al, al
jne 0x4521f8
test dword [edi + 0x18], 0x4000
jne case.default.0x44d916
mov eax, dword [esi + ebx*4 + 4]
mov ecx, dword [edi + 0x10]
add eax, eax
push dword [ebp - 0x1bc]
mov edx, dword [esi + ebx*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00444130
add esp, 4
mov dword [ebp - 0xdc], eax
cmp al, 6
jne 0x452a0a
push dword [esi + ebx*4 + 0x10]
mov ebx, dword [ebp - 0xd8]
push str.database_table_is_locked:__s
push edi
lea eax, [ebx + 0x2c]
push eax
call fcn.004285e0
mov eax, dword [ebp - 0xdc]
add esp, 0x10
jmp 0x452a10
mov esi, dword [esi + ebx*4 + 0x10]
mov ecx, edi
mov edx, esi
call fcn.00489da0
mov ebx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
test esi, esi
je 0x44fa9b
mov edx, dword [esi + 8]
mov ecx, ebx
call fcn.0044abe0
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [ebp - 0xd8]
mov ecx, edi
mov edx, dword [esi + ebx*4 + 4]
add eax, 0x2c
push eax
push dword [esi + ebx*4 + 0x10]
call fcn.004898b0
add esp, 8
mov dword [ebp - 0xdc], eax
jmp 0x452a0a
mov ecx, dword [ebp - 0xd8]
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.00489b80
mov ebx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xdc], eax
and dword [ebx + 0x58], 0xfffffff3
jmp 0x452a10
mov eax, dword [esi + ebx*4 + 0x10]
mov dword [ebp - 0x114], 0
mov esi, dword [eax + 8]
lea eax, [ebp - 0x114]
push eax
push esi
mov edi, dword [esi]
mov eax, dword [edi + 0x18]
call eax
mov ecx, dword [ebp - 0xd8]
add esp, 8
mov edx, esi
mov dword [ebp - 0xdc], eax
call fcn.0044abe0
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x44efa0
mov eax, dword [ebp - 0x114]
push 0
push 0xffffffffffffffff
push 0
mov dword [eax], esi
mov esi, dword [ebp - 0xe0]
mov edx, dword [esi + ebx*4 + 4]
mov ebx, dword [ebp - 0xd8]
mov ecx, ebx
call fcn.0044d4a0
add esp, 0xc
test eax, eax
je 0x452372
mov ecx, dword [ebp - 0x114]
mov edi, dword [ebp - 0xe4]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [ebp - 0xe4]
push dword [ebp - 0x114]
mov byte [eax + 0x41], 1
mov eax, dword [edi + 0x1c]
call eax
mov edi, dword [ebp - 0xe4]
add esp, 4
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [esi + ebx*4 + 0xc]
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe8]
add esi, 0x28
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
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 - 0xf4], esi
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov esi, dword [esi]
mov dword [ebp - 0x114], eax
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xf8], eax
mov eax, dword [eax]
mov dword [ebp - 0x124], eax
mov eax, dword [eax]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x10c], eax
test esi, esi
jle 0x45248b
cmp esi, 4
jb 0x45246b
cmp dword [0x4e7f8c], 2
jl 0x45246b
movdqa xmm2, xmmword [0x4dc9e0]
mov eax, esi
and eax, 0x80000003
jns 0x452434
dec eax
or eax, 0xfffffffc
inc eax
movdqa xmm1, xmmword [0x4dc9f0]
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 0x452442
cmp ecx, esi
jge 0x45248b
mov edx, dword [ebp - 0xf4]
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 0x452480
mov ecx, dword [ebp - 0xd8]
push edi
mov edi, dword [ebp - 0x12c]
push esi
mov eax, dword [ecx + 0x58]
mov esi, dword [ebp - 0xf8]
and eax, 0xfffffff7
or eax, 4
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0xe0]
push dword [eax + ebx*4 + 0x10]
mov eax, dword [edi + 0x20]
push dword [ebp - 0x10c]
push esi
call eax
mov edx, dword [ebp - 0x124]
add esp, 0x14
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd8]
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.0044abe0
cmp dword [ebp - 0xdc], 0
jne 0x452517
mov eax, dword [edi + 0x28]
push esi
call eax
mov esi, dword [ebp - 0xe0]
add esp, 4
test eax, eax
je 0x45251d
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x114]
mov byte [eax + 0x19], 0
jmp 0x4529fe
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x114]
mov byte [eax + 0x19], 0
jmp 0x4529fe
mov eax, dword [ebp - 0xd8]
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 - 0xe8]
cmp byte [edx + 0x19], 0
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x45255e
mov ecx, edi
call fcn.00445c80
jmp 0x4529fe
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movdqu xmmword [ebp - 0x2a4], xmm0
mov dword [ebp - 0x28c], 0
movq qword [ebp - 0x294], xmm0
mov dword [ebp - 0x2a4], edi
mov ax, word [edi + 8]
and ax, word [ebp - 0x1a4]
or ax, 1
mov word [edi + 8], ax
mov eax, dword [ebp - 0xe0]
push dword [eax + ebx*4 + 8]
lea eax, [ebp - 0x2a4]
push eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x2c]
call eax
mov ebx, dword [ebp - 0xd8]
add esp, 0xc
mov edx, esi
mov dword [ebp - 0xdc], eax
mov ecx, ebx
call fcn.0044abe0
mov eax, dword [ebp - 0x290]
test eax, eax
mov ecx, dword [ebp - 0xdc]
movzx edx, byte [ebp - 0x118]
cmovne ecx, eax
mov dword [ebp - 0xdc], ecx
mov ecx, edi
call fcn.00445330
mov ecx, edi
call fcn.00445df0
mov edi, dword [ebp - 0xe4]
test eax, eax
jne 0x452c5c
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov edx, dword [ebp - 0xd8]
mov ecx, dword [esi + ebx*4 + 4]
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x4529dd
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 - 0xf4], ecx
mov eax, dword [ecx + 0x24]
call eax
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebp - 0xd8]
mov edx, esi
mov ecx, eax
and dword [eax + 0x58], 0xfffffff3
call fcn.0044abe0
cmp dword [ebp - 0xdc], 0
jne 0x45268c
mov eax, dword [ebp - 0xf4]
push dword [edi + 0x24]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x4526a5
mov esi, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xe4]
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
jmp 0x4526b1
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xd8]
cmp dword [edi + 0xf0], 0
jne 0x452c79
mov ecx, dword [edi + 0x124]
test ecx, ecx
je 0x452719
mov edx, dword [ebp - 0x150]
cmp edx, dword [ebp - 0x144]
jb 0x452719
mov eax, dword [edi + 0x12c]
mov dword [ebp - 0x144], eax
mov eax, edx
xor edx, edx
div dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
push dword [edi + 0x128]
sub eax, edx
add eax, dword [ebp - 0x150]
mov dword [ebp - 0x144], eax
call ecx
add esp, 4
test eax, eax
jne 0x452c72
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [esi + ebx*4 + 0x10]
mov ecx, dword [ebp - 0xe8]
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 0x45275f
cmp byte [esi + 0xa], 1
je 0x45275f
mov dl, 1
mov ecx, esi
call fcn.0042a5a0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x44efa0
mov eax, dword [edi]
push dword [esi + 0x10]
push edi
mov eax, dword [eax + 0x4c]
call eax
mov ebx, dword [ebp - 0xd8]
add esp, 8
mov edx, edi
mov dword [ebp - 0xdc], eax
mov ecx, ebx
call fcn.0044abe0
and dword [ebx + 0x58], 0xffffffdf
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [esi + ebx*4 + 0x10]
mov esi, dword [esi + ebx*4 + 8]
mov edx, dword [eax + 8]
mov dword [ebp - 0x10c], edx
mov eax, dword [edx]
mov dword [ebp - 0xf4], eax
cmp dword [eax + 0x34], 0
je 0x44da2d
mov al, byte [edi + 0x45]
mov ecx, dword [ebp - 0xe8]
mov byte [ebp - 0x101], al
mov eax, dword [ebp - 0xd8]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + ebx*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x4527fb
mov edi, edi
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x4527f0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
mov al, byte [eax + ebx*4 + 3]
mov byte [ecx + 0x45], al
lea eax, [ebp - 0x210]
push eax
mov eax, dword [ebp - 0xf4]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov edi, dword [ebp - 0xe4]
add esp, 0x10
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov al, byte [ebp - 0x101]
mov byte [edi + 0x45], al
call fcn.0044abe0
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
test eax, eax
jne 0x452880
cmp dword [esi + ebx*4 + 4], eax
je 0x452880
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x14c], edx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], edx
cmp al, 0x13
jne 0x4528dd
mov eax, dword [esi + ebx*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x4528d7
mov al, byte [esi + ebx*4 + 3]
cmp al, 4
jne 0x4528a3
xor eax, eax
mov dword [ebp - 0xdc], eax
jmp 0x452a0a
cmp al, 5
jne 0x4528c0
mov ebx, dword [ebp - 0xd8]
mov eax, 2
mov byte [ebx + 0x56], al
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov ebx, dword [ebp - 0xd8]
movzx eax, al
mov byte [ebx + 0x56], al
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xd8]
inc dword [ebx + 0x5c]
jmp 0x452a10
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 - 0xf0]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], 0
jmp case.default.0x44d916
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 0x452934
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.0043c030
mov ecx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xe0]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.default.0x44d916
mov eax, dword [esi + ebx*4 + 8]
test eax, eax
je 0x45295f
dec eax
mov dword [ebp - 0xec], eax
cmp dword [edi + 0xac], 0
je case.default.0x44d916
mov eax, dword [ebp - 0xd8]
test dword [eax + 0x58], 0x800
jne case.default.0x44d916
mov edx, dword [esi + ebx*4 + 0x10]
mov ebx, eax
test edx, edx
jne 0x452997
mov edx, dword [ebx + 0xa8]
test edx, edx
je 0x452719
mov ecx, ebx
call fcn.0044cfd0
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.004280c0
mov esi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov esi, dword [ebp - 0xe0]
mov edi, eax
jmp case.default.0x44d916
mov esi, dword [ebp - 0xe0]
mov edi, ebx
jmp case.default.0x44d916
mov edi, dword [ebp - 0xe4]
mov ebx, edx
mov eax, dword [ebp - 0xdc]
jmp 0x452a10
mov esi, dword [ebp - 0xe0]
mov eax, dword [esi + ebx*4 + 8]
dec eax
mov dword [ebp - 0xec], eax
mov edi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xec]
inc edx
mov dword [ebp - 0xec], edx
test eax, eax
jne 0x452ce2
mov eax, edx
jmp 0x44d8a1
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 - 0xec]
mov dword [edx + 0x4c], eax
test ecx, ecx
je 0x452acf
mov al, byte [esi + ebx*4 + 3]
test al, al
je 0x452a7f
movzx eax, al
mov eax, dword [eax*4 + 0x4d2704]
test eax, eax
je 0x452a81
mov ecx, dword [esi + ebx*4 + 0x10]
test ecx, ecx
je 0x452a81
push ecx
push eax
push str._s_constraint_failed:__s
lea esi, [edx + 0x2c]
push edi
push esi
call fcn.004285e0
add esp, 0x14
jmp 0x452aa4
xor eax, eax
mov ecx, dword [esi + ebx*4 + 0x10]
lea esi, [edx + 0x2c]
test ecx, ecx
je 0x452a94
push ecx
push 0x4d6b94
jmp 0x452a9a
push eax
push str._s_constraint_failed
push edi
push esi
call fcn.004285e0
add esp, 0x10
push dword [esi]
mov eax, dword [ebp - 0xd8]
push dword [eax + 0xa8]
mov eax, dword [ebp - 0xe0]
push dword [ebp - 0xec]
push str.abort_at__d_in___s_:__s
push dword [eax + ebx*4 + 4]
call fcn.0042a1d0
add esp, 0x14
mov ebx, dword [ebp - 0xd8]
mov ecx, ebx
call fcn.00448d90
cmp eax, 5
je 0x452b2a
cmp dword [ebx + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x452d58
mov ebx, dword [ebp - 0xd8]
mov eax, 9
jmp 0x452cd6
mov eax, 0x14
mov dword [ebp - 0xdc], eax
jmp 0x4508a1
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xec]
mov dword [ebx + 0x4c], eax
mov byte [edi + 0x3f], 0
mov edi, 5
mov dword [ebx + 0x50], edi
jmp 0x452d58
test edx, edx
je 0x452b6e
mov edx, 0x204
mov ecx, edi
call fcn.00498510
mov byte [edi + 0x3f], 1
mov ecx, edi
call fcn.00497e80
mov ebx, dword [ebp - 0xd8]
mov edi, 1
mov eax, 0x65
cmp dword [ebx + 0x50], 0
cmove edi, eax
jmp 0x452d58
mov ebx, dword [ebp - 0xd8]
mov edx, 1
mov ecx, ebx
call fcn.00448d20
mov edi, eax
test edi, edi
jne 0x452d58
mov edi, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xd8]
mov ecx, esi
mov ebx, dword [ebp - 0xf4]
mov byte [edi + 0x3f], bl
call fcn.00448d90
cmp eax, 5
jne 0x452b4b
mov eax, dword [ebp - 0xec]
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 0x452d58
mov eax, 8
mov dword [ebp - 0xdc], eax
jmp 0x45089b
mov ebx, dword [ebp - 0xd8]
mov edi, 5
mov eax, dword [ebp - 0xec]
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], edi
jmp 0x452d58
mov ecx, 0x11ee7
call fcn.0049a590
jmp 0x45088f
cmp eax, 0xc0a
je 0x452cdc
cmp eax, 0x204
je 0x452c25
mov edx, str.unknown_error
mov ecx, eax
call fcn.00498660
jmp 0x452c2a
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x4d6b94
lea eax, [ebx + 0x2c]
push edi
push eax
call fcn.004285e0
mov eax, dword [ebp - 0xdc]
add esp, 0x10
jmp 0x452cdc
mov edi, eax
jmp 0x452c56
mov edi, edx
jmp 0x452c56
mov edi, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xd8]
push str.string_or_blob_too_big
lea eax, [ebx + 0x2c]
push edi
push eax
call fcn.004285e0
mov eax, 0x12
jmp 0x452cd3
mov eax, 9
jmp 0x452cd6
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
test eax, eax
mov dword [ebp - 0xdc], 9
mov dword [ebx + 0x50], 9
cmovne ecx, eax
lea eax, [ebx + 0x2c]
push ecx
push 0x4d6b94
push edi
push eax
call fcn.004285e0
add esp, 0x10
mov eax, 9
jmp 0x452cdc
mov edi, eax
mov ebx, dword [ebp - 0xd8]
push str.out_of_memory
lea eax, [ebx + 0x2c]
mov byte [edi + 0x41], 1
push edi
push eax
call fcn.004285e0
mov eax, 7
add esp, 0xc
mov dword [ebp - 0xdc], eax
mov edx, dword [ebp - 0xec]
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.0042a1d0
add esp, 0x14
mov ecx, ebx
call fcn.00448d90
cmp dword [ebp - 0xdc], 0xc0a
jne 0x452d14
mov byte [edi + 0x41], 1
mov al, byte [ebp - 0x125]
mov edi, 1
test al, al
je 0x452d58
mov ebx, dword [ebp - 0xe4]
movzx esi, al
dec esi
mov ecx, esi
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.00469240
add esp, 4
cmp esi, edi
je 0x452d52
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.00469240
add esp, 4
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe4]
mov ecx, ebx
mov esi, dword [ebp - 0x148]
mov dword [eax + 0x20], esi
mov esi, dword [ebp - 0x14c]
mov dword [eax + 0x24], esi
mov eax, dword [ebp - 0x150]
add dword [ebx + 0x7c], eax
call fcn.00447660
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a83d2
mov esp, ebp
pop ebp
ret