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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x344
mov eax, dword [0x6ece84]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov esi, dword [eax + 8]
push eax
mov cl, byte [edi + 0x3e]
mov byte [ebp - 0x124], cl
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xdc], edi
mov byte [ebp - 0x131], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xec], 0
mov dword [ebp - 0x140], ecx
call fcn.005a6f10
mov ecx, dword [ebp - 0xd4]
add esp, 4
cmp dword [ecx + 0x50], 7
je 0x5ad9cf
mov dword [ecx + 0x50], 0
mov dword [ecx + 0x88], 0
mov dword [ecx + 0x8c], 0
mov dword [ecx + 0x14], 0
cmp dword [edi + 0xf0], 0
mov dword [edi + 0x1c4], 0
jne 0x5ad98c
cmp dword [edi + 0x124], 0
je 0x5a7153
mov esi, dword [edi + 0x12c]
xor edx, edx
mov eax, dword [ecx + 0x7c]
div esi
sub esi, edx
mov dword [ebp - 0x158], esi
mov eax, dword [ecx + 0x4c]
xorps xmm0, xmm0
mov dword [ebp - 0x1a4], 0xbe01
movsd qword [ebp - 0x1cc], xmm0
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
xor eax, eax
mov dword [ebp - 0xe0], ebx
nop dword [eax]
cmp byte [edi + 0x41], 0
jne 0x5ad9cf
mov cl, byte [ebx]
inc dword [ebp - 0x154]
movzx edx, cl
mov byte [ebp - 0xe1], cl
mov dword [ebp - 0xfc], edx
lea esi, [edx - 1]
cmp esi, 0x9d
ja case.0x5a71b0.62
jmp dword [esi*4 + 0x5adad8]
mov eax, dword [ebx + 4]
mov ecx, 4
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
mov word [eax + esi*8 + 8], cx
mov ecx, ebx
sub ecx, dword [ebp - 0x118]
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0xe8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ecx + esi*8], eax
mov dword [ecx + esi*8 + 4], edx
jmp 0x5a8437
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x118]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ecx*8]
lea eax, [eax + eax*4]
lea eax, [eax + 5]
lea ebx, [edx + eax*4]
mov eax, 0x80
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
dec eax
cdq
mov dword [esi + ecx*8], eax
mov eax, 4
mov dword [esi + ecx*8 + 4], edx
mov word [esi + ecx*8 + 8], ax
cmp dword [ebx + 8], 0
jne 0x5a8437
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ebx, 0x80
mov esi, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x118]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
mov word [esi + ecx*8 + 8], bx
mov ecx, dword [ebp - 0xd4]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ecx, 4
sub ebx, dword [ebp - 0x118]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
mov word [eax + esi*8 + 8], cx
mov ecx, dword [eax + esi*8]
mov eax, 0x66666667
imul ebx
mov ebx, dword [ebp - 0xe8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x118]
lea eax, [eax + 5]
mov dword [ebx + esi*8 + 4], edx
lea ebx, [ecx + eax*4]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je case.0x5a71b0.62
mov ecx, ebx
mov eax, 0x66666667
sub ecx, dword [ebp - 0x118]
imul ecx
mov ecx, dword [ebx + 4]
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
test ecx, ecx
jne 0x5ad518
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x5ad518
mov ecx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
push edx
dec dword [ecx + 0xb8]
mov dword [ecx + 0xb0], eax
mov eax, dword [ecx + 0x5c]
add dword [edi + 0x54], eax
mov dword [edi + 0x50], eax
call fcn.005ae2d0
mov ecx, eax
add esp, 4
cmp dword [ebx + 8], 4
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x13c], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xd4]
mov esi, dword [eax + 4]
mov dword [ebp - 0x118], esi
jne 0x5a73ba
lea eax, [ecx + ecx*4]
mov ecx, dword [esi + eax*4 + 8]
mov eax, dword [ebp - 0xd4]
dec ecx
mov eax, dword [eax + 8]
lea ecx, [ecx + 1]
mov dword [ebp - 0xe8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xd4]
lea ebx, [esi + eax*4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov ecx, eax
add esp, 8
mov eax, dword [ebx + 4]
add ebx, 0x14
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0xec]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0xd4]
jmp 0x5a7173
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov ecx, dword [ebx + 0x10]
mov edx, eax
add esp, 8
add ebx, 0x14
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0xd4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov ecx, eax
add esp, 8
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
add ebx, 0x14
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0xec]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0xd4]
jmp 0x5a7173
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov edi, dword [ebx + 0x10]
mov esi, eax
push edi
mov byte [ebx], 0x19
call fcn.005a25f0
add esp, 0xc
mov dword [ebx + 4], eax
cmp byte [ebp - 0x124], 1
je 0x5a750a
push 0
push 1
push 0xffffffffffffffff
push edi
push esi
call fcn.005af800
add esp, 0x14
mov dword [ebp - 0xd8], eax
cmp eax, 0x12
je 0x5aab9a
movzx ecx, byte [ebp - 0x124]
push ecx
push esi
call fcn.005a6660
add esp, 8
test eax, eax
jne 0x5ad92a
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xff
jne 0x5a74fa
push dword [ebx + 0x10]
push dword [ebp - 0xdc]
call fcn.00586d30
add esp, 8
mov byte [ebx + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 4], eax
mov edi, dword [ebp - 0xdc]
cmp eax, dword [edi + 0x58]
jg 0x5aaba0
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov edx, eax
add esp, 8
mov eax, 0xa02
mov word [edx + 8], ax
mov ecx, dword [ebx + 0x10]
mov al, byte [ebp - 0x124]
mov dword [edx + 0x10], ecx
mov ecx, dword [ebx + 4]
mov dword [edx + 0xc], ecx
mov byte [edx + 0xa], al
cmp byte [ebx + 3], 0
je case.0x5a71b0.62
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + ecx*8]
or eax, dword [esi + ecx*8 + 4]
mov ecx, dword [ebp - 0xd4]
je 0x5a7576
mov eax, 0xa10
mov word [edx + 8], ax
mov edx, dword [ebp - 0xd8]
jmp 0x5ad4fc
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov edi, dword [ebx + 0xc]
add esp, 8
cmp dword [ebx + 4], 0
mov esi, eax
mov edx, dword [ebx + 8]
mov eax, 0x101
mov ecx, 1
cmovne ecx, eax
sub edi, edx
movzx eax, cx
mov dword [ebp - 0xf8], eax
mov word [esi + 8], ax
test edi, edi
jle 0x5a75db
mov ebx, eax
nop
add esi, 0x28
push esi
call fcn.005af700
dec edi
mov word [esi + 8], bx
add esp, 4
test edi, edi
jg 0x5a75c0
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov edx, 0xff7f
mov esi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov ax, word [esi + ecx*8 + 8]
and ax, dx
or ax, 1
add ebx, 0x14
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
push 0
push 0
push dword [ebx + 4]
mov esi, eax
push dword [ebx + 0x10]
push esi
call fcn.005af800
mov al, byte [ebp - 0x124]
add esp, 0x1c
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov byte [esi + 0xa], al
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd4]
lea ecx, [ecx - 5]
mov eax, dword [eax + 0x3c]
lea esi, [eax + ecx*8]
push esi
call fcn.005afba0
add esp, 4
test eax, eax
jne 0x5aaba0
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
push 0x800
push esi
push eax
call fcn.005afa80
mov ecx, dword [ebp - 0xd4]
add esp, 0x14
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe8]
mov ebx, dword [ebx + 0xc]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
nop
push edi
push esi
call fcn.005af500
mov eax, 0x1000
add esp, 8
test word [esi + 8], ax
je 0x5a7706
push esi
call fcn.005af470
add esp, 4
test eax, eax
jne 0x5ad92a
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x5a76e0
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xe8]
mov ebx, dword [ebx + 0xc]
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
push 0x1000
push edi
push esi
call fcn.005afa80
mov eax, 0x1000
add esp, 0xc
test word [esi + 8], ax
je 0x5a777d
push esi
call fcn.005af470
add esp, 4
test eax, eax
jne 0x5ad92a
mov eax, ebx
dec ebx
test eax, eax
je 0x5a75d5
add esi, 0x28
add edi, 0x28
jmp 0x5a7752
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
push 0x1000
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
push eax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
push eax
call fcn.005afa80
mov ecx, dword [ebp - 0xd4]
add esp, 0xc
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
mov eax, dword [edi + 0x124]
test eax, eax
je 0x5a77f6
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [ebp - 0x158]
jb 0x5a77f6
push dword [edi + 0x128]
call eax
add esp, 4
test eax, eax
jne 0x5ab0b9
push 0
push dword [ebp - 0xd4]
call fcn.005a6840
mov edx, eax
add esp, 8
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5ad4f6
push 1
push dword [ebp - 0xd4]
call fcn.005a6c10
mov edx, eax
add esp, 8
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5ad4f6
mov edi, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edi + 0x48]
add eax, 2
or eax, 1
mov dword [edi + 0x48], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov dword [edi + 0x14], esi
xor edi, edi
cmp dword [ebx + 8], edi
jle 0x5a788f
mov eax, 0x1000
test word [esi + 8], ax
je 0x5a787d
push esi
call fcn.005af470
add esp, 4
test eax, eax
jne 0x5ad92a
push esi
call fcn.005af550
inc edi
add esp, 4
add esi, 0x28
cmp edi, dword [ebx + 8]
jl 0x5a7861
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
cmp byte [edi + 0x41], 0
jne 0x5ad9cf
sub ebx, dword [ebp - 0x118]
mov eax, 0x66666667
imul ebx
mov edi, 0x64
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [ecx + 0x4c], eax
jmp 0x5ada8d
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0xf0], ecx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
movzx edx, word [ecx + 8]
mov al, byte [edi + 8]
or al, dl
test al, 1
je 0x5a7921
push esi
call fcn.005af700
mov edi, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
test edx, 0x4000
je 0x5a793a
push ecx
call fcn.005af1a0
add esp, 4
test eax, eax
jne 0x5ad92a
mov eax, 0x4000
test word [edi + 8], ax
je 0x5a7956
push edi
call fcn.005af1a0
add esp, 4
test eax, eax
jne 0x5ad92a
mov eax, dword [ebp - 0xf0]
test byte [eax + 8], 0x12
jne 0x5a797b
push 0
push dword [ebp - 0x124]
push eax
call fcn.005afad0
add esp, 0xc
test eax, eax
jne 0x5ad92a
test byte [edi + 8], 0x12
jne 0x5a799a
push 0
push dword [ebp - 0x124]
push edi
call fcn.005afad0
add esp, 0xc
test eax, eax
jne 0x5ad92a
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ecx + 0xc]
add ecx, dword [edi + 0xc]
mov dword [ebp - 0xf8], ecx
cmp ecx, dword [eax + 0x58]
jg 0x5ad958
xor eax, eax
cmp esi, edi
sete al
push eax
lea eax, [ecx + 2]
push eax
push esi
call fcn.005af310
add esp, 0xc
test eax, eax
jne 0x5ad92a
mov ax, word [esi + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x5a7a01
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.006072a0
add esp, 0xc
mov eax, dword [ebp - 0xf0]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.006072a0
mov ecx, dword [ebp - 0xf8]
add esp, 0xc
mov eax, dword [esi + 0x10]
mov edi, dword [ebp - 0xdc]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
or word [esi + 8], ax
add ebx, 0x14
mov al, byte [ebp - 0x124]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0xd4]
mov byte [esi + 0xa], al
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
push eax
mov dword [ebp - 0x10c], eax
call fcn.00574bc0
movzx eax, ax
mov dword [ebp - 0xf8], eax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
push eax
mov dword [ebp - 0x11c], eax
call fcn.00574bc0
mov ecx, dword [ebp - 0x10c]
add esp, 8
movzx edx, ax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x100], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov esi, dword [ebp - 0x11c]
mov dword [ebp - 0xf0], eax
mov al, byte [esi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x5a7eac
mov al, dl
and al, byte [ebp - 0xf8]
test al, 4
je 0x5a7d3f
mov eax, ecx
mov byte [ebp - 0xe1], 1
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x11c]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
movzx eax, byte [ebx]
add eax, 0xffffffa7
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], ecx
cmp eax, 3
ja case.default.0x5a7b1e
jmp dword [eax*4 + 0x5add50]
push esi
lea eax, [ebp - 0x16c]
push edi
push eax
call fcn.0057ea20
add esp, 0xc
test eax, eax
jne 0x5a7d4e
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x16c]
jmp 0x5a7d06
test edi, edi
jne 0x5a7b7b
cmp esi, 0x80000000
jne 0x5a7b7b
test ecx, ecx
jg 0x5a7d4e
jl 0x5a7b6d
test edx, edx
jae 0x5a7d4e
add edx, 0
adc ecx, 0x80000000
jmp 0x5a7d06
neg edi
adc esi, 0
neg esi
jmp case.0x5a7b1e.89
push ebx
push 1
push 0
push ecx
push edx
call fcn.005eac40
mov dword [ebp - 0x128], ebx
pop ebx
push ebx
push 1
push 0
push esi
push edi
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x108], edx
call fcn.005eac40
mov dword [ebp - 0x114], ebx
pop ebx
mov ebx, dword [ebp - 0x148]
mov dword [ebp - 0xfc], ecx
mov ecx, eax
mov eax, ebx
or eax, dword [ebp - 0x108]
jne 0x5a7c16
mov eax, ecx
or eax, edx
jne 0x5a7bf9
mov eax, dword [ebp - 0xf4]
push esi
push edi
push dword [ebp - 0x12c]
push eax
call fcn.005ea7b0
mov ebx, dword [ebp - 0xe0]
jmp 0x5a7cfc
mov ebx, dword [ebp - 0x128]
mov esi, dword [ebp - 0x144]
push ebx
push esi
push edx
push ecx
call fcn.005ea7b0
mov edi, dword [ebp - 0xfc]
jmp 0x5a7c43
or ecx, edx
jne 0x5a7d48
push dword [ebp - 0x108]
mov edi, dword [ebp - 0xfc]
push ebx
push dword [ebp - 0x114]
push edi
call fcn.005ea7b0
mov esi, dword [ebp - 0x144]
mov ebx, dword [ebp - 0x128]
mov ecx, eax
add eax, 0x80000000
adc edx, 0
test edx, edx
ja 0x5a7d48
jb 0x5a7c60
cmp eax, 0xffffffff
ja 0x5a7d48
push ebx
push esi
push dword [ebp - 0x114]
mov dword [ebp - 0x198], 0
push edi
mov dword [ebp - 0x194], ecx
call fcn.005ea7b0
push edx
push eax
lea eax, [ebp - 0x198]
push eax
call fcn.0057ea20
mov ebx, dword [ebp - 0xe0]
add esp, 0xc
test eax, eax
jne 0x5a7d4e
mov edx, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
jmp 0x5a7d06
mov eax, edi
or eax, esi
je 0x5a7eac
mov eax, edi
and eax, esi
cmp eax, 0xffffffff
jne 0x5a7cce
test edx, edx
jne 0x5a7cce
cmp ecx, 0x80000000
je 0x5a7d4e
push esi
push edi
push ecx
push edx
call fcn.005eab90
jmp 0x5a7cfc
mov eax, edi
or eax, esi
je 0x5a7eac
mov eax, edi
and eax, esi
cmp eax, 0xffffffff
jne 0x5a7cf3
mov edi, 1
xor esi, esi
push esi
push edi
push ecx
push edx
call fcn.005ead20
mov ecx, edx
mov dword [ebp - 0xf4], eax
mov edx, eax
mov esi, dword [ebp - 0xf0]
mov edi, dword [ebp - 0xdc]
mov ax, word [esi + 8]
mov dword [esi + 4], ecx
mov ecx, 0xbe04
and ax, cx
mov dword [esi], edx
mov ecx, dword [ebp - 0xd4]
or ax, 4
mov word [esi + 8], ax
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov byte [ebp - 0xe1], 0
jmp 0x5a7d5a
mov ebx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x11c]
push ecx
call fcn.005b00e0
fstp qword [ebp - 0x130]
push esi
call fcn.005b00e0
movzx eax, byte [ebx]
add esp, 8
add eax, 0xffffffa7
fstp qword [ebp - 0x14c]
cmp eax, 3
ja case.default.0x5a7d80
jmp dword [eax*4 + 0x5add60]
movsd xmm1, qword [ebp - 0x14c]
addsd xmm1, qword [ebp - 0x130]
jmp 0x5a7e36
movsd xmm1, qword [ebp - 0x14c]
subsd xmm1, qword [ebp - 0x130]
jmp 0x5a7e36
movsd xmm1, qword [ebp - 0x14c]
mulsd xmm1, qword [ebp - 0x130]
jmp 0x5a7e36
movsd xmm0, qword [ebp - 0x130]
ucomisd xmm0, qword [ebp - 0x1cc]
lahf
test ah, 0x44
jnp 0x5a7eac
movsd xmm1, qword [ebp - 0x14c]
divsd xmm1, xmm0
jmp 0x5a7e36
movsd xmm0, qword [ebp - 0x130]
call fcn.005ea9ef
movsd xmm0, qword [ebp - 0x14c]
mov esi, eax
mov edi, edx
call fcn.005ea9ef
mov ecx, esi
or ecx, edi
je 0x5a7eac
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x5a7e23
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.005ead20
mov ecx, eax
call fcn.005eab40
movaps xmm1, xmm0
sub esp, 8
movsd qword [esp], xmm1
call fcn.00593390
add esp, 8
test eax, eax
jne 0x5a7eac
mov ecx, dword [ebp - 0xf0]
mov edx, 0xbe08
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x100]
or al, byte [ebp - 0xf8]
test al, 8
jne 0x5a75db
cmp byte [ebp - 0xe1], 0
jne 0x5a75db
push ecx
call fcn.005ae7b0
mov edi, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
push dword [ebp - 0xf0]
call fcn.005af700
mov edi, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
test eax, eax
je 0x5a75e1
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
push 0
push 0
lea eax, [ecx + eax*8]
push eax
call fcn.005af6c0
mov ecx, dword [ebp - 0xd4]
add esp, 0xc
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
mov al, byte [ebx + 3]
mov byte [ebp - 0xe1], al
movzx eax, al
cdq
add eax, 7
adc edx, 0
shld edx, eax, 2
push edx
shl eax, 2
push eax
push edi
call fcn.00586d90
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5ad9c9
mov dword [esi], 0
mov eax, 0x66666667
mov ecx, dword [ebx + 0x10]
mov dword [esi + 4], ecx
mov ecx, ebx
sub ecx, dword [ebp - 0x118]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0xe1]
mov byte [esi + 0x1a], al
mov word [ebx], 0xec24
mov dword [ebx + 0x10], esi
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov edx, dword [esi]
mov dword [ebp - 0x100], edi
cmp edx, edi
je 0x5a7fd2
movzx ecx, byte [esi + 0x1a]
mov edx, edi
sub ecx, 1
mov dword [esi], edi
js 0x5a7fd2
mov edi, dword [ebp - 0xe8]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x5a7fb4
mov edi, dword [ebp - 0x100]
mov edx, dword [esi]
mov ax, word [edx + 8]
mov ecx, 0xbe01
and ax, cx
mov ecx, dword [ebp - 0x13c]
or ax, 1
mov word [edx + 8], ax
mov eax, dword [ebp - 0xdc]
mov byte [esi + 0x19], 0
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x140]
mov dword [eax + 0x24], ecx
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov eax, dword [ecx + 0xc]
push esi
call eax
mov eax, dword [ebp - 0xdc]
add esp, 0xc
cmp byte [esi + 0x19], 0
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x140], eax
je 0x5a8073
cmp dword [esi + 0x14], 0
je 0x5a805f
push dword [esi]
call fcn.00558310
push eax
push 0x681cc8
push dword [ebp - 0xd4]
call fcn.005a6f80
mov eax, dword [esi + 0x14]
add esp, 0x10
mov dword [ebp - 0xd8], eax
push dword [ebx + 4]
push dword [esi + 0x10]
push dword [ebp - 0xd4]
call fcn.005a6e10
add esp, 0xc
test byte [edi + 8], 0x12
je 0x5a8e11
movzx eax, byte [ebp - 0x124]
push eax
push dword [esi]
call fcn.005a6660
push dword [esi]
call fcn.005afba0
mov edi, dword [ebp - 0xdc]
add esp, 0xc
test eax, eax
jne 0x5aaba0
jmp case.0x5a71b0.62
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x100], ecx
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [edx + 8]
or al, byte [ecx + 8]
mov dword [ebp - 0x12c], esi
test al, 1
je 0x5a80fd
push esi
call fcn.005af700
mov ecx, dword [ebp - 0xd4]
add esp, 4
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
push edx
call fcn.005ae700
push dword [ebp - 0x100]
mov edi, eax
mov esi, edx
mov dword [ebp - 0x1b4], edi
mov dword [ebp - 0x1b0], esi
call fcn.005ae700
mov ecx, eax
add esp, 8
mov al, byte [ebx]
mov dword [ebp - 0xf8], ecx
mov byte [ebp - 0xe1], al
cmp al, 0x55
jne 0x5a813e
and edi, ecx
and esi, edx
jmp 0x5a81b8
cmp al, 0x56
jne 0x5a8148
or edi, ecx
or esi, edx
jmp 0x5a81b8
mov eax, ecx
or eax, edx
je 0x5a81b8
test edx, edx
jg 0x5a817b
jl 0x5a8158
test ecx, ecx
jae 0x5a817b
mov al, 0xaf
sub al, byte [ebp - 0xe1]
cmp edx, 0xffffffff
jl 0x5a818c
jg 0x5a816c
cmp ecx, 0xffffffc0
jbe 0x5a818c
neg ecx
mov dword [ebp - 0xf8], ecx
adc edx, 0
neg edx
jmp 0x5a8181
mov al, byte [ebp - 0xe1]
test edx, edx
jl 0x5a81d8
jg 0x5a818c
cmp ecx, 0x40
jb 0x5a81d8
test esi, esi
jg 0x5a81a1
jl 0x5a8196
test edi, edi
jae 0x5a81a1
cmp al, 0x57
je 0x5a81a1
or edi, 0xffffffff
or esi, edi
jmp 0x5a81b8
xorps xmm0, xmm0
movlpd qword [ebp - 0x104], xmm0
mov esi, dword [ebp - 0x100]
mov edi, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x12c]
mov edx, 0xbe04
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx], edi
mov dword [ecx + 4], esi
or ax, 4
jmp 0x5ab3e0
movq xmm1, qword [ebp - 0x1b4]
movd xmm0, ecx
cmp al, 0x57
jne 0x5a81f6
psllq xmm1, xmm0
movq qword [ebp - 0x104], xmm1
jmp 0x5a81ac
psrlq xmm1, xmm0
movq qword [ebp - 0x104], xmm1
test esi, esi
jg 0x5a81ac
jl 0x5a820c
test edi, edi
jae 0x5a81ac
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, dword [ebp - 0xf8]
or edx, 0xffffffff
call fcn.005eade0
mov edi, dword [ebp - 0x104]
mov esi, dword [ebp - 0x100]
or edi, eax
or esi, edx
jmp 0x5a81b8
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.005af440
mov eax, dword [ebx + 8]
add esp, 4
mov ecx, dword [ebp - 0xd4]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0xec]
adc dword [esi + 4], edx
add ebx, 0x14
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x5a82c4
test al, 8
jne 0x5a8297
test al, 2
je 0x5a82a0
push 1
push esi
call fcn.00560e70
add esp, 8
jmp 0x5a82a0
push esi
call fcn.005ae7b0
add esp, 4
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x5a82c4
cmp dword [ebx + 8], 0
jne 0x5a8437
mov ebx, 0x14
mov dword [ebp - 0xd8], ebx
jmp 0x5ad83c
mov eax, dword [ebp - 0xec]
and ecx, 0xbe04
or ecx, 4
add ebx, 0x14
mov word [esi + 8], cx
mov ecx, dword [ebp - 0xd4]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea eax, [ecx + eax*8]
je 0x5ab3ea
push eax
call fcn.005af610
mov ecx, dword [ebp - 0xd4]
add esp, 4
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
mov eax, dword [ebx + 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 0x5a8347
push esi
call fcn.005af1a0
add esp, 4
mov dword [ebp - 0xd8], eax
jmp 0x5a8351
mov dword [ebp - 0xd8], 0
push dword [ebp - 0x124]
movzx eax, byte [ebx + 8]
push eax
push esi
call fcn.005af030
add esp, 0xc
jmp case.0x5a71b0.62
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xfc], edx
movzx edx, word [edx + 8]
lea eax, [eax + eax*4]
movzx edi, word [esi + eax*8 + 8]
lea esi, [esi + eax*8]
mov eax, edx
mov dword [ebp - 0xf4], eax
mov eax, edi
mov dword [ebp - 0x10c], eax
or al, dl
test al, 1
mov al, byte [ebx + 3]
je 0x5a8458
test al, al
jns 0x5a83e9
mov edx, edi
xor edi, edi
mov eax, edx
and eax, dword [ebp - 0xf4]
bt ax, di
jae 0x5a83d9
test edx, 0x100
jne 0x5a83d9
mov edi, dword [ebp - 0xfc]
xor edx, edx
jmp 0x5a8584
mov edi, dword [ebp - 0xfc]
mov edx, 1
jmp 0x5a8584
test al, 0x20
je 0x5a8429
mov eax, dword [ebx + 8]
mov edx, 0xbe01
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xdc]
lea ecx, [eax + eax*4]
mov ax, word [esi + ecx*8 + 8]
and ax, dx
or ax, 1
add ebx, 0x14
mov word [esi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
test al, 0x10
je 0x5ab3e4
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
mov ebx, dword [ebx + 8]
mov edx, dword [ebp - 0x118]
dec ebx
lea ebx, [ebx + ebx*4]
lea ebx, [edx + ebx*4]
mov edx, dword [ebp - 0xd8]
jmp 0x5ad4fc
and al, 0x47
cmp al, 0x43
jb 0x5a8497
and dl, 0xe
mov eax, edi
cmp dl, 2
jne 0x5a847d
mov edi, dword [ebp - 0xfc]
push 0
push edi
call fcn.00560e70
movzx eax, word [esi + 8]
add esp, 8
and al, 0xe
cmp al, 2
jne 0x5a8521
push 0
push esi
call fcn.00560e70
add esp, 8
jmp 0x5a8521
cmp al, 0x42
jne 0x5a8521
mov eax, edi
test dl, 2
jne 0x5a84e6
test dl, 0xc
je 0x5a84e6
mov edi, dword [ebp - 0xfc]
push 1
push dword [ebp - 0x124]
push edi
call fcn.005afad0
mov ax, word [edi + 8]
mov ecx, 0x1ff
xor ax, word [ebp - 0xf4]
add esp, 0xc
and ax, cx
xor ax, word [edi + 8]
movzx eax, ax
mov dword [ebp - 0xf4], eax
movzx eax, word [esi + 8]
test al, 2
jne 0x5a8521
test al, 0xc
je 0x5a8521
push 1
push dword [ebp - 0x124]
push esi
call fcn.005afad0
mov ax, word [esi + 8]
add esp, 0xc
mov ecx, dword [ebp - 0x10c]
xor ax, cx
mov ecx, 0x1ff
and ax, cx
xor ax, word [esi + 8]
movzx eax, ax
mov dword [ebp - 0x10c], eax
mov edi, dword [ebp - 0xfc]
mov eax, 0x4000
test word [edi + 8], ax
je 0x5a854a
push edi
call fcn.005af1a0
add esp, 4
mov eax, 0x4000
and dword [ebp - 0xf4], 0xbfff
test word [esi + 8], ax
je 0x5a8563
push esi
call fcn.005af1a0
add esp, 4
and dword [ebp - 0x10c], 0xbfff
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x41], 0
jne 0x5ad9c7
push dword [ebx + 0x10]
push edi
push esi
call fcn.00594e20
mov cl, byte [ebx]
add esp, 0xc
mov edx, eax
movzx ecx, cl
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x5a858f
jmp dword [ecx*4 + 0x5add70]
xor eax, eax
test edx, edx
sete al
jmp 0x5a85c5
xor eax, eax
test edx, edx
setne al
jmp 0x5a85c5
mov eax, edx
jmp 0x5a85c2
xor eax, eax
test edx, edx
setle al
jmp 0x5a85c5
xor eax, eax
test edx, edx
setg al
jmp 0x5a85c5
mov eax, edx
not eax
shr eax, 0x1f
mov ecx, dword [ebp - 0xf4]
mov word [edi + 8], cx
mov ecx, dword [ebp - 0x10c]
mov word [esi + 8], cx
test byte [ebx + 3], 0x20
je 0x5a8623
mov ecx, dword [ebx + 8]
mov edx, 0xbe04
mov edi, dword [ebp - 0xe8]
lea esi, [ecx + ecx*4]
mov cx, word [edi + esi*8 + 8]
and cx, dx
cdq
or cx, 4
mov dword [edi + esi*8], eax
mov eax, dword [ebp - 0xec]
add ebx, 0x14
mov word [edi + esi*8 + 8], cx
mov ecx, dword [ebp - 0xd4]
mov dword [edi + esi*8 + 4], edx
mov edi, dword [ebp - 0xdc]
jmp 0x5a7173
test eax, eax
jne 0x5a8431
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 0x10]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
jmp 0x5a7173
test byte [ebx + 3], 1
mov edi, 0
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0x10]
cmovne edi, eax
mov eax, dword [ebx + 0xc]
xor esi, esi
mov dword [ebp - 0x12c], ecx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x100], ecx
test eax, eax
jle 0x5a8721
test edi, edi
je 0x5a869f
mov ecx, dword [edi + esi*4]
jmp 0x5a86a1
mov ecx, esi
mov eax, dword [edx + 0x10]
push dword [edx + esi*4 + 0x14]
mov edx, dword [ebp - 0xe8]
mov al, byte [esi + eax]
mov byte [ebp - 0xe1], al
mov eax, dword [ebp - 0x100]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x12c]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
push eax
call fcn.00594e20
add esp, 0xc
mov dword [ebp - 0x15c], eax
test eax, eax
jne 0x5a8710
mov edx, dword [ebp - 0xf8]
inc esi
cmp esi, dword [ebp - 0x148]
jl 0x5a8696
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
jmp 0x5a7173
cmp byte [ebp - 0xe1], 0
je 0x5a8721
neg eax
mov dword [ebp - 0x15c], eax
mov edi, dword [ebp - 0xdc]
xor eax, eax
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov dword [ebp - 0xec], eax
jmp 0x5a7173
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x118]
test eax, eax
jns 0x5a8767
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
jne 0x5a8783
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 8], 1
lea eax, [esi + eax*8]
je 0x5a87ba
mov esi, 6
jmp 0x5a87d0
push eax
call fcn.005ae700
add esp, 4
or eax, edx
je 0x5a87ce
mov esi, 3
jmp 0x5a87d0
xor esi, esi
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea eax, [ecx + eax*8]
je 0x5a87f2
mov eax, 0x683cc6
mov ecx, 0x683cba
jmp 0x5a8815
push eax
call fcn.005ae700
add esp, 4
or eax, edx
je 0x5a880b
mov eax, 0x683cc5
mov ecx, 0x683cb9
jmp 0x5a8815
mov eax, 0x683cc4
mov ecx, 0x683cb8
cmp byte [ebx], 0x48
cmove eax, ecx
mov dl, byte [eax + esi]
mov eax, dword [ebx + 0xc]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
movzx ecx, word [eax + esi*8 + 8]
cmp dl, 2
jne 0x5a8856
and ecx, 0xbe01
or ecx, 1
add ebx, 0x14
mov word [eax + esi*8 + 8], cx
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov edi, dword [ebp - 0xe8]
and ecx, 0xbe04
movzx eax, dl
or ecx, 4
cdq
add ebx, 0x14
mov dword [edi + esi*8], eax
mov eax, edi
mov edi, dword [ebp - 0xdc]
mov word [eax + esi*8 + 8], cx
mov ecx, dword [ebp - 0xd4]
mov dword [eax + esi*8 + 4], edx
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.005af700
add esp, 4
test byte [edi + 8], 1
jne 0x5ab3e4
mov eax, 4
push edi
mov word [esi + 8], ax
call fcn.005ae700
add esp, 4
or eax, edx
jne 0x5a88f8
mov edi, dword [ebp - 0xdc]
xor ecx, ecx
mov eax, 1
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov dword [esi], eax
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov edi, dword [ebp - 0xdc]
xorps xmm0, xmm0
movlpd qword [ebp - 0x104], xmm0
add ebx, 0x14
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x104]
mov dword [esi], eax
mov eax, dword [ebp - 0xec]
mov dword [esi + 4], ecx
mov ecx, dword [ebp - 0xd4]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.005af700
add esp, 4
test byte [edi + 8], 1
jne 0x5ab3e4
mov eax, 4
push edi
mov word [esi + 8], ax
call fcn.005ae700
mov edi, dword [ebp - 0xdc]
not eax
mov ecx, dword [ebp - 0xd4]
not edx
add esp, 4
mov dword [esi], eax
mov eax, dword [ebp - 0xec]
add ebx, 0x14
mov dword [esi + 4], edx
jmp 0x5a7173
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ebx + 4]
cmp byte [eax + ecx], 0
jne 0x5a8437
mov byte [eax + ecx], 1
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea eax, [ecx + eax*8]
je 0x5a89da
mov eax, dword [ebx + 0xc]
jmp 0x5a8a10
push eax
call fcn.005b00e0
fstp qword [ebp - 0x104]
movsd xmm0, qword [ebp - 0x104]
add esp, 4
ucomisd xmm0, qword [ebp - 0x1cc]
lahf
test ah, 0x44
jnp 0x5a8a06
mov eax, 1
jmp 0x5a8a08
xor eax, eax
cmp byte [ebx], 0x2e
jne 0x5a8a10
xor eax, 1
test eax, eax
jne 0x5a8437
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x5a8437
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x5a8437
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebx + 8]
mov dword [ebp - 0xfc], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0x10c], edi
cmp byte [edi + 0x1a], 0
mov esi, dword [edi + 0x50]
mov ecx, dword [edi]
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0x108], ecx
je 0x5a8ad4
push edi
call fcn.00570880
jmp 0x5a8ae4
test ecx, ecx
je 0x5a8b03
cmp byte [ecx + 0x42], 1
je 0x5a8b03
push edi
call fcn.005708e0
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5ad830
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x108]
jmp 0x5a8b0d
mov dword [ebp - 0xd8], 0
mov esi, dword [ebp - 0xd4]
mov eax, dword [edi + 0x3c]
cmp eax, dword [esi + 0x48]
mov esi, dword [ebp - 0xf4]
je 0x5a8c88
cmp byte [edi + 0x19], 0
je 0x5a8b65
test ecx, ecx
jne 0x5a8b51
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 0xc]
mov dword [edi + 0x44], esi
mov dword [edi + 0x40], esi
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [edi + 0x4c], eax
jmp 0x5a8bf9
mov edi, dword [ebp - 0x11c]
push edi
call fcn.005af700
add esp, 4
jmp 0x5a8f63
mov esi, dword [ebp - 0x108]
mov ebx, dword [edi + 0x1c]
push esi
call fcn.005700e0
add esp, 4
test bl, 4
jne 0x5a8bb7
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x1c4], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x1c0], eax
movsx eax, byte [esi + 0x44]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + eax*4 + 0x78]
movzx esi, word [esi + 0x20]
mov eax, dword [eax + 0x3c]
sub eax, ecx
mov dword [edi + 0x4c], ecx
cmp esi, eax
cmovae esi, eax
mov eax, dword [ebp - 0x1c4]
mov dword [edi + 0x40], eax
mov edx, eax
jmp 0x5a8bd9
mov edx, dword [esi + 0x1c]
mov dword [edi + 0x40], edx
movsx eax, byte [esi + 0x44]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + eax*4 + 0x78]
movzx esi, word [esi + 0x20]
mov eax, dword [eax + 0x3c]
sub eax, ecx
mov dword [edi + 0x4c], ecx
cmp esi, eax
cmovae esi, eax
cmp edx, esi
cmova edx, esi
mov dword [edi + 0x44], edx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edi + 0x40]
cmp eax, dword [edx + 0x58]
ja 0x5ad95f
mov ebx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edi + 0x4c]
mov eax, dword [eax + 0x48]
mov dword [edi + 0x3c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x5a8c1b
movzx ecx, al
mov al, 1
mov dword [ebp - 0x160], ecx
jmp 0x5a8c31
lea eax, [ebp - 0x160]
push eax
push ecx
call fcn.00590fa0
mov ecx, dword [ebp - 0x160]
add esp, 8
movzx eax, al
mov dword [edi + 0x48], eax
xor eax, eax
mov word [edi + 0x16], ax
mov eax, dword [ebp - 0xf4]
mov dword [eax], ecx
cmp ecx, 0x18003
ja 0x5a8c68
cmp ecx, dword [edi + 0x40]
ja 0x5a8c68
cmp esi, ecx
mov esi, eax
jae 0x5a8c94
mov dword [edi + 0x4c], 0
mov dword [edi + 0x44], 0
jmp 0x5a8c94
push 0x12314
call fcn.00585b40
mov edx, eax
add esp, 4
mov dword [ebp - 0xd8], edx
mov edi, dword [ebp - 0xdc]
jmp 0x5ad4f6
movzx eax, word [edi + 0x16]
cmp eax, edx
jg 0x5a8e60
mov eax, dword [edi + 0x48]
mov ecx, dword [esi]
cmp eax, ecx
jae 0x5a8e28
mov edx, dword [edi + 0x4c]
mov dword [ebp - 0x114], edx
test edx, edx
jne 0x5a8d08
xorps xmm0, xmm0
lea eax, [ebp - 0x2fc]
push eax
movups xmmword [ebp - 0x2fc], xmm0
movups xmmword [ebp - 0x2ec], xmm0
movq qword [ebp - 0x2dc], xmm0
mov eax, dword [edi + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [esi]
push edx
push dword [ebp - 0x108]
call fcn.005af2a0
mov edx, eax
add esp, 0x14
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5a8c7d
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edi + 0x48]
mov ecx, dword [esi]
mov dword [ebp - 0x114], edx
movzx ebx, word [edi + 0x16]
mov edi, dword [esi + ebx*4]
lea esi, [eax + edx]
mov eax, dword [ebp - 0x10c]
add edx, ecx
mov dword [ebp - 0x128], edx
lea eax, [eax + ebx*4]
add eax, 0x54
mov dword [ebp - 0xf8], eax
nop dword [eax]
mov al, byte [esi]
cmp al, 0x80
jae 0x5a8d46
movzx eax, al
mov ecx, 1
mov dword [ebp - 0x164], eax
jmp 0x5a8d65
lea eax, [ebp - 0x164]
push eax
push esi
call fcn.00590fa0
mov edx, dword [ebp - 0x128]
add esp, 8
movzx ecx, al
mov eax, dword [ebp - 0x164]
add esi, ecx
mov ecx, dword [ebp - 0xf8]
push eax
mov dword [ecx], eax
call fcn.005b0b90
add edi, eax
add esp, 4
mov dword [ebp - 0x160], edi
cmp edi, eax
jb 0x5a8da5
mov eax, dword [ebp - 0xf4]
inc ebx
add ecx, 4
mov dword [ebp - 0xf8], ecx
mov dword [eax + ebx*4], edi
cmp ebx, dword [ebp - 0xfc]
jg 0x5a8da8
cmp esi, edx
jb 0x5a8d30
jmp 0x5a8da8
lea esi, [edx + 1]
mov ecx, dword [ebp - 0x10c]
mov eax, esi
sub eax, dword [ebp - 0x114]
cmp dword [ecx + 0x4c], 0
mov word [ecx + 0x16], bx
mov dword [ecx + 0x48], eax
jne 0x5a8de4
lea eax, [ebp - 0x2fc]
push eax
call fcn.005af690
mov ecx, dword [ebp - 0x10c]
mov eax, 1
add esp, 4
mov word [ebp - 0x2f4], ax
cmp esi, dword [ebp - 0x128]
jb 0x5a8df3
ja 0x5a8df8
cmp edi, dword [ecx + 0x40]
jne 0x5a8df8
cmp edi, dword [ecx + 0x40]
jbe 0x5a8e1c
push 0x12368
call fcn.00585b40
mov ebx, dword [ebp - 0xe0]
add esp, 4
mov dword [ebp - 0xd8], eax
mov edi, dword [ebp - 0xdc]
jmp case.0x5a71b0.62
mov edi, dword [ebp - 0x10c]
mov esi, dword [ebp - 0xf4]
movzx eax, word [edi + 0x16]
mov ebx, dword [ebp - 0xe0]
cmp eax, dword [ebp - 0xfc]
jg 0x5a8e60
cmp byte [ebx + 1], 0xf8
mov edi, dword [ebp - 0x11c]
jne 0x5a8b57
push 0x800
push dword [ebx + 0x10]
push edi
call fcn.005afa80
add esp, 0xc
jmp 0x5a8f63
mov eax, dword [ebp - 0x11c]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x5a8e7a
push eax
call fcn.005af700
add esp, 4
mov edx, dword [ebp - 0xfc]
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + edx*4 + 0x54]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x164], ecx
cmp eax, dword [esi + edx*4 + 4]
jb 0x5a8eba
push dword [ebp - 0x11c]
mov eax, dword [edi + 0x4c]
add eax, dword [esi + edx*4]
push ecx
push eax
call fcn.005b09d0
mov edi, dword [ebp - 0x11c]
add esp, 0xc
jmp 0x5a8f5a
mov al, byte [ebx + 3]
test al, 0xc0
je 0x5a8ecf
cmp ecx, 0xc
jb 0x5a8ecb
test cl, 1
je 0x5a8ede
test al, al
js 0x5a8ede
push ecx
call fcn.005b0b90
mov edx, eax
add esp, 4
test edx, edx
jne 0x5a8eff
mov edi, dword [ebp - 0x11c]
lea eax, [ebp - 0x1c4]
xor edx, edx
cmp ecx, 0xd
push edi
push ecx
cmova eax, edx
push eax
call fcn.005b09d0
add esp, 0xc
jmp 0x5a8f5a
mov eax, dword [edi + 0x1c]
push dword [ebp - 0x11c]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0xfc]
push edx
push dword [esi + eax*4]
push dword [ebp - 0x108]
call fcn.005af2a0
mov edx, eax
add esp, 0x14
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5a8c7d
mov edi, dword [ebp - 0x11c]
push edi
push dword [ebp - 0x100]
push dword [edi + 0x10]
call fcn.005b09d0
mov eax, 0xefff
add esp, 0xc
and word [edi + 8], ax
mov al, byte [ebp - 0x124]
mov byte [edi + 0xa], al
movzx eax, word [edi + 8]
mov esi, eax
test eax, 0x1000
je 0x5a8e11
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x100], eax
test eax, eax
je 0x5a8e11
mov edi, dword [edi + 0xc]
lea eax, [edi + 2]
push eax
push dword [ebp - 0x11c]
call fcn.005af100
add esp, 8
test eax, eax
jne 0x5ad92a
mov eax, dword [ebp - 0x11c]
push edi
push dword [ebp - 0x100]
push dword [eax + 0x10]
call fcn.006072a0
mov ecx, dword [ebp - 0x11c]
and esi, 0x12
add esp, 0xc
or esi, 0x200
mov eax, dword [ecx + 0x10]
mov byte [edi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [edi + eax + 1], 0
mov edi, dword [ebp - 0xdc]
mov word [ecx + 8], si
jmp case.0x5a71b0.62
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
mov byte [ebp - 0x178], al
test al, al
je 0x5ab3e4
mov ebx, dword [ebp - 0x124]
nop
push ebx
push dword [ebp - 0x178]
lea esi, [esi + 1]
push edi
call fcn.00560e00
mov al, byte [esi]
add esp, 0xc
add edi, 0x28
mov byte [ebp - 0x178], al
test al, al
jne 0x5a9010
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov edx, dword [ebp - 0xe8]
xor eax, eax
mov dword [ebp - 0x10c], eax
xorps xmm0, xmm0
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0x10]
movlpd qword [ebp - 0x104], xmm0
movlpd qword [ebp - 0x130], xmm0
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0xfc], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xd4]
mov al, byte [eax + 0x57]
mov byte [ebp - 0xe1], al
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x128], eax
test esi, esi
je 0x5a90eb
mov al, byte [esi]
mov edi, ecx
mov byte [ebp - 0x17c], al
push dword [ebp - 0x124]
push dword [ebp - 0x17c]
push edi
call fcn.00560e00
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 0xc
mov byte [ebp - 0x17c], al
add edi, 0x28
test al, al
jne 0x5a90c3
mov eax, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x104]
mov ebx, dword [ebp - 0xf8]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x108], eax
jmp 0x5a913c
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x11c]
movzx eax, word [ebx + 8]
test al, 1
je 0x5a914b
xor esi, esi
jmp 0x5a9259
test al, 4
je 0x5a9231
mov esi, dword [ebx + 4]
mov edx, dword [ebx]
test esi, esi
jg 0x5a916c
jl 0x5a9162
test edx, edx
jae 0x5a916c
mov ecx, edx
mov eax, esi
not ecx
not eax
jmp 0x5a9170
mov ecx, edx
mov eax, esi
test eax, eax
ja 0x5a9209
jb 0x5a917f
cmp ecx, 0x7f
ja 0x5a91b5
mov eax, edx
xor edi, edi
and eax, 1
cmp eax, edx
jne 0x5a91a5
cmp edi, esi
jne 0x5a91a5
cmp byte [ebp - 0xe1], 4
jb 0x5a91a5
mov edx, dword [ebp - 0xf4]
lea esi, [ecx + 8]
jmp 0x5a9253
mov edx, dword [ebp - 0xf4]
mov esi, 1
jmp 0x5a9253
test eax, eax
ja 0x5a9209
jb 0x5a91c3
cmp ecx, 0x7fff
ja 0x5a91d3
mov edx, dword [ebp - 0xf4]
mov esi, 2
jmp 0x5a9253
test eax, eax
ja 0x5a9209
jb 0x5a91e1
cmp ecx, 0x7fffff
ja 0x5a91ee
mov edx, dword [ebp - 0xf4]
mov esi, 3
jmp 0x5a9253
test eax, eax
ja 0x5a9209
jb 0x5a91fc
cmp ecx, 0x7fffffff
ja 0x5a9209
mov edx, dword [ebp - 0xf4]
mov esi, 4
jmp 0x5a9253
cmp eax, 0x7fff
ja 0x5a9224
jb 0x5a9217
cmp ecx, 0xffffffff
ja 0x5a9224
mov edx, dword [ebp - 0xf4]
mov esi, 5
jmp 0x5a9253
mov edx, dword [ebp - 0xf4]
mov esi, 6
jmp 0x5a9253
test al, 8
je 0x5a923c
mov esi, 7
jmp 0x5a9259
mov ecx, dword [ebx + 0xc]
test eax, 0x4000
je 0x5a9248
add ecx, dword [ebx]
shr eax, 1
lea ecx, [ecx + 6]
and eax, 1
lea esi, [eax + ecx*2]
mov ecx, dword [ebp - 0x11c]
push esi
mov dword [ebx + 0x1c], esi
call fcn.005b0b90
mov edi, eax
add esp, 4
movzx eax, word [ebx + 8]
test eax, 0x4000
je 0x5a929a
or ecx, edx
je 0x5a9289
push ebx
call fcn.005af1a0
add esp, 4
test eax, eax
jne 0x5ad92a
jmp 0x5a929a
mov eax, dword [ebx]
cdq
add dword [ebp - 0x108], eax
adc dword [ebp - 0xf0], edx
sub edi, dword [ebx]
mov eax, edi
cdq
add dword [ebp - 0x11c], eax
adc dword [ebp - 0xf4], edx
cmp esi, 0x7f
ja 0x5a92b5
mov eax, 1
jmp 0x5a92c0
push 0
push esi
call fcn.005a61b0
add esp, 8
mov edx, dword [ebp - 0x10c]
sub ebx, 0x28
add edx, eax
mov dword [ebp - 0x10c], edx
cmp ebx, dword [ebp - 0xfc]
jae 0x5a9130
cmp edx, 0x7e
jle 0x5a9311
mov eax, edx
cdq
push edx
push eax
call fcn.005a61b0
mov esi, eax
mov eax, dword [ebp - 0x10c]
add eax, esi
mov dword [ebp - 0x10c], eax
cdq
push edx
push eax
call fcn.005a61b0
mov edx, dword [ebp - 0x10c]
add esp, 0x10
cmp esi, eax
jge 0x5a9318
inc edx
mov dword [ebp - 0x10c], edx
mov eax, edx
cdq
mov ebx, eax
mov edi, edx
add eax, dword [ebp - 0x11c]
mov ecx, edi
mov esi, eax
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xdc]
adc ecx, dword [ebp - 0xf4]
add esi, dword [ebp - 0x108]
mov eax, dword [eax + 0x58]
adc ecx, dword [ebp - 0xf0]
cdq
cmp ecx, edx
jg 0x5aab9a
jl 0x5a935d
cmp esi, eax
ja 0x5aab9a
push dword [ebp - 0x114]
mov esi, dword [ebp - 0x128]
push esi
call fcn.005af100
add esp, 8
test eax, eax
jne 0x5ad92a
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x10c]
cmp eax, 0x80
jae 0x5a939f
mov edi, dword [ebp - 0xf4]
mov byte [edi], al
mov eax, 1
jmp 0x5a93b0
push edi
mov edi, dword [ebp - 0xf4]
push ebx
push edi
call fcn.0059c170
add esp, 0xc
mov edx, dword [ebp - 0xfc]
movzx esi, al
nop dword [eax]
mov ebx, dword [edx + 0x1c]
lea eax, [esi + edi]
cmp ebx, 0x80
jae 0x5a93d7
mov byte [eax], bl
mov eax, 1
jmp 0x5a93e9
push 0
push ebx
push eax
call fcn.0059c170
mov edx, dword [ebp - 0xfc]
add esp, 0xc
movzx eax, al
add esi, eax
lea eax, [ebx - 1]
mov dword [ebp - 0x100], esi
mov esi, dword [ebp - 0x10c]
add esi, edi
cmp eax, 6
ja 0x5a9429
mov ecx, dword [edx]
mov eax, dword [edx + 4]
movzx edx, byte [ebx + 0x6839b4]
mov edi, edx
dec edx
mov byte [edx + esi], cl
shrd ecx, eax, 8
shr eax, 8
test edx, edx
jne 0x5a9412
mov edx, dword [ebp - 0xfc]
jmp 0x5a9448
cmp ebx, 0xc
jb 0x5a9446
mov edi, dword [edx + 0xc]
push edi
push dword [edx + 0x10]
push esi
call fcn.006072a0
mov edx, dword [ebp - 0xfc]
add esp, 0xc
jmp 0x5a9448
xor edi, edi
add dword [ebp - 0x10c], edi
add edx, 0x28
mov esi, dword [ebp - 0x100]
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0xfc], edx
cmp edx, dword [ebp - 0xf8]
jbe 0x5a93c0
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x108]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0xf0]
je 0x5a94a2
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
mov byte [edx + 0xa], 1
jmp 0x5a7173
mov edx, dword [ebp - 0xd4]
xorps xmm0, xmm0
mov ecx, dword [ebx + 4]
movlpd qword [ebp - 0x120], xmm0
mov eax, dword [edx + 0x38]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x120]
push ecx
push dword [eax]
call fcn.00581f70
push ebx
push dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
call fcn.00575460
mov ecx, dword [ebp - 0x120]
add esp, 0x10
mov dword [eax], ecx
mov ecx, dword [ebp - 0x11c]
mov dword [eax + 4], ecx
jmp case.0x5a71b0.62
mov edi, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0xf0], eax
test edi, edi
jne 0x5a960e
mov edi, dword [ebp - 0xdc]
cmp dword [edi + 0x9c], 0
jg 0x5ad5cd
push eax
call fcn.005a25f0
mov esi, dword [ebp - 0xdc]
mov edi, eax
mov ecx, dword [esi + 0x1f4]
add ecx, dword [esi + 0x1f0]
push ecx
push 0
push esi
call fcn.005b1cb0
add esp, 0x10
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5ad82c
lea eax, [edi + 0x21]
push 0
push eax
push esi
call fcn.00586d90
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5a75db
lea ecx, [edi + 1]
push ecx
push dword [ebp - 0xf0]
lea edx, [esi + 0x20]
push edx
mov dword [esi], edx
call fcn.006072a0
mov edi, dword [ebp - 0xdc]
add esp, 0xc
cmp byte [edi + 0x3f], 0
je 0x5a95c1
mov byte [edi + 0x3f], 0
mov byte [edi + 0x46], 1
jmp 0x5a95c7
inc dword [edi + 0x1f0]
mov eax, dword [edi + 0x1e8]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x1f8]
mov dword [edi + 0x1e8], esi
mov dword [esi + 8], eax
mov eax, dword [edi + 0x1fc]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x200]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x204]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov edx, dword [ebp - 0xdc]
xor edi, edi
mov esi, dword [edx + 0x1e8]
mov dword [ebp - 0xf4], edi
push eax
test esi, esi
je 0x5ad664
push dword [esi]
call fcn.0055bd60
add esp, 8
test eax, eax
je 0x5a9645
mov esi, dword [esi + 0x18]
inc edi
mov eax, dword [ebp - 0xf0]
jmp 0x5a961c
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xfc]
cmp dword [eax + 0x9c], 0
jle 0x5a9663
cmp edx, 1
je 0x5ad5fd
cmp dword [esi + 0x18], 0
jne 0x5a96d0
cmp byte [eax + 0x46], 0
je 0x5a96d0
mov dword [ebp - 0x108], 1
cmp edx, 1
jne 0x5a96da
push edx
push dword [ebp - 0xd4]
call fcn.005a6840
mov edi, eax
add esp, 8
test edi, edi
jne 0x5ada8d
mov edi, dword [ebp - 0xdc]
push dword [ebp - 0xd4]
mov byte [edi + 0x3f], 1
call fcn.005ae3f0
add esp, 4
cmp eax, 5
je 0x5ad633
mov eax, dword [ebp - 0xd4]
mov byte [edi + 0x46], 0
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xd8], eax
jmp 0x5a97e3
mov dword [ebp - 0x108], 0
mov ecx, dword [eax + 0x1f0]
mov ebx, eax
sub ecx, edi
dec ecx
mov dword [ebp - 0xf4], ecx
mov eax, dword [ebx + 0x14]
cmp edx, 2
jne 0x5a9768
mov edi, dword [ebx + 0x18]
xor ebx, ebx
shr edi, 1
and edi, 1
mov dword [ebp - 0xf0], edi
test eax, eax
jle 0x5a9770
mov ecx, edi
xor ecx, 1
xor edi, edi
mov dword [ebp - 0x100], ecx
mov eax, dword [ebp - 0xdc]
push ecx
push 0x204
mov eax, dword [eax + 0x10]
push dword [eax + edi + 4]
call fcn.00584100
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5ad830
mov eax, dword [ebp - 0xdc]
inc ebx
mov ecx, dword [ebp - 0x100]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x5a9714
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xfc]
mov edi, dword [ebp - 0xf0]
jmp 0x5a9770
xor edi, edi
mov dword [ebp - 0xf0], edi
xor ebx, ebx
test eax, eax
jle 0x5a97c0
mov eax, dword [ebp - 0xdc]
xor edi, edi
nop
mov eax, dword [eax + 0x10]
push ecx
push edx
push dword [eax + edi + 4]
call fcn.00583cc0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5ad830
mov eax, dword [ebp - 0xdc]
inc ebx
mov ecx, dword [ebp - 0xf4]
add edi, 0x10
mov edx, dword [ebp - 0xfc]
cmp ebx, dword [eax + 0x14]
jl 0x5a9780
mov edi, dword [ebp - 0xf0]
test edi, edi
mov edi, dword [ebp - 0xdc]
je 0x5a97dd
push edi
call fcn.00588cf0
push edi
call fcn.0059c9d0
add esp, 8
or dword [edi + 0x18], 2
mov ebx, dword [ebp - 0xe0]
cmp dword [edi + 0x1e8], esi
je 0x5a9817
nop dword [eax + eax]
mov ecx, dword [edi + 0x1e8]
push ecx
push edi
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x1e8], eax
call fcn.00586d30
dec dword [edi + 0x1f0]
add esp, 8
cmp dword [edi + 0x1e8], esi
jne 0x5a97f0
mov edi, dword [ebp - 0xfc]
cmp edi, 1
jne 0x5a9852
mov edx, dword [ebp - 0xdc]
mov eax, dword [esi + 0x18]
push esi
mov esi, edx
push esi
mov dword [edx + 0x1e8], eax
call fcn.00586d30
add esp, 8
cmp dword [ebp - 0x108], 0
jne 0x5ad4ea
dec dword [esi + 0x1f0]
jmp 0x5a988e
cmp dword [ebp - 0x108], 0
mov ecx, dword [ebp - 0xdc]
mov eax, dword [esi + 8]
mov dword [ecx + 0x1f8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x1fc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x200], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x204], eax
je 0x5a988e
cmp edi, 2
jne 0x5ad4ee
push dword [ebp - 0xf4]
push edi
mov edi, dword [ebp - 0xdc]
push edi
call fcn.005b1cb0
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5ad836
jmp 0x5ad4f6
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [ebp - 0xf8], ecx
test ecx, ecx
je 0x5a98ff
mov al, byte [edi + 0x3f]
test al, al
jne 0x5a98ff
test edx, edx
jne 0x5a9902
cmp dword [edi + 0x9c], edx
jle 0x5a9902
mov eax, str.cannot_commit_transaction___SQL_statements_in_progress
mov dword [ebp - 0xd8], 5
push eax
push dword [ebp - 0xd4]
call fcn.005a6f80
add esp, 8
jmp case.0x5a71b0.62
mov al, byte [edi + 0x3f]
movzx eax, al
cmp ecx, eax
jne 0x5ad69a
test ecx, ecx
jne 0x5a9918
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x5a9927
test edx, edx
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
push dword [ebp - 0xd4]
mov dword [ebp - 0xd8], 1
call fcn.005a6f80
add esp, 8
jmp case.0x5a71b0.62
mov edx, dword [ebx + 8]
test edx, edx
je 0x5a9959
test dword [edi + 0x18], 0x2000000
jne 0x5ad73f
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x5a9abf
push edx
push esi
call fcn.00581760
add esp, 8
mov dword [ebp - 0xd8], eax
cmp eax, 5
je 0x5ad74f
test eax, eax
jne 0x5ad836
cmp dword [ebx + 8], eax
je 0x5a9a96
mov edx, dword [ebp - 0xd4]
test byte [edx + 0x58], 0x20
je 0x5a9a96
cmp byte [edi + 0x3f], al
je 0x5a99b9
cmp dword [edi + 0x98], 1
jle 0x5a9a96
mov eax, dword [edx + 0x68]
test eax, eax
jne 0x5a99d5
mov eax, dword [edi + 0x1f0]
inc dword [edi + 0x1f4]
add eax, dword [edi + 0x1f4]
mov dword [edx + 0x68], eax
dec eax
push eax
push 0
push edi
call fcn.005b1cb0
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5a9a60
cmp byte [esi + 9], 0
mov eax, dword [ebp - 0xd4]
mov edi, dword [eax + 0x68]
mov eax, dword [esi + 4]
mov dword [ebp - 0x100], eax
je 0x5a9a1c
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x5a9a1c
push esi
call fcn.00563e10
mov eax, dword [ebp - 0x100]
add esp, 4
mov eax, dword [eax]
cmp edi, dword [eax + 0x60]
jle 0x5a9a3b
cmp byte [eax + 6], 0
je 0x5a9a3b
push edi
push eax
call fcn.00575cd0
add esp, 8
mov dword [ebp - 0xd8], eax
jmp 0x5a9a45
mov dword [ebp - 0xd8], 0
cmp byte [esi + 9], 0
je 0x5a9a5a
add dword [esi + 0xc], 0xffffffff
jne 0x5a9a5a
push esi
call fcn.005b7900
add esp, 4
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
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 - 0x180]
push eax
push 1
push esi
call fcn.00582600
mov ecx, dword [ebx + 4]
add esp, 0xc
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [ebp - 0x180]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x5a9ac9
xor esi, esi
xor eax, eax
mov dword [ebp - 0x180], esi
cmp byte [ebx + 3], 0
je case.0x5a71b0.62
cmp esi, dword [ebx + 0xc]
jne 0x5a9ae1
cmp eax, dword [ebx + 0x10]
je case.0x5a71b0.62
mov eax, dword [ebp - 0xd4]
push dword [eax + 0x2c]
push edi
call fcn.00586d30
push 0
push 0x1c
push edi
call fcn.00586d90
mov edi, eax
add esp, 0x14
test edi, edi
je 0x5a9b13
push 0x1c
push str.database_schema_has_changed
push edi
call fcn.006072a0
add esp, 0xc
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x2c], edi
mov edi, dword [ebp - 0xdc]
mov edx, dword [ebx + 4]
mov ecx, edx
add ecx, ecx
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
je 0x5a9b3e
push edx
push edi
call fcn.0059ca60
add esp, 8
mov edx, dword [ebp - 0xd4]
or dword [edx + 0x58], 8
mov edx, 0x11
mov dword [ebp - 0xd8], edx
jmp 0x5ad4f6
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x1a8]
push eax
mov eax, dword [edi + 0x10]
add ecx, ecx
push dword [ebx + 0xc]
push dword [eax + ecx*8 + 4]
call fcn.00582600
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov ecx, eax
add esp, 0x14
mov eax, dword [ebp - 0x1a8]
add ebx, 0x14
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0xec]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0xd4]
jmp 0x5a7173
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
shl esi, 4
add esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
push edi
call fcn.005af440
push dword [edi]
push dword [ebx + 8]
push dword [esi + 4]
call fcn.005842e0
mov dword [ebp - 0xd8], eax
add esp, 0x10
mov eax, dword [ebx + 8]
cmp eax, 1
jne 0x5a9bf3
mov eax, dword [edi]
mov ecx, dword [esi + 0xc]
mov edi, dword [ebp - 0xdc]
mov dword [ecx], eax
or dword [edi + 0x18], 2
jmp 0x5a9c06
cmp eax, 2
jne 0x5a9c00
mov ecx, dword [esi + 0xc]
mov al, byte [edi]
mov byte [ecx + 0x4c], al
mov edi, dword [ebp - 0xdc]
cmp dword [ebx + 4], 1
jne case.0x5a71b0.62
push edi
call fcn.00588cf0
mov edx, dword [ebp - 0xd4]
add esp, 4
and dword [edx + 0x58], 0xfffffff7
jmp case.0x5a71b0.62
mov esi, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x5a9c47
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 8]
je 0x5a9d8a
mov cl, byte [ebp - 0xe1]
mov edx, dword [ebp - 0xd4]
test byte [edx + 0x58], 8
jne 0x5ad79c
mov edx, dword [ebx + 8]
xor edi, edi
mov esi, dword [ebx + 0xc]
mov eax, esi
mov dword [ebp - 0xf0], edx
mov edx, dword [ebp - 0xdc]
shl eax, 4
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0x100], esi
add eax, dword [edx + 0x10]
mov edx, dword [eax + 4]
mov dword [ebp - 0x12c], edx
mov edx, dword [ebp - 0xf0]
cmp cl, 0x37
jne 0x5a9cb9
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x114], 1
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x57]
jae 0x5a9cbf
mov byte [ecx + 0x57], al
jmp 0x5a9cbf
mov dword [ebp - 0x114], edi
test byte [ebx + 3], 4
je 0x5a9cf1
mov ecx, dword [ebp - 0xe8]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
push esi
call fcn.005af440
mov eax, dword [esi]
add esp, 4
mov dword [ebp - 0xf0], eax
cmp eax, 2
jl 0x5ad77c
mov esi, dword [ebp - 0x100]
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x5a9d0d
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf8], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x5a9d14
cmp al, 0xf2
jne 0x5a9d14
mov edi, dword [ebx + 0x10]
push 1
push esi
push edi
push dword [ebx + 4]
push dword [ebp - 0xd4]
call fcn.0055fbf0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x5ad92a
push dword [esi]
mov edi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf0]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0x114]
mov byte [esi + 0x19], 1
push eax
push dword [ebp - 0x12c]
mov dword [esi + 0x20], eax
call fcn.00582170
xor ecx, ecx
mov dword [ebp - 0xd8], eax
add esp, 0x14
mov dword [esi + 8], edi
cmp byte [ebx + 1], 0xfa
mov eax, 4
mov edi, dword [ebp - 0xdc]
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 0x1c], ecx
mov cl, byte [ebx + 3]
mov eax, dword [esi]
and cl, 3
mov byte [eax + 0x43], cl
jmp case.0x5a71b0.62
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebp - 0xd4]
call fcn.0055fbf0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x5ad9c9
or dword [esi + 0x1c], 1
lea edi, [esi + 4]
mov byte [esi + 0x19], 1
movzx eax, byte [ebx + 3]
push 0x41e
or eax, 5
push eax
mov eax, dword [ebp - 0xdc]
push edi
push eax
push 0
push dword [eax]
call fcn.00583420
add esp, 0x18
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5a9e82
push 1
push dword [edi]
call fcn.00581760
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5a9e82
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x100], eax
test eax, eax
je 0x5a9e66
movzx eax, byte [ebx + 3]
or eax, 2
push eax
lea eax, [ebp - 0x1ac]
push eax
push dword [edi]
call fcn.00582120
add esp, 0xc
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5a9e60
push dword [esi]
mov eax, dword [ebp - 0x100]
push eax
push 1
push dword [ebp - 0x1ac]
mov dword [esi + 8], eax
push dword [edi]
call fcn.00582170
add esp, 0x14
mov dword [ebp - 0xd8], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x5a9e82
push dword [esi]
push 0
push 1
push 1
push dword [edi]
call fcn.00582170
add esp, 0x14
mov dword [ebp - 0xd8], eax
or dword [esi + 0x1c], 4
mov edi, dword [ebp - 0xdc]
xor ecx, ecx
cmp byte [ebx + 3], 8
mov eax, 8
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffff7
or ecx, eax
mov dword [esi + 0x1c], ecx
jmp case.0x5a71b0.62
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebp - 0xd4]
call fcn.0055fbf0
add esp, 0x14
test eax, eax
je 0x5ad9c9
mov ecx, dword [ebx + 0x10]
push eax
mov dword [eax + 8], ecx
push dword [ebx + 0xc]
push edi
call fcn.005b0d70
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xd8], edx
jmp 0x5ad4f6
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x2c], eax
je 0x5a8431
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
push dword [ebx + 4]
push dword [ebp - 0xd4]
call fcn.0055fbf0
add esp, 0x14
test eax, eax
je 0x5ad9c9
mov byte [eax + 0x19], 1
mov ecx, dword [ebx + 8]
or dword [eax + 0x1c], 4
add ebx, 0x14
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
push dword [eax + ecx*4]
push edx
call fcn.005ae340
mov eax, dword [ebp - 0xd4]
add esp, 8
mov ecx, dword [ebx + 4]
add ebx, 0x14
mov eax, dword [eax + 0x38]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov edi, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
test byte [edi + 0x1c], 4
mov byte [edi + 0x19], 0
je 0x5aa0a1
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov al, byte [ecx + 8]
and al, 0xe
mov dword [ebp - 0xf0], ecx
cmp al, 2
jne 0x5a9ffa
push 0
push ecx
call fcn.00560e70
mov ecx, dword [ebp - 0xf0]
add esp, 8
push ecx
call fcn.005ae700
mov ecx, dword [ebp - 0xf0]
add esp, 4
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x108], edx
movzx ecx, word [ecx + 8]
test cl, 4
jne 0x5aa064
test cl, 8
je 0x5a8431
mov ecx, eax
call fcn.005eab40
mov eax, dword [ebp - 0xf0]
movsd xmm1, qword [eax]
comisd xmm0, xmm1
jbe 0x5aa04d
mov eax, dword [ebp - 0xfc]
test al, 1
cmovne esi, eax
mov eax, esi
jmp 0x5aa05e
comisd xmm1, xmm0
jbe 0x5aa064
mov eax, dword [ebp - 0xfc]
test al, 1
je 0x5aa064
inc eax
mov dword [ebp - 0xfc], eax
mov esi, dword [ebp - 0xf8]
lea eax, [ebp - 0x138]
push eax
push 0
push dword [ebp - 0x108]
push esi
push 0
push dword [edi]
call fcn.00582e90
mov dword [ebp - 0xd8], eax
add esp, 0x18
mov eax, dword [ebp - 0x108]
cmp dword [ebp - 0xd8], 0
mov dword [edi + 0x30], esi
mov dword [edi + 0x34], eax
jmp 0x5aa113
mov eax, dword [edi + 8]
mov dword [ebp - 0x284], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x280], ax
lea eax, [edx - 1]
test al, 1
sete al
lea eax, [eax*2 - 1]
mov byte [ebp - 0x27e], al
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, 0x4000
mov dword [ebp - 0x27c], eax
test word [eax + 8], cx
je 0x5aa0ed
push eax
call fcn.005af1a0
add esp, 4
lea eax, [ebp - 0x138]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x284]
push eax
push dword [edi]
call fcn.00582e90
add esp, 0x18
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5ad830
mov eax, dword [ebp - 0xfc]
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
mov ecx, dword [ebp - 0x138]
cmp eax, 0x41
jl 0x5aa16f
test ecx, ecx
js 0x5aa155
jne 0x5aa140
cmp eax, 0x42
je 0x5aa155
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0x138], 0
jmp case.0x5a71b0.62
lea eax, [ebp - 0x138]
mov dword [ebp - 0x138], 0
push eax
push dword [edi]
call fcn.005833a0
jmp 0x5aa1ab
test ecx, ecx
jg 0x5aa193
jne 0x5aa17a
cmp eax, 0x3f
je 0x5aa193
mov eax, dword [edi]
xor ecx, ecx
mov edx, dword [ebp - 0xd8]
cmp byte [eax + 0x42], 1
setne cl
mov dword [ebp - 0x138], ecx
jmp 0x5aa1be
lea eax, [ebp - 0x138]
mov dword [ebp - 0x138], 0
push eax
push dword [edi]
call fcn.00583af0
mov edx, eax
add esp, 8
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5ad830
cmp dword [ebp - 0x138], 0
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
jne 0x5a843d
jmp 0x5ad4fc
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
mov byte [esi + 0x19], 0
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.005ae700
mov ecx, dword [ebp - 0xd4]
add esp, 4
mov dword [esi + 0x30], eax
add ebx, 0x14
mov eax, dword [ebp - 0xec]
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
jmp 0x5a7173
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xf8], 0
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x100], edi
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x10]
movzx ecx, ax
test eax, eax
jle 0x5aa2c8
mov eax, dword [edi + 8]
xor edi, edi
mov dword [ebp - 0x220], eax
xor eax, eax
mov word [ebp - 0x21c], cx
mov dword [ebp - 0x218], ebx
cmp ax, cx
jae 0x5aa2c0
xor esi, esi
mov edx, 0x4000
nop dword [eax]
test word [esi + ebx + 8], dx
lea eax, [esi + ebx]
je 0x5aa2b5
push eax
call fcn.005af1a0
mov ebx, dword [ebp - 0x218]
add esp, 4
mov cx, word [ebp - 0x21c]
mov edx, 0x4000
inc edi
movzx eax, cx
add esi, 0x28
cmp edi, eax
jl 0x5aa290
lea esi, [ebp - 0x220]
jmp 0x5aa316
lea eax, [ebp - 0xf8]
push eax
push 0xbf
lea eax, [ebp - 0xc4]
push eax
push dword [edi + 8]
call fcn.005a65f0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x5ad92a
mov eax, 0x4000
test word [ebx + 8], ax
je 0x5aa304
push ebx
call fcn.005af1a0
add esp, 4
push esi
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [edi + 8]
call fcn.005b07d0
add esp, 0x10
mov ebx, dword [ebp - 0xe0]
xor edi, edi
mov byte [esi + 6], 0
cmp byte [ebx], 0x44
jne 0x5aa34b
movzx edx, word [esi + 4]
xor ecx, ecx
test edx, edx
je 0x5aa34b
mov eax, dword [esi + 8]
add eax, 8
test byte [eax], 1
jne 0x5aa346
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x5aa337
jmp 0x5aa34b
mov edi, 1
lea eax, [ebp - 0x1b8]
push eax
push 0
push 0
push 0
push esi
mov esi, dword [ebp - 0x100]
push dword [esi]
call fcn.00582e90
push dword [ebp - 0xf8]
mov dword [ebp - 0xd8], eax
push dword [ebp - 0xdc]
call fcn.00586d30
mov edx, dword [ebp - 0xd8]
add esp, 0x20
test edx, edx
jne 0x5a8c7d
mov eax, dword [ebp - 0x1b8]
xor ecx, ecx
test eax, eax
mov dword [esi + 0xc], eax
mov byte [esi + 0x1a], dl
sete cl
mov dword [esi + 0x3c], edx
test eax, eax
setne al
mov byte [esi + 0x19], al
cmp byte [ebx], 0x46
jne 0x5aa3d3
test ecx, ecx
jne 0x5a8431
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
test edi, edi
jne 0x5a8431
mov edi, dword [ebp - 0xdc]
test ecx, ecx
mov ecx, dword [ebp - 0xd4]
je 0x5a843d
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x114], 0
mov eax, dword [edx + 0x38]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8]
mov edi, dword [ecx + eax*8 + 4]
lea eax, [ebp - 0x114]
push eax
push 0
push edi
push esi
push 0
push dword [ebx]
call fcn.00582e90
mov dword [ebp - 0xd8], eax
add esp, 0x18
mov eax, dword [ebp - 0x114]
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], edi
mov word [ebx + 0x19], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0xc], eax
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
test eax, eax
jne 0x5a843d
mov edx, dword [ebp - 0xd8]
jmp 0x5ad4fc
mov esi, dword [ebp - 0xd4]
push ebx
push esi
call fcn.00575460
mov edx, dword [ebx + 4]
add esp, 8
mov ecx, dword [esi + 0x38]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x28]
mov dword [eax], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 4], ecx
mov eax, esi
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, esi
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
push ebx
push dword [ebp - 0xd4]
xorps xmm0, xmm0
mov dword [ebp - 0x108], 0
movlpd qword [ebp - 0x110], xmm0
call fcn.00575460
mov edx, dword [ebx + 4]
add esp, 8
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xf4], eax
test byte [eax + 0x1c], 2
jne 0x5aa5c1
lea ecx, [ebp - 0x108]
push ecx
push dword [eax]
call fcn.00582dc0
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5ad836
cmp dword [ebp - 0x108], eax
je 0x5aa55f
mov eax, dword [ebp - 0xf4]
mov edi, 1
xor esi, esi
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x10c], esi
jmp 0x5aa5cd
mov esi, dword [ebp - 0xf4]
mov esi, dword [esi]
push esi
call fcn.005700e0
mov edi, dword [esi + 0x10]
add esp, 4
mov esi, dword [esi + 0x14]
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0xd8], 0
cmp esi, 0x7fffffff
jl 0x5aa5a7
jg 0x5aa59b
cmp edi, 0xffffffff
jb 0x5aa5a7
mov eax, dword [ebp - 0xf4]
or dword [eax + 0x1c], 2
jmp 0x5aa5cd
mov eax, dword [ebp - 0xf4]
add edi, 1
mov dword [ebp - 0x110], edi
adc esi, 0
mov dword [ebp - 0x10c], esi
jmp 0x5aa5cd
mov esi, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x110]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x5aa681
mov eax, dword [ebp - 0xd4]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x5aa604
mov eax, dword [edx + 4]
test eax, eax
je 0x5aa5f9
nop
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x5aa5f0
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
jmp 0x5aa610
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe8]
lea eax, [ecx + eax*8]
push eax
mov dword [ebp - 0xf8], eax
call fcn.005af440
mov ecx, dword [ebp - 0xf8]
add esp, 4
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [ebp - 0xf0], eax
cmp edx, 0xffffffff
jne 0x5aa640
cmp eax, 0x7fffffff
je 0x5aa6f7
mov eax, dword [ebp - 0xf4]
test byte [eax + 0x1c], 2
jne 0x5aa6f7
add edx, 1
adc dword [ebp - 0xf0], 0
cmp esi, dword [ebp - 0xf0]
jg 0x5aa67c
jl 0x5aa668
cmp edi, edx
jae 0x5aa67c
mov esi, dword [ebp - 0xf0]
mov edi, edx
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x10c], esi
mov dword [ecx], edi
mov dword [ecx + 4], esi
test byte [eax + 0x1c], 2
je 0x5aa719
xor ebx, ebx
nop dword [eax]
lea eax, [ebp - 0x110]
push eax
push 8
call fcn.00556470
mov esi, dword [ebp - 0x10c]
lea eax, [ebp - 0x108]
mov edi, dword [ebp - 0x110]
and esi, 0x3fffffff
push eax
mov eax, dword [ebp - 0xf4]
add edi, 1
push 0
adc esi, 0
mov dword [ebp - 0x110], edi
push esi
push edi
push 0
push dword [eax]
mov dword [ebp - 0x10c], esi
call fcn.00582e90
add esp, 0x20
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5aa70d
cmp dword [ebp - 0x108], eax
jne 0x5aa70d
inc ebx
cmp ebx, 0x64
jl 0x5aa690
mov edi, dword [ebp - 0xdc]
mov ebx, 0xd
mov dword [ebp - 0xd8], ebx
jmp 0x5ad83c
mov eax, dword [ebp - 0xf4]
mov ebx, dword [ebp - 0xe0]
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov eax, dword [ebp - 0x100]
mov dword [eax], edi
mov edi, dword [ebp - 0xdc]
mov dword [eax + 4], esi
jmp case.0x5a71b0.62
cmp byte [ebp - 0xe1], 0x54
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x114], eax
mov eax, dword [ebx + 0xc]
jne 0x5aa773
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8]
mov edx, dword [ecx + eax*8 + 4]
jmp 0x5aa776
cdq
mov edi, eax
mov cl, byte [ebx + 3]
mov dword [ebp - 0x128], edx
test cl, 1
je 0x5aa790
mov eax, dword [ebp - 0xd4]
inc dword [eax + 0x5c]
mov cl, byte [ebx + 3]
test cl, 2
je 0x5aa7ad
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x13c], edi
mov dword [ebp - 0x140], edx
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], edx
mov ecx, dword [ebp - 0xe8]
movzx eax, word [ecx + esi*8 + 8]
test al, 1
je 0x5aa7cc
mov dword [ecx + esi*8 + 0x10], 0
mov dword [ecx + esi*8 + 0xc], 0
mov cl, byte [ebx + 3]
mov byte [ebp - 0xe1], cl
test cl, 0x10
je 0x5aa7eb
mov ecx, dword [ebp - 0x114]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0xf8], ecx
jmp 0x5aa7f5
mov dword [ebp - 0xf8], 0
test eax, 0x4000
je 0x5aa807
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + esi*8]
jmp 0x5aa809
xor ecx, ecx
push dword [ebp - 0xf8]
movzx eax, byte [ebp - 0xe1]
shr eax, 3
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 esi, dword [ebp - 0x114]
push edx
push edi
push 0
push dword [esi]
call fcn.00582660
mov edx, eax
mov byte [esi + 0x1a], 0
add esp, 0x24
mov dword [ebp - 0xd8], edx
mov dword [esi + 0x3c], 0
test edx, edx
jne 0x5a8c7d
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x5ad4e6
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x5a8e11
push dword [ebp - 0x128]
movsx ecx, byte [esi + 0x18]
push edi
mov edi, dword [ebp - 0xdc]
add ecx, ecx
test byte [ebx + 3], 4
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
mov ecx, 0x17
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [edi + 0xd0]
call edx
add esp, 0x18
jmp case.0x5a71b0.62
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov esi, dword [eax + ecx*4]
push dword [esi]
call fcn.005822b0
mov edx, eax
mov dword [esi + 0x3c], 0
add esp, 4
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5aa91f
mov edx, dword [edi + 0xd4]
test edx, edx
je 0x5aa919
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x5aa919
test byte [esi + 0x1c], 4
je 0x5aa919
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 + 0xd0]
call edx
add esp, 0x18
mov edx, dword [ebp - 0xd8]
test byte [ebx + 8], 1
mov ecx, dword [ebp - 0xd4]
je 0x5ad4fc
inc dword [ecx + 0x5c]
jmp 0x5ad4fc
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x5c]
add dword [edi + 0x54], eax
add ebx, 0x14
mov dword [edi + 0x50], eax
mov eax, dword [ebp - 0xec]
mov dword [ecx + 0x5c], 0
jmp 0x5a7173
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 0x10]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov edi, dword [ecx + 0x38]
lea eax, [eax + eax*4]
mov dword [ebp - 0x12c], eax
mov eax, dword [ecx + 8]
mov edx, dword [edi + 0x20]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x100], eax
test edx, edx
jne 0x5aa9b9
lea ecx, [ebp - 0x148]
push ecx
push edx
push edx
push eax
call fcn.005a65f0
add esp, 0x10
mov dword [ebp - 0xf8], eax
mov dword [edi + 0x20], eax
test eax, eax
je 0x5ad7b9
mov word [eax + 4], si
lea eax, [ebp - 0x1bc]
push eax
push edi
call fcn.005bb700
mov edi, dword [ebp - 0xf8]
push edi
push eax
push dword [ebp - 0x1bc]
push dword [ebp - 0x100]
call fcn.005b07d0
add esp, 0x18
xor ecx, ecx
test esi, esi
jle 0x5aa9fd
mov eax, dword [edi + 8]
add eax, 8
nop
test byte [eax], 1
jne 0x5aaa46
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x5aa9f0
mov eax, dword [ebp - 0x12c]
mov esi, dword [ebp - 0xe8]
push 0
push edi
push dword [esi + eax*8 + 0x10]
push dword [esi + eax*8 + 0xc]
call fcn.005b0170
mov edi, dword [ebp - 0xdc]
xor ecx, ecx
add esp, 0x10
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0xd4]
test eax, eax
jne 0x5a843d
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
mov dword [ebp - 0xd8], 0
jmp 0x5a8431
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x38], 0
je 0x5aaab9
cmp byte [eax + 0x39], 0
je 0x5aaa93
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x20]
lea edi, [eax + 0x14]
mov dword [ebp - 0xf8], ecx
jmp 0x5aaac5
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 8]
mov eax, dword [eax + 4]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0xc]
lea eax, [eax + ecx*8]
mov ecx, dword [eax + 0x20]
lea edi, [eax + 0x14]
mov dword [ebp - 0xf8], ecx
jmp 0x5aaac5
mov edi, dword [eax + 0x24]
lea eax, [edi + 8]
mov dword [ebp - 0xf8], eax
mov edi, dword [edi]
cmp dword [esi + 0x18], edi
jge 0x5aaae8
push 0
push edi
push esi
call fcn.005af310
add esp, 0xc
test eax, eax
je 0x5aaaf3
mov dword [ebp - 0xd8], 7
jmp 0x5aab26
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
mov ecx, 0xbe10
push edi
push dword [ebp - 0xf8]
and ax, cx
mov dword [esi + 0xc], edi
push dword [esi + 0x10]
or ax, 0x10
mov word [esi + 8], ax
call fcn.006072a0
add esp, 0xc
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebx + 0xc]
mov edi, dword [ebp - 0xdc]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x3c], 0
jmp case.0x5a71b0.62
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x100], eax
test byte [eax + 0x1c], 4
mov edi, dword [eax]
push edi
jne 0x5aabc3
call fcn.005700e0
mov eax, dword [ebp - 0xdc]
add esp, 4
mov esi, dword [edi + 0x10]
mov eax, dword [eax + 0x58]
cdq
cmp dword [edi + 0x14], edx
jg 0x5aab9a
jl 0x5aabdd
cmp esi, eax
jbe 0x5aabdd
mov edi, dword [ebp - 0xdc]
push str.string_or_blob_too_big
push dword [ebp - 0xd4]
call fcn.005a6f80
mov ebx, 0x12
add esp, 8
mov dword [ebp - 0xd8], ebx
jmp 0x5ad9f4
call fcn.005700e0
mov eax, dword [ebp - 0xdc]
add esp, 4
mov esi, dword [edi + 0x1c]
cmp esi, dword [eax + 0x58]
ja 0x5ad958
mov eax, 0x20
cmp esi, eax
cmova eax, esi
push eax
mov eax, dword [ebp - 0xf0]
push eax
call fcn.005af100
add esp, 8
test eax, eax
jne 0x5ad92a
mov ecx, dword [ebp - 0xf0]
mov edx, 0xbe10
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx + 0xc], esi
or ax, 0x10
mov word [ecx + 8], ax
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x100]
test byte [ecx + 0x1c], 4
jne 0x5aac55
push 0
push eax
push esi
push 0
push edi
call fcn.0055ee20
mov edi, dword [ebp - 0xdc]
add esp, 0x14
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf0]
mov byte [eax + 0xa], 1
jmp case.0x5a71b0.62
push eax
push esi
push 0
push edi
call fcn.00582270
mov edi, dword [ebp - 0xdc]
add esp, 0x10
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xf0]
mov byte [eax + 0xa], 1
jmp case.0x5a71b0.62
mov esi, dword [ebp - 0xd4]
push ebx
push esi
call fcn.00575460
mov edx, dword [ebx + 4]
add esp, 8
mov ecx, dword [esi + 0x38]
mov edi, eax
mov esi, dword [ecx + edx*4]
cmp byte [esi + 0x19], 0
jne 0x5aad37
cmp byte [esi + 0x1a], 0
je 0x5aacd0
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x174], ecx
mov eax, dword [esi + 0x34]
mov dword [ebp - 0x170], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0x170]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0xdc]
jmp case.0x5a71b0.62
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x5aad19
mov esi, dword [ecx]
lea edx, [ebp - 0x174]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
push esi
push dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
call fcn.005b1a10
mov ecx, dword [ebp - 0x174]
add esp, 0x10
mov dword [edi], ecx
mov eax, dword [ebp - 0x170]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0xdc]
jmp case.0x5a71b0.62
push esi
call fcn.005a6d90
mov ecx, eax
add esp, 4
mov dword [ebp - 0xd8], ecx
test ecx, ecx
jne 0x5ad830
cmp byte [esi + 0x19], al
je 0x5aad5a
mov eax, 1
mov word [edi + 8], ax
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov esi, dword [esi]
push esi
call fcn.005700e0
mov ecx, dword [esi + 0x10]
add esp, 4
mov dword [ebp - 0x174], ecx
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x170], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0x170]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], 0
jmp case.0x5a71b0.62
mov esi, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
test esi, esi
je 0x5aadcd
push dword [esi + 0x30]
call fcn.00556350
add esp, 4
mov dword [esi + 0x30], 0
mov byte [esi + 0x42], 0
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x128], 0
mov eax, dword [edx + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x128]
push eax
push dword [esi]
call fcn.00582dc0
mov ecx, dword [ebp - 0x128]
add esp, 8
mov byte [esi + 0x19], cl
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
cmp dword [ebx + 8], 0
jle case.0x5a71b0.62
test ecx, ecx
mov ecx, dword [ebp - 0xd4]
jne 0x5a843d
mov edx, dword [ebp - 0xd8]
jmp 0x5ad4fc
mov ecx, dword [ebp - 0xd4]
inc dword [ecx + 0x74]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov eax, 1
mov dword [ebp - 0xfc], eax
mov esi, dword [edi + 0x38]
test esi, esi
je 0x5aaef5
cmp byte [esi + 0x38], 0
mov dword [ebp - 0xd8], 0
jne 0x5aaeba
cmp dword [esi + 0x24], 0
lea ecx, [esi + 0x24]
je 0x5aaee7
xor eax, eax
mov dword [ebp - 0xfc], eax
lea eax, [esi + 0x40]
push ecx
push eax
call fcn.005bb9c0
mov dword [ebp - 0xd8], eax
add esp, 8
mov eax, dword [ebp - 0xfc]
mov byte [edi + 0x19], al
jmp 0x5aa46e
push esi
call fcn.005baf60
push eax
push esi
call fcn.005bb080
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xd8], ecx
test ecx, ecx
jne 0x5aaf3e
push esi
call fcn.005bb760
add esp, 4
mov dword [ebp - 0xd8], eax
xor eax, eax
mov dword [ebp - 0xfc], eax
mov byte [edi + 0x19], al
jmp 0x5aa46e
mov esi, dword [edi]
push esi
call fcn.00572a90
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5aaf33
cmp byte [esi + 0x42], al
jne 0x5aaf1c
mov eax, 1
mov dword [ebp - 0xfc], eax
jmp 0x5aaf33
xor eax, eax
push esi
mov dword [ebp - 0xfc], eax
call fcn.00572910
add esp, 4
mov dword [ebp - 0xd8], eax
mov byte [edi + 0x1a], 0
mov dword [edi + 0x3c], 0
mov eax, dword [ebp - 0xfc]
mov byte [edi + 0x19], al
jmp 0x5aa46e
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0x150], 0
mov esi, dword [edi + 0x38]
cmp byte [esi + 0x38], 0
je 0x5aafac
cmp byte [esi + 0x39], 0
je 0x5aaf9b
push dword [esi + 0x10]
call fcn.005ba220
mov dword [ebp - 0xd8], eax
xor ecx, ecx
mov eax, dword [esi + 0x10]
add esp, 4
cmp dword [eax + 0x18], ecx
sete cl
mov dword [ebp - 0x150], ecx
jmp 0x5ab030
lea eax, [ebp - 0x150]
push eax
push dword [esi + 0x14]
call fcn.005b9c80
jmp 0x5ab027
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 4]
mov dword [esi + 0x24], eax
mov dword [ecx + 4], 0
cmp dword [esi + 0x28], 0
jne 0x5aafd1
push ecx
push dword [ebp - 0xdc]
call fcn.005bb690
add esp, 8
xor eax, eax
mov dword [ebp - 0xd8], 0
cmp dword [esi + 0x24], eax
sete al
mov dword [ebp - 0x150], eax
jmp 0x5ab030
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
cmp dword [eax + ecx*4], 0
je case.0x5a71b0.62
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x150], eax
lea eax, [ebp - 0x150]
push eax
push dword [edi]
mov eax, dword [ebx + 0x10]
call eax
mov dword [ebp - 0xd8], eax
add esp, 8
mov dword [edi + 0x3c], 0
cmp dword [ebp - 0x150], 0
jne 0x5ab057
mov ecx, dword [ebp - 0xd4]
mov byte [edi + 0x19], 0
movzx eax, byte [ebx + 3]
inc dword [ecx + eax*4 + 0x6c]
jmp 0x5ad1f0
mov byte [edi + 0x19], 1
mov edi, dword [ebp - 0xdc]
cmp dword [edi + 0xf0], 0
jne 0x5ad986
mov ecx, dword [edi + 0x124]
test ecx, ecx
je case.0x5a71b0.62
mov eax, dword [ebp - 0x154]
cmp eax, dword [ebp - 0x158]
jb case.0x5a71b0.62
mov esi, dword [edi + 0x12c]
xor edx, edx
div esi
push dword [edi + 0x128]
sub esi, edx
add esi, dword [ebp - 0x154]
mov dword [ebp - 0x158], esi
call ecx
add esp, 4
test eax, eax
je case.0x5a71b0.62
mov ebx, 9
mov dword [ebp - 0xd8], ebx
jmp 0x5ad9f4
test byte [ebx + 3], 1
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x5ab0f0
inc dword [edx + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x5ab114
push esi
call fcn.005af1a0
mov edx, eax
add esp, 4
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5a8c7d
cmp byte [ebx], 0x6e
jne 0x5ab136
push esi
push edi
call fcn.005b1330
mov edi, dword [ebp - 0xdc]
mov edx, eax
add esp, 8
mov dword [ebp - 0xd8], edx
jmp 0x5ad4f6
test byte [ebx + 3], 0x10
je 0x5ab141
mov eax, dword [edi + 0xc]
jmp 0x5ab143
xor eax, eax
push eax
push dword [ebx + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
push 0x67ecf8
cdq
push edx
push eax
push dword [esi + 0x10]
push dword [edi]
call fcn.00582660
mov edx, eax
mov dword [edi + 0x3c], 0
mov edi, dword [ebp - 0xdc]
add esp, 0x24
mov dword [ebp - 0xd8], edx
jmp 0x5ad4f6
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x298], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x294], ax
mov eax, dword [ebx + 8]
mov byte [ebp - 0x292], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x290], eax
lea eax, [ebp - 0x19c]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x298]
push eax
push edi
call fcn.00582e90
mov edx, eax
add esp, 0x18
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5ab200
cmp dword [ebp - 0x19c], eax
jne 0x5ab200
push edi
call fcn.005822b0
mov edx, eax
add esp, 4
mov dword [ebp - 0xd8], edx
mov edi, dword [ebp - 0xdc]
mov dword [esi + 0x3c], 0
jmp 0x5ad4f6
mov esi, dword [ebp - 0xd4]
push ebx
push esi
call fcn.00575460
mov ecx, dword [esi + 0x38]
mov edx, dword [ebx + 4]
mov dword [ebp - 0x12c], eax
mov esi, dword [ecx + edx*4]
mov ecx, 1
push esi
mov edi, dword [esi]
mov word [eax + 8], cx
call fcn.005a6d90
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xd8], ecx
test ecx, ecx
jne 0x5ad830
cmp byte [esi + 0x19], al
jne 0x5ab3e4
push edi
call fcn.005700e0
mov edx, dword [edi + 0x18]
xor eax, eax
mov esi, dword [edi + 0x10]
add esp, 4
mov word [ebp - 0x204], ax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x1ec], eax
movsx eax, byte [edi + 0x44]
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0xf0], edx
mov eax, dword [edi + eax*4 + 0x78]
mov ecx, dword [eax + 0x3c]
movzx eax, word [edi + 0x20]
sub ecx, edx
cmp eax, ecx
cmovae eax, ecx
cmp esi, eax
ja 0x5ab2c3
mov eax, 0x1010
mov dword [ebp - 0x1fc], edx
mov word [ebp - 0x204], ax
mov dword [ebp - 0x200], esi
jmp 0x5ab2f8
lea eax, [ebp - 0x20c]
push eax
push 1
push esi
push 0
push edi
call fcn.005b9760
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5ad830
mov edx, dword [ebp - 0x1fc]
mov esi, dword [ebp - 0x200]
mov dword [ebp - 0xf0], edx
mov al, byte [edx]
cmp al, 0x80
jae 0x5ab309
movzx edi, al
mov dword [ebp - 0x184], edi
jmp 0x5ab325
lea eax, [ebp - 0x184]
push eax
push edx
call fcn.00590fa0
mov edi, dword [ebp - 0x184]
add esp, 8
mov edx, dword [ebp - 0xf0]
cmp edi, 3
jb 0x5ad7dc
cmp edi, esi
jg 0x5ad7dc
lea eax, [edx - 1]
add eax, edi
mov cl, byte [eax]
cmp cl, 0x80
jae 0x5ab34d
movzx ecx, cl
mov dword [ebp - 0x188], ecx
jmp 0x5ab369
lea ecx, [ebp - 0x188]
push ecx
push eax
call fcn.00590fa0
mov ecx, dword [ebp - 0x188]
add esp, 8
mov edx, dword [ebp - 0xf0]
lea eax, [ecx - 1]
cmp eax, 8
ja 0x5ad7dc
cmp ecx, 7
je 0x5ad7dc
movzx eax, byte [ecx + 0x6839b4]
mov dword [ebp - 0x100], eax
add eax, edi
cmp esi, eax
jb 0x5ad7dc
sub esi, dword [ebp - 0x100]
lea eax, [ebp - 0x344]
push eax
push ecx
add esi, edx
push esi
call fcn.005b09d0
lea eax, [ebp - 0x20c]
push eax
call fcn.005af690
mov ecx, dword [ebp - 0x12c]
add esp, 0x10
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0xd8], 0
mov dword [ecx], eax
mov eax, dword [ebp - 0x340]
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 8], ax
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
cmp byte [ebp - 0xe1], 0x74
mov eax, dword [edx + 0x38]
mov edx, dword [ebp - 0xe8]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x100], ecx
mov eax, dword [ecx + 8]
mov esi, dword [ecx]
mov dword [ebp - 0x2d4], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x2d0], ax
sbb al, al
mov byte [ebp - 0x2ce], al
xor edi, edi
mov eax, dword [ebx + 0xc]
push esi
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x2cc], eax
call fcn.005700e0
mov eax, dword [esi + 0x14]
add esp, 4
mov edx, dword [esi + 0x10]
test eax, eax
jl 0x5ab564
jg 0x5ab564
test edx, edx
je 0x5ab564
test eax, eax
jg 0x5ab564
jl 0x5ab48a
cmp edx, 0x7fffffff
ja 0x5ab564
mov esi, dword [ebp - 0x100]
xor eax, eax
mov word [ebp - 0x240], ax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x228], eax
mov esi, dword [esi]
mov dword [ebp - 0x230], edi
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xf8], eax
movsx eax, byte [esi + 0x44]
mov eax, dword [esi + eax*4 + 0x78]
mov ecx, dword [eax + 0x3c]
sub ecx, dword [ebp - 0xf8]
movzx eax, word [esi + 0x20]
cmp eax, ecx
cmovae eax, ecx
cmp edx, eax
ja 0x5ab4f4
mov eax, dword [ebp - 0xf8]
mov ecx, 0x1010
mov dword [ebp - 0x238], eax
mov word [ebp - 0x240], cx
mov dword [ebp - 0x23c], edx
jmp 0x5ab51f
lea eax, [ebp - 0x248]
push eax
push 1
push edx
push 0
push esi
call fcn.005b9760
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5ab589
mov eax, dword [ebp - 0x238]
mov edx, dword [ebp - 0x23c]
push 0
lea ecx, [ebp - 0x2d4]
push ecx
push eax
push edx
call fcn.005b0170
add esp, 0x10
mov edi, eax
test dword [ebp - 0x240], 0x2460
jne 0x5ab549
cmp dword [ebp - 0x230], 0
je 0x5ab558
lea eax, [ebp - 0x248]
push eax
call fcn.005b9690
add esp, 4
mov dword [ebp - 0xd8], 0
jmp 0x5ab589
push 0x68a82c
push 0x11195
push str.database_corruption_at_line__d_of___.10s_
push 0xb
xor edi, edi
call fcn.0055bef0
add esp, 0x10
mov dword [ebp - 0xd8], 0xb
mov cl, byte [ebx]
lea eax, [edi + 1]
neg edi
and cl, 1
mov ecx, dword [ebp - 0xd4]
cmovne edi, eax
test edi, edi
mov edi, dword [ebp - 0xdc]
jg 0x5a843d
mov edx, dword [ebp - 0xd8]
jmp 0x5ad4fc
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov edx, dword [ebp - 0xdc]
mov edi, eax
mov eax, 1
add esp, 8
mov word [edi + 8], ax
mov ecx, dword [edx + 0xa4]
inc ecx
cmp dword [edx + 0x98], ecx
jg 0x5ad87a
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x148], ecx
shl ecx, 4
mov dword [ebp - 0x100], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x12c], ecx
mov esi, dword [eax + ecx + 4]
cmp byte [esi + 9], 0
je 0x5ab62c
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x5ab62c
push esi
call fcn.00563e10
add esp, 4
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x100]
push esi
call fcn.005635f0
add esp, 0xc
mov dword [ebp - 0xd8], eax
cmp byte [esi + 9], 0
je 0x5ab65d
add dword [esi + 0xc], 0xffffffff
jne 0x5ab65d
push esi
call fcn.005b7900
add esp, 4
mov esi, dword [ebp - 0x144]
mov eax, 4
mov word [edi + 8], ax
mov eax, esi
cdq
mov dword [edi + 4], edx
mov edx, dword [ebp - 0xd8]
mov dword [edi], eax
test edx, edx
jne 0x5a8c7d
test esi, esi
je 0x5a8c7d
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x12c]
mov edx, dword [ebx + 4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x100], eax
mov ecx, dword [eax + edi + 0xc]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x5ab6cb
nop dword [eax]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x1c], esi
jne 0x5ab6bb
mov dword [ecx + 0x1c], edx
mov eax, dword [eax]
test eax, eax
jne 0x5ab6b0
mov ecx, dword [ebp - 0x100]
mov ecx, dword [ecx + edi + 0xc]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x5ab6e3
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x28], esi
jne 0x5ab6dd
mov dword [ecx + 0x28], edx
mov eax, dword [eax]
test eax, eax
jne 0x5ab6d2
mov al, byte [ebp - 0x148]
mov edi, dword [ebp - 0xdc]
inc al
mov byte [ebp - 0x131], al
jmp case.0x5a71b0.62
xor ecx, ecx
mov dword [ebp - 0xfc], 0
cmp dword [ebx + 0xc], ecx
lea eax, [ebp - 0xfc]
cmove eax, ecx
mov ecx, dword [ebx + 8]
push eax
mov eax, dword [edi + 0x10]
add ecx, ecx
push dword [ebx + 4]
push dword [eax + ecx*8 + 4]
call fcn.005819f0
mov ecx, dword [ebp - 0xd4]
add esp, 0xc
cmp dword [ebx + 0xc], 0
mov edx, eax
mov dword [ebp - 0xd8], edx
je 0x5ad4fc
mov eax, dword [ebp - 0xfc]
add dword [ecx + 0x5c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x5ad4f6
mov esi, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
cdq
add dword [esi + ecx*8], eax
adc dword [esi + ecx*8 + 4], edx
jmp case.0x5a71b0.62
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x38]
test eax, eax
je 0x5ab7a2
push eax
push edi
call fcn.005b0f10
mov ecx, dword [ebp - 0xd4]
add esp, 8
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
mov eax, dword [ecx]
push 0
push dword [eax + 0x34]
push dword [eax]
call fcn.005819f0
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xd8], edx
jmp 0x5ad4f6
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov edx, dword [ebx + 4]
xor ecx, ecx
shl edx, 4
mov esi, eax
add edx, dword [edi + 0x10]
lea eax, [ebp - 0xf4]
cmp byte [ebx], 0x7a
mov dword [ebp - 0xf4], 0
setne cl
inc ecx
push ecx
push eax
push dword [edx + 4]
call fcn.00582120
mov dword [ebp - 0xd8], eax
add esp, 0x14
mov eax, dword [ebp - 0xf4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x5a71b0.62
mov ecx, dword [ebx + 4]
mov edx, str.sqlite_temp_master
mov eax, dword [ebp - 0xd4]
push dword [ebx + 0x10]
add eax, 0x2c
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1e0], eax
cmp ecx, 1
mov eax, str.sqlite_master
mov dword [ebp - 0x1e4], edi
cmove eax, edx
add ecx, ecx
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.00594970
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x5ab86e
mov dword [ebp - 0xd8], 7
jmp 0x5ab8be
push 0
lea eax, [ebp - 0x1e4]
mov byte [edi + 0x91], 1
push eax
push fcn.00591a80
push esi
push edi
mov dword [ebp - 0x1d8], 0
call fcn.00554670
test eax, eax
push esi
cmove eax, dword [ebp - 0x1d8]
push edi
mov dword [ebp - 0xd8], eax
call fcn.00586d30
mov edx, dword [ebp - 0xd8]
add esp, 0x1c
mov byte [edi + 0x91], 0
test edx, edx
je 0x5ab8cd
push edi
call fcn.0059c9d0
mov edx, dword [ebp - 0xd8]
add esp, 4
mov ecx, dword [ebp - 0xd4]
cmp edx, 7
je 0x5ad9cf
jmp 0x5ad4fc
push dword [ebx + 4]
push edi
call fcn.0057f6e0
mov edx, eax
add esp, 8
mov dword [ebp - 0xd8], edx
jmp 0x5ad4f6
mov eax, dword [ebx + 4]
shl eax, 4
add eax, dword [edi + 0x10]
push 0
push dword [ebx + 0x10]
mov eax, dword [eax + 0xc]
add eax, 8
push eax
call fcn.00591230
push eax
push edi
call fcn.00587a30
or dword [edi + 0x18], 2
add esp, 0x14
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
push 0
push dword [ebx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
add eax, 0x18
push eax
call fcn.00591230
mov edx, eax
add esp, 0xc
test edx, edx
je 0x5ab98f
mov esi, dword [edx + 0xc]
mov ecx, dword [esi + 8]
cmp ecx, edx
jne 0x5ab96b
mov eax, dword [edx + 0x14]
mov dword [esi + 8], eax
jmp 0x5ab985
test ecx, ecx
je 0x5ab985
nop
mov eax, dword [ecx + 0x14]
cmp eax, edx
je 0x5ab97f
mov ecx, eax
test ecx, ecx
jne 0x5ab970
jmp 0x5ab985
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
push edx
push edi
call fcn.0056e370
add esp, 8
or dword [edi + 0x18], 2
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
push 0
push dword [ebx + 0x10]
mov eax, dword [eax + ecx*8 + 0xc]
add eax, 0x28
push eax
call fcn.00591230
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5aba48
mov eax, dword [esi + 0x18]
cmp dword [esi + 0x14], eax
jne 0x5aba0e
lea ecx, [ebp - 0x100]
add eax, 8
push ecx
push dword [esi + 4]
push eax
call fcn.0056c440
add esp, 0xc
test eax, eax
je 0x5ab9f1
mov ecx, dword [eax + 8]
jmp 0x5ab9f3
xor ecx, ecx
mov eax, dword [ecx + 0x3c]
add ecx, 0x3c
cmp eax, esi
je 0x5aba09
nop dword [eax]
lea ecx, [eax + 0x20]
mov eax, dword [ecx]
cmp eax, esi
jne 0x5aba00
mov eax, dword [eax + 0x20]
mov dword [ecx], eax
push dword [esi + 0x1c]
push edi
call fcn.00587c90
push dword [esi]
push edi
call fcn.00586d30
push dword [esi + 4]
push edi
call fcn.00586d30
push dword [esi + 0xc]
push edi
call fcn.0058b6d0
push dword [esi + 0x10]
push edi
call fcn.00591560
push esi
push edi
call fcn.00586d30
add esp, 0x30
or dword [edi + 0x18], 2
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 8]
mov dword [ebp - 0xf8], eax
push 0
lea eax, [eax*4 + 4]
push eax
push edi
call fcn.00586d90
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x114], edi
test edi, edi
je 0x5ad92a
mov ecx, dword [ebx + 0xc]
xor esi, esi
lea eax, [ecx + ecx*4]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], ecx
test eax, eax
jle 0x5abae6
mov ebx, dword [ebp - 0x114]
mov edi, ecx
nop dword [eax]
push edi
call fcn.005ae700
mov dword [ebx + esi*4], eax
add esp, 4
mov eax, dword [ebp - 0xf8]
inc esi
add edi, 0x28
cmp esi, eax
jl 0x5abac0
mov ebx, dword [ebp - 0xe0]
mov edi, dword [ebp - 0x114]
mov edx, dword [ebp - 0xe8]
lea ecx, [ebp - 0x1a0]
push ecx
mov ecx, dword [ebp - 0x128]
mov dword [edi + esi*4], 0
mov esi, dword [ebp - 0xdc]
push dword [edx + ecx*8]
movzx ecx, byte [ebx + 3]
push eax
mov eax, dword [esi + 0x10]
add ecx, ecx
push edi
push dword [eax + ecx*8 + 4]
call fcn.00582860
push edi
push esi
mov dword [ebp - 0x12c], eax
call fcn.00586d30
mov ecx, dword [ebp - 0x128]
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x1a0]
mov eax, esi
cdq
sub dword [edi + ecx*8], eax
sbb dword [edi + ecx*8 + 4], edx
mov edi, dword [ebp - 0x100]
push edi
call fcn.005af700
add esp, 0x20
test esi, esi
je 0x5abb7a
mov eax, dword [ebp - 0x12c]
test eax, eax
je 0x5ad92a
push fcn.00556350
push 1
push 0xffffffffffffffff
push eax
push edi
call fcn.005af800
add esp, 0x14
movzx eax, byte [ebp - 0x124]
push eax
push edi
call fcn.005a6660
mov edi, dword [ebp - 0xdc]
add esp, 8
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 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 [ebx + 8]
lea edi, [eax + eax*4]
jne 0x5abbd4
push esi
call fcn.005af730
add esp, 4
test byte [esi + 8], 0x20
je 0x5ad92a
mov eax, dword [ebp - 0xe8]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
push dword [esi]
call fcn.0059d1a0
mov edi, dword [ebp - 0xdc]
add esp, 0xc
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea edi, [ecx + eax*8]
je 0x5abc90
mov esi, dword [edi]
movzx ecx, word [esi + 0x1a]
test cl, 2
jne 0x5abc46
mov eax, ecx
test cl, 1
jne 0x5abc3f
push dword [esi + 8]
call fcn.0057c020
mov dword [esi + 8], eax
add esp, 4
movzx eax, word [esi + 0x1a]
or eax, 2
mov word [esi + 0x1a], ax
mov eax, dword [esi + 8]
test eax, eax
je 0x5abc90
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x100], ecx
mov dword [esi + 8], eax
test eax, eax
jne 0x5abc71
push esi
call fcn.0059d110
mov ecx, dword [ebp - 0x100]
add esp, 4
mov eax, dword [ebx + 0xc]
push ecx
mov ecx, dword [ebp - 0xe8]
push edi
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
push eax
call fcn.005af6c0
add esp, 0xc
jmp 0x5ab05b
push edi
call fcn.005af700
add esp, 4
jmp 0x5ad1f0
mov eax, dword [ebx + 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 [ebx + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf8], eax
jne 0x5abce2
push esi
call fcn.005af730
add esp, 4
test byte [esi + 8], 0x20
je 0x5ad92a
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe8]
test eax, eax
je 0x5abd08
push dword [ecx + edi*8 + 4]
push dword [ecx + edi*8]
push eax
push dword [esi]
call fcn.0059d240
add esp, 0x10
test eax, eax
jne 0x5a8431
mov eax, dword [ebp - 0xf8]
test eax, eax
js 0x5aad40
mov eax, dword [ebp - 0xe8]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
push dword [esi]
call fcn.0059d1a0
mov edi, dword [ebp - 0xdc]
add esp, 0xc
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
cmp byte [ebx + 3], 0
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x108], edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xf0], ecx
je 0x5abd8c
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edi + 0x14]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x5abd86
cmp dword [eax + 0x1c], ecx
je 0x5aa3b9
mov eax, dword [eax + 4]
test eax, eax
jne 0x5abd76
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xdc]
mov eax, dword [eax + 0xb8]
cmp eax, dword [esi + 0x80]
jge 0x5ad8a3
test byte [ecx + 8], 0x40
jne 0x5abeb0
mov ecx, dword [edi + 0xc]
mov edi, dword [edi + 8]
add edi, ecx
lea eax, [edi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x108]
mov eax, dword [eax + 0x10]
lea eax, [eax + ecx*4]
cdq
push edx
push eax
push esi
call fcn.00586e70
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5ad92a
push dword [ebp - 0xf0]
call fcn.005af690
mov eax, dword [ebp - 0xf0]
mov ecx, 0x40
sub ebx, dword [ebp - 0x118]
add esp, 4
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x108]
mov dword [eax], esi
mov eax, dword [ebp - 0xd4]
mov dword [esi], eax
mov dword [esi + 0x3c], edi
mov eax, dword [ecx + 0xc]
mov dword [esi + 0x40], eax
mov eax, 0x66666667
imul ebx
mov ebx, dword [ebp - 0xd4]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
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 [ecx + 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]
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
lea eax, [esi + 0x50]
cmp eax, ecx
je 0x5abea2
mov edx, dword [ebp - 0xdc]
mov edi, 0x80
mov word [eax + 8], di
mov dword [eax + 0x20], edx
add eax, 0x28
cmp eax, ecx
jne 0x5abe94
mov eax, dword [ebx + 0xb8]
mov edi, dword [ebp - 0x108]
jmp 0x5abeb8
mov esi, dword [ecx]
mov ebx, dword [ebp - 0xd4]
inc eax
lea ecx, [esi + 0x28]
mov dword [ebx + 0xb8], eax
mov eax, dword [ebx + 0xb0]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x13c]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x140]
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 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 edx, word [esi + 0x40]
mov dword [ebx + 0x24], edx
lea eax, [eax + eax*4]
lea eax, [eax + 5]
lea ecx, [ecx + eax*8]
mov dword [ebx + 0x38], ecx
lea ecx, [ecx + edx*4]
mov esi, dword [edi]
mov dword [ebx + 4], esi
mov eax, dword [edi + 4]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0xc8], ecx
mov eax, dword [edi + 0x10]
push eax
push 0
push ecx
mov dword [ebp - 0x118], esi
mov dword [ebx + 0xc4], eax
call fcn.00607da0
mov edi, dword [ebp - 0xdc]
add esp, 0xc
mov ecx, dword [ebp - 0xd4]
mov ebx, esi
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov esi, eax
mov eax, dword [ebp - 0xd4]
push 0x1000
mov eax, dword [eax + 0xb0]
mov ecx, dword [eax + 0x2c]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4 + 4]
add ecx, dword [ebx + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
push eax
push esi
call fcn.005afa80
mov ecx, dword [ebp - 0xd4]
add esp, 0x14
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
test dword [edi + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x5abfe5
add dword [edi + 0x200], eax
mov ecx, dword [ebp - 0xd4]
adc dword [edi + 0x204], edx
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
cmp dword [ebx + 4], 0
je 0x5ac00b
add dword [edi + 0x1f8], eax
mov ecx, dword [ebp - 0xd4]
adc dword [edi + 0x1fc], edx
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov ecx, dword [ebp - 0xd4]
add dword [ecx + 0x90], eax
mov eax, dword [ebp - 0xec]
adc dword [ecx + 0x94], edx
add ebx, 0x14
jmp 0x5a7173
cmp dword [ebx + 4], 0
je 0x5ac069
mov eax, dword [edi + 0x1f8]
or eax, dword [edi + 0x1fc]
jne 0x5a75e1
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x5a8437
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x90]
or eax, dword [ecx + 0x94]
jne 0x5ac08f
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x5a843d
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ecx + 0xb0]
test edx, edx
je 0x5ac0cb
mov eax, dword [edx + 4]
test eax, eax
je 0x5ac0bd
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x5ac0b4
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x5ac0da
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
push edi
call fcn.005af440
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.005af440
mov ecx, dword [esi + 4]
add esp, 8
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x5aad40
jl 0x5ac110
cmp dword [edi], eax
jae 0x5aad40
mov dword [edi], eax
add ebx, 0x14
mov eax, dword [ebp - 0xec]
mov dword [edi + 4], ecx
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
cmp dword [esi + eax*8 + 4], 0
jg 0x5a8437
jl 0x5a75e1
cmp dword [esi + eax*8], 0
ja 0x5a8437
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
cdq
add dword [esi + ecx*8], eax
adc dword [esi + ecx*8 + 4], edx
cmp dword [esi + ecx*8 + 4], 0
jl 0x5a8437
jg 0x5a75e1
cmp dword [esi + ecx*8], 0
jb 0x5a8437
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov esi, dword [edx + ecx*8]
mov eax, esi
mov edi, dword [edx + ecx*8 + 4]
or eax, edi
je 0x5aa3b9
mov eax, dword [ebx + 0xc]
cdq
add eax, esi
mov esi, dword [ebp - 0xe8]
adc edx, edi
mov dword [esi + ecx*8], eax
mov dword [esi + ecx*8 + 4], edx
jmp 0x5a8431
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
add dword [esi + ecx*8], 0xffffffff
mov eax, dword [esi + ecx*8]
adc dword [esi + ecx*8 + 4], 0xffffffff
or eax, dword [esi + ecx*8 + 4]
je 0x5a8437
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0xe8]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
mov edi, dword [eax + esi*8]
mov ecx, edi
mov edx, dword [eax + esi*8 + 4]
add ecx, 1
mov dword [ebx + esi*8], ecx
mov eax, edx
mov ecx, ebx
adc eax, 0
or edi, edx
mov ebx, dword [ebp - 0xe0]
mov dword [ecx + esi*8 + 4], eax
je 0x5a8431
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov al, byte [ebx + 3]
mov byte [ebp - 0xe1], al
movzx eax, al
cdq
add eax, 7
adc edx, 0
shld edx, eax, 2
push edx
shl eax, 2
push eax
push edi
call fcn.00586d90
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5ad9c9
mov dword [esi + 8], 0
mov eax, 0x66666667
mov ecx, dword [ebx + 0x10]
mov dword [esi + 4], ecx
mov ecx, ebx
sub ecx, dword [ebp - 0x118]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [esi + 0xc], eax
mov al, byte [ebp - 0xe1]
mov byte [esi + 0x1a], al
mov word [ebx], 0xec90
mov dword [ebx + 0x10], esi
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0x100], edi
cmp dword [esi + 8], edi
je 0x5ac334
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x5ac334
mov edi, dword [ebp - 0xe8]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x5ac318
mov edi, dword [ebp - 0x100]
inc dword [edi + 0xc]
mov eax, 1
mov edi, dword [ebp - 0xdc]
mov word [ebp - 0x2b8], ax
lea eax, [ebp - 0x2c0]
mov dword [ebp - 0x2a0], edi
mov dword [ebp - 0x2a8], 0
mov ecx, dword [esi + 4]
mov dword [esi], eax
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov word [esi + 0x18], 0
mov eax, dword [ecx + 0x10]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x5ac3f5
cmp dword [esi + 0x14], 0
je 0x5ac3e6
mov eax, dword [ebp - 0x2b8]
and eax, 0x202
cmp eax, 0x202
jne 0x5ac3ab
cmp byte [ebp - 0x2b6], 1
jne 0x5ac3ab
mov eax, dword [ebp - 0x2b0]
jmp 0x5ac3c9
test byte [ebp - 0x2b8], 1
je 0x5ac3b8
xor eax, eax
jmp 0x5ac3c9
lea eax, [ebp - 0x2c0]
push 1
push eax
call fcn.005b8910
add esp, 8
push eax
push 0x681cc8
push dword [ebp - 0xd4]
call fcn.005a6f80
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.005af690
add esp, 4
cmp byte [esi + 0x18], 0
je case.0x5a71b0.62
mov eax, dword [ebx - 0x10]
test eax, eax
je case.0x5a71b0.62
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
push 0
push 1
lea eax, [ecx + eax*8]
push eax
call fcn.005af6c0
add esp, 0xc
jmp case.0x5a71b0.62
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
push dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push esi
call fcn.005af200
add esp, 8
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x5ac467
push esi
call fcn.00558310
push eax
push 0x681cc8
push dword [ebp - 0xd4]
call fcn.005a6f80
add esp, 0x10
movzx eax, byte [ebp - 0x124]
push eax
push esi
call fcn.005a6660
push esi
call fcn.005afba0
add esp, 0xc
test eax, eax
jne 0x5aaba0
jmp case.0x5a71b0.62
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xd0], 0
push eax
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xc8], 0xffffffff
push eax
push dword [ebx + 8]
mov dword [ebp - 0xcc], 0xffffffff
push dword [ebx + 4]
push edi
call fcn.00584540
mov ecx, eax
add esp, 0x14
mov dword [ebp - 0xd8], ecx
cmp ecx, 5
jne 0x5ac4e7
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd0], 1
mov eax, dword [ebx + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
nop dword [eax + eax]
mov eax, dword [ebp + esi*4 - 0xd0]
cdq
push edx
push eax
push edi
call fcn.005af6c0
inc esi
add esp, 0xc
add edi, 0x28
cmp esi, 3
jl 0x5ac500
mov edi, dword [ebp - 0xdc]
jmp case.0x5a71b0.62
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov edx, dword [ebx + 4]
add esp, 8
mov ecx, dword [edi + 0x10]
add edx, edx
cmp dword [ebx + 0xc], 0xffffffff
mov dword [ebp - 0x12c], eax
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x100], eax
mov ecx, dword [eax + 4]
mov edi, dword [ecx]
movzx ecx, byte [edi + 5]
mov edx, ecx
mov dword [ebp - 0xf0], ecx
cmovne edx, dword [ebx + 0xc]
cmp byte [edi + 0x10], 3
jb 0x5ac571
xor eax, eax
jmp 0x5ac590
mov eax, dword [edi + 0x40]
cmp dword [eax], 0
je 0x5ac58b
cmp dword [edi + 0x4c], 0
jl 0x5ac58b
jg 0x5ac587
cmp dword [edi + 0x48], 0
jbe 0x5ac58b
xor eax, eax
jmp 0x5ac590
mov eax, 1
test eax, eax
mov esi, ecx
mov eax, 0x67ecf8
cmovne esi, edx
cmp byte [edi + 0xf], 0
jne 0x5ac5a8
mov eax, dword [edi + 0xa8]
cmp esi, 5
jne 0x5ac5da
push eax
call fcn.005a25f0
add esp, 4
test eax, eax
je 0x5ac5c7
push edi
call fcn.005974c0
add esp, 4
test eax, eax
jne 0x5ac5d4
mov ecx, dword [ebp - 0xf0]
mov eax, ecx
jmp 0x5ac75f
mov ecx, dword [ebp - 0xf0]
mov eax, esi
cmp esi, ecx
je 0x5ac75f
cmp ecx, 5
je 0x5ac5f2
cmp esi, 5
jne 0x5ac75f
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x3f], 0
je 0x5ad8d5
cmp dword [eax + 0x98], 1
jg 0x5ad8d5
cmp ecx, 5
jne 0x5ac729
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
cmp dword [edi + 0xd0], ecx
jne 0x5ac6c7
mov al, byte [edi + 0x11]
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0xd8], ecx
cmp al, 1
jb 0x5ac643
cmp al, 5
jne 0x5ac67c
cmp byte [edi + 0xd], cl
je 0x5ac652
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
jmp 0x5ac672
mov eax, dword [edi + 0x3c]
push 1
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x1c]
call eax
mov ecx, eax
add esp, 8
mov dword [ebp - 0xd8], ecx
test ecx, ecx
jne 0x5ac720
cmp byte [edi + 0x11], 5
je 0x5ac67c
mov byte [edi + 0x11], 1
test ecx, ecx
jne 0x5ac720
mov eax, dword [edi]
lea ecx, [ebp - 0x18c]
push ecx
push 0
push dword [edi + 0xd4]
push eax
mov eax, dword [eax + 0x20]
call eax
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0xd8], ecx
test ecx, ecx
jne 0x5ac720
cmp dword [ebp - 0x18c], eax
je 0x5ac6c7
push edi
call fcn.00575df0
mov ecx, eax
add esp, 4
mov dword [ebp - 0xd8], ecx
test ecx, ecx
jne 0x5ac720
cmp dword [edi + 0xd0], 0
je 0x5ac720
push edi
call fcn.00575ba0
mov ecx, eax
add esp, 4
mov dword [ebp - 0xd8], ecx
test ecx, ecx
jne 0x5ac720
push dword [edi + 0xc8]
movzx eax, byte [edi + 9]
push dword [edi + 0x98]
push eax
push dword [edi + 0xd0]
call fcn.005b22d0
push edi
mov dword [ebp - 0xd8], eax
mov dword [edi + 0xd0], 0
call fcn.00575c20
mov ecx, dword [ebp - 0xd8]
add esp, 0x14
mov eax, esi
test ecx, ecx
jne 0x5ac759
push esi
jmp 0x5ac730
cmp ecx, 4
jne 0x5ac739
push 2
push edi
call fcn.00596c70
add esp, 8
xor eax, eax
cmp esi, 5
sete al
inc eax
push eax
push dword [ebp - 0x100]
call fcn.00584070
mov dword [ebp - 0xd8], eax
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xf0]
cmp dword [ebp - 0xd8], 0
cmove ecx, eax
push ecx
push edi
call fcn.00596c70
mov esi, dword [ebp - 0x12c]
add esp, 8
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x5ac78b
xor eax, eax
jmp 0x5ac792
mov eax, dword [eax*4 + 0x683d24]
push eax
mov dword [esi + 0x10], eax
call fcn.005a25f0
mov dword [esi + 0xc], eax
movzx eax, byte [ebp - 0x124]
push eax
push esi
mov byte [esi + 0xa], 1
call fcn.005a6660
mov edi, dword [ebp - 0xdc]
add esp, 0xc
jmp case.0x5a71b0.62
mov eax, dword [ebp - 0xd4]
add eax, 0x2c
push edi
push eax
call fcn.0059d8f0
mov edx, eax
add esp, 8
mov dword [ebp - 0xd8], edx
jmp 0x5ad4f6
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov edi, dword [eax + ecx*8 + 4]
cmp byte [edi + 9], 0
mov ecx, dword [edi + 4]
mov dword [ebp - 0xf8], ecx
je 0x5ac811
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x5ac811
push edi
call fcn.00563e10
mov ecx, dword [ebp - 0xf8]
add esp, 4
cmp byte [ecx + 0x11], 0
je 0x5ac8e7
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x114], edx
mov eax, dword [eax + 0x38]
mov esi, dword [eax + 0x24]
bswap esi
push esi
push edx
push ecx
call fcn.0056c170
add esp, 0xc
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x114], eax
jae 0x5ac870
push 0x68a82c
push 0xe00b
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0055bef0
add esp, 0x10
mov dword [ebp - 0xd8], 0xb
jmp 0x5ac8f1
test esi, esi
je 0x5ac8e7
mov esi, dword [ebp - 0xf8]
mov eax, dword [esi + 8]
test eax, eax
je 0x5ac89a
push 0
push 0
push eax
call fcn.0057c3d0
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5ac8f1
push esi
call fcn.00570fa0
push 0
push dword [ebp - 0x114]
push dword [ebp - 0x100]
push esi
call fcn.00570af0
mov edx, eax
add esp, 0x14
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5ac8f1
mov eax, dword [esi + 0xc]
push dword [eax + 0x48]
call fcn.005974f0
mov ecx, dword [esi + 0x2c]
add esp, 4
mov dword [ebp - 0xd8], eax
mov eax, dword [esi + 0xc]
bswap ecx
mov eax, dword [eax + 0x38]
mov dword [eax + 0x1c], ecx
jmp 0x5ac8f1
mov dword [ebp - 0xd8], 0x65
cmp byte [edi + 9], 0
je 0x5ac906
add dword [edi + 0xc], 0xffffffff
jne 0x5ac906
push edi
call fcn.005b7900
add esp, 4
mov edx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd4]
cmp edx, 0x65
jne 0x5ad4fc
mov dword [ebp - 0xd8], 0
jmp 0x5a843d
cmp dword [ebx + 4], 0
jne 0x5ac953
push edi
call fcn.00588cf0
mov ecx, dword [ebp - 0xd4]
add esp, 4
mov eax, dword [ebp - 0xec]
add ebx, 0x14
jmp 0x5a7173
mov ecx, dword [ebp - 0xd4]
or dword [ecx + 0x58], 8
add ebx, 0x14
jmp 0x5a7173
mov dl, byte [ebx + 0xc]
test dl, dl
jne 0x5ac979
test dword [edi + 0x18], 0x4000
jne case.0x5a71b0.62
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebx + 4]
mov edi, dword [ebx + 8]
add ecx, ecx
mov eax, dword [eax + 0x10]
mov esi, dword [eax + ecx*8 + 4]
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
cmp byte [esi + 9], cl
je 0x5aca4d
inc dword [esi + 0xc]
inc dl
mov byte [ebp - 0x190], dl
cmp byte [esi + 0xa], cl
jne 0x5ac9b8
push esi
call fcn.00563e10
add esp, 4
push dword [ebp - 0x190]
push edi
push esi
call fcn.00579bc0
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5aca38
mov eax, dword [esi + 4]
mov dword [ebp - 0x100], eax
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x5ac9f4
cmp dword [ecx + 4], edi
jne 0x5ac9ed
cmp dword [ecx], esi
je 0x5aca20
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x5ac9e4
push 0
push 0x10
call fcn.005949e0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x5aca7d
mov edx, dword [ebp - 0x100]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 4], edi
mov dword [ecx], esi
mov eax, dword [edx + 0x48]
mov dword [ecx + 0xc], eax
mov dword [edx + 0x48], ecx
mov al, byte [ebp - 0x190]
cmp al, byte [ecx + 8]
jbe 0x5aca2e
mov byte [ecx + 8], al
mov dword [ebp - 0xd8], 0
cmp byte [esi + 9], 0
je 0x5aca4d
add dword [esi + 0xc], 0xffffffff
jne 0x5aca4d
push esi
call fcn.005b7900
add esp, 4
mov edx, dword [ebp - 0xd8]
cmp dl, 6
jne 0x5a8c7d
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0xd4]
call fcn.005a6f80
mov edi, dword [ebp - 0xdc]
add esp, 0xc
jmp case.0x5a71b0.62
mov dword [ebp - 0xd8], 7
jmp 0x5aca38
mov edx, dword [edi + 0x130]
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0xd8], 0
test edx, edx
jle 0x5acab9
cmp dword [edi + 0x148], 0
jne 0x5acab9
mov edx, 6
mov dword [ebp - 0xd8], edx
jmp 0x5acb6d
test esi, esi
jne 0x5acad3
xor ecx, ecx
add ebx, 0x14
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0xd4]
jmp 0x5a7173
mov eax, dword [esi + 8]
mov edi, dword [eax]
cmp dword [edi + 0x38], 0
je 0x5acb61
xor ecx, ecx
test edx, edx
jle 0x5acb00
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x148]
cmp dword [eax], esi
je 0x5acb51
inc ecx
add eax, 4
cmp ecx, edx
jl 0x5acaf4
push dword [ebp - 0xdc]
call fcn.00570810
mov ecx, eax
add esp, 4
mov dword [ebp - 0xd8], ecx
test ecx, ecx
jne 0x5acb61
push dword [esi + 8]
mov eax, dword [edi + 0x38]
call eax
mov edi, dword [ebp - 0xdc]
mov ecx, eax
add esp, 4
mov dword [ebp - 0xd8], ecx
test ecx, ecx
jne 0x5acb67
mov ecx, dword [edi + 0x130]
mov eax, dword [edi + 0x148]
mov dword [eax + ecx*4], esi
inc dword [edi + 0x130]
inc dword [esi + 0xc]
jmp 0x5acb67
mov edi, dword [ebp - 0xdc]
xor edx, edx
mov dword [ebp - 0xd8], edx
jmp 0x5acb6d
mov edi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
test esi, esi
je 0x5ad4f6
push dword [esi + 8]
push dword [ebp - 0xd4]
call fcn.005b1a10
add esp, 8
jmp case.0x5a71b0.62
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xe8]
movq qword [ebp - 0x250], xmm0
movups xmmword [ebp - 0x270], xmm0
lea eax, [eax + eax*4]
mov dword [ebp - 0x250], edi
lea eax, [ecx + eax*8]
push eax
lea eax, [ebp - 0x270]
push eax
movups xmmword [ebp - 0x260], xmm0
call fcn.005af130
mov dword [ebp - 0xd8], eax
add esp, 8
mov eax, dword [ebp - 0x268]
and eax, 0x202
cmp eax, 0x202
jne 0x5acbf2
cmp byte [ebp - 0x266], 1
jne 0x5acbf2
mov edx, dword [ebp - 0x260]
jmp 0x5acc12
test byte [ebp - 0x268], 1
jne 0x5acd38
lea eax, [ebp - 0x270]
push 1
push eax
call fcn.005b8910
add esp, 8
mov edx, eax
test edx, edx
je 0x5acd38
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov esi, dword [ebp - 0xd4]
add esi, 0x2c
push dword [eax + ecx*8]
push edx
push edi
call fcn.0058ce00
mov dword [ebp - 0x100], eax
mov ecx, dword [eax + 0x34]
lea eax, [ebp - 0x12c]
push eax
mov edi, dword [ecx]
mov ecx, dword [ebp - 0xdc]
add ecx, 0x134
push edi
push ecx
call fcn.0056c440
add esp, 0x18
test eax, eax
je 0x5acd17
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x5acd17
mov eax, dword [ecx]
mov edi, dword [ebp - 0xdc]
push esi
mov esi, dword [ebp - 0x100]
push dword [eax + 4]
push ecx
push esi
push edi
call fcn.005bbd80
add esp, 0x14
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5acd38
mov eax, dword [esi + 0x38]
test eax, eax
je 0x5acd38
cmp dword [eax], edi
je 0x5accc5
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x5acca6
lea eax, [ebp - 0x270]
push eax
call fcn.005af690
add esp, 4
jmp case.0x5a71b0.62
push edi
call fcn.00570810
add esp, 4
mov dword [ebp - 0xd8], eax
test eax, eax
jne 0x5acd38
mov edx, dword [esi + 0x38]
test edx, edx
je 0x5acceb
nop
cmp dword [edx], edi
je 0x5acceb
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x5acce0
mov ecx, dword [edi + 0x130]
mov eax, dword [edi + 0x148]
mov dword [eax + ecx*4], edx
lea eax, [ebp - 0x270]
inc dword [edi + 0x130]
inc dword [edx + 0xc]
push eax
call fcn.005af690
add esp, 4
jmp case.0x5a71b0.62
push edi
mov edi, dword [ebp - 0xdc]
push str.no_such_module:__s
push edi
call fcn.00594970
add esp, 0xc
mov dword [esi], eax
mov dword [ebp - 0xd8], 1
lea eax, [ebp - 0x270]
push eax
call fcn.005af690
add esp, 4
jmp case.0x5a71b0.62
inc dword [edi + 0xa4]
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov dword [ebp - 0xd8], 0
push dword [eax + ecx*8]
push dword [ebx + 0x10]
push edi
call fcn.0058ce00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x5ace2b
mov ecx, dword [edi + 0x38]
test ecx, ecx
je 0x5acdf8
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
jg 0x5ace0f
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x5acd90
push edi
push dword [ebp - 0xdc]
call fcn.005bc250
mov esi, eax
mov ecx, dword [esi + 4]
push dword [esi + 8]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x14]
call ecx
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5ace2d
mov dword [esi + 8], eax
mov dword [edi + 0x38], eax
add dword [esi + 0xc], 0xffffffff
mov edi, dword [esi]
jne 0x5ace2d
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x5acdee
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 0x10]
call eax
add esp, 4
push esi
push edi
call fcn.00586d30
add esp, 8
mov edi, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
dec dword [edi + 0xa4]
jmp 0x5ad4f6
mov edi, dword [ebp - 0xdc]
mov edx, 6
mov dword [ebp - 0xd8], edx
dec dword [edi + 0xa4]
jmp 0x5ad4f6
xor edx, edx
mov edi, dword [ebp - 0xdc]
dec dword [edi + 0xa4]
jmp 0x5ad4f6
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf0], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x5ad93b
mov edi, dword [esi]
test edi, edi
je 0x5ad935
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
push esi
push dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
call fcn.005b1a10
mov edx, dword [ebp - 0xd8]
add esp, 0x10
test edx, edx
jne 0x5a8c7d
mov eax, dword [ebp - 0xf0]
push edx
push 0xffffffffffffffff
push edx
mov dword [eax], esi
push dword [ebx + 4]
push dword [ebp - 0xd4]
call fcn.0055fbf0
add esp, 0x14
test eax, eax
je 0x5ad91c
mov ecx, dword [ebp - 0xf0]
mov edi, dword [ebp - 0xdc]
mov dword [eax + 0x24], ecx
inc dword [esi + 4]
jmp case.0x5a71b0.62
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea edx, [eax + eax*4]
mov dword [ebp - 0x144], 0
mov eax, dword [edi + 0x38]
add esi, 0x28
mov edi, dword [edi + 0xc]
mov eax, dword [eax + ecx*4]
lea esi, [esi + edx*8]
mov dword [ebp - 0xf0], eax
xor ecx, ecx
movd xmm0, esi
mov dword [ebp - 0x12c], esi
mov eax, dword [eax + 0x24]
mov esi, dword [esi]
mov dword [ebp - 0xf8], eax
pshufd xmm3, xmm0, 0
mov eax, dword [eax]
mov dword [ebp - 0x128], eax
mov eax, dword [eax]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x148], eax
test esi, esi
jle 0x5ad043
cmp esi, 0x10
jb 0x5ad025
cmp dword [0x6f38b4], 2
jl 0x5ad025
movaps xmm2, xmmword [0x68ae10]
mov eax, esi
and eax, 0x8000000f
jns 0x5acf6e
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [0x68ae20]
mov edx, esi
sub edx, eax
mov dword [ebp - 0x100], edx
lea edx, [edi + 0x20]
mov ebx, dword [ebp - 0x100]
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [ecx + 8]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, eax
lea eax, [ecx + 0xc]
pshufd xmm0, xmm0, 0
add ecx, 0x10
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebx
jl 0x5acf90
mov ebx, dword [ebp - 0xe0]
cmp ecx, esi
jge 0x5ad043
mov edx, dword [ebp - 0x12c]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [edi + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x5ad038
push edi
mov edi, dword [ebp - 0x114]
push esi
push dword [ebx + 0x10]
mov esi, dword [ebp - 0xf8]
push dword [ebp - 0x148]
mov eax, dword [edi + 0x20]
push esi
call eax
push dword [ebp - 0x128]
mov dword [ebp - 0xd8], eax
push dword [ebp - 0xd4]
call fcn.005b1a10
add esp, 0x1c
cmp dword [ebp - 0xd8], 0
jne 0x5ad09b
mov eax, dword [edi + 0x28]
push esi
call eax
mov ecx, dword [ebp - 0xf0]
add esp, 4
mov byte [ecx + 0x19], 0
jmp 0x5aa46e
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x144]
mov byte [ecx + 0x19], 0
jmp 0x5aa46e
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
cmp byte [edx + 0x19], 0
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x5ad0f7
push edi
call fcn.005af700
mov edi, dword [ebp - 0xdc]
add esp, 4
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movups xmmword [ebp - 0x31c], xmm0
mov dword [ebp - 0x31c], edi
movups xmmword [ebp - 0x30c], xmm0
mov ax, word [edi + 8]
and ax, word [ebp - 0x1a4]
or ax, 1
mov word [edi + 8], ax
lea eax, [ebp - 0x31c]
push dword [ebx + 8]
push eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x2c]
call eax
push esi
push dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
call fcn.005b1a10
mov eax, dword [ebp - 0x308]
test eax, eax
mov ecx, dword [ebp - 0xd8]
cmovne ecx, eax
movzx eax, byte [ebp - 0x124]
push eax
push edi
mov dword [ebp - 0xd8], ecx
call fcn.005a6660
push edi
call fcn.005afba0
mov edi, dword [ebp - 0xdc]
add esp, 0x20
test eax, eax
jne 0x5aaba0
jmp case.0x5a71b0.62
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebx + 4]
mov eax, dword [edx + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x5a8e11
mov eax, dword [edi + 0x24]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x100], ecx
mov eax, dword [ecx + 0x24]
call eax
push esi
push dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
call fcn.005b1a10
add esp, 0xc
cmp dword [ebp - 0xd8], 0
jne 0x5ad1f0
mov eax, dword [ebp - 0x100]
push dword [edi + 0x24]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x5ab05b
mov edi, dword [ebp - 0xdc]
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x118]
dec ebx
lea ebx, [ebx + ebx*4]
lea ebx, [ecx + ebx*4]
mov dword [ebp - 0xe0], ebx
jmp 0x5ab061
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xe8]
push 1
mov esi, dword [eax + 8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
push edi
call fcn.005a6660
mov edx, eax
add esp, 8
mov dword [ebp - 0xd8], edx
test edx, edx
jne 0x5a8c7d
mov eax, dword [esi]
push dword [edi + 0x10]
push esi
mov eax, dword [eax + 0x4c]
call eax
mov edi, dword [ebp - 0xd4]
push esi
push edi
mov dword [ebp - 0xd8], eax
call fcn.005b1a10
add esp, 0x10
and dword [edi + 0x58], 0xfffffff7
mov edi, dword [ebp - 0xdc]
jmp case.0x5a71b0.62
mov eax, dword [ebx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x5ad966
mov eax, dword [edi]
mov dword [ebp - 0x100], eax
test eax, eax
je 0x5ad966
cmp dword [eax + 0x34], 0
mov edx, dword [ebx + 8]
je 0x5a8e11
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe8]
mov al, byte [eax + 0x45]
mov byte [ebp - 0xe1], al
mov eax, dword [ebp - 0xd4]
mov esi, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edx, edx
jle 0x5ad2db
nop dword [eax]
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x5ad2d0
mov ecx, dword [ebp - 0xdc]
mov al, byte [ebx + 3]
mov byte [ecx + 0x45], al
lea eax, [ebp - 0x1d4]
push eax
mov eax, dword [ebp - 0x100]
push esi
push edx
push edi
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov al, byte [ebp - 0xe1]
push edi
push dword [ebp - 0xd4]
mov byte [ecx + 0x45], al
call fcn.005b1a10
mov edx, dword [ebp - 0xd8]
add esp, 0x18
mov edi, dword [ebp - 0xdc]
test edx, edx
jne 0x5ad353
cmp dword [ebx + 4], edx
je 0x5ad353
mov esi, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x140], eax
mov dword [edi + 0x20], esi
mov dword [edi + 0x24], eax
cmp dl, 0x13
jne 0x5ad3a1
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x5ad3a1
mov cl, byte [ebx + 3]
cmp cl, 4
jne 0x5ad385
mov eax, dword [ebp - 0xec]
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
add ebx, 0x14
mov ecx, dword [ebp - 0xd4]
jmp 0x5a7173
movzx eax, cl
cmp cl, 5
mov ecx, 2
cmove eax, ecx
mov ecx, dword [ebp - 0xd4]
mov byte [ecx + 0x56], al
jmp 0x5ad4fc
mov ecx, dword [ebp - 0xd4]
inc dword [ecx + 0x5c]
jmp 0x5ad4fc
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov edx, dword [ebx + 4]
add esp, 8
mov ecx, dword [edi + 0x10]
add edx, edx
add ebx, 0x14
mov ecx, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x2c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0xec]
jmp 0x5a7173
push ebx
push dword [ebp - 0xd4]
call fcn.00575460
mov edx, dword [ebx + 4]
add esp, 8
mov ecx, dword [edi + 0x10]
add edx, edx
xor edi, edi
mov dword [ebp - 0x100], eax
mov esi, dword [ecx + edx*8 + 4]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x5ad422
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x2c]
cmp edi, ecx
cmovb edi, ecx
cmp byte [esi + 9], 0
je 0x5ad43a
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x5ad43a
push esi
call fcn.00563e10
add esp, 4
mov eax, dword [esi + 4]
mov eax, dword [eax]
test edi, edi
jle 0x5ad44b
mov dword [eax + 0x9c], edi
jmp 0x5ad451
mov edi, dword [eax + 0x9c]
cmp byte [esi + 9], 0
je 0x5ad466
add dword [esi + 0xc], 0xffffffff
jne 0x5ad466
push esi
call fcn.005b7900
add esp, 4
mov ecx, dword [ebp - 0x100]
mov eax, edi
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0xec]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0xd4]
jmp 0x5a7173
cmp dword [edi + 0xb0], 0
je 0x5ad4db
mov ecx, dword [ebp - 0xd4]
test dword [ecx + 0x58], 0x200
jne 0x5ad4db
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x5ad4b9
mov eax, ecx
mov eax, dword [eax + 0xa8]
test eax, eax
je 0x5ad4db
push eax
push ecx
call fcn.005add90
mov ecx, dword [edi + 0xb0]
mov esi, eax
push esi
push dword [edi + 0xb4]
call ecx
push esi
push edi
call fcn.00586d30
add esp, 0x18
cmp dword [ebx + 8], 0
je case.0x5a71b0.62
jmp 0x5a8437
mov edi, eax
jmp case.0x5a71b0.62
mov edi, esi
jmp case.0x5a71b0.62
mov edi, ecx
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd4]
add ebx, 0x14
mov dword [ebp - 0xe0], ebx
test edx, edx
jne 0x5ad9ee
mov eax, dword [ebp - 0xec]
jmp 0x5a7180
mov edi, dword [ebp - 0xd4]
mov dword [edi + 0x50], ecx
mov al, byte [ebx + 8]
mov byte [edi + 0x56], al
mov dword [edi + 0x4c], esi
test ecx, ecx
je 0x5ad596
mov al, byte [ebx + 3]
test al, al
je 0x5ad55c
movzx eax, al
mov eax, dword [eax*4 + 0x683ca4]
test eax, eax
je 0x5ad55e
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x5ad55e
push ecx
push eax
push str._s_constraint_failed:__s
push edi
call fcn.005a6f80
add esp, 0x10
jmp 0x5ad57c
xor eax, eax
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x5ad56d
push ecx
push 0x681cc8
jmp 0x5ad573
push eax
push str._s_constraint_failed
push edi
call fcn.005a6f80
add esp, 0xc
push dword [edi + 0x2c]
push dword [edi + 0xa8]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0055bef0
add esp, 0x14
push edi
call fcn.005ae3f0
add esp, 4
cmp eax, 5
mov eax, dword [ebp - 0xd4]
jne 0x5ad5b7
mov edi, 5
mov dword [eax + 0x50], edi
jmp 0x5ada8d
cmp dword [eax + 0x50], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x5ada8d
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [ebp - 0xd4]
call fcn.005a6f80
add esp, 8
mov dword [ebp - 0xd8], 5
add ebx, 0x14
mov dword [ebp - 0xe0], ebx
mov ebx, 5
jmp 0x5ad9f4
push str.cannot_release_savepoint___SQL_statements_in_progress
push dword [ebp - 0xd4]
call fcn.005a6f80
mov edi, dword [ebp - 0xdc]
add esp, 8
add ebx, 0x14
mov dword [ebp - 0xd8], 5
mov dword [ebp - 0xe0], ebx
mov ebx, 5
jmp 0x5ad9f4
sub ebx, dword [ebp - 0x118]
mov eax, 0x66666667
mov ecx, dword [ebp - 0xd4]
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x4c], eax
mov byte [edi + 0x3f], 0
mov edi, 5
mov dword [ecx + 0x50], edi
jmp 0x5ada8d
push str.no_such_savepoint:__s
push dword [ebp - 0xd4]
call fcn.005a6f80
mov edi, dword [ebp - 0xdc]
add esp, 0xc
add ebx, 0x14
mov dword [ebp - 0xd8], 1
mov dword [ebp - 0xe0], ebx
mov ebx, 1
jmp 0x5ad9f4
test edx, edx
je 0x5ad6d5
push 0x204
push edi
call fcn.0059cfc0
mov esi, dword [ebp - 0xd4]
add esp, 8
mov byte [edi + 0x3f], 1
push edi
call fcn.00584850
add esp, 4
mov edi, 0x65
cmp dword [esi + 0x50], 0
mov eax, 1
cmovne edi, eax
jmp 0x5ada8d
mov esi, dword [ebp - 0xd4]
push 1
push esi
call fcn.005a6840
mov edi, eax
add esp, 8
test edi, edi
jne 0x5ada8d
mov edi, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xf8]
push esi
mov byte [edi + 0x3f], al
call fcn.005ae3f0
add esp, 4
cmp eax, 5
jne 0x5ad6b6
sub ebx, dword [ebp - 0x118]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov al, 1
sub al, byte [ebp - 0xf8]
mov byte [edi + 0x3f], al
mov edi, 5
mov dword [esi + 0x50], edi
jmp 0x5ada8d
mov ebx, 8
mov dword [ebp - 0xd8], ebx
jmp 0x5ad83c
sub ebx, dword [ebp - 0x118]
mov eax, 0x66666667
mov ecx, dword [ebp - 0xd4]
mov edi, 5
imul ebx
mov dword [ecx + 0x50], edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x4c], eax
jmp 0x5ada8d
push 0x126b4
call fcn.00585b40
mov edi, dword [ebp - 0xdc]
mov ebx, eax
add esp, 4
mov dword [ebp - 0xd8], ebx
jmp 0x5ad83c
add ebx, 0x14
mov dword [ebp - 0xd8], 0x204
mov dword [ebp - 0xe0], ebx
mov ebx, 0x204
jmp 0x5ad9f4
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov dword [ebp - 0xe0], ebx
mov ebx, 7
mov dword [ebp - 0xd8], 7
jmp 0x5ad9f4
test dword [ebp - 0x204], 0x2460
jne 0x5ad7f1
cmp dword [ebp - 0x1f4], 0
je 0x5ad800
lea eax, [ebp - 0x20c]
push eax
call fcn.005b9690
add esp, 4
push 0x68a82c
push 0x11175
push str.database_corruption_at_line__d_of___.10s_
push 0xb
call fcn.0055bef0
mov edi, dword [ebp - 0xdc]
mov ebx, 0xb
add esp, 0x10
mov dword [ebp - 0xd8], ebx
jmp 0x5ad83c
mov edi, esi
jmp 0x5ad836
mov edi, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xd8]
cmp byte [edi + 0x41], 0
je 0x5ad84f
mov ebx, 7
mov dword [ebp - 0xd8], ebx
jmp 0x5ad85b
cmp ebx, 0xc0a
je 0x5ad9f4
push ebx
call fcn.00556c70
push eax
push 0x681cc8
push dword [ebp - 0xd4]
call fcn.005a6f80
add esp, 0x10
jmp 0x5ad9f4
mov edi, dword [ebp - 0xd4]
add ebx, 0x14
mov dword [ebp - 0xe0], ebx
mov ebx, 6
mov dword [ebp - 0xd8], 6
mov byte [edi + 0x56], 2
mov edi, edx
jmp 0x5ad9f4
push str.too_many_levels_of_trigger_recursion
push dword [ebp - 0xd4]
mov dword [ebp - 0xd8], 1
call fcn.005a6f80
add esp, 8
mov edi, esi
add ebx, 0x14
mov dword [ebp - 0xe0], ebx
mov ebx, 1
jmp 0x5ad9f4
mov ecx, str.out_of
mov dword [ebp - 0xd8], 1
cmp esi, 5
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push dword [ebp - 0xd4]
call fcn.005a6f80
mov edi, dword [ebp - 0xdc]
add esp, 0xc
add ebx, 0x14
mov dword [ebp - 0xe0], ebx
mov ebx, 1
jmp 0x5ad9f4
push dword [ebp - 0xf0]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
mov edi, dword [ebp - 0xdc]
jmp 0x5ad9c9
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov dword [ebp - 0xd8], 6
mov dword [ebp - 0xe0], ebx
mov ebx, 6
jmp 0x5ad9f4
mov edi, eax
jmp 0x5aaba0
mov edi, edx
jmp 0x5aaba0
mov edi, dword [ebp - 0xdc]
add ebx, 0x14
mov dword [ebp - 0xe0], ebx
mov ebx, 6
mov dword [ebp - 0xd8], 6
jmp 0x5ad9f4
mov ecx, dword [ebp - 0xd4]
mov eax, dword [str.interrupted]
test eax, eax
mov dword [ecx + 0x50], 9
mov ecx, str.unknown_error
cmovne ecx, eax
mov dword [ebp - 0xd8], 9
push ecx
push 0x681cc8
push dword [ebp - 0xd4]
call fcn.005a6f80
add esp, 0xc
mov ebx, 9
jmp 0x5ad9f4
mov edi, eax
mov ecx, dword [ebp - 0xd4]
push str.out_of_memory
push ecx
mov byte [edi + 0x41], 1
call fcn.005a6f80
mov ebx, 7
add esp, 8
mov dword [ebp - 0xd8], ebx
jmp 0x5ad9f4
mov ebx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd4]
mov eax, 0x66666667
mov dword [ecx + 0x50], ebx
mov ebx, ecx
mov ecx, dword [ebp - 0xe0]
sub ecx, dword [ebp - 0x118]
imul ecx
push dword [ebx + 0x2c]
sar edx, 3
push dword [ebx + 0xa8]
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0xd8]
call fcn.0055bef0
push ebx
call fcn.005ae3f0
add esp, 0x18
cmp dword [ebp - 0xd8], 0xc0a
jne 0x5ada4f
mov byte [edi + 0x41], 1
mov al, byte [ebp - 0x131]
mov edi, 1
test al, al
je 0x5ada8d
mov ebx, dword [ebp - 0xdc]
movzx esi, al
dec esi
mov ecx, esi
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.0059dfc0
add esp, 4
cmp esi, edi
je 0x5ada8d
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.0059dfc0
add esp, 4
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x13c]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x140]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x154]
add dword [eax + 0x7c], ecx
cmp dword [eax + 0x64], 0
je 0x5adac3
push eax
call fcn.005b95e0
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005e9f40
mov esp, ebp
pop ebp
ret