Function at 0x1006b9b9
Capabilities:
Encrypt data using speck
Parse credit card information
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x27c
mov eax, dword [0x10152034]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x1c], 0
push edi
mov dword [ebp - 0x14], esi
mov byte [ebp - 0x75], 0
mov ebx, dword [esi]
mov edi, dword [esi + 0x58]
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x28], edi
mov al, byte [ebx + 0x42]
mov byte [ebp - 0x68], al
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x20], eax
call fcn.10064830
cmp dword [esi + 0x28], 7
je 0x1006cae5
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x68], 0
cmp dword [ebx + 0xf8], 0
mov dword [ebx + 0x184], 0
jne 0x1007011d
cmp dword [ebx + 0x130], 0
je 0x1006b0b7
mov ecx, dword [ebx + 0x138]
xor edx, edx
mov eax, dword [esi + 0xac]
div ecx
sub ecx, edx
mov dword [ebp - 0xa8], ecx
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x130], 0x3e00
mov dword [ebp - 0x12c], 0x17
lea eax, [eax + eax*4]
lea edi, [edi + eax*4]
xor eax, eax
inc eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x18], eax
mov ecx, 4
mov al, byte [edi]
movzx edx, al
mov byte [ebp - 0x35], al
mov dword [ebp - 0x2c], edx
cmp edx, 0xa0
ja case.0x1006b0f9.95
jmp dword [edx*4 + 0x10070290]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x20]
lea esi, [eax + eax*4]
mov eax, 0x66666667
mov word [ebx + esi*8 + 8], cx
mov ecx, edi
sub ecx, dword [ebp - 0x64]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x14]
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x74]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov eax, dword [ebp - 0x18]
add edi, 0x14
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x64]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*4]
mov ebx, dword [ebp - 0x74]
mov eax, 0x80
add edi, 0x14
mov word [edx + ecx*8 + 8], ax
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 8], ax
cmp dword [edi + 8], 0
jne 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x64]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, 0x80
mov word [ebx + ecx*8 + 8], ax
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x64]
mov eax, dword [ebx + 4]
sub ebx, edi
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x20]
mov word [eax + esi*8 + 8], cx
mov ecx, dword [eax + esi*8]
mov eax, 0x66666667
imul ebx
mov ebx, dword [ebp - 0x20]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
lea edi, [edi + eax*4]
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je case.0x1006b0f9.95
mov ecx, edi
mov eax, 0x66666667
sub ecx, dword [ebp - 0x64]
imul ecx
sar edx, 3
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [ebp - 0x28]
cmp dword [edx + 4], 0
jne 0x1006fc0b
mov ecx, dword [esi + 0xb8]
test ecx, ecx
je 0x1006fc0b
mov eax, dword [ecx + 4]
dec dword [esi + 0xc0]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0x2c]
add dword [ebx + 0x5c], eax
mov dword [ebx + 0x58], eax
call fcn.100652e0
mov esi, dword [ebp - 0x28]
cmp dword [esi + 8], 4
mov esi, dword [ebp - 0x14]
jne 0x1006b2a5
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [esi + 0x58]
lea eax, [eax + eax*4]
mov ecx, dword [esi + 0x5c]
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0x64], edx
lea edi, [edx + eax*4]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x18]
add edi, 0x14
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov ebx, dword [ebp - 0x74]
mov ecx, eax
mov eax, dword [edi + 4]
add edi, 0x14
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx + 4], edx
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov ecx, dword [edi + 0x10]
mov edx, eax
mov ebx, dword [ebp - 0x74]
add edi, 0x14
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov ebx, dword [ebp - 0x74]
mov ecx, eax
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [edi + 0x10]
add edi, 0x14
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x18]
movsd qword [ecx], xmm0
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov esi, eax
mov eax, dword [ebp - 0x28]
mov byte [eax], 0x4f
mov eax, dword [eax + 0x10]
mov ecx, eax
mov dword [ebp - 0x24], eax
call fcn.10047610
cmp byte [ebp - 0x68], 1
mov edi, dword [ebp - 0x28]
mov dword [edi + 4], eax
je 0x1006b3c0
mov edx, dword [ebp - 0x24]
mov ecx, esi
push 0
push 1
push 0xffffffffffffffff
call fcn.10062ac0
movzx edx, byte [ebp - 0x68]
add esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
call fcn.10061e80
test eax, eax
jne 0x1006cae5
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
mov eax, edi
cmp byte [eax + 1], 0xff
jne 0x1006b3ad
mov edx, dword [eax + 0x10]
mov ecx, ebx
call fcn.100448c0
mov eax, edi
mov edi, dword [ebp - 0x28]
mov byte [eax + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
cmp eax, dword [ebx + 0x60]
jg 0x1006bc10
mov esi, dword [ebp - 0x14]
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x68]
mov byte [ecx + 0xa], al
mov eax, dword [edi + 0xc]
test eax, eax
jle case.0x1006b0f9.95
mov ebx, dword [ebp - 0x20]
lea esi, [eax + eax*4]
movzx eax, word [edi + 2]
cdq
cmp dword [ebx + esi*8], eax
jne 0x1006b48d
cmp dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x14]
jne case.0x1006b0f9.95
mov ebx, dword [ebp - 0x74]
mov eax, 0xa10
mov word [ecx + 8], ax
add edi, 0x14
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov ebx, dword [edi + 0xc]
mov ecx, 1
sub ebx, dword [edi + 8]
mov edx, 0x101
cmp dword [edi + 4], 0
lea esi, [eax + 0xc]
cmovne ecx, edx
mov dword [esi], 0
movzx ecx, cx
mov dword [ebp - 0x24], ecx
mov word [eax + 8], cx
test ebx, ebx
jle 0x1006b48d
mov edi, ecx
lea esp, [esp]
lea esi, [esi + 0x28]
lea ecx, [esi - 0xc]
call fcn.100627d0
dec ebx
mov word [esi - 4], di
mov dword [esi], 0
test ebx, ebx
jg 0x1006b470
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
add edi, 0x14
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ebx, 0xff7f
mov edx, dword [ebp - 0x20]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, bx
mov ebx, dword [ebp - 0x74]
or ax, 1
add edi, 0x14
mov word [edx + ecx*8 + 8], ax
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov esi, eax
mov eax, dword [ebp - 0x28]
push 0
push 0
mov ecx, esi
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.10062ac0
mov al, byte [ebp - 0x68]
add esp, 0xc
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x74]
add edi, 0x14
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x74]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.10062940
test eax, eax
jne 0x1006bc10
mov eax, dword [edi + 8]
lea edx, [esi - 0x28]
mov ecx, dword [ebp - 0x20]
push 0x800
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.100629a0
mov esi, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x54], eax
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [edi + 8]
mov dword [ebp - 0x5c], ecx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov edi, edi
mov edx, ecx
mov ecx, esi
call fcn.10062a70
mov eax, 0x1000
test word [esi + 8], ax
je 0x1006b593
mov ecx, esi
call fcn.10061fe0
test eax, eax
jne 0x1006cae5
mov ecx, dword [ebp - 0x5c]
add esi, 0x28
add ecx, 0x28
dec dword [ebp - 0x54]
mov dword [ebp - 0x5c], ecx
jne 0x1006b570
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x5c], eax
mov eax, dword [edi + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [ebp - 0x54], ecx
mov edx, ecx
push 0x1000
mov ecx, esi
call fcn.100629a0
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x1006b5fe
mov ecx, esi
call fcn.10061fe0
test eax, eax
jne 0x1006cae5
mov ecx, dword [ebp - 0x5c]
mov eax, ecx
dec ecx
mov dword [ebp - 0x5c], ecx
test eax, eax
je 0x1006b48d
mov ecx, dword [ebp - 0x54]
add esi, 0x28
add ecx, 0x28
jmp 0x1006b5d0
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x20]
push 0x1000
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.100629a0
mov eax, dword [ebp - 0x18]
add esp, 4
mov ebx, dword [ebp - 0x74]
add edi, 0x14
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
push dword [ebx + eax*8 + 4]
push dword [ebx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.10062830
mov eax, dword [ebp - 0x18]
add esp, 8
mov ebx, dword [ebp - 0x74]
add edi, 0x14
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [edi + 8]
mov dword [ebp - 0x2c], edx
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x34], ecx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
movzx eax, word [edx + 8]
mov dword [ebp - 0x24], eax
mov al, byte [ecx + 8]
or al, byte [ebp - 0x24]
test al, 1
je 0x1006b6c6
mov ecx, esi
call fcn.100627d0
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
movzx eax, word [edx + 8]
test eax, 0x4000
je 0x1006b6e3
mov ecx, edx
call fcn.10062060
test eax, eax
jne 0x1006cae5
mov ecx, dword [ebp - 0x34]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x1006b6fb
call fcn.10062060
test eax, eax
jne 0x1006cae5
mov eax, dword [ebp - 0x2c]
test byte [eax + 8], 0x12
jne 0x1006b71b
mov dl, byte [ebp - 0x68]
mov ecx, eax
push 0
call fcn.10062110
add esp, 4
test eax, eax
jne 0x1006cae5
mov eax, dword [ebp - 0x34]
test byte [eax + 8], 0x12
jne 0x1006b73e
mov dl, byte [ebp - 0x68]
mov ecx, eax
push 0
call fcn.10062110
add esp, 4
test eax, eax
jne 0x1006cae5
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov dword [ebp - 0x50], eax
mov ecx, edx
mov eax, dword [ebx + 0x60]
cdq
cmp ecx, edx
jg 0x1006bc10
mov edx, dword [ebp - 0x50]
jl 0x1006b766
cmp edx, eax
ja 0x1006bc10
xor eax, eax
mov ecx, esi
cmp esi, dword [ebp - 0x34]
sete al
add edx, 2
push eax
call fcn.10061ea0
add esp, 4
test eax, eax
jne 0x1006cae5
mov ax, word [esi + 8]
mov ecx, 0x3e00
mov ebx, dword [ebp - 0x34]
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, ebx
je 0x1006b7b0
push dword [ebx + 0xc]
push dword [ebx + 0x10]
push dword [esi + 0x10]
call sub.MSVCR120.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x2c]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [ebx + 0xc]
push eax
call sub.MSVCR120.dll_memcpy
mov eax, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x74]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [esi + 8], ax
add edi, 0x14
mov al, byte [ebp - 0x68]
mov byte [esi + 0xa], al
mov eax, dword [ebp - 0x18]
mov dword [esi + 0xc], ecx
mov esi, dword [ebp - 0x14]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov esi, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.1006af70
movzx ebx, ax
mov eax, dword [edi + 8]
mov dword [ebp - 0x6c], ebx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0x4c], eax
call fcn.1006af70
mov ecx, dword [ebp - 0x30]
movzx edx, ax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x24], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
mov al, byte [esi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x1006ba82
mov al, dl
and al, bl
test al, 4
je 0x1006b9a2
mov eax, ecx
mov byte [ebp - 0x35], 1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, esi
mov esi, dword [eax]
mov ebx, dword [eax + 4]
movzx eax, byte [edi]
add eax, 0xffffffd1
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], ebx
cmp eax, 3
ja case.default.0x1006b88b
jmp dword [eax*4 + 0x10070514]
push edx
push ecx
lea ecx, [ebp - 0x98]
call fcn.100488f0
add esp, 8
test eax, eax
je 0x1006b969
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x30]
call fcn.10062480
mov ecx, esi
movsd qword [ebp - 0x48], xmm0
call fcn.10062480
movzx eax, byte [edi]
movapd xmm1, xmm0
add eax, 0xffffffd1
movsd qword [ebp - 0x60], xmm1
cmp eax, 3
ja case.default.0x1006b8d9
jmp dword [eax*4 + 0x10070524]
push edx
push ecx
lea ecx, [ebp - 0x98]
call fcn.10048990
add esp, 8
test eax, eax
jne 0x1006b8aa
jmp 0x1006b969
push edx
push ecx
lea ecx, [ebp - 0x98]
call fcn.100489e0
add esp, 8
test eax, eax
jne 0x1006b8aa
jmp 0x1006b969
mov eax, ecx
or eax, edx
je 0x1006ba82
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x1006b92f
test esi, esi
jne 0x1006b92f
cmp ebx, 0x80000000
je 0x1006b8aa
push edx
push ecx
push ebx
push esi
call fcn.1010b0f0
jmp 0x1006b95d
mov eax, ecx
or eax, edx
je 0x1006ba82
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x1006b954
mov ecx, 1
xor edx, edx
push edx
push ecx
push ebx
push esi
call fcn.1010b280
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x2c]
mov edx, 0x3e00
mov eax, dword [ebp - 0x98]
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x74]
mov dword [ecx], eax
mov eax, dword [ebp - 0x94]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
add edi, 0x14
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov byte [ebp - 0x35], 0
jmp 0x1006b8b0
addsd xmm1, qword [ebp - 0x48]
jmp 0x1006ba2c
subsd xmm1, qword [ebp - 0x48]
jmp 0x1006ba2c
mulsd xmm1, qword [ebp - 0x48]
jmp 0x1006ba2c
movsd xmm0, qword [ebp - 0x48]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1006ba82
divsd xmm1, xmm0
jmp 0x1006ba2c
movsd xmm0, qword [ebp - 0x48]
call fcn.1010b70f
movsd xmm0, qword [ebp - 0x60]
mov esi, eax
mov ebx, edx
call fcn.1010b70f
mov ecx, eax
mov dword [ebp - 0x94], edx
mov eax, esi
mov dword [ebp - 0x98], ecx
or eax, ebx
je 0x1006ba82
mov eax, esi
and eax, ebx
cmp eax, 0xffffffff
jne 0x1006ba18
mov esi, 1
xor ebx, ebx
push ebx
push esi
push edx
push ecx
call fcn.1010b280
mov ecx, eax
call fcn.1010b8af
movapd xmm1, xmm0
movapd xmm0, xmm1
call fcn.100475d0
test eax, eax
jne 0x1006ba82
mov ecx, dword [ebp - 0x2c]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x24]
or al, byte [ebp - 0x6c]
test al, 8
jne 0x1006b48d
cmp byte [ebp - 0x35], 0
jne 0x1006b48d
call fcn.100624e0
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [ebp - 0x2c]
call fcn.100627d0
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
test eax, eax
je case.0x1006b0f9.95
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.10062830
mov eax, dword [ebp - 0x18]
add esp, 8
mov ebx, dword [ebp - 0x74]
add edi, 0x14
jmp 0x1006b0d6
movzx eax, word [edi + 2]
mov ecx, ebx
mov dword [ebp - 0x24], eax
push 0
lea eax, [eax*4 + 0x1c]
push eax
call fcn.10044c10
mov esi, eax
add esp, 8
test esi, esi
je 0x1006cae5
mov dword [esi], 0
mov ecx, edi
mov eax, dword [edi + 0x10]
sub ecx, dword [ebp - 0x64]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x24]
mov byte [esi + 0x1a], al
mov word [edi], 0xf05b
mov dword [edi + 0x10], esi
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
mov esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov dword [ebp - 0x2c], edx
cmp dword [esi], edx
je 0x1006bb6a
movzx ecx, byte [esi + 0x1a]
dec ecx
mov dword [esi], edx
js 0x1006bb6a
mov ebx, dword [ebp - 0x20]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
nop
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
dec ecx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x1006bb50
mov ebx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x2c]
mov ax, word [edx + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 1
mov word [edx + 8], ax
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov byte [esi + 0x19], 0
mov eax, dword [ecx + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x1006bbe9
cmp dword [esi + 0x14], 0
je 0x1006bbc5
push dword [ebp - 0x2c]
call fcn.10068570
add esp, 4
push eax
push 0x1013a454
push dword [ebp - 0x14]
call fcn.10063370
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1c], eax
push dword [edi + 4]
mov ecx, ebx
push dword [esi + 0x10]
mov esi, dword [ebp - 0x14]
lea edx, [esi + 0xcc]
call fcn.10066430
mov eax, dword [ebp - 0x1c]
add esp, 8
test eax, eax
jne 0x1006fcdb
mov esi, dword [ebp - 0x2c]
test byte [esi + 8], 0x12
je 0x1006b48d
movzx edx, byte [ebp - 0x68]
mov ecx, esi
call fcn.10061e80
mov ecx, esi
call fcn.10062940
test eax, eax
je 0x1006b48d
mov esi, dword [ebp - 0x14]
push str.string_or_blob_too_big
push esi
call fcn.10063370
add esp, 8
mov eax, 0x12
jmp 0x1006fcdb
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea ebx, [edx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov al, byte [ecx + 8]
or al, byte [ebx + 8]
mov dword [ebp - 0x24], edx
test al, 1
je 0x1006bc6b
mov ecx, edx
call fcn.100627d0
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
call fcn.100623d0
mov esi, edx
mov dword [ebp - 0x34], eax
mov ecx, ebx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], esi
call fcn.100623d0
mov cl, byte [edi]
mov ebx, eax
cmp cl, 0x2b
jne 0x1006bc9d
mov ecx, dword [ebp - 0x34]
and ecx, ebx
and esi, edx
jmp 0x1006bd62
cmp cl, 0x2c
jne 0x1006bcae
mov ecx, dword [ebp - 0x34]
or ecx, ebx
or esi, edx
jmp 0x1006bd62
mov eax, ebx
or eax, edx
je 0x1006bd5f
test edx, edx
jg 0x1006bce6
jl 0x1006bcc2
test ebx, ebx
jae 0x1006bcdb
mov al, 0x5b
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x1006bce6
jg 0x1006bcd4
cmp ebx, 0xffffffc0
jbe 0x1006bce6
neg ebx
adc edx, 0
neg edx
test edx, edx
jl 0x1006bd0a
jg 0x1006bce6
cmp ebx, 0x40
jb 0x1006bd0a
test esi, esi
jg 0x1006bd01
jl 0x1006bcf2
cmp dword [ebp - 0x34], 0
jae 0x1006bd01
cmp cl, 0x2d
je 0x1006bd01
or eax, 0xffffffff
cdq
mov ecx, eax
mov esi, edx
jmp 0x1006bd62
xor eax, eax
cdq
mov ecx, eax
mov esi, edx
jmp 0x1006bd62
movq xmm1, qword [ebp - 0x118]
movd xmm0, ebx
cmp cl, 0x2d
jne 0x1006bd2c
psllq xmm1, xmm0
movq qword [ebp - 0x48], xmm1
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
jmp 0x1006bd62
psrlq xmm1, xmm0
movq qword [ebp - 0x48], xmm1
test esi, esi
jg 0x1006bd24
jl 0x1006bd41
cmp dword [ebp - 0x34], 0
jae 0x1006bd24
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, ebx
or edx, 0xffffffff
call fcn.1010b340
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
or ecx, eax
or esi, edx
jmp 0x1006bd62
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x74]
mov ax, word [edx + 8]
mov dword [edx], ecx
mov ecx, 0x3e00
and ax, cx
mov dword [edx + 4], esi
mov esi, dword [ebp - 0x14]
or ax, 4
mov word [edx + 8], ax
add edi, 0x14
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.10062580
mov eax, dword [edi + 8]
mov ebx, dword [ebp - 0x74]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x18]
adc dword [esi + 4], edx
add edi, 0x14
mov esi, dword [ebp - 0x14]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x1006be0c
test al, 8
jne 0x1006bde6
test al, 2
je 0x1006bded
mov edx, 1
mov ecx, esi
call fcn.1006ad80
jmp 0x1006bded
mov ecx, esi
call fcn.100624e0
movzx eax, word [esi + 8]
test al, 4
jne 0x1006be0c
cmp dword [edi + 8], 0
mov esi, dword [ebp - 0x14]
jne 0x1006b12f
mov eax, 0x14
jmp 0x1006fcdb
mov ebx, dword [ebp - 0x74]
and eax, 0x3e00
or eax, 4
add edi, 0x14
mov word [esi + 8], ax
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea ecx, [ecx + eax*8]
je case.0x1006b0f9.95
call fcn.100625b0
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x1006be76
mov ecx, esi
call fcn.10062060
mov dword [ebp - 0x1c], eax
jmp 0x1006be7d
mov dword [ebp - 0x1c], 0
push dword [ebp - 0x68]
mov dl, byte [edi + 8]
mov ecx, esi
call fcn.10062700
mov eax, dword [ebp - 0x1c]
add esp, 4
mov esi, dword [ebp - 0x14]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x2c], ebx
lea eax, [eax + eax*4]
movzx edx, word [ecx + eax*8 + 8]
lea esi, [ecx + eax*8]
movzx eax, word [ebx + 8]
mov ecx, edx
or ecx, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x3c], edx
test cl, 1
je 0x1006bf57
movzx eax, word [edi + 2]
test al, al
jns 0x1006bf03
mov al, dl
and al, byte [ebp - 0x4c]
test al, 1
je 0x1006bef9
test edx, 0x100
jne 0x1006bef9
xor edx, edx
jmp 0x1006c04c
mov edx, 1
jmp 0x1006c04c
mov esi, dword [ebp - 0x14]
test al, 0x20
je 0x1006bf41
mov eax, dword [edi + 8]
mov ebx, 0x3e00
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x90], 1
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, bx
mov ebx, dword [ebp - 0x74]
or ax, 1
add edi, 0x14
mov word [edx + ecx*8 + 8], ax
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
test al, 0x10
jne 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov al, byte [edi + 2]
and al, 0x47
cmp al, 0x43
jl 0x1006bfdb
test cl, 2
je 0x1006bf90
mov al, byte [ebp - 0x4c]
and al, 0xe
cmp al, 2
jne 0x1006bf7e
xor edx, edx
mov ecx, ebx
call fcn.1006ad80
movzx eax, word [esi + 8]
mov dword [ebp - 0x3c], eax
mov al, byte [ebp - 0x3c]
and al, 0xe
cmp al, 2
jne 0x1006bf90
xor edx, edx
mov ecx, esi
call fcn.1006ad80
mov al, byte [ebx + 8]
and al, byte [esi + 8]
test al, 4
je 0x1006c03b
mov edx, dword [ebp - 0x2c]
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
mov eax, dword [edx]
mov edx, dword [edx + 4]
cmp ebx, edx
jl 0x1006bfcc
jg 0x1006bfb5
cmp ecx, eax
jbe 0x1006bfc2
mov ebx, dword [ebp - 0x2c]
mov edx, 1
jmp 0x1006c04c
cmp ebx, edx
jg 0x1006bfd4
jl 0x1006bfcc
cmp ecx, eax
jae 0x1006bfd4
mov ebx, dword [ebp - 0x2c]
or edx, 0xffffffff
jmp 0x1006c04c
mov ebx, dword [ebp - 0x2c]
xor edx, edx
jmp 0x1006c04c
cmp al, 0x42
jne 0x1006c03b
mov al, byte [ebp - 0x4c]
test al, 2
jne 0x1006c00d
test al, 0xc
je 0x1006c00d
mov dl, byte [ebp - 0x68]
mov ecx, ebx
push 1
call fcn.10062110
mov ax, word [ebx + 8]
mov ecx, 0x7e00
xor ax, word [ebp - 0x4c]
add esp, 4
and ax, cx
xor word [ebp - 0x4c], ax
mov al, byte [ebp - 0x3c]
test al, 2
jne 0x1006c03b
test al, 0xc
je 0x1006c03b
mov dl, byte [ebp - 0x68]
mov ecx, esi
push 1
call fcn.10062110
mov ax, word [esi + 8]
mov ecx, 0x7e00
xor ax, word [ebp - 0x3c]
add esp, 4
and ax, cx
xor word [ebp - 0x3c], ax
push dword [edi + 0x10]
mov edx, ebx
mov ecx, esi
call fcn.10067250
add esp, 4
mov edx, eax
movzx eax, byte [edi]
add eax, 0xffffffdc
cmp eax, 4
ja case.default.0x1006c057
jmp dword [eax*4 + 0x10070534]
xor ecx, ecx
test edx, edx
sete cl
jmp 0x1006c08d
mov ecx, edx
jmp 0x1006c08d
xor ecx, ecx
test edx, edx
sets cl
jmp 0x1006c08d
xor ecx, ecx
test edx, edx
setle cl
jmp 0x1006c08d
xor ecx, ecx
test edx, edx
setg cl
jmp 0x1006c08d
xor ecx, ecx
test edx, edx
setns cl
movzx eax, word [ebp - 0x4c]
mov word [ebx + 8], ax
movzx eax, word [ebp - 0x3c]
mov word [esi + 8], ax
movzx ebx, word [edi + 2]
test bl, 0x20
je 0x1006d8c0
mov eax, dword [edi + 8]
mov dword [ebp - 0x90], edx
xor edx, edx
test ecx, ecx
setne dl
lea esi, [eax + eax*4]
test bl, 8
je 0x1006c0d2
xor eax, eax
cmp byte [edi], 0x25
sete al
cmp eax, edx
je 0x1006b48d
mov ebx, dword [ebp - 0x20]
mov eax, 0x3e00
mov cx, word [ebx + esi*8 + 8]
and cx, ax
mov eax, edx
cdq
or cx, 4
mov dword [ebx + esi*8], eax
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov word [ebx + esi*8 + 8], cx
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
cmp dword [ebp - 0x90], 0
jne 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
test byte [edi + 2], 1
jne 0x1006c12b
xor eax, eax
jmp 0x1006c131
mov eax, dword [edi - 4]
add eax, 4
mov ebx, dword [edi + 4]
xor esi, esi
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x6c], ebx
mov ebx, dword [edi + 8]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x24], ebx
test ecx, ecx
jle 0x1006b48d
lea ebx, [edx + 0x14]
lea esp, [esp]
test eax, eax
je 0x1006c169
mov ecx, dword [eax + esi*4]
jmp 0x1006c16b
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x20]
push dword [ebx]
movzx eax, byte [eax + esi]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x24]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x6c]
add eax, ecx
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.10067250
mov ecx, eax
add esp, 4
mov dword [ebp - 0x90], ecx
test ecx, ecx
jne 0x1006c1c7
mov eax, dword [ebp - 0x5c]
inc esi
mov edx, dword [ebp - 0x2c]
add ebx, 4
cmp esi, dword [ebp - 0x54]
jl 0x1006c160
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
cmp dword [ebp - 0x50], 0
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
je 0x1006b493
mov ebx, dword [ebp - 0x74]
neg ecx
mov dword [ebp - 0x90], ecx
add edi, 0x14
jmp 0x1006b0d6
mov ecx, dword [ebp - 0x90]
test ecx, ecx
mov ecx, dword [ebp - 0x64]
jns 0x1006c211
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x74]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov eax, dword [ebp - 0x18]
add edi, 0x14
jmp 0x1006b0d6
jne 0x1006c22d
mov eax, dword [edi + 8]
mov ebx, dword [ebp - 0x74]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov eax, dword [ebp - 0x18]
add edi, 0x14
jmp 0x1006b0d6
mov eax, dword [edi + 0xc]
mov ebx, dword [ebp - 0x74]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [ecx + eax*4]
mov eax, dword [ebp - 0x18]
add edi, 0x14
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
je 0x1006c261
mov esi, 2
jmp 0x1006c273
call fcn.100623d0
or eax, edx
je 0x1006c271
mov esi, 1
jmp 0x1006c273
xor esi, esi
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
je 0x1006c28a
mov eax, 2
jmp 0x1006c29c
call fcn.100623d0
or eax, edx
je 0x1006c29a
mov eax, 1
jmp 0x1006c29c
xor eax, eax
cmp byte [edi], 0x1c
lea eax, [eax + esi*2]
jne 0x1006c2ae
movzx edx, byte [esi + eax + 0x10129534]
jmp 0x1006c2b6
movzx edx, byte [esi + eax + 0x101285a8]
mov eax, dword [edi + 0xc]
mov esi, dword [ebp - 0x14]
lea ecx, [eax + eax*4]
cmp edx, 2
jne 0x1006c2e8
mov ax, word [ebx + ecx*8 + 8]
mov edx, 0x3e00
and ax, dx
or ax, 1
add edi, 0x14
mov word [ebx + ecx*8 + 8], ax
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, edx
cdq
mov dword [ebx + ecx*8], eax
mov ax, word [ebx + ecx*8 + 8]
mov dword [ebx + ecx*8 + 4], edx
mov edx, 0x3e00
and ax, dx
or ax, 4
add edi, 0x14
mov word [ebx + ecx*8 + 8], ax
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100627d0
test byte [ebx + 8], 1
jne 0x1006b48d
mov eax, 4
mov ecx, ebx
mov word [esi + 8], ax
call fcn.100623d0
or eax, edx
jne 0x1006c36c
mov ebx, dword [ebp - 0x74]
mov eax, 1
cdq
add edi, 0x14
mov dword [esi], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x14]
jmp 0x1006b0d6
mov ebx, dword [ebp - 0x74]
xor eax, eax
cdq
add edi, 0x14
mov dword [esi], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x14]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100627d0
test byte [ebx + 8], 1
jne 0x1006b48d
mov eax, 4
mov ecx, ebx
mov word [esi + 8], ax
call fcn.100623d0
mov ebx, dword [ebp - 0x74]
not eax
not edx
mov dword [esi], eax
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x14]
jmp 0x1006b0d6
mov esi, dword [esi + 0xb8]
test esi, esi
je 0x1006c438
mov eax, dword [ebp - 0x14]
mov ecx, edi
mov esi, dword [esi + 0x18]
sub ecx, dword [eax + 0x58]
mov eax, 0x66666667
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
and ecx, 7
shr edx, 3
shl eax, cl
mov bl, byte [edx + esi]
test bl, al
jne 0x1006b12c
mov al, 1
shl al, cl
or al, bl
mov ebx, dword [ebp - 0x74]
mov byte [edx + esi], al
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
add edi, 0x14
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
je 0x1006b12f
mov eax, dword [esi + 0x58]
mov ebx, dword [ebp - 0x74]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
add edi, 0x14
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x1006c479
mov ecx, dword [edi + 0xc]
jmp 0x1006c4a2
call fcn.10062480
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006c492
mov ecx, 1
jmp 0x1006c494
xor ecx, ecx
cmp byte [edi], 0x16
jne 0x1006c4a2
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
jne 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x8c]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x8c], eax
call fcn.100668a0
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x14]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x48]
cmp eax, dword [ebx + 0x20]
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x4c], edx
je 0x1006c640
cmp byte [esi + 2], 0
je 0x1006c585
cmp byte [esi], 3
jne 0x1006b6b0
mov eax, dword [esi + 0x28]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*8 + 0xc]
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], ecx
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [esi + 0x4c], eax
jmp 0x1006c5d5
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.1005aaf0
mov ecx, dword [ebp - 0x80]
mov eax, dword [esi + 0x1c]
mov dword [ecx + 0x50], eax
movsx eax, byte [esi + 0x44]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + eax*4 + 0x78]
mov edx, dword [eax + 0x3c]
movzx eax, word [esi + 0x20]
sub edx, ecx
mov esi, dword [ebp - 0x80]
cmp eax, edx
cmovb edx, eax
mov dword [ebp - 0x5c], edx
mov dword [esi + 0x4c], ecx
mov eax, dword [esi + 0x50]
cmp eax, edx
ja 0x1006c5c6
mov dword [esi + 0x54], eax
jmp 0x1006c5d2
cmp eax, dword [ebx + 0x60]
ja 0x1006bc10
mov dword [esi + 0x54], edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1006c5f7
movzx ecx, al
mov eax, 1
mov dword [ebp - 0xd0], ecx
jmp 0x1006c60e
lea edx, [ebp - 0xd0]
call fcn.10048730
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0x4c]
movzx eax, al
movzx eax, al
mov dword [esi + 0x30], eax
xor eax, eax
mov word [esi + 0x3a], ax
mov dword [edx], ecx
cmp dword [ebp - 0x5c], ecx
jae 0x1006c70b
mov dword [esi + 0x4c], eax
mov dword [esi + 0x54], eax
cmp ecx, 0x18003
ja 0x1006fcce
cmp ecx, dword [esi + 0x50]
ja 0x1006fcce
movzx eax, word [esi + 0x3a]
mov ecx, dword [ebp - 0x8c]
cmp eax, ecx
jg 0x1006c83d
mov eax, dword [esi + 0x30]
cmp eax, dword [edx]
jae 0x1006c7dd
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x1006c6af
xorps xmm0, xmm0
lea eax, [ebp - 0x1e0]
movdqu xmmword [ebp - 0x1e0], xmm0
push eax
movdqu xmmword [ebp - 0x1d0], xmm0
movq qword [ebp - 0x1c0], xmm0
push dword [edx]
mov ecx, dword [esi + 0x28]
xor edx, edx
call fcn.10062d70
add esp, 8
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
mov eax, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
movzx ecx, word [esi + 0x3a]
mov esi, dword [esi + 0x30]
add esi, dword [ebp - 0x2c]
mov dword [ebp - 0x6c], ecx
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x50], eax
mov eax, dword [edx]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x34], 0
lea eax, [eax + ecx*4]
add eax, 0x58
mov dword [ebp - 0x54], eax
lea ecx, [ecx]
movzx ecx, byte [esi]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0xac], ecx
cmp ecx, 0x80
jae 0x1006c718
movzx eax, cl
inc esi
movzx eax, byte [eax + 0x10129990]
cdq
add dword [ebp - 0x50], eax
adc dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x50]
jmp 0x1006c744
test ecx, ecx
je 0x1006c640
mov eax, dword [esi + 0x4c]
jmp 0x1006c6ac
lea edx, [ebp - 0xac]
mov ecx, esi
call fcn.10048730
mov ecx, dword [ebp - 0xac]
movzx eax, al
add esi, eax
mov dword [ebp - 0x30], ecx
call fcn.10066a50
mov edx, dword [ebp - 0x50]
add edx, eax
mov dword [ebp - 0x50], edx
adc dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
add dword [ebp - 0x54], 4
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
mov dword [ebx + eax*4], edx
mov ebx, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x8c]
jg 0x1006c770
cmp esi, dword [ebp - 0x5c]
jb 0x1006c6e0
jmp 0x1006c775
cmp esi, dword [ebp - 0x5c]
jb 0x1006c797
cmp esi, dword [ebp - 0x5c]
ja 0x1006fd35
mov ebx, dword [ebp - 0x80]
cmp edx, dword [ebx + 0x50]
mov ebx, dword [ebp - 0x74]
jne 0x1006fd35
cmp dword [ebp - 0x34], 0
jne 0x1006fd35
cmp dword [ebp - 0x34], 0
mov ebx, dword [ebp - 0x80]
mov ebx, dword [ebx + 0x50]
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x74]
ja 0x1006fd35
jb 0x1006c7b8
cmp edx, dword [ebp - 0x24]
ja 0x1006fd35
mov edx, dword [ebp - 0x80]
sub esi, dword [ebp - 0x2c]
mov word [edx + 0x3a], ax
mov dword [edx + 0x30], esi
mov esi, edx
cmp dword [esi + 0x4c], 0
jne 0x1006c7e8
lea ecx, [ebp - 0x1e0]
call fcn.100623b0
mov ecx, dword [ebp - 0x30]
jmp 0x1006c7e8
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0xac], ecx
movzx eax, word [esi + 0x3a]
cmp eax, dword [ebp - 0x8c]
jg 0x1006c84a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3c]
cmp byte [eax + 1], 0xf9
jne 0x1006c824
mov edx, dword [eax + 0x10]
push 0x800
call fcn.100629a0
mov edi, dword [ebp - 0x28]
add esp, 4
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
call fcn.100627d0
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [esi + ecx*4 + 0x58]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x3c]
mov eax, 0x2460
test word [edx + 8], ax
je 0x1006c862
mov ecx, edx
call fcn.100627d0
mov ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x8c]
mov eax, dword [esi + 0x54]
cmp eax, dword [ebx + edx*4 + 4]
mov ebx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x3c]
jb 0x1006c936
mov eax, dword [esi + 0x4c]
mov edx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x4c]
add eax, dword [esi + edx*4]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
cmp ecx, 0xc
jae 0x1006c8b3
push edx
mov edx, ecx
mov ecx, eax
call fcn.10066b90
mov esi, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebp - 0x18]
add edi, 0x14
jmp 0x1006b0d6
mov al, byte [ebp - 0x68]
lea esi, [ecx - 0xc]
mov ecx, dword [ebp - 0x3c]
shr esi, 1
mov dword [edx + 0xc], esi
mov byte [edx + 0xa], al
lea edx, [esi + 2]
cmp dword [ecx + 0x18], edx
jge 0x1006c8ec
mov eax, 1
push 0
mov word [ecx + 8], ax
call fcn.10061ea0
add esp, 4
test eax, eax
jne 0x1006cae5
mov ecx, dword [ebp - 0x3c]
jmp 0x1006c8f2
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
push esi
push dword [ebp - 0x24]
push dword [ecx + 0x10]
call sub.MSVCR120.dll_memcpy
mov ecx, dword [ebp - 0x3c]
add esp, 0xc
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x74]
and edx, 1
mov eax, dword [ecx + 0x10]
add edi, 0x14
mov byte [esi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [esi + eax + 1], 0
mov ax, word [edx*2 + 0x10128578]
mov esi, dword [ebp - 0x14]
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov al, byte [ebp - 0x68]
mov byte [edx + 0xa], al
movzx eax, word [edi + 2]
test al, 0xc0
je 0x1006c952
cmp ecx, 0xc
jb 0x1006c94e
test cl, 1
je 0x1006c95b
test al, al
js 0x1006c95b
call fcn.10066a50
test eax, eax
jne 0x1006c97c
push edx
mov edx, ecx
mov ecx, 0x101576f8
call fcn.10066b90
mov esi, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [ebp - 0x8c]
push edx
push eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esi + 0x28]
call fcn.10062d70
add esp, 8
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
mov ebx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx + 0x10]
call fcn.10066b90
mov esi, dword [ebp - 0x14]
mov eax, 0xefff
add esp, 4
and word [ebx + 8], ax
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
mov esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov al, byte [esi]
test al, al
je 0x1006b48d
push dword [ebp - 0x68]
mov dl, al
lea esi, [esi + 1]
mov ecx, ebx
call fcn.1006ae10
mov al, byte [esi]
add esp, 4
add ebx, 0x28
test al, al
jne 0x1006c9e5
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x3c], eax
xorps xmm0, xmm0
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x20]
mov esi, dword [edi + 0x10]
movlpd qword [ebp - 0x48], xmm0
movlpd qword [ebp - 0x70], xmm0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 8]
mov dword [ebp - 0x50], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax + 0x8f]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x5c], edx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0x24], eax
test esi, esi
je 0x1006ca92
mov al, byte [esi]
mov ebx, ecx
jmp 0x1006ca70
push dword [ebp - 0x68]
mov dl, al
mov ecx, ebx
call fcn.1006ae10
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add ebx, 0x28
test al, al
jne 0x1006ca70
mov ebx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x34], eax
lea ecx, [ecx]
lea eax, [ebp - 0xb4]
mov ecx, esi
push eax
call fcn.100668f0
mov ecx, 0x4000
mov dword [ebp - 0x6c], eax
add esp, 4
mov dword [esi + 0x1c], eax
test word [esi + 8], cx
je 0x1006cb3d
mov ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 0x2c]
je 0x1006cb29
mov ecx, esi
call fcn.10062060
test eax, eax
je 0x1006cb3a
cmp byte [ebx + 0x45], 0
jne 0x1006cb0e
cmp byte [ebx + 0x46], 0
jne 0x1006cb0e
cmp dword [ebx + 0xa8], 0
mov byte [ebx + 0x45], 1
jle 0x1006cb08
mov dword [ebx + 0xf8], 1
inc dword [ebx + 0x100]
mov esi, dword [ebp - 0x14]
push str.out_of_memory
push esi
call fcn.10063370
add esp, 8
mov eax, 7
jmp 0x1006fcdb
mov ecx, dword [esi]
mov eax, ecx
cdq
add dword [ebp - 0x34], eax
adc dword [ebp - 0x4c], edx
sub dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x30], ecx
adc dword [ebp - 0x2c], 0
cmp eax, 0x7f
ja 0x1006cb59
mov eax, 1
jmp 0x1006cb64
push 0
push eax
call fcn.100487b0
add esp, 8
mov ecx, dword [ebp - 0x3c]
add ecx, eax
mov dword [ebp - 0x3c], ecx
cmp esi, dword [ebp - 0x50]
je 0x1006cb7c
mov edx, dword [ebp - 0x5c]
sub esi, 0x28
jmp 0x1006cab0
cmp ecx, 0x7e
jle 0x1006cba7
mov eax, ecx
cdq
push edx
push eax
call fcn.100487b0
mov esi, eax
mov eax, dword [ebp - 0x3c]
add eax, esi
mov dword [ebp - 0x3c], eax
cdq
push edx
push eax
call fcn.100487b0
mov ecx, dword [ebp - 0x3c]
add esp, 0x10
cmp esi, eax
jge 0x1006cbab
inc ecx
mov dword [ebp - 0x3c], ecx
mov eax, ecx
cdq
mov esi, eax
mov eax, edx
mov edx, dword [ebp - 0x30]
add edx, esi
mov dword [ebp - 0x44], esi
mov esi, dword [ebp - 0x2c]
adc esi, eax
mov dword [ebp - 0x30], edx
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0x60]
adc esi, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], edx
cdq
cmp esi, edx
jg 0x1006bc10
jl 0x1006cbe5
cmp dword [ebp - 0x6c], eax
ja 0x1006bc10
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
cmp dword [esi + 0x18], eax
jge 0x1006cc0b
push 0
mov edx, eax
mov ecx, esi
call fcn.10061ea0
add esp, 4
test eax, eax
jne 0x1006cae5
mov ecx, dword [ebp - 0x3c]
jmp 0x1006cc16
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov edi, dword [esi + 0x10]
cmp ecx, 0x80
jae 0x1006cc2a
mov byte [edi], cl
mov eax, 1
jmp 0x1006cc3a
push dword [ebp - 0x5c]
mov ecx, edi
push dword [ebp - 0x44]
call fcn.10048550
add esp, 8
mov ebx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x3c]
movzx esi, al
mov ebx, dword [ebx + 0x1c]
cmp ebx, 0x80
jae 0x1006cc58
mov byte [esi + edi], bl
mov eax, 1
jmp 0x1006cc69
push 0
push ebx
lea ecx, [esi + edi]
call fcn.10048550
mov ecx, dword [ebp - 0x3c]
add esp, 8
push ebx
mov ebx, dword [ebp - 0x50]
add ecx, edi
movzx eax, al
mov edx, ebx
add esi, eax
call fcn.10066a70
mov ecx, dword [ebp - 0x3c]
add ebx, 0x28
add ecx, eax
mov dword [ebp - 0x50], ebx
add esp, 4
mov dword [ebp - 0x3c], ecx
cmp ebx, dword [ebp - 0x54]
jbe 0x1006cc43
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x28]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x4c]
je 0x1006ccbb
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
mov byte [edx + 0xa], 1
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x128]
mov eax, dword [esi + 0x70]
xorps xmm0, xmm0
movlpd qword [ebp - 0x128], xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
call fcn.1005fd20
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov ecx, dword [ebp - 0x128]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x124]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x5c], eax
test ecx, ecx
jne 0x1006cdff
cmp dword [ebx + 0xa4], ecx
jg 0x1006fd50
mov ecx, eax
call fcn.10047610
mov ecx, dword [ebx + 0x1b4]
mov esi, eax
add ecx, dword [ebx + 0x1b0]
xor edx, edx
push ecx
mov ecx, ebx
mov dword [ebp - 0x44], esi
call fcn.100a98f0
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
lea eax, [esi + 0x21]
mov ecx, ebx
push 0
push eax
call fcn.10044c10
mov esi, eax
add esp, 8
test esi, esi
je 0x1006b48d
mov ecx, dword [ebp - 0x44]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push dword [ebp - 0x5c]
push edx
call sub.MSVCR120.dll_memcpy
add esp, 0xc
cmp byte [ebx + 0x43], 0
je 0x1006cdb5
mov byte [ebx + 0x43], 0
mov byte [ebx + 0x4b], 1
jmp 0x1006cdbb
inc dword [ebx + 0x1b0]
mov eax, dword [ebx + 0x1a8]
add edi, 0x14
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x1b8]
mov dword [ebx + 0x1a8], esi
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x1bc]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x1c0]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0x1c4]
mov ebx, dword [ebp - 0x74]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov esi, dword [ebx + 0x1a8]
xor ecx, ecx
mov dword [ebp - 0x30], ecx
test esi, esi
je 0x1006fda3
mov ecx, dword [esi]
mov edx, eax
call fcn.10047920
test eax, eax
je 0x1006ce2a
inc dword [ebp - 0x30]
mov esi, dword [esi + 0x18]
mov eax, dword [ebp - 0x5c]
jmp 0x1006ce0a
cmp dword [ebx + 0xa4], 0
mov edx, dword [ebp - 0x34]
jle 0x1006ce3f
cmp edx, 1
je 0x1006fd68
cmp dword [esi + 0x18], 0
jne 0x1006ce91
cmp byte [ebx + 0x4b], 0
je 0x1006ce91
mov dword [ebp - 0x5c], 1
cmp edx, 1
jne 0x1006ce98
mov ecx, dword [ebp - 0x14]
call fcn.10065f10
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x10070260
mov ecx, dword [ebp - 0x14]
mov byte [ebx + 0x43], 1
call fcn.10065f70
cmp eax, 5
je 0x1006fd72
mov eax, dword [ebp - 0x14]
mov byte [ebx + 0x4b], 0
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x1006cf7c
mov dword [ebp - 0x5c], 0
mov ecx, dword [ebx + 0x1b0]
sub ecx, dword [ebp - 0x30]
dec ecx
mov dword [ebp - 0x30], ecx
cmp edx, 2
jne 0x1006cf11
mov eax, dword [ebx + 0x18]
shr eax, 1
and eax, 1
mov dword [ebp - 0x24], 0
cmp dword [ebx + 0x14], 0
mov dword [ebp - 0x54], eax
jle 0x1006cf18
xor ecx, ecx
test eax, eax
sete cl
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x6c], eax
push ecx
mov ecx, dword [ebx + 0x10]
mov edx, 0x204
mov ecx, dword [eax + ecx + 4]
call fcn.1005a500
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x6c]
inc ecx
add eax, 0x10
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x6c], eax
jl 0x1006ced1
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
jmp 0x1006cf18
mov dword [ebp - 0x54], 0
cmp dword [ebx + 0x14], 0
mov dword [ebp - 0x24], 0
jle 0x1006cf66
xor eax, eax
mov dword [ebp - 0x6c], eax
lea ebx, [ebx]
push ecx
mov ecx, dword [ebx + 0x10]
mov ecx, dword [eax + ecx + 4]
call fcn.1005a7b0
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x6c]
inc ecx
mov edx, dword [ebp - 0x34]
add eax, 0x10
cmp ecx, dword [ebx + 0x14]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x6c], eax
jl 0x1006cf30
cmp dword [ebp - 0x54], 0
je 0x1006cf7c
mov ecx, ebx
call fcn.10067f70
call fcn.10082570
or dword [ebx + 0x18], 2
cmp dword [ebx + 0x1a8], esi
je 0x1006cff0
jmp 0x1006cf90
cmp dword [ebx + 0x1c8], 0
mov ecx, dword [ebx + 0x1a8]
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x1a8], eax
je 0x1006cfb3
mov edx, ecx
mov ecx, ebx
call fcn.10044880
jmp 0x1006cfe2
cmp ecx, dword [ebx + 0x120]
jb 0x1006cfd9
cmp ecx, dword [ebx + 0x124]
jae 0x1006cfd9
mov eax, dword [ebx + 0x11c]
mov dword [ecx], eax
dec dword [ebx + 0x108]
mov dword [ebx + 0x11c], ecx
jmp 0x1006cfe2
push ecx
call fcn.10044810
add esp, 4
dec dword [ebx + 0x1b0]
cmp dword [ebx + 0x1a8], esi
jne 0x1006cf90
mov ecx, dword [ebp - 0x34]
cmp ecx, 1
jne 0x1006d043
mov eax, dword [esi + 0x18]
mov edx, esi
mov ecx, ebx
mov dword [ebx + 0x1a8], eax
call fcn.100448c0
cmp dword [ebp - 0x5c], 0
jne 0x1006d072
dec dword [ebx + 0x1b0]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
push ecx
mov ecx, ebx
call fcn.100a98f0
mov esi, dword [ebp - 0x14]
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
cmp dword [ebp - 0x5c], 0
mov eax, dword [esi + 8]
mov dword [ebx + 0x1b8], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x1bc], eax
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x1c0], eax
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x1c4], eax
je 0x1006d016
cmp ecx, 2
je 0x1006d016
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov edx, dword [edi + 8]
test edx, edx
je 0x1006d0a2
test dword [ebx + 0x18], 0x4000000
jne 0x1006fdbf
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x1006d184
mov ecx, esi
call fcn.10059740
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fdc9
cmp dword [edi + 8], eax
je 0x1006d157
mov ecx, dword [ebp - 0x14]
test byte [ecx + 0x90], 0x40
je 0x1006d157
cmp byte [ebx + 0x43], al
je 0x1006d0eb
cmp dword [ebx + 0xa0], 1
jle 0x1006d157
cmp dword [ecx + 0x30], 0
jne 0x1006d106
mov eax, dword [ebx + 0x1b0]
inc dword [ebx + 0x1b4]
add eax, dword [ebx + 0x1b4]
mov dword [ecx + 0x30], eax
mov eax, dword [ecx + 0x30]
xor edx, edx
dec eax
mov ecx, ebx
push eax
call fcn.100a98f0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jne 0x1006d130
mov eax, dword [ebp - 0x14]
mov ecx, esi
mov edx, dword [eax + 0x30]
call fcn.1005a760
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x1b8]
mov dword [ecx + 0x48], eax
mov eax, dword [ebx + 0x1bc]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebx + 0x1c0]
mov dword [ecx + 0x50], eax
mov eax, dword [ebx + 0x1c4]
mov dword [ecx + 0x54], eax
lea eax, [ebp - 0xf4]
mov edx, 1
push eax
mov ecx, esi
call fcn.1005fc40
mov ecx, dword [edi + 4]
add esp, 4
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov esi, dword [ebp - 0xf4]
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x1006d18e
xor esi, esi
xor eax, eax
mov dword [ebp - 0xf4], esi
cmp word [edi + 2], 0
je 0x1006d1a7
cmp esi, dword [edi + 0xc]
jne 0x1006fdf9
cmp eax, dword [edi + 0x10]
jne 0x1006fdf9
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [ebx + 0x10]
lea eax, [ebp - 0x11c]
mov edx, dword [edi + 0xc]
push eax
mov eax, dword [edi + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1005fc40
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov ebx, dword [ebp - 0x74]
mov ecx, eax
mov eax, dword [ebp - 0x11c]
add edi, 0x14
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx + 4], edx
jmp 0x1006b0d6
mov esi, dword [edi + 4]
push dword [edi + 0xc]
mov edx, dword [edi + 8]
shl esi, 4
add esi, dword [ebx + 0x10]
mov ecx, dword [esi + 4]
call fcn.1005fca0
mov dword [ebp - 0x1c], eax
add esp, 4
mov eax, dword [edi + 8]
cmp eax, 1
jne 0x1006d239
mov ecx, dword [esi + 0xc]
mov eax, dword [edi + 0xc]
mov dword [ecx], eax
or dword [ebx + 0x18], 2
jmp 0x1006d247
cmp eax, 2
jne 0x1006d247
mov ecx, dword [esi + 0xc]
mov al, byte [edi + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [edi + 4], 1
jne 0x1006d260
mov ecx, ebx
call fcn.10067f70
mov esi, dword [ebp - 0x14]
and dword [esi + 0x90], 0xfffffffe
jmp 0x1006d263
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x1006d295
mov eax, dword [esi + 0x34]
cmp eax, dword [edi + 8]
je 0x1006d39d
mov esi, dword [ebp - 0x14]
mov al, byte [ebp - 0x35]
test byte [esi + 0x90], 1
jne 0x1006fe45
mov esi, dword [edi + 0xc]
mov ecx, esi
mov edx, dword [edi + 8]
shl ecx, 4
add ecx, dword [ebx + 0x10]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x2c], edx
mov ebx, dword [ecx + 4]
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0x44], esi
cmp al, 0x6a
jne 0x1006d300
mov eax, dword [ecx + 0xc]
movzx edx, word [edi + 2]
mov ecx, dword [ebp - 0x14]
and edx, 8
or edx, 4
mov al, byte [eax + 0x4c]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x2c]
cmp al, byte [ecx + 0x8f]
jae 0x1006d307
mov byte [ecx + 0x8f], al
jmp 0x1006d307
mov dword [ebp - 0x24], 0
test byte [edi + 2], 0x10
je 0x1006d325
mov ecx, dword [ebp - 0x20]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.10062580
mov eax, dword [esi]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x2c], eax
mov al, byte [edi + 1]
cmp al, 0xfb
jne 0x1006d33e
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x5c], eax
movzx ecx, word [eax + 8]
movzx eax, word [eax + 6]
add ecx, eax
jmp 0x1006d34a
cmp al, 0xf5
jne 0x1006d347
mov ecx, dword [edi + 0x10]
jmp 0x1006d34a
mov ecx, dword [ebp - 0x6c]
mov edx, dword [edi + 4]
push 0
push esi
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.1006ac50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1006cae5
push dword [esi + 0x28]
mov eax, dword [ebp - 0x2c]
mov edx, eax
push dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x54]
push dword [ebp - 0x24]
or dword [esi + 8], 4
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.1005a930
mov dword [ebp - 0x1c], eax
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov dword [esi + 0x2c], eax
cmp byte [edi + 1], 0xfb
setne al
mov byte [esi + 4], al
mov eax, dword [esi + 0x28]
mov cl, byte [edi + 2]
mov esi, dword [ebp - 0x14]
and cl, 3
mov byte [eax + 0x43], cl
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov edx, dword [edi + 4]
mov ecx, esi
push 0
push 0xffffffffffffffff
push dword [edi + 8]
call fcn.1006ac50
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1006cae5
or dword [esi + 8], 1
xor edx, edx
mov byte [esi + 2], 1
movzx eax, word [edi + 2]
lea edi, [esi + 0xc]
mov ecx, dword [ebx]
or eax, 5
push 0x41e
push eax
push edi
push ebx
call fcn.10058770
add esp, 0x10
test eax, eax
jne 0x1006fcd8
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.10059740
test eax, eax
jne 0x1006fcd8
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov dword [ebp - 0x44], ecx
mov dword [esi + 0x2c], ecx
mov ecx, dword [edi]
je 0x1006d473
movzx eax, word [eax + 2]
lea edx, [ebp - 0x110]
or eax, 2
push eax
call fcn.1005f740
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006d46d
push dword [esi + 0x28]
mov edx, dword [ebp - 0x110]
push dword [ebp - 0x44]
mov ecx, dword [edi]
push 4
call fcn.1005a930
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov byte [esi + 4], 0
jmp 0x1006d48e
push dword [esi + 0x28]
mov edx, 1
push 0
push 4
call fcn.1005a930
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov byte [esi + 4], 1
test eax, eax
jne 0x1006fcd8
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x74]
cmp word [edi + 2], 8
setne al
shl eax, 2
xor eax, dword [esi + 8]
and eax, 4
xor dword [esi + 8], eax
add edi, 0x14
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov edx, dword [edi + 4]
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [edi + 8]
call fcn.1006ac50
mov edx, eax
add esp, 0xc
test edx, edx
je 0x1006cae5
mov eax, dword [ebp - 0x28]
push edx
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x2c], ecx
mov ecx, ebx
mov edx, dword [eax + 0xc]
call fcn.10071a90
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x10]
mov ecx, edi
mov esi, dword [edx + 0x14]
add ecx, 1
mov eax, esi
mov dword [edx + 0x10], ecx
adc eax, 0
or edi, esi
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
mov dword [edx + 0x14], eax
je 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov edx, dword [edi + 4]
mov ecx, esi
push 3
push 0xffffffffffffffff
push dword [edi + 0xc]
call fcn.1006ac50
add esp, 0xc
test eax, eax
je 0x1006cae5
mov ebx, dword [ebp - 0x74]
mov byte [eax + 2], 1
mov ecx, dword [edi + 8]
add edi, 0x14
mov dword [eax + 0x28], ecx
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, esi
mov edx, dword [esi + 0x70]
mov edx, dword [edx + eax*4]
call fcn.10065210
mov ecx, dword [edi + 4]
add edi, 0x14
mov eax, dword [esi + 0x70]
mov ebx, dword [ebp - 0x74]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov byte [esi + 2], cl
cmp byte [esi + 4], cl
je 0x1006d670
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov al, byte [ecx + 8]
and al, 0xe
mov dword [ebp - 0x5c], ecx
cmp al, 2
jne 0x1006d5e9
xor edx, edx
call fcn.1006ad80
mov ecx, dword [ebp - 0x5c]
call fcn.100623d0
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx ecx, word [ecx + 8]
test cl, 4
jne 0x1006d638
test cl, 8
je 0x1006b12c
mov ecx, eax
call fcn.1010b8af
mov eax, dword [ebp - 0x5c]
movsd xmm1, qword [eax]
comisd xmm0, xmm1
jbe 0x1006d627
mov eax, dword [ebp - 0x2c]
test al, 1
jne 0x1006d638
dec eax
jmp 0x1006d635
comisd xmm1, xmm0
jbe 0x1006d638
mov eax, dword [ebp - 0x2c]
test al, 1
je 0x1006d638
inc eax
mov dword [ebp - 0x2c], eax
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0x7c]
push eax
push 0
push dword [ebp - 0x50]
xor edx, edx
push dword [ebp - 0x54]
call fcn.1005b410
mov dword [ebp - 0x1c], eax
add esp, 0x10
mov eax, dword [ebp - 0x54]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcd8
jmp 0x1006d6f7
mov eax, dword [esi + 0x28]
test byte [eax + 0x43], 2
mov eax, 1
cmovne ecx, eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x140], eax
mov ax, word [edi + 0x10]
mov word [ebp - 0x138], ax
lea eax, [edx - 1]
test al, 1
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0x140]
sete al
mov byte [ebp - 0x132], 0
lea eax, [eax*2 - 1]
mov byte [ebp - 0x136], al
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x7c]
mov ecx, dword [esi + 0x28]
push eax
push 0
push 0
push 0
call fcn.1005b410
add esp, 0x10
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
cmp dword [ebp - 0x34], eax
je 0x1006d6f7
cmp byte [ebp - 0x132], al
je 0x1006d773
mov eax, dword [ebp - 0x2c]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov ecx, dword [ebp - 0x7c]
cmp eax, 0x19
jl 0x1006d736
test ecx, ecx
js 0x1006d721
jne 0x1006d718
cmp eax, 0x1a
je 0x1006d721
mov dword [ebp - 0x7c], 0
jmp 0x1006d77d
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0
push eax
push dword [esi + 0x28]
call fcn.1005bab0
jmp 0x1006d765
test ecx, ecx
jg 0x1006d752
jne 0x1006d741
cmp eax, 0x17
je 0x1006d752
mov eax, dword [esi + 0x28]
xor ecx, ecx
cmp byte [eax + 0x42], 1
setne cl
mov dword [ebp - 0x7c], ecx
jmp 0x1006d773
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0
push eax
push dword [esi + 0x28]
call fcn.1005bc30
add esp, 8
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
cmp dword [ebp - 0x7c], 0
jne 0x1006b12c
cmp dword [ebp - 0x34], 0
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
je 0x1006b493
mov ebx, dword [ebp - 0x74]
add edi, 0x14
add edi, 0x14
jmp 0x1006b0d6
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0x20]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], edx
cmp dword [ecx + 0x10], 0
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
jle 0x1006d7e5
mov eax, dword [edx + 0x2c]
lea edi, [ebp - 0x1b8]
mov dword [ebp - 0x1b8], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x1b0], ax
xor eax, eax
mov dword [ebp - 0x1b4], esi
mov esi, edx
mov dword [ebp - 0x6c], eax
jmp 0x1006d824
mov ecx, dword [edx + 0x2c]
call fcn.10066d40
mov edi, eax
mov dword [ebp - 0x6c], edi
test edi, edi
je 0x1006cae5
mov eax, 0x4000
test word [esi + 8], ax
je 0x1006d80c
mov ecx, esi
call fcn.10062060
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov esi, dword [ebp - 0x24]
mov ecx, dword [esi + 0x2c]
call fcn.10066db0
mov ecx, dword [ebp - 0x28]
add esp, 8
mov byte [edi + 0xa], 0
cmp byte [ecx], 0x1d
mov dword [ebp - 0x24], 0
jne 0x1006d85a
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
jle 0x1006d85a
mov eax, dword [edi + 4]
add eax, 8
test byte [eax], 1
jne 0x1006d853
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x1006d844
jmp 0x1006d85a
mov dword [ebp - 0x24], 1
mov ecx, dword [esi + 0x28]
lea eax, [ebp - 0xcc]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.1005b410
mov dword [ebp - 0x1c], eax
add esp, 0x10
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x1006d887
mov edx, eax
mov ecx, ebx
call fcn.100448c0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcd8
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
mov edi, dword [ebp - 0x28]
mov dword [esi + 0x20], eax
mov al, 1
cmp dword [ebp - 0xcc], ecx
mov byte [esi + 3], 0
sete cl
mov dword [esi + 0x1c], 0
sub al, cl
mov byte [esi + 2], al
cmp byte [edi], 0x1f
jne 0x1006d8d9
mov esi, dword [ebp - 0x14]
test ecx, ecx
jne 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
cmp dword [ebp - 0x24], 0
mov esi, dword [ebp - 0x14]
jne 0x1006b12f
test ecx, ecx
je 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x1006d93c
test al, 8
jne 0x1006d926
test al, 2
je 0x1006d92d
mov edx, 1
mov ecx, esi
call fcn.1006ad80
jmp 0x1006d92d
mov ecx, esi
call fcn.100624e0
test byte [esi + 8], 4
mov esi, dword [ebp - 0x14]
je 0x1006b12f
jmp case.0x1006b0f9.33
mov esi, dword [ebp - 0x14]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov edx, dword [ebp - 0x20]
mov ebx, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
mov ecx, dword [ebx + 0x28]
lea eax, [eax + eax*4]
mov dword [ebp - 0xbc], 0
mov esi, dword [edx + eax*8]
mov edi, dword [edx + eax*8 + 4]
lea eax, [ebp - 0xbc]
push eax
push 0
push edi
push esi
xor edx, edx
call fcn.1005b410
mov dword [ebx + 0x44], edi
add esp, 0x10
mov edi, dword [ebp - 0x28]
mov dword [ebx + 0x40], esi
mov word [ebx + 2], 0
mov dword [ebx + 0x1c], 0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebx + 0x20], eax
cmp dword [ebp - 0xbc], 0
je 0x1006d9c0
cmp dword [edi + 8], 0
jne 0x1006b12c
mov ecx, 0x141c4
call fcn.100bc5f0
mov ebx, eax
mov dword [ebp - 0x1c], ebx
jmp 0x1006d9c3
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
test ebx, ebx
je case.0x1006b0f9.95
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x1c]
jmp 0x1006fcdb
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x70]
mov ebx, dword [ebp - 0x74]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x10]
mov dword [eax], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
add edi, 0x14
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
xorps xmm0, xmm0
mov dword [ebp - 0xb0], 0
mov edx, edi
movlpd qword [ebp - 0x88], xmm0
mov ecx, esi
call fcn.1006afd0
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x70]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ecx + edx*4]
mov dword [ebp - 0x34], ecx
test byte [ecx + 8], 2
jne 0x1006dad0
mov ecx, dword [ecx + 0x28]
lea edx, [ebp - 0xb0]
call fcn.1005b3b0
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
cmp dword [ebp - 0xb0], eax
je 0x1006da82
mov eax, 1
xor esi, esi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], esi
jmp 0x1006dadc
mov eax, dword [ebp - 0x34]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.1005aaf0
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], esi
cmp esi, 0x7fffffff
jl 0x1006dabc
jg 0x1006dab3
cmp eax, 0xffffffff
jb 0x1006dabc
mov ecx, dword [ebp - 0x34]
or dword [ecx + 8], 2
jmp 0x1006dadf
add eax, 1
mov dword [ebp - 0x88], eax
adc esi, 0
mov dword [ebp - 0x84], esi
jmp 0x1006dadc
mov esi, dword [ebp - 0x84]
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x30], eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x1006db7e
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0xb8]
test edx, edx
je 0x1006db14
mov eax, dword [edx + 4]
test eax, eax
je 0x1006db09
mov edi, edi
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x1006db00
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
jmp 0x1006db1d
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x24], ecx
call fcn.10062580
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
cmp edx, 0xffffffff
jne 0x1006db3d
cmp eax, 0x7fffffff
je 0x1006dc01
mov ebx, dword [ebp - 0x34]
test byte [ebx + 8], 2
mov ebx, dword [ebp - 0x74]
jne 0x1006dc01
add edx, 1
adc eax, 0
mov dword [ebp - 0x44], eax
cmp esi, eax
jg 0x1006db76
jl 0x1006db63
mov eax, dword [ebp - 0x30]
cmp eax, edx
jae 0x1006db79
mov esi, dword [ebp - 0x44]
mov eax, edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], esi
jmp 0x1006db79
mov eax, dword [ebp - 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, dword [ebp - 0x34]
test byte [ecx + 8], 2
je 0x1006dc11
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x88]
push eax
push 8
call fcn.10046b70
mov esi, dword [ebp - 0x84]
lea ecx, [ebp - 0xb0]
mov eax, dword [ebp - 0x88]
and esi, 0x3fffffff
add eax, 1
push ecx
adc esi, 0
mov dword [ebp - 0x30], eax
push 0
push esi
mov dword [ebp - 0x88], eax
xor edx, edx
push eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x84], esi
mov ecx, dword [eax + 0x28]
call fcn.1005b410
add esp, 0x18
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
cmp dword [ebp - 0xb0], eax
jne 0x1006dc0b
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x64
jl 0x1006db92
mov eax, 0xd
jmp 0x1006fcd8
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x74]
add edi, 0x14
mov byte [ecx + 3], 0
mov dword [ecx + 0x1c], 0
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx + 4], esi
mov esi, dword [ebp - 0x14]
jmp 0x1006b0d6
cmp byte [ebp - 0x35], 0x74
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x24], 0
lea eax, [eax + eax*4]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0x70]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
jne 0x1006dc69
mov edx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*8]
mov edx, dword [edx + eax*8 + 4]
jmp 0x1006dc6c
cdq
mov esi, eax
cmp byte [ecx + 1], 0xf1
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x180], esi
jne 0x1006dcb4
cmp dword [ebx + 0xdc], 0
je 0x1006dcb4
movsx ecx, byte [edi + 1]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 0x10]
test byte [ecx + 2], 4
mov dword [ebp - 0x6c], eax
mov eax, 0x12
cmovne eax, dword [ebp - 0x12c]
mov dword [ebp - 0x24], eax
jmp 0x1006dcc2
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x5c], 0
test byte [ecx + 2], 1
je 0x1006dcce
mov eax, dword [ebp - 0x14]
inc dword [eax + 0x2c]
test byte [ecx + 2], 0x20
je 0x1006dcda
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], edx
mov esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x20]
movzx eax, word [edx + esi*8 + 8]
mov dword [ebp - 0x44], eax
test al, 1
je 0x1006dd02
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x16c], 0
jmp 0x1006dd19
mov eax, dword [edx + esi*8 + 0x10]
mov dword [ebp - 0x178], eax
mov eax, dword [edx + esi*8 + 0xc]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x44]
movzx ecx, word [ecx + 2]
test cl, 0x10
je 0x1006dd27
mov edx, dword [edi + 0x20]
jmp 0x1006dd29
xor edx, edx
test eax, 0x4000
je 0x1006dd3e
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + esi*8]
mov dword [ebp - 0x168], eax
jmp 0x1006dd48
mov dword [ebp - 0x168], 0
push edx
and ecx, 0xa
mov dword [ebp - 0x188], 0
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x188]
call fcn.1005edd0
add esp, 8
mov dword [ebp - 0x1c], eax
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
test eax, eax
jne 0x1006fcd8
mov eax, dword [ebx + 0xdc]
test eax, eax
je 0x1006b48a
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x1006b48a
push dword [ebp - 0x17c]
mov edx, dword [ebp - 0x6c]
push dword [ebp - 0x180]
push dword [edx]
push dword [ebp - 0x5c]
push ecx
push dword [ebx + 0xd8]
call eax
mov edi, dword [ebp - 0x28]
add esp, 0x18
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
cmp byte [edi + 1], 0xf1
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x24], esi
jne 0x1006de2a
cmp dword [ebx + 0xdc], 0
je 0x1006de2a
movsx ecx, byte [esi + 1]
mov eax, dword [ebx + 0x10]
add ecx, ecx
test byte [edi + 2], 2
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x5c], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x6c], eax
je 0x1006de36
cmp byte [esi + 4], 0
je 0x1006de36
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.1005aaf0
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x40], eax
mov eax, dword [esi + 0x14]
mov esi, ecx
mov dword [esi + 0x44], eax
jmp 0x1006de36
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x6c], eax
mov dl, byte [edi + 2]
mov ecx, dword [esi + 0x28]
call fcn.1005f110
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
test eax, eax
jne 0x1006fcd8
test byte [ebp - 0x44], 1
je 0x1006b48d
mov eax, dword [ebp - 0x14]
inc dword [eax + 0x2c]
mov ecx, dword [ebx + 0xdc]
test ecx, ecx
je 0x1006fbfb
mov eax, dword [ebp - 0x6c]
test byte [eax + 0x24], 0x20
jne 0x1006b48d
push dword [esi + 0x44]
push dword [esi + 0x40]
push dword [eax]
push dword [ebp - 0x5c]
push 9
push dword [ebx + 0xd8]
call ecx
mov esi, dword [ebp - 0x14]
add esp, 0x18
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [esi + 0x2c]
add dword [ebx + 0x5c], eax
add edi, 0x14
mov dword [ebx + 0x58], eax
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
mov dword [esi + 0x2c], 0
jmp 0x1006b0d6
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0xd8], 0
mov ecx, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0xd8]
push eax
push dword [edi + 0x10]
call fcn.10073f10
add esp, 8
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
cmp dword [ebp - 0xd8], eax
jne 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + ecx*4]
call fcn.10073e70
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov ecx, dword [edi + 0xc]
add edi, 0x14
mov eax, dword [esi + 0x70]
mov ebx, dword [ebp - 0x74]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov edx, dword [edi + 4]
mov esi, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x70]
mov ecx, dword [ecx + edx*4]
mov eax, dword [ecx + 0x28]
mov ecx, eax
mov dword [ebp - 0x44], eax
call fcn.1005aaf0
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebx + 0x60]
ja 0x1006bc10
push esi
push eax
xor edx, edx
call fcn.10062d70
add esp, 8
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
cmp dword [edi + 0xc], eax
jne 0x1006b48d
mov eax, 0x1000
test word [esi + 8], ax
je 0x1006b48d
mov ecx, esi
call fcn.10061fe0
test eax, eax
jne 0x1006cae5
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov edx, dword [edi + 4]
mov ecx, dword [esi + 0x70]
mov dword [ebp - 0x24], eax
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x1006e01c
mov esi, dword [ebp - 0x14]
mov ecx, 1
mov ebx, dword [ebp - 0x74]
add edi, 0x14
mov word [eax + 8], cx
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
cmp byte [esi + 3], 0
je 0x1006e033
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + 0x44]
jmp 0x1006e0e8
cmp byte [esi], 2
jne 0x1006e08b
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0xc8]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0x1c], eax
mov edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.10068010
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcdb
mov edx, dword [ebp - 0x24]
add edi, 0x14
mov ecx, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0x74]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov eax, dword [esi + 0x28]
cmp byte [eax + 0x42], 1
je 0x1006e0a8
mov ecx, esi
call fcn.10066850
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
jmp 0x1006e0af
mov dword [ebp - 0x1c], 0
cmp byte [esi + 2], 0
je 0x1006e0d2
mov edx, dword [ebp - 0x24]
mov eax, 1
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov esi, dword [esi + 0x28]
mov ecx, esi
call fcn.1005aaf0
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xc8], ecx
mov eax, dword [esi + 0x14]
mov edx, dword [ebp - 0x24]
add edi, 0x14
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0xc4], eax
mov dword [edx], ecx
mov eax, dword [ebp - 0xc4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne case.0x1006b0f9.95
mov ecx, dword [ecx + 0x28]
call fcn.10056f60
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov dword [ebp - 0xe0], 0
mov esi, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x20], eax
cmp dword [edi + 0xc], 0
je 0x1006e16c
cmp byte [ecx + 0x42], 1
je 0x1006b48d
lea edx, [ebp - 0xe0]
call fcn.1005b3b0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x1c]
mov byte [esi + 2], al
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov esi, dword [ebp - 0x14]
test ecx, ecx
jne 0x1006fea7
cmp dword [edi + 8], ecx
jle case.0x1006b0f9.95
test eax, eax
jne 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
lea edx, [ebp - 0xd4]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.1005b380
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
cmp dword [ebp - 0xd4], eax
jne 0x1006b12c
mov ecx, esi
call fcn.1005b930
test edx, edx
jl 0x1006b48d
jg 0x1006e204
test eax, eax
jb 0x1006b48d
push edx
push eax
call fcn.10048b80
mov esi, dword [ebp - 0x14]
add esp, 8
cwde
cmp eax, dword [edi + 0xc]
jge case.0x1006b0f9.95
mov dword [ebp - 0xd4], 1
jmp 0x1006b12f
inc dword [esi + 0xa4]
mov ecx, dword [edi + 4]
lea edx, [ebp - 0xb8]
mov eax, dword [esi + 0x70]
mov dword [ebp - 0xb8], 1
mov esi, dword [eax + ecx*4]
cmp byte [esi], 1
jne 0x1006e257
mov ecx, esi
call fcn.10073da0
jmp 0x1006e26a
mov ecx, dword [esi + 0x28]
call fcn.1005b380
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
mov eax, dword [ebp - 0xb8]
mov byte [esi + 2], al
mov esi, dword [ebp - 0x14]
test eax, eax
jne 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0xa0]
push eax
mov edx, esi
mov dword [ebp - 0xa0], 0
mov ecx, ebx
call fcn.10073e00
add esp, 4
jmp 0x1006e2f9
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
cmp dword [eax + ecx*4], 0
je case.0x1006b0f9.95
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa0]
push eax
push dword [esi + 0x28]
mov eax, dword [ecx + 0x10]
call eax
mov edi, dword [ebp - 0x28]
add esp, 8
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x1006fcd8
cmp dword [ebp - 0xa0], eax
jne 0x1006e329
mov ecx, dword [ebp - 0x14]
mov byte [esi + 2], al
movzx eax, word [edi + 2]
inc dword [ecx + eax*4 + 0x9c]
jmp case.0x1006b0f9.13
mov byte [esi + 2], 1
jmp 0x1006f87b
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x20]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
je 0x1006e356
mov eax, dword [ebp - 0x14]
inc dword [eax + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x1006e373
mov ecx, esi
call fcn.10062060
test eax, eax
jne 0x1006fcd8
mov ecx, dword [ebp - 0x28]
cmp byte [ecx], 0x7d
jne 0x1006e383
mov edx, esi
mov ecx, edi
call fcn.10072e90
jmp 0x1006e3e5
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x248], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x250], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x244], edx
mov edx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x23c], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x238], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x1006e3c6
mov ecx, dword [edi + 0x20]
jmp 0x1006e3c8
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x250]
and eax, 0xa
push eax
call fcn.1005edd0
add esp, 8
mov dword [edi + 0x1c], 0
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x198]
mov eax, dword [esi + 0x70]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x198], eax
mov ax, word [ecx + 0xc]
mov word [ebp - 0x190], ax
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 0x18e], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x108]
push eax
push 0
push 0
push 0
call fcn.1005b410
add esp, 0x10
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
cmp dword [ebp - 0x108], eax
jne 0x1006e484
mov dl, 4
mov ecx, edi
call fcn.1005f110
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov esi, dword [ebp - 0x14]
jmp 0x1006b0d6
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 0x28]
cmp byte [eax + 0x42], 1
je 0x1006e4cc
mov ecx, esi
call fcn.10066850
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
jmp 0x1006e4d1
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
cmp byte [esi + 2], 0
jne 0x1006e57c
mov edx, dword [esi + 0x28]
lea eax, [ebp - 0xf0]
xorps xmm0, xmm0
mov ecx, ebx
push eax
movlpd qword [ebp - 0xf0], xmm0
call fcn.10067d70
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcd8
mov eax, dword [ebp - 0x28]
cmp byte [eax], 0x80
jne 0x1006e54e
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x74]
mov eax, dword [eax + 0x70]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xf0]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xec]
mov dword [ecx + 0x44], eax
mov word [ecx + 2], 0x100
mov eax, dword [edi + 0x10]
add edi, 0x14
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x24], esi
mov esi, dword [ebp - 0x14]
jmp 0x1006b0d6
mov esi, dword [ebp - 0x14]
mov edx, eax
mov ecx, esi
call fcn.1006afd0
mov ecx, dword [ebp - 0xf0]
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x74]
add edi, 0x14
mov dword [eax], ecx
mov ecx, dword [ebp - 0xec]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.100627d0
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
cmp byte [ebp - 0x35], 0x3d
mov dword [ebp - 0x9c], 0
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x1a8], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x1a0], ax
sbb al, al
mov byte [ebp - 0x19e], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x1a8]
push eax
call fcn.10067eb0
mov edi, dword [ebp - 0x28]
add esp, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x9c]
test byte [edi], 1
je 0x1006e613
neg eax
jmp 0x1006e614
inc eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x9c], eax
test ecx, ecx
jne 0x1006fea7
test eax, eax
jg 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov ecx, dword [ebx + 0xac]
inc ecx
cmp dword [ebx + 0xa0], ecx
jg 0x1006fe4f
mov eax, dword [edi + 0xc]
lea ecx, [ebp - 0xf8]
mov edx, dword [edi + 4]
push ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x24], eax
add eax, eax
mov dword [ebp - 0xf8], 0
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1005fbf0
mov ecx, dword [ebp - 0xf8]
add esp, 4
mov dword [ebp - 0x1c], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, ecx
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 4], edx
test eax, eax
jne 0x1006fcd8
test ecx, ecx
je 0x1006b48d
push dword [edi + 4]
mov edx, dword [ebp - 0x24]
push ecx
mov ecx, ebx
call fcn.10084e20
mov al, byte [ebp - 0x24]
add esp, 8
mov esi, dword [ebp - 0x14]
inc al
mov ebx, dword [ebp - 0x74]
add edi, 0x14
mov byte [ebp - 0x75], al
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov edx, dword [edi + 4]
lea eax, [ebp - 0xe4]
xor ecx, ecx
mov dword [ebp - 0xe4], 0
cmp dword [edi + 0xc], ecx
cmove eax, ecx
mov ecx, dword [ebx + 0x10]
push eax
mov eax, dword [edi + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1005f920
add esp, 4
mov dword [ebp - 0x1c], eax
cmp dword [edi + 0xc], 0
je 0x1006e743
mov eax, dword [ebp - 0xe4]
add dword [esi + 0x2c], eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle 0x1006e740
mov ebx, dword [ebp - 0x20]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
mov eax, ebx
mov ebx, dword [ebp - 0x74]
adc dword [eax + ecx*8 + 4], edx
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x1006e77f
mov edx, dword [ecx + 0x28]
mov ecx, ebx
call fcn.10072100
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [ecx + 0x28]
push 0
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx]
call fcn.1005f920
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov edi, eax
mov dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0xdc]
xor ecx, ecx
mov esi, dword [eax + 4]
shl esi, 4
add esi, dword [ebx + 0x10]
cmp byte [eax], 0x87
setne cl
inc ecx
push ecx
mov ecx, dword [esi + 4]
call fcn.1005f740
mov esi, dword [ebp - 0x14]
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0x74]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x1006b0d6
inc byte [ebx + 0x4e]
push 0
push 0
push 0
push dword [edi + 0x10]
push ebx
call fcn.10093930
dec byte [ebx + 0x4e]
add esp, 0x14
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
lea eax, [esi + 0x6c]
push dword [edi + 0x10]
mov dword [ebp - 0x148], ecx
add ecx, ecx
mov dword [ebp - 0x14c], eax
mov eax, dword [ebx + 0x10]
push str.sqlite_master
mov dword [ebp - 0x150], ebx
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.10046890
mov esi, eax
add esp, 0x14
test esi, esi
je 0x1006fe63
push 0
lea eax, [ebp - 0x150]
mov byte [ebx + 0x99], 1
push eax
push fcn.10097ee0
push esi
push ebx
mov dword [ebp - 0x144], 0
call fcn.10093930
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, ebx
cmove eax, dword [ebp - 0x144]
mov dword [ebp - 0x1c], eax
call fcn.100448c0
mov ecx, dword [ebp - 0x1c]
mov byte [ebx + 0x99], 0
test ecx, ecx
jne 0x1006fe6a
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov edx, dword [edi + 4]
mov ecx, ebx
call fcn.10080690
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
push dword [edi + 0x10]
mov edx, dword [edi + 4]
mov ecx, ebx
call fcn.10082900
mov eax, dword [ebp - 0x18]
add esp, 4
mov ebx, dword [ebp - 0x74]
add edi, 0x14
jmp 0x1006b0d6
push dword [edi + 0x10]
mov edx, dword [edi + 4]
mov ecx, ebx
call fcn.10082330
mov eax, dword [ebp - 0x18]
add esp, 4
mov ebx, dword [ebp - 0x74]
add edi, 0x14
jmp 0x1006b0d6
push dword [edi + 0x10]
mov edx, dword [edi + 4]
mov ecx, ebx
call fcn.100a4f90
mov eax, dword [ebp - 0x18]
add esp, 4
mov ebx, dword [ebp - 0x74]
add edi, 0x14
jmp 0x1006b0d6
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
lea esi, [eax + eax*4]
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [ecx + esi*8]
mov ecx, dword [ebx + 0x10]
inc eax
push eax
mov eax, dword [ebp - 0x28]
push dword [eax + 8]
movzx eax, word [eax + 2]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.10060820
mov ecx, dword [ebp - 0x5c]
add esp, 0xc
mov dword [ebp - 0x44], eax
call fcn.100627d0
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x1006e9e4
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x1006cae5
mov ebx, dword [ebp - 0x20]
dec eax
cdq
push fcn.10044810
push 1
sub dword [ebx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ebx + esi*8 + 4], edx
mov edx, ecx
mov ecx, dword [ebp - 0x5c]
call fcn.10062ac0
add esp, 0xc
movzx edx, byte [ebp - 0x68]
mov ecx, dword [ebp - 0x5c]
call fcn.10061e80
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edi + 8]
lea eax, [eax + eax*4]
mov dword [ebp - 0x44], eax
jne 0x1006ea31
mov ecx, esi
call fcn.10062870
test byte [esi + 8], 0x20
je 0x1006cae5
mov eax, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x20]
push dword [ebx + eax*8 + 4]
mov ecx, dword [esi]
push dword [ebx + eax*8]
call fcn.1004e1b0
mov esi, dword [ebp - 0x14]
add esp, 8
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
je 0x1006ea9f
mov ecx, dword [esi]
lea edx, [ebp - 0x160]
call fcn.1004e540
test eax, eax
je 0x1006ea9f
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
push dword [ebp - 0x15c]
push dword [ebp - 0x160]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.10062830
add esp, 8
jmp 0x1006f87b
mov ecx, esi
call fcn.100627d0
jmp case.0x1006b0f9.13
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x24], ecx
lea eax, [eax + eax*4]
mov dword [ebp - 0x6c], eax
jne 0x1006eae4
mov ecx, esi
call fcn.10062870
test byte [esi + 8], 0x20
je 0x1006cae5
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
test ecx, ecx
je 0x1006eb0b
push dword [ebx + eax*8 + 4]
mov edx, ecx
mov ecx, dword [esi]
push dword [ebx + eax*8]
call fcn.1004e5a0
add esp, 8
test eax, eax
jne 0x1006b12c
mov ecx, dword [ebp - 0x24]
test ecx, ecx
js 0x1006b48d
mov eax, dword [ebp - 0x6c]
jmp 0x1006ea34
cmp word [edi + 2], 0
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
mov esi, dword [edi + 0x10]
mov edx, dword [ebp - 0x14]
lea eax, [eax + eax*4]
mov dword [ebp - 0x2c], esi
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x50], ecx
je 0x1006eb58
mov eax, dword [edx + 0xb8]
mov ecx, dword [esi + 0x14]
test eax, eax
je 0x1006eb55
cmp dword [eax + 0x1c], ecx
je 0x1006fbeb
mov eax, dword [eax + 4]
test eax, eax
jne 0x1006eb45
mov ecx, dword [ebp - 0x50]
mov eax, dword [edx + 0xc0]
cmp eax, dword [ebx + 0x88]
jge 0x1006fe82
test byte [ecx + 8], 0x40
jne 0x1006ed08
mov ecx, dword [esi + 0xc]
mov esi, dword [esi + 8]
add esi, ecx
test ecx, ecx
jne 0x1006eb81
inc esi
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
lea eax, [eax + ecx*4]
mov ecx, ebx
cdq
push edx
push eax
call fcn.10044b20
mov edi, eax
add esp, 8
test edi, edi
je 0x1006cae5
mov ecx, dword [ebp - 0x50]
call fcn.100623b0
mov eax, dword [ebp - 0x50]
mov ecx, 0x40
mov word [eax + 8], cx
mov dword [eax], edi
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x64]
mov dword [edi], eax
mov eax, dword [ebp - 0x2c]
mov dword [edi + 0x3c], esi
mov eax, dword [eax + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x14]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x5c]
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [edi + 0x38], eax
mov eax, dword [edx + 0x70]
mov dword [edi + 0x14], eax
mov eax, dword [edx + 0x1c]
mov dword [edi + 0x2c], eax
mov eax, dword [edx + 0x58]
mov dword [edi + 8], eax
mov eax, dword [edx + 0x88]
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x14]
mov dword [edi + 0x1c], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x50]
cmp eax, ecx
je 0x1006ec4e
mov esi, 0x80
nop
mov word [eax + 8], si
mov dword [eax + 0x20], ebx
add eax, 0x28
cmp eax, ecx
jne 0x1006ec40
mov esi, dword [ebp - 0x2c]
inc dword [edx + 0xc0]
mov eax, dword [edx + 0xb8]
mov dword [edi + 4], eax
mov eax, dword [ebx + 0x20]
mov dword [edi + 0x20], eax
mov eax, dword [ebx + 0x24]
lea ebx, [edi + 0x50]
mov dword [edi + 0x24], eax
mov eax, dword [edx + 0x2c]
mov dword [edi + 0x44], eax
mov eax, dword [edx]
mov dword [ebp - 0x20], ebx
mov eax, dword [eax + 0x58]
mov dword [edi + 0x48], eax
mov eax, dword [edx + 0xcc]
mov dword [edi + 0x28], eax
mov dword [edx + 0xcc], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xb8], edi
mov dword [edx + 0x5c], ebx
mov eax, dword [edi + 0x3c]
mov dword [edx + 0x18], eax
movzx eax, word [edi + 0x40]
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x18]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov dword [edx + 0x70], ecx
mov eax, dword [esi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [edi + 0x18], ecx
mov eax, dword [esi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call sub.MSVCR120.dll_memset
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov edx, dword [esi]
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0x64], edx
mov dword [eax + 0x58], edx
mov eax, dword [esi + 4]
lea edi, [edx - 0x14]
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov edi, dword [ecx]
jmp 0x1006ec51
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov esi, eax
mov eax, dword [ebp - 0x14]
push 0x1000
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 0x30]
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 [edi + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.100629a0
mov esi, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
test dword [ebx + 0x18], 0x2000000
mov eax, dword [edi + 8]
cdq
je 0x1006ed83
add dword [ebx + 0x1c0], eax
mov eax, dword [ebp - 0x18]
adc dword [ebx + 0x1c4], edx
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
cmp dword [edi + 4], 0
je 0x1006eda3
add dword [ebx + 0x1b8], eax
mov eax, dword [ebp - 0x18]
adc dword [ebx + 0x1bc], edx
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
add dword [esi + 0x40], eax
mov eax, dword [ebp - 0x18]
adc dword [esi + 0x44], edx
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
cmp dword [edi + 4], 0
je 0x1006edef
mov eax, dword [ebx + 0x1b8]
or eax, dword [ebx + 0x1bc]
jne case.0x1006b0f9.95
mov eax, dword [ebx + 0x1c0]
or eax, dword [ebx + 0x1c4]
je 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [esi + 0x40]
or eax, dword [esi + 0x44]
jmp 0x1006edc9
mov edx, dword [esi + 0xb8]
test edx, edx
je 0x1006ee1f
mov eax, dword [edx + 4]
test eax, eax
je 0x1006ee11
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x1006ee08
mov eax, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea ebx, [eax + ecx*8]
jmp 0x1006ee2b
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.10062580
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.10062580
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [ebx + 4], ecx
jg 0x1006b48d
jl 0x1006ee5d
cmp dword [ebx], eax
jae 0x1006b48d
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov dword [ebx], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 4], ecx
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x20]
lea esi, [eax + eax*4]
mov ebx, dword [edx + esi*8 + 4]
mov ecx, dword [edx + esi*8]
test ebx, ebx
jl 0x1006b48d
jg 0x1006ee95
test ecx, ecx
je 0x1006b48d
mov eax, dword [edi + 0xc]
cdq
sub ecx, eax
sbb ebx, edx
mov edx, dword [ebp - 0x20]
mov dword [edx + esi*8], ecx
mov dword [edx + esi*8 + 4], ebx
jmp 0x1006b12c
mov eax, dword [edi + 4]
mov edx, edi
mov ecx, dword [ebp - 0x14]
lea esi, [eax + eax*4]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
mov dword [ebp - 0x44], eax
call fcn.1006afd0
mov edx, dword [ebp - 0x20]
mov ebx, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], ecx
test ecx, ecx
jl 0x1006ef3f
jg 0x1006eee7
test eax, eax
je 0x1006ef3f
mov ecx, dword [ebp - 0x44]
mov eax, dword [edx + ecx*8]
mov ecx, dword [edx + ecx*8 + 4]
test ecx, ecx
jl 0x1006eefb
jg 0x1006ef09
test eax, eax
jne 0x1006ef09
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.100488f0
add esp, 8
test eax, eax
jne 0x1006ef3f
mov eax, dword [ebp - 0x100]
add edi, 0x14
mov esi, dword [ebp - 0x14]
mov dword [ebx], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x20]
lea esi, [eax + eax*4]
mov ecx, dword [ebx + esi*8]
mov eax, ecx
mov edx, dword [ebx + esi*8 + 4]
or eax, edx
je 0x1006b48d
test edx, edx
jl 0x1006b12c
jg 0x1006ef89
test ecx, ecx
je 0x1006b12c
sub ecx, 1
mov dword [ebx + esi*8], ecx
sbb edx, 0
jmp 0x1006b128
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x20]
lea ecx, [eax + eax*4]
mov edx, dword [ebx + ecx*8 + 4]
mov eax, dword [ebx + ecx*8]
cmp edx, 0x80000000
jl 0x1006efc2
jg 0x1006efb5
test eax, eax
je 0x1006efc2
sub eax, 1
mov dword [ebx + ecx*8], eax
sbb edx, 0
mov dword [ebx + ecx*8 + 4], edx
mov eax, dword [ebx + ecx*8]
or eax, dword [ebx + ecx*8 + 4]
je 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
movzx eax, word [edi + 2]
mov ecx, ebx
mov dword [ebp - 0x44], eax
push 0
lea eax, [eax*4 + 0x1c]
push eax
call fcn.10044c10
mov esi, eax
add esp, 8
test esi, esi
je 0x1006cae5
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x28]
mov dword [esi + 8], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x64]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x44]
mov byte [esi + 0x1a], al
mov word [edi], 0xf095
mov dword [edi + 0x10], esi
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
mov esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x44], eax
cmp dword [esi + 8], eax
je 0x1006f08a
movzx ecx, byte [esi + 0x1a]
dec ecx
mov dword [esi + 8], eax
js 0x1006f08a
mov ebx, dword [ebp - 0x20]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
lea esp, [esp]
mov eax, dword [edi + 8]
lea edx, [edx - 4]
add eax, ecx
dec ecx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x1006f070
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x44]
inc dword [eax + 0xc]
mov eax, 1
mov word [ebp - 0x270], ax
lea eax, [ebp - 0x278]
mov dword [ebp - 0x258], ebx
mov dword [ebp - 0x260], 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 + 0xc]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x1006f114
cmp dword [esi + 0x14], 0
je 0x1006f0fe
lea eax, [ebp - 0x278]
push eax
call fcn.10068570
add esp, 4
push eax
push 0x1013a454
push dword [ebp - 0x14]
call fcn.10063370
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x278]
call fcn.100623b0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcd8
cmp byte [esi + 0x18], 0
je 0x1006b48d
mov eax, dword [edi - 0x10]
test eax, eax
je 0x1006b48d
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.10062830
mov esi, dword [ebp - 0x14]
add esp, 8
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
mov edx, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.100621f0
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fe8c
movzx edx, byte [ebp - 0x68]
mov ecx, esi
call fcn.10061e80
mov ecx, esi
call fcn.10062940
test eax, eax
jne 0x1006bc10
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov edx, dword [edi + 4]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [edi + 8]
mov ecx, ebx
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.100bb0c0
add esp, 0xc
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1006f1e6
cmp eax, 5
jne 0x1006fcdb
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10], 1
mov eax, dword [edi + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0x20]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, ebx
cdq
push edx
push eax
call fcn.10062830
inc esi
add esp, 8
add ebx, 0x28
cmp esi, 3
jl 0x1006f1f4
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
add edx, edx
cmp esi, 0xffffffff
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x44], eax
mov ecx, dword [eax + 4]
mov edi, dword [ecx]
movzx ecx, byte [edi + 5]
cmove esi, ecx
mov dword [ebp - 0x30], ecx
cmp byte [edi + 0x11], 3
jae 0x1006f26e
mov eax, dword [edi + 0x44]
cmp dword [eax], 0
je 0x1006f270
cmp dword [edi + 0x54], 0
jl 0x1006f270
jg 0x1006f26e
cmp dword [edi + 0x50], 0
jbe 0x1006f270
mov esi, ecx
cmp byte [edi + 0x10], 0
mov eax, 0x1013909c
jne 0x1006f281
mov eax, dword [edi + 0xb0]
cmp esi, 5
jne 0x1006f2a6
mov ecx, eax
call fcn.10047610
test eax, eax
je 0x1006f29c
mov ecx, edi
call fcn.10053840
test eax, eax
jne 0x1006f2a3
mov eax, dword [ebp - 0x30]
mov esi, eax
jmp 0x1006f317
mov ecx, dword [ebp - 0x30]
cmp esi, ecx
je 0x1006f314
cmp ecx, 5
je 0x1006f2b4
cmp esi, 5
jne 0x1006f314
cmp byte [ebx + 0x43], 0
je 0x1006feaf
cmp dword [ebx + 0xa0], 1
jg 0x1006feaf
cmp ecx, 5
jne 0x1006f2eb
mov edx, ebx
mov ecx, edi
call fcn.100539b0
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006f31f
mov edx, esi
mov ecx, edi
call fcn.100536e0
jmp 0x1006f300
cmp ecx, 4
jne 0x1006f2fa
lea edx, [ecx - 2]
mov ecx, edi
call fcn.100536e0
cmp dword [ebp - 0x1c], 0
jne 0x1006f31f
mov ecx, dword [ebp - 0x44]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.10060df0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], 0
je 0x1006f324
jmp 0x1006f322
mov eax, dword [ebp - 0x30]
mov esi, eax
mov edx, esi
mov ecx, edi
call fcn.100536e0
mov esi, dword [ebp - 0x24]
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x1006f342
xor ecx, ecx
jmp 0x1006f349
mov ecx, dword [eax*4 + 0x1012b548]
mov dword [esi + 0x10], ecx
call fcn.10047610
movzx edx, byte [ebp - 0x68]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.10061e80
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
test eax, eax
jne 0x1006fcdb
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
push dword [edi + 4]
lea ecx, [esi + 0x6c]
mov edx, ebx
call fcn.100a80c0
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.1005a040
mov dword [ebp - 0x1c], eax
test eax, eax
je case.0x1006b0f9.95
cmp eax, 0x65
jne 0x1006fcdb
mov dword [ebp - 0x1c], 0
jmp 0x1006b12f
cmp dword [edi + 4], 0
jne 0x1006f3f7
mov ecx, ebx
call fcn.10067f70
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
or dword [esi + 0x90], 1
add edi, 0x14
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov al, byte [edi + 0xc]
mov byte [ebp - 0x104], al
test al, al
jne 0x1006f426
test dword [ebx + 0x18], 0x4000
jne case.0x1006b0f9.95
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 0x10]
add eax, eax
push dword [ebp - 0x104]
mov edx, dword [edi + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.10060d00
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
je case.0x1006b0f9.95
cmp al, 6
jne 0x1006fcdb
push dword [edi + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.10063370
mov eax, dword [ebp - 0x1c]
add esp, 0xc
jmp 0x1006fcdb
mov esi, dword [edi + 0x10]
mov ecx, ebx
mov edx, esi
call fcn.100a9820
mov dword [ebp - 0x1c], eax
test esi, esi
je 0x1006be90
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.10068010
mov eax, dword [ebp - 0x1c]
jmp 0x1006be93
mov eax, dword [edi + 8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x20]
movq qword [ebp - 0x1e8], xmm0
movdqu xmmword [ebp - 0x208], xmm0
lea eax, [eax + eax*4]
mov dword [ebp - 0x1e8], ebx
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x208]
movdqu xmmword [ebp - 0x1f8], xmm0
call fcn.10062a00
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x208]
push eax
call fcn.10068570
add esp, 4
test eax, eax
je 0x1006f4fe
mov edx, dword [edi + 4]
lea ecx, [esi + 0x6c]
push ecx
push eax
mov ecx, ebx
call fcn.100a92a0
add esp, 8
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x208]
call fcn.100623b0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
inc dword [ebx + 0xac]
mov ecx, ebx
push dword [edi + 0x10]
mov edx, dword [edi + 4]
call fcn.100a95e0
dec dword [ebx + 0xac]
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xa4], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x1006fef1
mov eax, dword [esi]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1006fef1
mov eax, dword [eax + 0x18]
lea ecx, [ebp - 0xa4]
push ecx
push esi
call eax
mov ecx, dword [ebp - 0x14]
add esp, 8
mov edx, esi
mov dword [ebp - 0x1c], eax
call fcn.10068010
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcd8
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x14]
push 2
push 0xffffffffffffffff
mov dword [eax], esi
mov edx, dword [edi + 4]
push 0
call fcn.1006ac50
add esp, 0xc
test eax, eax
je 0x1006fedb
mov ecx, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x74]
mov dword [eax + 0x28], ecx
inc dword [esi + 4]
add edi, 0x14
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0x20]
add esi, 0x28
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x14]
lea esi, [esi + edx*8]
mov eax, dword [eax + 0x70]
movd xmm0, esi
mov dword [ebp - 0x6c], esi
mov esi, dword [esi]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x50], eax
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x54], eax
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x60]
mov dword [ebp - 0x44], edx
test esi, esi
jle 0x1006f6e0
cmp esi, 8
jb 0x1006f6c2
cmp dword [0x101582b4], 2
jl 0x1006f6c2
movdqa xmm2, xmmword [0x1013ec20]
mov eax, esi
and eax, 0x80000007
jns 0x1006f665
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm1, xmmword [str.____]
mov ebx, esi
sub ebx, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x20]
paddd xmm0, xmm2
add ecx, 8
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x20], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x10], xmm0
cmp ecx, ebx
jl 0x1006f671
mov ebx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x44]
cmp ecx, esi
jge 0x1006f6e0
mov ebx, dword [ebp - 0x6c]
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov ebx, dword [ebp - 0x74]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x1006f6d5
mov eax, dword [ebp - 0x24]
push edx
push esi
push dword [edi + 0x10]
mov esi, dword [ebp - 0x54]
push dword [ebp - 0x5c]
mov eax, dword [eax + 0x20]
push esi
call eax
mov edx, dword [ebp - 0x2c]
add esp, 0x14
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
call fcn.10068010
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcd8
mov eax, dword [ebp - 0x24]
push esi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [ebp - 0x50]
add esp, 4
mov esi, dword [ebp - 0x14]
mov byte [ecx + 2], 0
test eax, eax
jne 0x1006b12f
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [esi + 0x70]
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x44], ecx
cmp byte [ecx + 2], 0
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ebp - 0x24], edx
je 0x1006f772
mov ecx, edx
call fcn.100627d0
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [ecx + 0x28]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movdqu xmmword [ebp - 0x228], xmm0
mov dword [ebp - 0x228], edx
movdqu xmmword [ebp - 0x218], xmm0
mov ax, word [edx + 8]
and ax, word [ebp - 0x130]
or ax, 1
mov word [edx + 8], ax
lea eax, [ebp - 0x228]
push dword [edi + 8]
push eax
mov eax, dword [ebp - 0x44]
push dword [eax + 0x28]
mov eax, dword [ecx + 0x2c]
call eax
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov edx, esi
mov dword [ebp - 0x1c], eax
call fcn.10068010
mov eax, dword [ebp - 0x214]
test eax, eax
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp - 0x68]
cmovne ecx, eax
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x24]
call fcn.10061e80
mov ecx, dword [ebp - 0x24]
call fcn.10062940
test eax, eax
jne 0x1006bc10
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x70]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x44], eax
cmp byte [eax + 2], 0
jne case.0x1006b0f9.95
mov eax, dword [eax + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x24], ecx
mov eax, dword [ecx + 0x24]
call eax
add esp, 4
mov dword [ebp - 0x1c], eax
mov edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.10068010
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x44]
push dword [eax + 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
test eax, eax
jne 0x1006f87b
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0x64]
dec edi
lea edi, [edi + edi*4]
lea edi, [ecx + edi*4]
mov dword [ebp - 0x28], edi
cmp dword [ebx + 0xf8], 0
jne 0x1007011a
mov ecx, dword [ebx + 0x130]
mov eax, dword [ebp - 0x18]
test ecx, ecx
je 0x1006fbdd
cmp eax, dword [ebp - 0xa8]
jb 0x1006fbdd
mov esi, dword [ebx + 0x138]
xor edx, edx
div esi
push dword [ebx + 0x134]
sub esi, edx
add esi, dword [ebp - 0x18]
mov dword [ebp - 0xa8], esi
call ecx
mov esi, dword [ebp - 0x14]
add esp, 4
test eax, eax
jne 0x1006ff29
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 0x10]
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 4]
mov dword [ebp - 0x24], ecx
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 2
lea esi, [edx + eax*8]
je 0x1006f914
cmp byte [esi + 0xa], 1
je 0x1006f914
mov dl, 1
mov ecx, esi
call fcn.10046f10
test eax, eax
jne 0x1006fcd8
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx]
push dword [esi + 0x10]
push ecx
mov eax, dword [eax + 0x4c]
call eax
mov esi, dword [ebp - 0x14]
add esp, 8
mov edx, dword [ebp - 0x24]
mov ecx, esi
mov dword [ebp - 0x1c], eax
call fcn.10068010
and dword [esi + 0x90], 0xfffffffe
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1006fefb
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x1006fefb
cmp dword [eax + 0x34], 0
mov esi, dword [edi + 8]
je 0x1006b48d
mov al, byte [ebx + 0x4a]
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 0x35], al
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x60]
mov eax, dword [edi + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x1006f9ab
jmp 0x1006f9a0
mov dword [edx + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x1006f9a0
mov al, byte [edi + 2]
mov byte [ebx + 0x4a], al
lea eax, [ebp - 0x158]
push eax
mov eax, dword [ebp - 0x24]
push edx
push esi
mov esi, dword [ebp - 0x44]
mov eax, dword [eax + 0x34]
push esi
call eax
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov al, byte [ebp - 0x35]
mov edx, esi
mov esi, dword [ebp - 0x14]
mov ecx, esi
mov byte [ebx + 0x4a], al
call fcn.10068010
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x28]
jne 0x1006fa02
cmp dword [eax + 4], 0
je 0x1006fa02
mov eax, dword [ebp - 0x158]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x154]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
cmp cl, 0x13
jne 0x1006fa46
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x1006fa46
mov edi, dword [ebp - 0x28]
movzx eax, word [edi + 2]
cmp eax, 4
jne 0x1006fa34
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
mov dword [ebp - 0x1c], 0
jmp 0x1006b0d6
cmp eax, 5
jne 0x1006fa3e
mov eax, 2
mov byte [esi + 0x8e], al
jmp 0x1006fa4c
inc dword [esi + 0x2c]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1006fcdb
mov eax, dword [ebp - 0x18]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov edx, dword [edi + 4]
mov ecx, dword [ebx + 0x10]
add edx, edx
mov ebx, dword [ebp - 0x74]
add edi, 0x14
mov ecx, dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x2c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x18]
jmp 0x1006b0d6
mov edx, edi
mov ecx, esi
call fcn.1006afd0
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
xor edx, edx
test esi, esi
je 0x1006fac5
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.100592d0
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x74]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x28]
add edi, 0x14
jmp 0x1006b0d6
mov cl, byte [ebx + 0x4c]
test cl, 0x81
je 0x1006fb94
test byte [esi + 0x90], 2
jne 0x1006fb94
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x1006fb12
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x1006fb94
test cl, cl
jns 0x1006fb41
mov edi, dword [ebx + 0xb8]
mov edx, eax
mov ecx, esi
call fcn.1006a780
mov esi, eax
push esi
push dword [ebx + 0xbc]
call edi
push esi
call fcn.10044810
mov edi, dword [ebp - 0x28]
add esp, 0xc
mov esi, dword [ebp - 0x14]
jmp 0x1006fb94
cmp dword [ebx + 0xa8], 1
push eax
jle 0x1006fb80
push str.____s
push ebx
call fcn.10046890
mov ecx, dword [ebx + 0xb8]
add esp, 0xc
mov esi, eax
push esi
push dword [ebp - 0x14]
push dword [ebx + 0xbc]
push 1
call ecx
add esp, 0x10
mov edx, esi
mov ecx, ebx
call fcn.100448c0
mov esi, dword [ebp - 0x14]
jmp 0x1006fb94
mov eax, dword [ebx + 0xb8]
push esi
push dword [ebx + 0xbc]
push 1
call eax
add esp, 0x10
mov eax, dword [edi + 4]
cmp eax, dword [0x10152df8]
jl 0x1006fbd5
mov edx, 1
cmp dword [esi + 0x88], edx
jle 0x1006fbce
mov eax, 0x14
mov ecx, dword [esi + 0x58]
cmp byte [eax + ecx], 0x14
jne 0x1006fbc2
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [esi + 0x88]
jl 0x1006fbb1
mov dword [edi + 4], 0
inc dword [edi + 4]
jmp 0x1006b12f
mov esi, dword [ebp - 0x14]
add edi, 0x14
mov ebx, dword [ebp - 0x74]
jmp 0x1006b0d6
mov eax, dword [ebp - 0x18]
mov esi, edx
mov ebx, dword [ebp - 0x74]
add edi, 0x14
jmp 0x1006b0d6
mov ebx, dword [ebp - 0x74]
mov esi, eax
mov eax, dword [ebp - 0x18]
add edi, 0x14
jmp 0x1006b0d6
mov ecx, dword [edx + 4]
mov dword [esi + 0x28], ecx
mov al, byte [edx + 8]
mov byte [esi + 0x8e], al
mov dword [esi + 0x24], edi
test ecx, ecx
je 0x1006fc9e
movzx eax, word [edx + 2]
test ax, ax
je 0x1006fc6a
push dword [eax*4 + 0x10129368]
push str._s_constraint_failed
push esi
call fcn.10063370
mov esi, dword [ebp - 0x28]
add esp, 0xc
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1006fc7e
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x6c]
push str._z:__s
push ebx
call fcn.10046890
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov dword [ecx + 0x6c], eax
jmp 0x1006fc7e
push dword [edx + 0x10]
push 0x1013a454
push esi
call fcn.10063370
mov esi, dword [ebp - 0x28]
add esp, 0xc
mov eax, dword [ebp - 0x14]
push dword [eax + 0x6c]
push dword [eax + 0xb0]
push edi
push str.abort_at__d_in___s_:__s
push dword [esi + 4]
call fcn.10046b30
mov esi, dword [ebp - 0x14]
add esp, 0x14
mov ecx, esi
call fcn.10065f70
mov dword [ebp - 0x1c], eax
cmp eax, 5
jne 0x1006fcb5
mov dword [esi + 0x28], eax
jmp 0x10070263
cmp dword [esi + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x10070263
mov ecx, 0x13b5e
call fcn.100bc5f0
mov esi, dword [ebp - 0x14]
cmp byte [ebx + 0x45], 0
mov ecx, 7
cmovne eax, ecx
cmp dword [esi + 0x6c], 0
mov dword [ebp - 0x1c], eax
jne 0x10070189
cmp eax, 0xc0a
je 0x10070189
mov ecx, dword [ebp - 0x1c]
mov eax, str.unknown_error
cmp ecx, 0x204
je 0x10070172
movzx ecx, cl
cmp ecx, 0x1a
ja 0x10070177
mov ecx, dword [ecx*4 + 0x101289e0]
test ecx, ecx
je 0x10070177
mov eax, ecx
jmp 0x10070177
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x4c], 0
jne 0x1006fd49
lea ecx, [ebp - 0x1e0]
call fcn.100623b0
mov ecx, 0x13b99
jmp 0x1006fcd3
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
call fcn.10063370
add esp, 8
mov eax, 5
jmp 0x1006fcdb
push str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x10070056
mov ecx, dword [ebp - 0x28]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x14]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x24], eax
mov eax, 5
mov byte [ebx + 0x43], 0
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x28], eax
jmp 0x10070263
mov esi, dword [ebp - 0x14]
push eax
push str.no_such_savepoint:__s
push esi
call fcn.10063370
add esp, 0xc
mov eax, 1
jmp 0x1006fcdb
mov eax, 8
jmp 0x1006fcdb
mov esi, dword [ebp - 0x14]
cmp al, 5
jne 0x1006fcdb
mov ecx, dword [ebp - 0x28]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x64]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x28], eax
jmp 0x10070263
mov eax, dword [ebp - 0x14]
mov ecx, ebx
mov edx, dword [eax + 0x6c]
call fcn.100448c0
mov edx, str.database_schema_has_changed
mov ecx, ebx
call fcn.10044e80
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x6c], eax
mov edx, dword [edi + 4]
mov ecx, edx
mov eax, dword [ebx + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], esi
je 0x1006fe31
mov ecx, ebx
call fcn.10082530
mov esi, dword [ebp - 0x14]
mov eax, 0x11
or dword [esi + 0x90], 1
jmp 0x1006fcdb
mov eax, 0x204
jmp 0x1006fcdb
mov esi, dword [ebp - 0x14]
mov eax, 6
mov byte [esi + 0x8e], 2
jmp 0x1006fcdb
mov dword [ebp - 0x1c], 7
mov ecx, ebx
call fcn.10082570
mov eax, dword [ebp - 0x1c]
cmp eax, 7
je 0x1006cae5
jmp 0x1006fcd8
push str.too_many_levels_of_trigger_recursion
jmp 0x10070104
push esi
call fcn.10068570
mov esi, dword [ebp - 0x14]
add esp, 4
push eax
push 0x1013a454
push esi
call fcn.10063370
add esp, 0xc
mov eax, dword [ebp - 0x1c]
jmp 0x1006fcdb
cmp esi, 5
mov ecx, str.out_of
mov esi, dword [ebp - 0x14]
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push esi
call fcn.10063370
add esp, 0xc
mov eax, 1
jmp 0x1006fcdb
mov eax, dword [ebp - 0x44]
push dword [ebp - 0xa4]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp 0x1006cae5
mov eax, 6
jmp 0x1006fcd8
mov eax, 6
jmp 0x1006fcdb
mov eax, dword [ebx + 0x130]
test eax, eax
je 0x1006ff33
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0xa8]
jb 0x1006ff33
push dword [ebx + 0x134]
call eax
add esp, 4
test eax, eax
je 0x1006ff33
mov eax, 9
jmp 0x1006fcdb
xor edx, edx
mov ecx, esi
call fcn.10065f10
test eax, eax
jne 0x1006fcdb
mov eax, dword [esi]
cmp dword [eax + 0x1b4], 0
je 0x1006ff61
cmp dword [esi + 0x30], 0
je 0x1006ff61
mov edx, 1
mov ecx, esi
call fcn.10065e00
mov eax, dword [esi + 0x20]
mov ecx, dword [ebp - 0x28]
add eax, 2
mov edx, dword [ebp - 0x20]
or eax, 1
mov dword [esi + 0x20], eax
mov dword [ebp - 0x24], 0
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov dword [esi + 0x68], edi
cmp dword [ecx + 8], 0
jle 0x1006ffc3
mov esi, ecx
mov edi, edi
mov eax, 0x1000
test word [edi + 8], ax
je 0x1006ffaa
mov ecx, edi
call fcn.10061fe0
test eax, eax
jne 0x1006cae5
mov ecx, edi
call fcn.100620f0
mov eax, dword [ebp - 0x24]
add edi, 0x28
inc eax
mov dword [ebp - 0x24], eax
cmp eax, dword [esi + 8]
jl 0x1006ff90
mov esi, dword [ebp - 0x14]
cmp byte [ebx + 0x45], 0
jne 0x1006cb0e
test byte [ebx + 0x4c], 4
je 0x1006ffe9
mov eax, dword [ebx + 0xb8]
push 0
push esi
push dword [ebx + 0xbc]
push 4
call eax
add esp, 0x10
mov ecx, dword [ebp - 0x28]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x64]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [esi + 0x24], eax
mov eax, 0x64
mov dword [ebp - 0x1c], eax
jmp 0x10070263
mov ecx, dword [edi + 4]
movzx eax, byte [ebx + 0x43]
mov esi, dword [edi + 8]
mov dword [ebp - 0x24], ecx
cmp ecx, eax
je 0x100700e9
test esi, esi
je 0x10070044
mov edx, 0x204
mov ecx, ebx
call fcn.100ba510
mov esi, dword [ebp - 0x14]
mov edi, 1
mov byte [ebx + 0x43], 1
jmp 0x1007008e
test ecx, ecx
je 0x1007006c
cmp dword [ebx + 0xa4], 0
jle 0x1007006c
push str.cannot_commit_transaction___SQL_statements_in_progress
mov esi, dword [ebp - 0x14]
push esi
call fcn.10063370
add esp, 8
mov eax, 5
jmp 0x1006fcdb
mov esi, dword [ebp - 0x14]
mov edi, 1
mov edx, edi
mov ecx, esi
call fcn.10065f10
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x10070263
mov eax, dword [ebp - 0x24]
mov byte [ebx + 0x43], al
mov ecx, esi
call fcn.10065f70
cmp eax, 5
jne 0x100700cc
mov ecx, dword [ebp - 0x28]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x64]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x24], eax
mov al, 1
sub al, byte [ebp - 0x24]
mov byte [ebx + 0x43], al
mov eax, 5
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x28], eax
jmp 0x10070263
mov ecx, ebx
call fcn.100b9b50
cmp dword [esi + 0x28], 0
mov eax, edi
mov ecx, 0x65
cmove eax, ecx
mov dword [ebp - 0x1c], eax
jmp 0x10070263
test ecx, ecx
jne 0x100700f4
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x10070103
test esi, esi
mov eax, str.cannot_rollback___no_transaction_is_active
mov ecx, str.cannot_commit___no_transaction_is_active
cmove eax, ecx
push eax
mov esi, dword [ebp - 0x14]
push esi
call fcn.10063370
add esp, 8
mov eax, 1
jmp 0x1006fcdb
mov esi, dword [ebp - 0x14]
xor ecx, ecx
mov eax, str.unknown_error
cmp byte [ebx + 0x45], cl
sete cl
lea ecx, [ecx*2 + 7]
mov dword [ebp - 0x1c], ecx
mov dword [esi + 0x28], ecx
cmp ecx, 0x204
je 0x10070156
movzx ecx, cl
cmp ecx, 0x1a
ja 0x1007015b
mov ecx, dword [ecx*4 + 0x101289e0]
test ecx, ecx
je 0x1007015b
mov eax, ecx
jmp 0x1007015b
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x1013a454
push esi
call fcn.10063370
mov eax, dword [ebp - 0x1c]
add esp, 0xc
jmp 0x1006fcdb
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x1013a454
push esi
call fcn.10063370
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov dword [esi + 0x28], eax
cmp eax, 0xc0a
je 0x100701ba
movzx eax, al
cmp eax, 0xe
je 0x100701a0
cmp eax, 0xa
jne 0x100701ba
mov eax, dword [ebx]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x100701b5
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x100701b7
xor eax, eax
mov dword [ebx + 0x3c], eax
mov ecx, dword [ebp - 0x28]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x64]
push dword [esi + 0x6c]
imul ecx
push dword [esi + 0xb0]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x1c]
call fcn.10046b30
add esp, 0x14
mov ecx, esi
call fcn.10065f70
cmp dword [ebp - 0x1c], 0xc0a
jne 0x10070224
cmp byte [ebx + 0x45], 0
jne 0x10070224
cmp byte [ebx + 0x46], 0
jne 0x10070224
cmp dword [ebx + 0xa8], 0
mov byte [ebx + 0x45], 1
jle 0x1007021e
mov dword [ebx + 0xf8], 1
inc dword [ebx + 0x100]
mov cl, byte [ebp - 0x75]
mov eax, 1
mov dword [ebp - 0x1c], eax
test cl, cl
je 0x10070263
mov eax, dword [ebx + 0x10]
movzx esi, cl
dec esi
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.10088ce0
add esp, 4
cmp esi, 1
je 0x1007025d
mov eax, dword [ebx + 0x10]
push dword [eax + 0x1c]
call fcn.10088ce0
add esp, 4
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
add dword [esi + 0xac], ecx
cmp dword [esi + 0x98], 0
je 0x1007027f
mov ecx, esi
call fcn.100648a0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1010a06b
mov esp, ebp
pop ebp
ret