Function at 0x10077b00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x1022c068]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0x24], 0
push esi
push edi
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebx + 0x68]
mov esi, dword [ebx]
mov edi, dword [ebx + 0x58]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], eax
xor al, al
mov byte [ebp - 0x65], al
mov al, byte [esi + 0x4e]
mov dword [ebp - 0x18], esi
mov byte [ebp - 0x54], al
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], edi
call fcn.100701f0
cmp dword [esi + 0x148], 0
je 0x10077b74
mov ecx, dword [esi + 0x150]
xor edx, edx
mov eax, dword [ebx + 0xb4]
div ecx
sub ecx, edx
jmp 0x10077b77
or ecx, 0xffffffff
mov edx, ebx
mov dword [ebp - 0x80], ecx
cmp dword [edx + 0x28], 7
je 0x10079902
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov dword [edx + 0x78], 0
cmp dword [esi + 0x110], 0
mov dword [esi + 0x19c], 0
jne 0x1007d5ef
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x2c]
movsd qword [ebp - 0x180], xmm0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
xor eax, eax
mov dl, byte [ecx]
inc eax
movzx ebx, dl
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x49], dl
cmp ebx, 0xa8
ja case.0x10077be6.86
jmp dword [ebx*4 + 0x1007d698]
mov edx, dword [ebp - 0x14]
mov ecx, edx
sub ecx, dword [ebp - 0x2c]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 4
mov word [edi + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
mov dword [edi + esi*8 + 4], edx
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [ecx + eax*4]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + ecx*8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*4]
mov eax, 0x80
mov dword [ebp - 0x14], edx
mov word [edi + ecx*8 + 8], ax
mov ecx, edx
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [edi + ecx*8], eax
mov eax, 4
mov dword [edi + ecx*8 + 4], edx
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 8], 0
jne 0x10077c1e
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*4]
add edx, 0xffffffec
jmp 0x10077c59
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
sub edx, dword [ebp - 0x2c]
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [edi + esi*8]
mov word [edi + esi*8 + 8], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [edi + esi*8], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x2c]
mov dword [edi + esi*8 + 4], edx
lea esi, [ecx + eax*4]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
je 0x100781d3
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x1c]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x1007d123
mov edx, dword [ebx + 0xc8]
test edx, edx
je 0x1007d120
mov eax, dword [edx + 4]
mov ecx, edx
mov esi, dword [ebp - 0x18]
dec dword [ebx + 0xd0]
mov dword [ebx + 0xc8], eax
mov eax, dword [ebx + 0x2c]
add dword [esi + 0x68], eax
mov dword [esi + 0x64], eax
call fcn.10070d90
mov ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0x14]
cmp dword [eax + 8], 4
jne 0x10077db4
mov edi, dword [edx + 0x68]
lea eax, [ecx + ecx*4]
mov dword [ebp - 0x2c], edi
mov ecx, dword [edi + eax*4 + 8]
mov edi, dword [edx + 0x58]
dec ecx
mov dword [ebp - 0x28], edi
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x2c]
lea ecx, [ecx + eax*4]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [edx + 0x68]
mov edi, dword [edx + 0x58]
mov dword [ebp - 0x2c], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], edi
lea ecx, [ecx + eax*4]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x10077e12
call fcn.10077ab0
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x10077e5d
mov ecx, edx
call fcn.10077ab0
mov edx, eax
jmp 0x10077e66
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x10077ea8
call fcn.10077ab0
mov ecx, eax
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x20]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x10077ef5
mov ecx, esi
call fcn.10077ab0
mov esi, eax
jmp 0x10077efe
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov byte [ecx], 0x48
test edx, edx
jne 0x10077f0f
xor ecx, ecx
jmp 0x10077f26
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10077f14
sub ecx, edi
mov edi, dword [ebp - 0x28]
and ecx, 0x3fffffff
mov eax, dword [ebp - 0x14]
mov bl, byte [ebp - 0x54]
mov dword [eax + 4], ecx
cmp bl, 1
je 0x10077fa9
push 0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.1006e520
add esp, 0xc
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007d3ea
test byte [esi + 8], 2
je 0x10077f6b
cmp byte [esi + 0xa], bl
je 0x10077f6b
mov dl, bl
mov ecx, esi
call fcn.10050f10
test eax, eax
jne 0x100798ff
mov ecx, dword [ebp - 0x14]
mov eax, 0x800
or word [esi + 8], ax
mov dword [esi + 0x18], 0
cmp byte [ecx + 1], 0xf9
jne 0x10077f96
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x10077f96
mov ecx, dword [ebp - 0x18]
call fcn.1004ded0
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 1], 0xf9
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi + 0xc]
mov dword [eax + 4], ecx
mov esi, dword [ebp - 0x18]
cmp ecx, dword [esi + 0x6c]
jg 0x1007d3ed
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x10077fd9
call fcn.10077ab0
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x54]
mov byte [ecx + 0xa], al
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x100780c8
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 2]
cdq
cmp dword [edi + esi*8], eax
jne 0x100780c5
cmp dword [edi + esi*8 + 4], edx
mov esi, dword [ebp - 0x18]
jne 0x100780c8
mov eax, 0xa10
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea edx, [eax + ecx*8]
mov eax, 0x2400
test word [edx + 8], ax
je 0x10078062
mov ecx, edx
call fcn.10077ab0
mov edx, eax
jmp 0x1007806b
mov eax, 4
mov word [edx + 8], ax
cmp dword [ebx + 4], 0
lea esi, [edx + 8]
mov edi, dword [ebx + 0xc]
mov eax, 1
mov ecx, dword [ebx + 8]
mov ebx, 0x101
cmovne eax, ebx
mov dword [edx + 0xc], 0
sub edi, ecx
movzx ebx, ax
mov word [esi], bx
test edi, edi
jle 0x100780c5
mov eax, 0x2400
nop dword [eax]
test word [esi + 0x28], ax
lea esi, [esi + 0x28]
je 0x100780b6
lea ecx, [esi - 8]
call fcn.1006dd30
mov eax, 0x2400
dec edi
mov word [esi], bx
mov dword [esi + 4], 0
test edi, edi
jg 0x100780a0
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ecx + 4]
mov edx, 0xff41
lea ecx, [eax + eax*4]
mov ax, word [edi + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea esi, [eax + ecx*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x1007812b
mov ecx, esi
call fcn.10077ab0
mov esi, eax
jmp 0x10078134
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x14]
mov ecx, esi
push 0
push 0
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.1006e520
mov al, byte [ebp - 0x54]
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x64]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.1006e400
test eax, eax
jne 0x1007d3ed
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x100781a5
mov ecx, esi
call fcn.1006dd30
movups xmm0, xmmword [edi - 0x28]
mov ecx, 0xebff
movups xmmword [esi], xmm0
mov eax, dword [edi - 0x18]
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov edi, dword [ebp - 0x28]
mov word [esi + 8], ax
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
nop dword [eax]
mov eax, 0x2400
test word [esi + 8], ax
jne 0x10078211
cmp dword [esi + 0x18], 0
je 0x10078218
mov ecx, esi
call fcn.1006dd80
movups xmm0, xmmword [edi]
mov eax, 1
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
mov word [edi + 8], ax
mov eax, 0x1000
mov dword [edi + 0x18], 0
test word [esi + 8], ax
je 0x1007825a
mov ecx, esi
call fcn.1006da50
test eax, eax
jne 0x100798ff
add edi, 0x28
add esi, 0x28
sub ebx, 1
jne 0x10078200
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.1006e460
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x100782bf
mov ecx, esi
call fcn.1006da50
test eax, eax
jne 0x100798ff
mov eax, ebx
dec ebx
test eax, eax
je 0x100780c5
add esi, 0x28
add edi, 0x28
jmp 0x10078294
mov edx, dword [ebp - 0x14]
push 0x1000
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.1006e460
mov ecx, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ebx, 0x2400
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
mov edx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
test word [ecx + 8], bx
je 0x10078341
push eax
push edx
call fcn.1006e2b0
mov ecx, dword [ebp - 0x14]
add esp, 8
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov dword [ecx + 4], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x20]
mov dword [ecx], edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [esi + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [ebx + 8]
mov al, byte [edi + 8]
or al, cl
mov dword [ebp - 0x44], ecx
test al, 1
je 0x100783be
mov eax, 0x2400
test word [esi + 8], ax
je 0x100783b4
mov ecx, esi
call fcn.1006dd30
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, 1
jmp 0x100781c6
test cl, 0x12
jne 0x100783d4
mov dl, byte [ebp - 0x54]
mov ecx, ebx
push 0
call fcn.1006db30
add esp, 4
jmp 0x100783e3
test ecx, 0x4000
je 0x100783fd
mov ecx, ebx
call fcn.1006dad0
test eax, eax
jne 0x100798ff
mov ax, word [ebx + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x44], eax
movzx edx, word [edi + 8]
mov dword [ebp - 0x30], edx
test dl, 0x12
jne 0x10078434
mov dl, byte [ebp - 0x54]
mov ecx, edi
push 0
call fcn.1006db30
add esp, 4
test eax, eax
jne 0x100798ff
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx edx, ax
mov dword [ebp - 0x30], edx
jmp 0x1007845d
test edx, 0x4000
je 0x1007845d
mov ecx, edi
call fcn.1006dad0
test eax, eax
jne 0x100798ff
mov ax, word [edi + 8]
mov ecx, 0xfffd
and ax, cx
movzx eax, ax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebx + 0xc]
add edx, dword [edi + 0xc]
mov dword [ebp - 0x38], edx
cmp edx, dword [eax + 0x6c]
jg 0x1007d3e6
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 3
push eax
call fcn.1006d890
add esp, 4
test eax, eax
jne 0x100798ff
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x100784bf
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.10187960
mov eax, dword [ebp - 0x30]
add esp, 0xc
mov word [edi + 8], ax
push dword [ebx + 0xc]
mov eax, dword [esi + 0x10]
push dword [ebx + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.10187960
mov ecx, dword [ebp - 0x38]
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov word [ebx + 8], ax
mov eax, dword [esi + 0x10]
mov edi, dword [ebp - 0x28]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 2], 0
mov eax, 0x200
or word [esi + 8], ax
mov al, byte [ebp - 0x54]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp - 0x14]
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.10077a90
movzx ebx, ax
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov ecx, esi
mov dword [ebp - 0x6c], esi
call fcn.10077a90
movzx ecx, ax
mov eax, dword [ebp - 0x14]
and cl, bl
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x44], eax
mov ax, word [esi + 8]
mov esi, dword [ebp - 0x34]
or ax, word [esi + 8]
movzx eax, ax
test cl, 4
je 0x10078720
mov eax, esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x6c]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x90], ebx
movzx eax, byte [eax]
add eax, 0xffffff9c
mov dword [ebp - 0x8c], edi
cmp eax, 3
ja case.default.0x100785a5
jmp dword [eax*4 + 0x1007d93c]
test esi, esi
jl 0x1007860c
jg 0x100785b6
test edx, edx
jb 0x1007860c
test edi, edi
jl 0x1007863f
jg 0x100785c4
test ebx, ebx
je 0x1007863f
or ecx, 0xffffffff
mov eax, 0x7fffffff
sub ecx, ebx
sbb eax, edi
cmp eax, esi
jg 0x1007863f
jl 0x100785da
cmp ecx, edx
jae 0x1007863f
mov esi, dword [ebp - 0x34]
mov ecx, esi
call fcn.1006df20
mov ebx, dword [ebp - 0x6c]
mov ecx, ebx
movsd qword [ebp - 0x40], xmm0
call fcn.1006df20
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
add eax, 0xffffff9c
cmp eax, 3
ja case.default.0x10078605
jmp dword [eax*4 + 0x1007d94c]
test edi, edi
jg 0x1007863f
jl 0x10078616
test ebx, ebx
jae 0x1007863f
mov ebx, 1
mov ecx, 0x80000000
sub ebx, dword [ebp - 0x30]
mov eax, esi
sbb ecx, edi
mov edi, edx
add edi, 1
adc eax, 0
cmp ecx, eax
jg 0x100785da
jl 0x10078639
cmp ebx, edi
ja 0x100785da
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x58]
add edx, ebx
mov dword [ebp - 0x90], edx
adc esi, edi
mov dword [ebp - 0x8c], esi
jmp 0x100786e1
push esi
push edx
lea ecx, [ebp - 0x90]
call fcn.10052850
add esp, 8
test eax, eax
jne 0x100785da
jmp 0x100786e1
push esi
push edx
lea ecx, [ebp - 0x90]
call fcn.100528a0
add esp, 8
test eax, eax
jne 0x100785da
jmp 0x100786e1
mov eax, edx
or eax, esi
je 0x10078728
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x100786ab
test ebx, ebx
jne 0x100786ab
cmp edi, 0x80000000
je 0x100785da
push esi
push edx
push edi
push ebx
call fcn.101b00c0
jmp 0x100786d5
mov eax, edx
or eax, esi
je 0x10078728
mov eax, edx
and eax, esi
cmp eax, 0xffffffff
jne 0x100786cc
mov edx, 1
xor esi, esi
push esi
push edx
push edi
push ebx
call fcn.101bca60
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x44]
mov edx, 0x3e40
mov eax, dword [ebp - 0x90]
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x8c]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
movzx eax, ax
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
test al, 1
je 0x100785dd
mov eax, dword [ebp - 0x44]
mov ecx, 0x2400
test word [eax + 8], cx
je 0x10078826
mov ecx, eax
call fcn.1006dd30
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
addsd xmm0, qword [ebp - 0x40]
jmp 0x100787cd
subsd xmm0, qword [ebp - 0x40]
jmp 0x100787cd
mulsd xmm0, qword [ebp - 0x40]
jmp 0x100787cd
movsd xmm1, qword [ebp - 0x40]
ucomisd xmm1, qword [ebp - 0x180]
lahf
test ah, 0x44
jnp 0x10078728
divsd xmm0, xmm1
jmp 0x100787cd
mov ecx, esi
call fcn.1006dea0
mov ecx, ebx
mov esi, eax
mov edi, edx
call fcn.1006dea0
mov ecx, eax
mov dword [ebp - 0x8c], edx
mov eax, esi
mov dword [ebp - 0x90], ecx
or eax, edi
je 0x10078728
mov eax, esi
and eax, edi
cmp eax, 0xffffffff
jne 0x100787bd
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push ecx
call fcn.101bca60
mov ecx, eax
call fcn.101bcfd0
movsd qword [ebp - 0x40], xmm0
mov ecx, dword [ebp - 0x3c]
mov eax, ecx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x100787f4
mov eax, dword [ebp - 0x40]
and ecx, 0xfffff
or eax, ecx
jne 0x10078728
mov ecx, dword [ebp - 0x44]
mov edx, 0x3e40
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm0
or ax, 8
movzx eax, ax
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edi, dword [ebp - 0x28]
mov ecx, 1
mov esi, dword [ebp - 0x18]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ecx + 4]
test eax, eax
je 0x100781d3
lea eax, [eax + eax*4]
mov edx, 0x2400
test word [edi + eax*8 + 8], dx
lea eax, [edi + eax*8]
je 0x1007887c
push 0
push 0
mov ecx, eax
call fcn.1006e2b0
mov ecx, dword [ebp - 0x14]
add esp, 8
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], dx
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
mov dword [ebp - 0x38], edx
test al, 1
je 0x10078907
mov eax, 0x2400
test word [edx + 8], ax
je 0x100788ed
mov ecx, edx
call fcn.1006dd30
mov ecx, dword [ebp - 0x14]
mov edi, ebx
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edi, dword [ebp - 0x28]
mov eax, 1
mov ecx, dword [ebp - 0x14]
mov word [edx + 8], ax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
call fcn.1006dea0
mov ebx, eax
mov esi, edx
mov ecx, edi
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], esi
call fcn.1006dea0
mov edi, eax
mov eax, dword [ebp - 0x14]
mov cl, byte [eax]
cmp cl, 0x60
jne 0x10078935
and ebx, edi
and esi, edx
jmp 0x10078998
cmp cl, 0x61
jne 0x10078940
or ebx, edi
or esi, edx
jmp 0x10078998
mov eax, edi
or eax, edx
je 0x10078998
test edx, edx
jg 0x10078974
jl 0x10078950
test edi, edi
jae 0x10078969
mov al, 0xc5
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x10078974
jg 0x10078962
cmp edi, 0xffffffc0
jbe 0x10078974
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x100789c8
jg 0x10078974
cmp edi, 0x40
jb 0x100789c8
test esi, esi
jg 0x1007898a
jl 0x1007897e
test ebx, ebx
jae 0x1007898a
cmp cl, 0x62
je 0x1007898a
or ebx, 0xffffffff
or esi, ebx
jmp 0x10078998
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x38]
mov edx, 0x3e40
mov edi, dword [ebp - 0x28]
mov ax, word [ecx + 8]
and ax, dx
mov dword [ecx + 4], esi
mov esi, dword [ebp - 0x18]
or ax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x20]
mov dword [ecx], ebx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
movq xmm1, qword [ebp - 0xf0]
movd xmm0, edi
cmp cl, 0x62
jne 0x100789e4
psllq xmm1, xmm0
movq qword [ebp - 0x40], xmm1
jmp 0x10078992
psrlq xmm1, xmm0
movq qword [ebp - 0x40], xmm1
test esi, esi
jg 0x10078992
jl 0x100789f7
test ebx, ebx
jae 0x10078992
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.101b0170
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
or ebx, eax
or esi, edx
jmp 0x10078998
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov ecx, esi
call fcn.1006dea0
mov dword [esi], eax
mov ecx, 0x3e40
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0x14]
or ax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x20]
adc dword [esi + 4], edx
mov esi, dword [ebp - 0x18]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
movzx eax, word [esi + 8]
mov ecx, eax
test al, 4
jne 0x10078aa7
push dword [ebp - 0x54]
mov dl, 0x43
mov ecx, esi
call fcn.10077820
movzx eax, word [esi + 8]
add esp, 4
mov ecx, eax
test al, 4
jne 0x10078aa7
mov esi, dword [ebp - 0x14]
cmp dword [esi + 8], 0
jne 0x10077c21
mov eax, 0x14
mov esi, dword [ebp - 0x18]
jmp 0x1007c5e0
mov eax, dword [ebp - 0x20]
and ecx, 0x3e40
or ecx, 4
mov word [esi + 8], cx
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x24
lea esi, [edi + eax*8]
je 0x100781cd
mov ecx, esi
call fcn.1006df20
mov ax, word [esi + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [esi], xmm0
mov ecx, dword [ebp - 0x14]
or ax, 8
mov word [esi + 8], ax
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x10078b2f
mov ecx, esi
call fcn.1006dad0
mov dword [ebp - 0x24], eax
jmp 0x10078b36
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x54]
mov dl, byte [eax + 8]
call fcn.1006e110
mov eax, dword [ebp - 0x24]
add esp, 4
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
movzx esi, word [edi + eax*8 + 8]
lea edi, [edi + eax*8]
movzx eax, word [ebx + 8]
mov ecx, esi
mov edx, ecx
mov dword [ebp - 0x48], eax
or edx, eax
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x14]
test dl, 1
je 0x10078c2a
movzx eax, word [eax + 2]
test al, al
jns 0x10078bcd
mov al, byte [ebp - 0x34]
and al, byte [ebp - 0x48]
test al, 1
je 0x10078bbc
test ecx, 0x100
jne 0x10078bbc
xor ecx, ecx
jmp 0x10078d25
not ecx
and ecx, 1
lea ecx, [ecx*2 - 1]
jmp 0x10078d25
test al, 0x20
je 0x10078c0e
mov eax, dword [ebp - 0x14]
mov edx, 0x3e40
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x84], 1
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov ax, word [edi + ecx*8 + 8]
and ax, dx
or ax, 1
mov word [edi + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
test al, 0x10
jne 0x10077c1e
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov al, byte [eax + 2]
and al, 0x47
cmp al, 0x43
jb 0x10078caf
mov ecx, esi
test dl, 2
je 0x10078c6d
mov al, byte [ebp - 0x48]
and al, 0x2e
cmp al, 2
jne 0x10078c53
xor edx, edx
mov ecx, ebx
call fcn.100776b0
movzx eax, word [edi + 8]
mov dword [ebp - 0x34], eax
mov al, byte [ebp - 0x34]
movzx ecx, word [ebp - 0x34]
and al, 0x2e
cmp al, 2
jne 0x10078c6d
xor edx, edx
mov ecx, edi
call fcn.100776b0
movzx ecx, word [edi + 8]
mov al, byte [ebx + 8]
and al, cl
test al, 4
je 0x10078d11
mov ecx, dword [edi + 4]
mov eax, dword [ebx + 4]
mov esi, dword [edi]
mov edx, dword [ebx]
cmp ecx, eax
jl 0x10078caa
jg 0x10078c8e
cmp esi, edx
jbe 0x10078c98
mov ecx, 1
jmp 0x10078d25
cmp ecx, eax
jg 0x10078bb5
jl 0x10078caa
cmp esi, edx
jae 0x10078bb5
or ecx, 0xffffffff
jmp 0x10078d25
cmp al, 0x42
jne 0x10078d11
mov al, byte [ebp - 0x48]
test al, 2
jne 0x10078ce3
test al, 0x2c
je 0x10078ce3
mov dl, byte [ebp - 0x54]
mov ecx, ebx
push 1
call fcn.1006db30
mov ax, word [ebx + 8]
mov esi, 0x3e40
xor ax, word [ebp - 0x48]
add esp, 4
and ax, si
xor word [ebp - 0x48], ax
jmp 0x10078ce8
mov esi, 0x3e40
mov al, byte [ebp - 0x34]
test al, 2
jne 0x10078d11
test al, 0x2c
je 0x10078d11
mov dl, byte [ebp - 0x54]
mov ecx, edi
push 1
call fcn.1006db30
mov ax, word [edi + 8]
add esp, 4
xor ax, word [ebp - 0x34]
and ax, si
xor word [ebp - 0x34], ax
mov eax, dword [ebp - 0x14]
mov edx, ebx
mov ecx, edi
push dword [eax + 0x10]
call fcn.10072ce0
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
test ecx, ecx
jns 0x10078d37
mov al, byte [eax + str.SQLite_format_3]
jmp 0x10078d47
jne 0x10078d41
mov al, byte [eax + 0x101e9780]
jmp 0x10078d47
mov al, byte [eax + 0x101e8a74]
movzx edx, al
movzx eax, word [ebp - 0x48]
mov word [ebx + 8], ax
movzx eax, word [ebp - 0x34]
mov word [edi + 8], ax
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 2]
test al, 0x20
je 0x10078dbf
mov dword [ebp - 0x84], ecx
test al, 8
je 0x10078d82
mov esi, dword [ebp - 0x14]
xor eax, eax
cmp byte [esi], 0x35
sete al
cmp eax, edx
je 0x100780c5
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x28]
mov eax, dword [eax + 8]
lea esi, [eax + eax*4]
mov eax, 0x3e40
mov cx, word [edi + esi*8 + 8]
and cx, ax
mov eax, edx
cdq
or cx, 4
mov word [edi + esi*8 + 8], cx
mov ecx, dword [ebp - 0x14]
mov dword [edi + esi*8], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + esi*8 + 4], edx
mov esi, dword [ebp - 0x18]
add ecx, 0x14
jmp 0x10077bcb
test edx, edx
jne 0x10077c1e
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
cmp dword [ebp - 0x84], 0
jne 0x10077c1e
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x14]
test byte [esi + 2], 1
jne 0x10078dfd
xor ebx, ebx
jmp 0x10078e03
mov ebx, dword [esi - 4]
add ebx, 4
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x74], ecx
mov ecx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x38], ecx
test eax, eax
jle 0x100781cd
lea edi, [edx + 0x14]
test ebx, ebx
je 0x10078e31
mov ecx, dword [ebx + esi*4]
jmp 0x10078e33
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x28]
push dword [edi]
mov al, byte [esi + eax]
mov byte [ebp - 0x49], al
mov eax, dword [ebp - 0x38]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x74]
add eax, ecx
mov ecx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.10072ce0
mov edx, eax
add esp, 4
mov dword [ebp - 0x84], edx
test edx, edx
jne 0x10078e8e
mov edx, dword [ebp - 0x30]
inc esi
add edi, 4
cmp esi, dword [ebp - 0x60]
jl 0x10078e28
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
cmp byte [ebp - 0x49], 0
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
je 0x100780cb
mov edi, dword [ebp - 0x28]
neg edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x84], edx
add ecx, 0x14
jmp 0x10077bcb
mov ebx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x14]
test ebx, ebx
jns 0x10078edb
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x2c]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [ebp - 0x20]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x10077bcb
jne 0x10078ef7
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x2c]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [ebp - 0x20]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x2c]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [ebp - 0x20]
add ecx, 0xffffffec
add ecx, 0x14
jmp 0x10077bcb
mov ebx, dword [ebp - 0x14]
mov edx, 2
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.1006df50
mov ecx, dword [ebx + 8]
mov edx, 2
mov esi, eax
lea ecx, [ecx + ecx*4]
lea ecx, [edi + ecx*8]
call fcn.1006df50
mov ecx, ebx
lea eax, [eax + esi*2]
cmp byte [ecx], 0x2c
jne 0x10078f4f
mov dl, byte [esi + eax + 0x101e9f4c]
jmp 0x10078f56
mov dl, byte [esi + eax + 0x101e9b64]
mov eax, dword [ecx + 0xc]
mov ebx, 0x3e40
lea ecx, [eax + eax*4]
mov ax, word [edi + ecx*8 + 8]
and ax, bx
movzx esi, ax
cmp dl, 2
jne 0x10078f8e
mov eax, 1
or esi, eax
mov eax, dword [ebp - 0x20]
mov word [edi + ecx*8 + 8], si
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
movzx eax, dl
cdq
mov dword [edi + ecx*8], eax
mov eax, 4
or esi, eax
mov dword [edi + ecx*8 + 4], edx
mov eax, dword [ebp - 0x20]
mov word [edi + ecx*8 + 8], si
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.1006df50
mov ecx, dword [ebp - 0x14]
mov ebx, 0x2400
xor eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
cdq
lea ecx, [ecx + ecx*4]
test word [edi + ecx*8 + 8], bx
lea ecx, [edi + ecx*8]
je 0x10078ffe
push edx
push eax
call fcn.1006e2b0
mov ecx, dword [ebp - 0x14]
add esp, 8
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov dword [ecx], eax
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
lea ecx, [edi + eax*8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
jne 0x1007908e
xor edx, edx
call fcn.1006df50
neg eax
mov ecx, 0x2400
sbb eax, eax
inc eax
test word [esi + 8], cx
je 0x1007906b
push 0
push eax
mov ecx, esi
call fcn.1006e2b0
mov esi, dword [ebp - 0x18]
add esp, 8
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x18]
add ecx, 0x14
jmp 0x10077bcb
mov eax, 0x2400
test word [esi + 8], ax
je 0x100790b1
mov ecx, esi
call fcn.1006dd30
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ecx, dword [ebp - 0x14]
mov eax, 1
mov word [esi + 8], ax
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x2400
test word [esi + 8], ax
je 0x100790f7
mov ecx, esi
call fcn.1006dd30
jmp 0x10079100
mov eax, 1
mov word [esi + 8], ax
test byte [edi + 8], 1
jne 0x100780c5
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.1006dea0
mov edi, dword [ebp - 0x28]
not eax
mov ecx, dword [ebp - 0x14]
not edx
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x18]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + 0xc8]
test edi, edi
je 0x1007919f
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax + 0x68]
mov eax, 0x66666667
mov edi, dword [edi + 0x18]
imul ecx
mov eax, 1
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
and ecx, 7
shr esi, 3
shl eax, cl
movzx edx, byte [esi + edi]
test edx, eax
jne 0x10077c1e
mov eax, dword [ebp - 0x1c]
bts edx, ecx
mov byte [esi + edi], dl
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov ecx, dword [eax + 0x68]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ecx, dword [eax + 0x68]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 4]
je 0x10077c1e
mov edi, dword [ebp - 0x28]
mov ecx, edx
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.1006df50
test eax, eax
jne 0x10077c1e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ecx + 4]
xor edx, edx
cmp dword [ecx + 0xc], edx
sete dl
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.1006df50
test eax, eax
je 0x10077c1e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
jne 0x10077c1e
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 1
je 0x10077c1e
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x100781d0
mov eax, dword [ebp - 0x14]
mov ecx, 0x2400
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
test word [edi + eax*8 + 8], cx
lea eax, [edi + eax*8]
je 0x1007928c
mov ecx, eax
call fcn.1006dd30
jmp 0x10077c1e
mov ecx, 1
mov word [eax + 8], cx
jmp 0x10077c1e
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x7c]
mov dword [ebp - 0x7c], eax
call fcn.100722f0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc]
mov esi, dword [ecx + 0x48]
mov dword [ebp - 0x34], esi
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x58], ebx
cmp eax, dword [edx + 0x20]
je 0x100793f0
cmp byte [ecx + 2], 0
je 0x10079346
cmp byte [ecx], 3
jne 0x1007931f
mov eax, dword [ecx + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [edi + edx*8 + 0xc]
mov dword [ecx + 0x54], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x54]
mov dword [ecx + 0x50], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [edi + edx*8 + 0x10]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebp - 0x50]
jmp 0x10079381
mov eax, 0x2400
test word [ebx + 8], ax
je 0x1007b03b
mov ecx, ebx
call fcn.1006dd30
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ecx + 0x28]
mov ecx, esi
call fcn.10064f70
mov eax, dword [ebp - 0x50]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x50], ecx
mov ecx, esi
mov edx, dword [ebp - 0x50]
lea edx, [edx + 0x54]
call fcn.100655b0
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x18]
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x50]
cmp eax, dword [esi + 0x6c]
ja 0x1007d3ed
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x4c]
mov al, byte [ecx]
cmp al, 0x80
jae 0x1007939f
movzx eax, al
mov dword [esi], eax
mov al, 1
jmp 0x100793a6
mov edx, esi
call fcn.10052630
movzx ecx, al
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x50]
mov word [eax + 0x3a], cx
mov ecx, dword [ebp - 0x50]
mov edi, dword [esi]
cmp dword [ecx + 0x54], edi
jae 0x100794ac
mov dword [ecx + 0x4c], 0
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x54], 0
mov eax, dword [esi]
cmp eax, 0x18003
ja 0x100795a5
mov ecx, dword [ebp - 0x50]
cmp eax, dword [ecx + 0x50]
ja 0x100795a5
movzx eax, word [ecx + 0x3a]
mov esi, dword [ebp - 0x7c]
cmp eax, esi
jg 0x10079652
mov eax, dword [ebp - 0x34]
mov edi, dword [eax]
cmp dword [ecx + 0x30], edi
jae 0x100795d3
mov eax, dword [ecx + 0x4c]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x10079462
xorps xmm0, xmm0
lea eax, [ebp - 0x178]
movups xmmword [ebp - 0x178], xmm0
push eax
movups xmmword [ebp - 0x168], xmm0
xor edx, edx
movq qword [ebp - 0x158], xmm0
push dword [esi]
mov ecx, dword [ecx + 0x28]
call fcn.1006e8b0
add esp, 8
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
mov eax, dword [ebp - 0x168]
mov edi, dword [esi]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x48], eax
movzx ebx, word [ecx + 0x3a]
xor edx, edx
mov dword [ebp - 0x30], ebx
mov eax, dword [esi + ebx*4]
mov esi, dword [ecx + 0x30]
add esi, dword [ebp - 0x48]
add edi, dword [ebp - 0x48]
mov dword [ebp - 0x44], edi
lea edi, [ebx*4 + 0x58]
mov dword [ebp - 0x38], eax
movzx eax, byte [esi]
mov dword [ebp - 0x5c], eax
mov dword [edi + ecx], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x74], edx
cmp eax, 0x80
jae 0x100794b1
movzx eax, al
mov ebx, 1
movzx eax, byte [eax + 0x101ea018]
cdq
jmp 0x100794e1
mov eax, dword [ecx + 0x4c]
jmp 0x1007945f
lea edx, [ebp - 0x5c]
mov ecx, esi
call fcn.10052630
mov ecx, dword [ebp - 0x5c]
movzx ebx, al
mov eax, dword [ebp - 0x50]
mov dword [edi + eax], ecx
mov eax, dword [ebp - 0x5c]
cmp eax, 0x80
jb 0x100794d8
add eax, 0xfffffff4
shr eax, 1
jmp 0x100794df
movzx eax, byte [eax + 0x101ea018]
xor edx, edx
add eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
adc edx, dword [ebp - 0x74]
add esi, ebx
mov ebx, dword [ebp - 0x30]
add edi, 4
inc ebx
mov dword [ebp - 0x30], ebx
mov dword [ecx + edi - 0x58], eax
mov ecx, dword [ebp - 0x50]
cmp ebx, dword [ebp - 0x7c]
jg 0x10079510
cmp esi, dword [ebp - 0x44]
jb 0x10079481
mov edi, dword [ebp - 0x44]
jmp 0x10079517
mov edi, dword [ebp - 0x44]
cmp esi, edi
jb 0x10079524
cmp esi, edi
ja 0x1007952f
cmp eax, dword [ecx + 0x50]
jne 0x1007952f
test edx, edx
jne 0x1007952f
test edx, edx
jb 0x1007953b
ja 0x1007952f
cmp eax, dword [ecx + 0x50]
jbe 0x1007953b
mov eax, dword [ebp - 0x34]
cmp dword [eax], 0
jne 0x1007957f
xor ebx, ebx
mov esi, edi
sub esi, dword [ebp - 0x48]
mov word [ecx + 0x3a], bx
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x30], esi
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x4c], 0
jne 0x10079574
test dword [ebp - 0x170], 0x2400
jne 0x10079566
cmp dword [ebp - 0x160], 0
je 0x10079574
lea ecx, [ebp - 0x178]
call fcn.1006dd80
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x58]
jmp 0x100795d8
cmp dword [ecx + 0x4c], 0
jne 0x100795a5
test dword [ebp - 0x170], 0x2400
jne 0x1007959a
cmp dword [ebp - 0x160], 0
je 0x100795a5
lea ecx, [ebp - 0x178]
call fcn.1006dd80
mov edi, dword [ebp - 0x2c]
mov eax, dword [edi + 0xc]
test eax, eax
jle 0x1007d1dd
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [edi + eax*4]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
xor edx, edx
mov dword [ebp - 0x5c], edx
movzx eax, word [ecx + 0x3a]
cmp eax, esi
jg 0x10079659
mov esi, dword [ebp - 0x14]
cmp byte [esi + 1], 0xf5
jne 0x1007960f
mov edx, dword [esi + 0x10]
mov ecx, ebx
push 0x800
call fcn.1006e460
mov edi, dword [ebp - 0x28]
add esp, 4
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, 0x2400
test word [ebx + 8], ax
je 0x10079635
mov ecx, ebx
call fcn.1006dd30
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edi, dword [ebp - 0x28]
mov eax, 1
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ecx + esi*4 + 0x58]
mov dword [ebp - 0x5c], edx
mov eax, 0x2400
test word [ebx + 8], ax
je 0x10079674
mov ecx, ebx
call fcn.1006dd30
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x34]
mov eax, dword [ecx + 0x54]
cmp eax, dword [edi + esi*4 + 4]
jb 0x10079732
mov eax, dword [ebp - 0x34]
mov edi, dword [ecx + 0x4c]
add edi, dword [eax + esi*4]
cmp edx, 0xc
jae 0x100796b1
mov ecx, edi
push ebx
call fcn.10072560
mov esi, dword [ebp - 0x18]
add esp, 4
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov al, byte [ebp - 0x54]
lea esi, [edx - 0xc]
shr esi, 1
mov dword [ebx + 0xc], esi
mov byte [ebx + 0xa], al
lea edx, [esi + 2]
cmp dword [ebx + 0x18], edx
jge 0x100796ec
mov eax, 1
mov ecx, ebx
lfence
push 0
mov word [ebx + 8], ax
call fcn.1006d890
add esp, 4
test eax, eax
jne 0x100798ff
mov eax, dword [ebx + 0x10]
jmp 0x100796f2
mov eax, dword [ebx + 0x14]
mov dword [ebx + 0x10], eax
push esi
push edi
push eax
call fcn.10187960
mov eax, dword [ebx + 0x10]
add esp, 0xc
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov byte [esi + eax], 0
mov eax, dword [ebx + 0x10]
mov byte [eax + esi + 1], 0
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x18]
and eax, 1
mov ax, word [eax*2 + 0x101ea620]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov al, byte [ebp - 0x54]
mov byte [ebx + 0xa], al
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x5c]
movzx eax, word [eax + 2]
test al, 0xc0
je 0x10079754
cmp edx, 0xc
jb 0x10079750
test dl, 1
je 0x1007976e
test al, al
js 0x1007976e
cmp edx, 0x80
jb 0x10079763
lea eax, [edx - 0xc]
shr eax, 1
jmp 0x1007976a
movzx eax, byte [edx + 0x101ea018]
test eax, eax
jne 0x10079778
mov ecx, 0x10234eec
jmp 0x10079694
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x50]
push ebx
push eax
mov edx, dword [edi + edx*4]
mov ecx, dword [ecx + 0x28]
call fcn.1006e8b0
add esp, 8
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebx + 0x10]
push ebx
call fcn.10072560
mov esi, dword [ebp - 0x18]
mov eax, 0xefff
mov edi, dword [ebp - 0x28]
add esp, 4
and word [ebx + 8], ax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov al, byte [edi]
nop dword [eax]
push dword [ebp - 0x54]
mov dl, al
mov ecx, esi
call fcn.10077820
add esp, 4
cmp byte [edi], 0x45
jne 0x10079808
movzx eax, word [esi + 8]
test al, 4
je 0x10079808
and eax, 0xfffb
or eax, 0x20
mov word [esi + 8], ax
mov al, byte [edi + 1]
inc edi
test al, al
je 0x100780c5
add esi, 0x28
jmp 0x100797e0
mov esi, dword [ebp - 0x14]
xor eax, eax
mov ecx, dword [ebp - 0x28]
xorps xmm0, xmm0
mov dword [ebp - 0x34], eax
movlpd qword [ebp - 0x40], xmm0
mov eax, dword [esi + 4]
mov edi, dword [esi + 0x10]
movlpd qword [ebp - 0x78], xmm0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [esi + 8]
mov dword [ebp - 0x30], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], ebx
movzx edx, byte [eax + 0x93]
mov eax, dword [esi + 0xc]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x60], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0x48], eax
test edi, edi
je 0x100798ad
mov al, byte [edi]
lea esi, [ecx + 8]
mov ebx, dword [ebp - 0x54]
push ebx
lea ecx, [esi - 8]
mov dl, al
call fcn.10077820
add esp, 4
cmp byte [edi], 0x45
jne 0x1007989c
movzx eax, word [esi]
test al, 4
je 0x1007989c
and eax, 0xfffb
or eax, 0x20
mov word [esi], ax
mov al, byte [edi + 1]
inc edi
add esi, 0x28
test al, al
jne 0x10079877
mov edx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov edi, ebx
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x9c]
mov ecx, edi
push eax
call fcn.10072340
mov ebx, eax
add esp, 4
mov eax, 0x4000
test word [edi + 8], ax
je 0x10079934
test ebx, ebx
jne 0x100798ed
mov ebx, 0xa
jmp 0x10079934
mov eax, dword [ebp - 0x6c]
or eax, esi
je 0x10079923
mov ecx, edi
call fcn.1006dad0
test eax, eax
je 0x10079934
mov esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.1004e650
push str.out_of_memory
push dword [ebp - 0x1c]
call fcn.1006f1a0
add esp, 8
mov eax, 7
jmp 0x1007c5e0
mov ecx, dword [edi]
mov eax, ecx
cdq
add dword [ebp - 0x58], eax
adc dword [ebp - 0x44], edx
sub dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x9c]
mov dword [ebp - 0x6c], eax
adc esi, 0
mov dword [ebp - 0x74], esi
mov esi, 1
cmp ebx, 0x7f
jbe 0x1007996e
mov edx, ebx
xor ecx, ecx
shr edx, 7
mov eax, edx
or eax, ecx
je 0x1007996e
nop dword [eax]
shrd edx, ecx, 7
inc esi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x10079960
mov eax, dword [ebp - 0x34]
add eax, esi
mov dword [edi + 0x1c], ebx
mov dword [ebp - 0x34], eax
cmp edi, dword [ebp - 0x30]
je 0x1007998c
mov esi, dword [ebp - 0x74]
sub edi, 0x28
mov edx, dword [ebp - 0x60]
jmp 0x100798c4
cmp eax, 0x7e
jle 0x100799e6
cdq
mov ebx, 1
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x100799b4
shrd esi, edx, 7
inc ebx
shr edx, 7
mov eax, esi
or eax, edx
jne 0x100799a6
mov eax, dword [ebp - 0x34]
mov edi, 1
add eax, ebx
mov dword [ebp - 0x34], eax
cdq
mov esi, eax
shrd esi, edx, 7
shr edx, 7
mov ecx, esi
or ecx, edx
je 0x100799df
shrd esi, edx, 7
inc edi
shr edx, 7
mov eax, esi
or eax, edx
jne 0x100799d1
mov eax, dword [ebp - 0x34]
cmp ebx, edi
jge 0x100799ea
inc eax
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x48]
cdq
mov ecx, eax
mov eax, edx
mov esi, ecx
mov dword [ebp - 0x3c], ecx
add esi, dword [ebp - 0x6c]
mov ecx, eax
mov ebx, dword [ebx + 0x18]
mov edi, esi
adc ecx, dword [ebp - 0x74]
add edi, dword [ebp - 0x58]
mov dword [ebp - 0x60], eax
mov eax, ebx
adc ecx, dword [ebp - 0x44]
cdq
cmp ecx, edx
jg 0x10079a25
jl 0x10079a1a
cmp edi, eax
ja 0x10079a25
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x14]
mov dword [edx + 0x10], eax
jmp 0x10079a71
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x6c]
cdq
cmp ecx, edx
jg 0x1007d3ea
jl 0x10079a3e
cmp edi, eax
ja 0x1007d3ea
cmp ebx, esi
jge 0x10079a59
mov ecx, dword [ebp - 0x48]
mov edx, esi
push 0
lfence
call fcn.1006d890
mov edx, dword [ebp - 0x48]
add esp, 4
jmp 0x10079a69
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x14]
and word [edx + 8], 0x2d
mov dword [edx + 0x10], eax
xor eax, eax
test eax, eax
jne 0x100798ff
mov ecx, dword [ebp - 0x58]
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x44]
mov dword [edx + 0xc], esi
je 0x10079a92
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov eax, dword [ebp - 0x34]
mov esi, dword [edx + 0x10]
lea edi, [esi + eax]
cmp eax, 0x80
jae 0x10079aab
mov byte [esi], al
mov eax, 1
jmp 0x10079abb
push dword [ebp - 0x60]
mov ecx, esi
push dword [ebp - 0x3c]
call fcn.10052410
add esp, 8
mov ebx, dword [ebp - 0x30]
movzx eax, al
add esi, eax
mov ebx, dword [ebx + 0x1c]
cmp ebx, 0x80
jae 0x10079ad7
mov byte [esi], bl
mov eax, 1
jmp 0x10079ae4
push 0
push ebx
mov ecx, esi
call fcn.10052410
add esp, 8
push ebx
mov ebx, dword [ebp - 0x30]
mov ecx, edi
movzx eax, al
mov edx, ebx
add esi, eax
call fcn.100724f0
add ebx, 0x28
add esp, 4
add edi, eax
mov dword [ebp - 0x30], ebx
cmp ebx, dword [ebp - 0x38]
jbe 0x10079ac3
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
lea edx, [ebp - 0xf8]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x28]
movlpd qword [ebp - 0xf8], xmm0
call fcn.1006b480
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x10079b90
call fcn.10077ab0
mov ecx, eax
mov eax, dword [ebp - 0xf8]
mov dword [ecx], eax
mov eax, dword [ebp - 0xf4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xf8]
mov dword [ecx], eax
mov eax, dword [ebp - 0xf4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x10079ca5
cmp dword [esi + 0xb4], eax
jg 0x1007d208
test ebx, ebx
jne 0x10079be0
xor esi, esi
jmp 0x10079bf4
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10079be5
sub esi, ecx
and esi, 0x3fffffff
mov edi, dword [ebp - 0x18]
xor edx, edx
mov ecx, edi
mov eax, dword [edi + 0x1d0]
add eax, dword [edi + 0x1cc]
push eax
call fcn.100c3a00
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007d616
lea eax, [esi + 0x21]
mov ecx, edi
push 0
push eax
call fcn.1004e240
mov edi, eax
add esp, 8
test edi, edi
je 0x100780c5
lea ecx, [esi + 1]
push ecx
lea edx, [edi + 0x20]
push ebx
push edx
mov dword [edi], edx
call fcn.10187960
mov esi, dword [ebp - 0x18]
add esp, 0xc
cmp byte [esi + 0x4f], 0
je 0x10079c5b
mov byte [esi + 0x4f], 0
mov byte [esi + 0x57], 1
jmp 0x10079c61
inc dword [esi + 0x1cc]
mov eax, dword [esi + 0x1c4]
mov ecx, dword [ebp - 0x14]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1d8]
mov dword [esi + 0x1c4], edi
mov dword [edi + 8], eax
mov eax, dword [esi + 0x1dc]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x1e0]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x1e4]
mov dword [edi + 0x14], eax
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [esi + 0x1c4]
xor edi, edi
test esi, esi
je 0x10079cc6
mov ecx, dword [esi]
mov edx, ebx
call fcn.10051830
test eax, eax
je 0x10079ce4
mov esi, dword [esi + 0x18]
inc edi
test esi, esi
jne 0x10079cb1
push ebx
push str.no_such_savepoint:__s
push dword [ebp - 0x1c]
call fcn.1006f1a0
mov esi, dword [ebp - 0x18]
add esp, 0xc
mov eax, 1
jmp 0x1007c5e0
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x48]
cmp dword [edx + 0xb4], 0
jle 0x10079cfc
cmp ebx, 1
je 0x1007d222
cmp dword [esi + 0x18], 0
jne 0x10079d55
cmp byte [edx + 0x57], 0
je 0x10079d55
mov dword [ebp - 0x58], 1
cmp ebx, 1
jne 0x10079d5c
mov ecx, dword [ebp - 0x1c]
mov edx, ebx
call fcn.100718e0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007d61d
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov byte [eax + 0x4f], bl
call fcn.10071940
cmp eax, 5
je 0x1007d23f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov byte [edx + 0x57], 0
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x24], eax
jmp 0x10079e55
mov dword [ebp - 0x58], 0
mov ecx, dword [edx + 0x1cc]
mov eax, dword [edx + 0x14]
sub ecx, edi
dec ecx
mov dword [ebp - 0x30], ecx
cmp ebx, 2
jne 0x10079dcc
mov edx, dword [edx + 0x18]
xor ebx, ebx
and edx, 1
mov dword [ebp - 0x44], edx
test eax, eax
jle 0x10079dd1
mov ecx, edx
xor ecx, 1
xor edi, edi
mov dword [ebp - 0x3c], ecx
nop dword [eax]
mov eax, dword [ebp - 0x18]
mov edx, 0x204
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.10064a10
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
mov eax, dword [ebp - 0x18]
inc ebx
mov ecx, dword [ebp - 0x3c]
add edi, 0x10
mov eax, dword [eax + 0x14]
cmp ebx, eax
jl 0x10079d90
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x44]
jmp 0x10079dd1
xor edx, edx
mov dword [ebp - 0x44], edx
xor ebx, ebx
test eax, eax
mov eax, dword [ebp - 0x18]
jle 0x10079e10
xor edi, edi
nop dword [eax]
mov edx, dword [ebp - 0x48]
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [edi + ecx + 4]
call fcn.10064cd0
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
mov eax, dword [ebp - 0x18]
inc ebx
mov ecx, dword [ebp - 0x30]
add edi, 0x10
cmp ebx, dword [eax + 0x14]
jl 0x10079de0
mov edx, dword [ebp - 0x44]
test edx, edx
je 0x10079e4c
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x10079e3c
nop dword [eax + eax]
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x10079e20
mov eax, dword [ebp - 0x18]
mov ecx, eax
call fcn.100939f0
mov edx, dword [ebp - 0x18]
or dword [edx + 0x18], 1
jmp 0x10079e4f
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x30]
mov ecx, dword [edx + 0x1c4]
cmp ecx, esi
je 0x10079e8a
mov ebx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x18]
mov edx, ecx
mov ecx, ebx
mov dword [ebx + 0x1c4], eax
call fcn.1004ded0
mov ecx, dword [ebx + 0x1c4]
dec dword [ebx + 0x1cc]
cmp ecx, esi
jne 0x10079e62
mov ebx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x18]
cmp ebx, 1
jne 0x10079ed9
mov eax, dword [esi + 0x18]
mov dword [edx + 0x1c4], eax
mov edx, esi
mov esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.1004ded0
cmp dword [ebp - 0x58], 0
jne 0x10079f0b
dec dword [esi + 0x1cc]
push edi
mov edx, ebx
mov ecx, esi
call fcn.100c3a00
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
cmp dword [ebp - 0x58], 0
mov eax, dword [esi + 8]
mov dword [edx + 0x1d8], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0x1dc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x1e0], eax
mov eax, dword [esi + 0x14]
mov esi, dword [ebp - 0x18]
mov dword [esi + 0x1e4], eax
je 0x10079eb0
cmp ebx, 2
je 0x10079eb0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x1007c5e0
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x58], 0
mov edx, dword [edx + 8]
test edx, edx
je 0x10079f49
mov eax, dword [esi + 0x20]
and eax, 0x100000
or eax, 0
jne 0x1007d274
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov esi, dword [eax + ecx*8 + 4]
test esi, esi
je 0x1007a01c
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
call fcn.10063880
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007d27e
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
cmp dword [ecx + 8], eax
je 0x1007a02a
test byte [edx + 0x98], 0x80
je 0x1007a02a
mov ebx, dword [ebp - 0x18]
cmp byte [ebx + 0x4f], al
je 0x10079faa
cmp dword [ebx + 0xb0], 1
jle 0x1007a02f
mov eax, dword [edx + 0x30]
test eax, eax
jne 0x10079fc6
mov eax, dword [ebx + 0x1cc]
inc dword [ebx + 0x1d0]
add eax, dword [ebx + 0x1d0]
mov dword [edx + 0x30], eax
dec eax
xor edx, edx
push eax
mov ecx, ebx
call fcn.100c3a00
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10079feb
mov eax, dword [ebp - 0x1c]
mov ecx, esi
mov edx, dword [eax + 0x30]
call fcn.10064c70
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x1c]
mov esi, ebx
mov ecx, dword [ebp - 0x14]
mov eax, dword [esi + 0x1d8]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x1dc]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x1e0]
mov dword [edx + 0x50], eax
mov eax, dword [esi + 0x1e4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 0x24]
jmp 0x1007a031
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
jmp 0x1007a031
mov esi, dword [ebp - 0x18]
jmp 0x1007a031
mov esi, ebx
cmp word [ecx + 2], 0
je 0x1007a065
mov eax, dword [ebp - 0x58]
cmp eax, dword [ecx + 0xc]
jne 0x1007d2b3
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
jne 0x1007d2b3
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x1007c5e0
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0xdc]
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1006b370
mov eax, dword [ebp - 0x14]
add esp, 4
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
lea ecx, [eax + ecx*8]
mov eax, 0x2400
test word [ecx + 8], ax
je 0x1007a0d7
call fcn.10077ab0
mov ecx, eax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xdc]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov esi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl esi, 4
add esi, dword [eax + 0x10]
mov ecx, dword [esi + 4]
call fcn.1006b3d0
mov edx, dword [ebp - 0x14]
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [edx + 8]
cmp eax, 1
jne 0x1007a139
mov ecx, dword [esi + 0xc]
mov esi, dword [ebp - 0x18]
mov eax, dword [edx + 0xc]
mov dword [ecx], eax
or dword [esi + 0x18], 1
jmp 0x1007a14a
cmp eax, 2
jne 0x1007a147
mov ecx, dword [esi + 0xc]
mov al, byte [edx + 0xc]
mov byte [ecx + 0x4c], al
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 4], 1
jne 0x1007a183
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1007a179
nop word [eax + eax]
mov eax, dword [ecx + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1007a160
mov edx, dword [ebp - 0x1c]
and dword [edx + 0x98], 0xfffffffc
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x1007a1bb
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 8]
je 0x1007a2ca
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x98]
and al, 3
cmp al, 1
je 0x1007d317
mov eax, dword [ebp - 0x14]
xor ebx, ebx
mov edi, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, esi
shl eax, 4
add eax, dword [edi + 0x10]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], esi
mov edi, dword [eax + 4]
mov dword [ebp - 0x60], edi
cmp dl, 0x6d
jne 0x1007a21e
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
movzx edi, word [edx + 2]
mov edx, dword [ebp - 0x1c]
and edi, 8
mov al, byte [eax + 0x4c]
or edi, 4
cmp al, byte [edx + 0x93]
jae 0x1007a220
mov byte [edx + 0x93], al
jmp 0x1007a220
xor edi, edi
mov eax, dword [ebp - 0x14]
test byte [eax + 2], 0x10
je 0x1007a25a
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x28]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.1006dea0
mov dword [esi], eax
mov ecx, 0x3e40
mov ax, word [esi + 8]
and ax, cx
mov dword [esi + 4], edx
or ax, 4
mov word [esi + 8], ax
mov eax, dword [esi]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + 1]
cmp al, 0xf7
jne 0x1007a26d
mov ebx, dword [ecx + 0x10]
movzx eax, word [ebx + 8]
jmp 0x1007a278
cmp al, 0xfd
jne 0x1007a276
mov eax, dword [ecx + 0x10]
jmp 0x1007a278
mov eax, ebx
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x1c]
push 0
push esi
push eax
call fcn.100775b0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100798ff
push dword [esi + 0x28]
mov eax, dword [ebp - 0x38]
mov edx, eax
mov ecx, dword [ebp - 0x60]
or dword [esi + 8], 4
push ebx
push edi
mov byte [esi + 2], 1
mov dword [esi + 0x34], eax
call fcn.10064da0
mov edi, dword [ebp - 0x28]
add esp, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x2c], ebx
cmp byte [eax + 1], 0xf7
setne al
mov byte [esi + 4], al
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 2]
mov eax, dword [esi + 0x28]
and cl, 3
mov esi, dword [ebp - 0x18]
mov byte [eax + 3], cl
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
push 0
push 0xffffffffffffffff
mov ecx, dword [edx + 8]
mov eax, dword [edi + 0x60]
mov edx, dword [edx + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, edi
movsx eax, word [ebx + 0x38]
push eax
call fcn.100775b0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10079902
or dword [edi + 8], 1
push dword [edi + 0x28]
mov byte [edi + 2], 1
mov esi, dword [ebx + 0x2c]
mov dword [edi + 0x2c], esi
mov al, byte [ebx + 4]
mov byte [edi + 4], al
mov edx, dword [ebx + 0x34]
mov dword [edi + 0x34], edx
mov eax, dword [ebx + 8]
xor eax, dword [edi + 8]
and eax, 4
xor dword [edi + 8], eax
mov ecx, dword [ebx + 0xc]
push esi
push 4
call fcn.10064da0
mov esi, dword [ebp - 0x18]
mov ecx, eax
mov edi, dword [ebp - 0x28]
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [edx + 4]
mov eax, dword [ecx + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je 0x1007a3bc
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x1c], 0
test ecx, ecx
je 0x1007a4a7
mov edx, dword [esi + 0x34]
push 0
call fcn.1006aea0
add esp, 4
mov dword [ebp - 0x24], eax
jmp 0x1007a4aa
mov eax, dword [ebp - 0x14]
push 0
push 0xffffffffffffffff
push dword [eax + 8]
call fcn.100775b0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100798ff
mov eax, dword [ebp - 0x14]
lea edi, [esi + 0xc]
or dword [esi + 8], 1
xor edx, edx
push 0x41e
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x18]
or ecx, 5
push ecx
push edi
push eax
mov ecx, dword [eax]
call fcn.100626b0
add esp, 0x10
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007a487
mov ecx, dword [edi]
lea edx, [eax + 1]
push eax
call fcn.10063880
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007a487
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi]
mov ebx, dword [eax + 0x10]
mov dword [esi + 0x2c], ebx
test ebx, ebx
je 0x1007a465
movzx eax, word [eax + 2]
lea edx, [esi + 0x34]
or eax, 2
push eax
call fcn.1006ac50
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007a45f
push dword [esi + 0x28]
mov edx, dword [esi + 0x34]
mov ecx, dword [edi]
push ebx
push 4
call fcn.10064da0
add esp, 0xc
mov dword [ebp - 0x24], eax
mov byte [esi + 4], 0
jmp 0x1007a487
push dword [esi + 0x28]
mov edx, 1
mov dword [esi + 0x34], 1
push 0
push 4
call fcn.10064da0
add esp, 0xc
mov dword [ebp - 0x24], eax
mov byte [esi + 4], 1
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov edi, dword [ebp - 0x28]
cmp word [eax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [esi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 8], ecx
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x10078a9f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov byte [esi + 2], 1
mov esi, dword [ebp - 0x18]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
push 1
push 0xffffffffffffffff
push dword [edx + 8]
mov edx, dword [edx + 4]
call fcn.100775b0
add esp, 0xc
test eax, eax
je 0x10079902
mov edx, dword [ebp - 0x14]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x2c], ecx
mov ecx, esi
mov edx, dword [edx + 0xc]
call fcn.1007eea0
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
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 dword [edx + 0x14], eax
je 0x10077c1e
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
push 3
push 0xffffffffffffffff
push dword [edx + 0xc]
mov edx, dword [edx + 4]
call fcn.100775b0
add esp, 0xc
test eax, eax
je 0x10079902
mov ecx, dword [ebp - 0x14]
mov byte [eax + 2], 1
mov ecx, dword [ecx + 8]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x14]
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x10234c3a
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
mov edx, dword [ecx + 0x60]
mov edx, dword [edx + eax*4]
call fcn.10070cb0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x60]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
xor edi, edi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x74], edi
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 4], 0
mov word [esi + 2], di
mov dword [esi + 0x1c], edi
je 0x1007a6ee
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [edi + 8]
and al, 0x2e
cmp al, 2
jne 0x1007a616
xor edx, edx
mov ecx, edi
call fcn.100776b0
mov ecx, edi
call fcn.1006dea0
movzx ecx, word [edi + 8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], edx
test cl, 0x24
jne 0x1007a6b8
test cl, 8
jne 0x1007a68a
test cl, 1
jne 0x10077c1e
cmp ebx, 0x18
jae 0x10077c1e
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x64]
call fcn.10065860
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
cmp dword [ebp - 0x64], 0
jne 0x10077c1e
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x74], 0
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
lea eax, [ecx + 0x14]
cmove eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, eax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
call fcn.101bcfd0
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x1007a6ac
test bl, 1
lea eax, [ebx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x1007a6b8
comisd xmm1, xmm0
jbe 0x1007a6b8
test bl, 1
jne 0x1007a6b8
inc ebx
mov edi, dword [ebp - 0x38]
lea eax, [ebp - 0x64]
mov ecx, dword [esi + 0x28]
xor edx, edx
push eax
push 0
push dword [ebp - 0x30]
push edi
call fcn.10065900
mov dword [ebp - 0x24], eax
add esp, 0x10
mov eax, dword [ebp - 0x30]
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x40], edi
test eax, eax
jne 0x10078a9f
jmp 0x1007a781
mov ecx, dword [esi + 0x28]
mov edx, 2
call fcn.1006c990
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x108]
test eax, eax
mov eax, 1
cmovne edi, eax
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x108], eax
test bl, 1
mov ax, word [ecx + 0x10]
mov word [ebp - 0x100], ax
sete al
mov byte [ebp - 0xfa], 0
mov dword [ebp - 0x74], edi
lea eax, [eax*2 - 1]
mov byte [ebp - 0xfe], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x64]
mov ecx, dword [esi + 0x28]
push eax
push 0
push 0
push 0
call fcn.10065900
add esp, 0x10
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
test edi, edi
je 0x1007a781
cmp byte [ebp - 0xfa], al
je 0x1007a65d
mov eax, dword [ebp - 0x64]
cmp ebx, 0x18
jl 0x1007a7db
test eax, eax
js 0x1007a7a0
jne 0x1007a794
cmp ebx, 0x19
je 0x1007a7a0
mov dword [ebp - 0x64], 0
jmp 0x1007a667
mov dword [ebp - 0x64], 0
push 0
push dword [esi + 0x28]
call fcn.10065fb0
add esp, 8
mov dword [ebp - 0x24], eax
test eax, eax
je 0x1007a65d
cmp eax, 0x65
jne 0x10078a9f
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x64], 1
jmp 0x10077c1e
test eax, eax
jg 0x1007a7f6
jne 0x1007a7e6
cmp ebx, 0x16
je 0x1007a7f6
mov ecx, dword [esi + 0x28]
call fcn.10065df0
mov dword [ebp - 0x64], eax
jmp 0x1007a65d
mov dword [ebp - 0x64], 0
push 0
push dword [esi + 0x28]
call fcn.10066140
jmp 0x1007a7b1
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, edx
mov eax, dword [eax + 8]
shl eax, 3
xor eax, dword [ecx + 8]
and eax, 8
xor dword [ecx + 8], eax
mov ecx, edx
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [edx + 0x60]
mov eax, dword [eax + ecx*4]
test byte [eax + 8], 8
jne 0x100781d0
jmp 0x1007a851
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
mov eax, dword [edx + 0x60]
mov ecx, dword [esi + 4]
mov ebx, dword [eax + ecx*4]
mov ecx, esi
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
test ecx, ecx
jle 0x1007a88f
mov eax, dword [ebx + 0x2c]
lea edi, [ebp - 0x190]
mov dword [ebp - 0x18c], esi
xor esi, esi
mov dword [ebp - 0x190], eax
mov word [ebp - 0x188], cx
jmp 0x1007a8d2
mov eax, 0x4000
test word [esi + 8], ax
je 0x1007a8a9
mov ecx, esi
call fcn.1006dad0
test eax, eax
jne 0x100798ff
mov ecx, dword [ebx + 0x2c]
call fcn.10072810
mov edi, eax
mov dword [ebp - 0x3c], edi
test edi, edi
je 0x100798ff
mov edx, dword [esi + 0xc]
mov ecx, dword [ebx + 0x2c]
push edi
push dword [esi + 0x10]
call fcn.10072870
add esp, 8
mov esi, edi
mov eax, dword [ebp - 0x14]
mov byte [edi + 0xa], 0
mov dword [ebp - 0x38], 0
cmp byte [eax], 0x1b
jne 0x1007a90b
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
je 0x1007a90b
mov eax, dword [edi + 4]
add eax, 8
test byte [eax], 1
jne 0x1007a904
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x1007a8f5
jmp 0x1007a90b
mov dword [ebp - 0x38], 1
mov ecx, dword [ebx + 0x28]
lea eax, [ebp - 0xbc]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.10065900
add esp, 0x10
mov dword [ebp - 0x24], eax
test esi, esi
je 0x1007a93d
mov edx, esi
mov esi, dword [ebp - 0x18]
mov ecx, esi
call fcn.1004ded0
mov eax, dword [ebp - 0x24]
jmp 0x1007a940
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x1007c5e0
mov eax, dword [ebp - 0xbc]
xor ecx, ecx
mov edx, dword [ebp - 0x14]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0xbc]
test eax, eax
mov byte [ebx + 3], 0
sete cl
mov dword [ebx + 0x1c], 0
test eax, eax
setne al
mov byte [ebx + 2], al
cmp byte [edx], 0x1d
jne 0x1007a991
test ecx, ecx
jne 0x10077c1e
mov edi, dword [ebp - 0x28]
mov ecx, edx
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
cmp dword [ebp - 0x38], 0
jne 0x10077c1e
test ecx, ecx
je 0x10077c1e
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
movzx eax, word [esi + 8]
mov edi, eax
test al, 0x24
jne 0x1007a9ee
push dword [ebp - 0x54]
mov dl, 0x43
mov ecx, esi
call fcn.10077820
movzx eax, word [esi + 8]
add esp, 4
shr eax, 2
not eax
mov word [esi + 8], di
test al, 1
jne 0x10077c1e
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + ecx*4]
mov eax, dword [esi + 0xc]
mov ecx, dword [ebx + 0x28]
lea eax, [eax + eax*4]
mov dword [ebp - 0xac], 0
mov esi, dword [edi + eax*8]
mov edi, dword [edi + eax*8 + 4]
lea eax, [ebp - 0xac]
push eax
push 0
push edi
push esi
call fcn.10065900
mov dword [ebx + 0x40], esi
add esp, 0x10
mov dword [ebx + 0x44], edi
mov word [ebx + 2], 0
mov dword [ebx + 0x1c], 0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xac]
mov dword [ebx + 0x20], eax
cmp dword [ebp - 0xac], 0
je 0x1007c254
mov esi, dword [ebp - 0x14]
cmp dword [esi + 8], 0
jne 0x10077c21
mov ecx, 0x158d1
call fcn.100e10f0
mov dword [ebp - 0x24], eax
jmp 0x1007c257
mov ebx, dword [ebp - 0x14]
mov edx, ebx
mov edi, dword [ebp - 0x1c]
mov ecx, edi
call fcn.10077ad0
mov ecx, dword [edi + 0x60]
mov edx, dword [ebx + 4]
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 eax, ebx
mov ecx, dword [eax + 4]
mov eax, edi
mov edi, dword [ebp - 0x28]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, ebx
add dword [eax + 0x10], 1
adc dword [eax + 0x14], 0
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x1c]
movlpd qword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0
call fcn.10077ad0
mov ebx, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edi, dword [ecx + edx*4]
test byte [edi + 8], 2
jne 0x1007ab4c
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x30]
call fcn.10065860
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
cmp dword [ebp - 0x30], eax
je 0x1007ab1a
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x3c], eax
jmp 0x1007ab49
mov ecx, dword [edi + 0x28]
call fcn.10064fd0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
cmp edx, 0x7fffffff
jl 0x1007ab3d
jg 0x1007ab37
cmp eax, 0xffffffff
jb 0x1007ab3d
or dword [edi + 8], 2
jmp 0x1007ab49
add eax, 1
mov dword [ebp - 0x40], eax
adc edx, 0
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x1007abdd
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x1007ab84
mov eax, dword [edx + 4]
test eax, eax
je 0x1007ab79
nop dword [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x1007ab70
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
jmp 0x1007ab8d
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x28]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.1006dfa0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
cmp ecx, 0xffffffff
jne 0x1007abaa
cmp edx, 0x7fffffff
je 0x1007ac32
test byte [edi + 8], 2
jne 0x1007ac32
add ecx, 1
adc edx, 0
cmp dword [ebp - 0x3c], edx
jg 0x1007abd2
jl 0x1007abc8
mov eax, dword [ebp - 0x40]
cmp eax, ecx
jae 0x1007abd5
mov eax, ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], eax
jmp 0x1007abd5
mov eax, dword [ebp - 0x40]
mov dword [esi], eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 4], eax
test byte [edi + 8], 2
je 0x1007ac3f
xor esi, esi
lea eax, [ebp - 0x40]
push eax
push 8
call fcn.10050c90
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x30]
mov ecx, dword [ebp - 0x40]
and eax, 0x3fffffff
add ecx, 1
push edx
adc eax, 0
mov dword [ebp - 0x40], ecx
push 0
push eax
mov dword [ebp - 0x3c], eax
xor edx, edx
push ecx
mov ecx, dword [edi + 0x28]
call fcn.10065900
add esp, 0x18
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
cmp dword [ebp - 0x30], eax
jne 0x1007ac3f
inc esi
cmp esi, 0x64
jl 0x1007abe5
mov esi, dword [ebp - 0x18]
mov eax, 0xd
jmp 0x1007c5e0
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x28]
mov dword [ebx], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea edi, [eax + eax*4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x60], esi
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*8]
mov dword [ebp - 0x1b0], ecx
mov eax, dword [ebx + eax*8 + 4]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x1ac], eax
jne 0x1007acc9
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xec], 0
je 0x1007acc9
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
mov ebx, dword [edx + 0x10]
mov ecx, dword [eax + ecx*8]
mov dword [ebp - 0x38], ecx
jmp 0x1007acce
xor ebx, ebx
mov dword [ebp - 0x38], ebx
movzx eax, word [edx + 2]
mov edx, eax
test al, 1
je 0x1007ace5
mov eax, dword [ebp - 0x1c]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0x14]
movzx edx, word [eax + 2]
movzx ecx, dx
test dl, 0x20
je 0x1007ad03
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x74]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 2]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + edi*8 + 0x10]
mov dword [ebp - 0x1a8], eax
mov eax, dword [edx + edi*8 + 0xc]
mov dword [ebp - 0x19c], eax
test cl, 0x10
je 0x1007ad24
mov edx, dword [esi + 0x20]
jmp 0x1007ad26
xor edx, edx
mov eax, dword [ebp - 0x28]
mov esi, 0x4000
test word [eax + edi*8 + 8], si
mov esi, dword [ebp - 0x60]
je 0x1007ad43
mov eax, dword [eax + edi*8]
mov dword [ebp - 0x198], eax
jmp 0x1007ad4d
mov dword [ebp - 0x198], 0
push edx
and ecx, 0xa
mov dword [ebp - 0x1b8], 0
push ecx
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0x1b8]
call fcn.10069f90
add esp, 8
mov dword [ebp - 0x24], eax
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x10078a9f
test ebx, ebx
je 0x100780c5
push dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x14]
mov ecx, 0x17
push dword [ebp - 0x1b0]
push dword [ebx]
test byte [eax + 2], 4
mov eax, 0x12
push dword [ebp - 0x38]
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x18]
mov esi, dword [eax + 0xec]
mov ecx, esi
push dword [eax + 0xe8]
call dword [0x101d3368]
call esi
mov esi, dword [ebp - 0x18]
add esp, 0x18
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
cmp byte [edx + 1], 0xfa
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
jne 0x1007ae39
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0xec], 0
je 0x1007ae39
movsx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
add ecx, ecx
test byte [edx + 2], 2
mov ebx, dword [edx + 0x10]
mov edi, dword [eax + ecx*8]
mov dword [ebp - 0x38], edi
je 0x1007ae42
cmp byte [esi + 4], 0
je 0x1007ae42
mov ecx, dword [esi + 0x28]
call fcn.10064fd0
mov dword [esi + 0x44], edx
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x40], eax
jmp 0x1007ae42
mov dword [ebp - 0x38], 0
xor ebx, ebx
mov dl, byte [edx + 2]
mov ecx, dword [esi + 0x28]
call fcn.1006a3f0
mov dword [ebp - 0x24], eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
test eax, eax
jne 0x10078a9f
test byte [ebp - 0x3c], 1
je 0x100780c5
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
inc dword [edx + 0x2c]
mov edi, dword [eax + 0xec]
test edi, edi
je 0x1007cfd2
test byte [ebx + 0x24], 0x20
jne 0x1007cfd2
push dword [esi + 0x44]
mov ecx, edi
push dword [esi + 0x40]
mov esi, eax
push dword [ebx]
push dword [ebp - 0x38]
push 9
push dword [esi + 0xe8]
call dword [0x101d3368]
call edi
mov edi, dword [ebp - 0x28]
add esp, 0x18
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ebp - 0x1c]
mov ecx, esi
mov edx, dword [eax + 0x2c]
call fcn.10073f70
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 0x2c], 0
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc0], 0
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
call fcn.100810e0
add esp, 8
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
cmp dword [ebp - 0xc0], eax
jne 0x10077c1e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
call fcn.10081040
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov eax, ebx
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, ebx
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edi, dword [ebp - 0x1c]
mov ecx, edi
mov edx, dword [ebp - 0x14]
call fcn.10077ad0
mov ecx, dword [edi + 0x60]
mov esi, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + edx*4]
mov edi, dword [ecx + 0x28]
mov ecx, edi
call fcn.10064fe0
mov ecx, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x6c]
ja 0x1007d3e2
push esi
push eax
xor edx, edx
mov ecx, edi
lfence
call fcn.1006e8b0
add esp, 8
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xc], eax
jne 0x1007cfc1
mov eax, 0x1000
test word [esi + 8], ax
je 0x1007cfc1
mov ecx, esi
call fcn.1006da50
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x10079902
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x14]
mov edx, esi
mov ecx, dword [ebp - 0x1c]
call fcn.10077ad0
mov edx, dword [esi + 4]
mov ebx, eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov esi, dword [ecx + edx*4]
cmp byte [esi + 2], 0
je 0x1007b055
mov esi, dword [ebp - 0x18]
mov eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
cmp byte [esi + 3], 0
je 0x1007b089
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0xb8], ecx
mov eax, dword [esi + 0x44]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0xb4], eax
mov dword [ebx], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x14]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
cmp byte [esi], 2
jne 0x1007b0ea
mov ecx, dword [esi + 0x28]
lea edx, [ebp - 0xb8]
push edx
push ecx
mov edi, dword [ecx]
mov eax, dword [edi]
mov esi, dword [eax + 0x30]
mov ecx, esi
call dword [0x101d3368]
call esi
mov ecx, dword [ebp - 0x1c]
add esp, 8
mov edx, edi
mov dword [ebp - 0x24], eax
call fcn.10074080
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x10078a9f
mov ecx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov dword [ebx], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x14]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ecx, esi
call fcn.100722d0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
cmp byte [esi + 2], al
je 0x1007b11b
mov esi, dword [ebp - 0x18]
mov eax, 1
mov ecx, dword [ebp - 0x14]
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ecx, dword [esi + 0x28]
call fcn.10064fd0
mov esi, dword [ebp - 0x18]
mov ecx, eax
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], edx
mov dword [ebx], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x14]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x1c], 0
jne 0x100780c8
mov ecx, dword [ecx + 0x28]
call fcn.10060d30
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0xa8], 0
cmp dl, 0x82
jne 0x1007b1ba
mov ecx, edi
mov dword [esi + 0x20], 0xffffffff
call fcn.10064fc0
test eax, eax
jne 0x100780c5
lea edx, [ebp - 0xa8]
mov ecx, edi
call fcn.10065860
mov dword [ebp - 0x24], eax
mov al, byte [ebp - 0xa8]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x24]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
test eax, eax
jne 0x10078a9f
mov esi, dword [ebp - 0x14]
cmp dword [esi + 8], eax
jle 0x100780c5
cmp dword [ebp - 0xa8], eax
jne 0x10077c21
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
lea edx, [ebp - 0xa4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + 0x28]
mov ecx, esi
call fcn.10065830
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
cmp dword [ebp - 0xa4], eax
jne 0x10077c1e
mov ecx, esi
call fcn.10065e00
test edx, edx
jl 0x1007b281
jg 0x1007b25c
test eax, eax
jb 0x1007b281
push edx
push eax
lfence
call fcn.100529c0
mov esi, dword [ebp - 0x14]
add esp, 8
cwde
cmp eax, dword [esi + 0xc]
jge 0x1007b284
mov dword [ebp - 0xa4], 1
jmp 0x10077c21
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0xa4], 0
jne 0x10077c21
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ebp - 0x1c]
inc dword [eax + 0xac]
jmp 0x1007b2b0
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + 0x60]
mov ecx, dword [edx + 4]
lea edx, [ebp - 0x94]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x94], 1
cmp byte [esi], 1
jne 0x1007b2da
mov ecx, esi
call fcn.10080f10
jmp 0x1007b2ed
mov ecx, dword [esi + 0x28]
call fcn.10065830
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
mov al, byte [ebp - 0x94]
mov byte [esi + 2], al
cmp dword [ebp - 0x94], 0
jne 0x10077c1e
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edi, dword [eax + ecx*4]
mov edx, edi
mov ecx, esi
call fcn.10080fb0
jmp 0x1007b361
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
push dword [edx + 0xc]
mov esi, dword [edx + 0x10]
mov edi, dword [eax + ecx*4]
mov ecx, esi
push dword [edi + 0x28]
call dword [0x101d3368]
call esi
mov esi, dword [ebp - 0x18]
add esp, 8
mov dword [ebp - 0x24], eax
mov dword [edi + 0x1c], 0
test eax, eax
jne 0x1007b388
mov ecx, dword [ebp - 0x1c]
mov byte [edi + 2], al
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 2]
inc dword [ecx + eax*4 + 0xa4]
jmp case.0x10077be6.11
cmp eax, 0x65
jne 0x1007c5e0
xor ecx, ecx
mov byte [edi + 2], 1
mov dword [ebp - 0x24], ecx
jmp 0x1007cb7a
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov ecx, dword [edx + 4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
test byte [ecx + 2], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
je 0x1007b3c6
inc dword [edx + 0x2c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x1007b3e3
mov ecx, esi
call fcn.1006dad0
test eax, eax
jne 0x10078a9f
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0x83
jne 0x1007b3f3
mov edx, esi
mov ecx, edi
call fcn.10080130
jmp 0x1007b452
mov eax, dword [esi + 0xc]
cdq
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], edx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x228], eax
mov eax, dword [ecx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x214], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x210], ax
movzx eax, word [ecx + 2]
test al, 0x10
je 0x1007b433
mov ecx, dword [edi + 0x20]
jmp 0x1007b435
xor ecx, ecx
push ecx
mov ecx, dword [edi + 0x28]
lea edx, [ebp - 0x228]
and eax, 0xa
push eax
call fcn.10069f90
add esp, 8
mov dword [edi + 0x1c], 0
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [ebp - 0x140], eax
mov ax, word [edx + 0xc]
mov word [ebp - 0x138], ax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x140]
mov byte [ebp - 0x136], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0xe0]
push eax
push 0
push 0
push 0
call fcn.10065900
add esp, 0x10
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
cmp dword [ebp - 0xe0], eax
jne 0x1007b4f4
mov dl, 4
mov ecx, edi
call fcn.1006a3f0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov esi, dword [ebp - 0x18]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.100722d0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
cmp byte [esi + 2], al
jne 0x1007b5e2
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0xd0]
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov edx, dword [esi + 0x28]
push eax
call fcn.10073c80
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x86
jne 0x1007b5b6
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
mov byte [ecx + 2], 0
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0x14]
mov byte [ecx + 3], 1
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 0x24], esi
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov ecx, dword [ebp - 0x1c]
mov edx, eax
call fcn.10077ad0
mov ecx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0x18]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.1006e290
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp byte [ebp - 0x49], 0x27
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x150], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x148], ax
sbb al, al
mov byte [ebp - 0x146], al
mov eax, dword [ecx + 0xc]
mov ecx, esi
mov dword [ebp - 0x98], 0
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.10073e70
mov dword [ebp - 0x24], eax
add esp, 8
mov eax, dword [ebp - 0x14]
test byte [eax], 1
mov eax, dword [ebp - 0x98]
je 0x1007b67c
neg eax
jmp 0x1007b67d
inc eax
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x98], eax
jne 0x1007c5dd
test eax, eax
jg 0x10077c1e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ebx, dword [ebp - 0x14]
mov edx, ebx
mov ecx, dword [ebp - 0x1c]
call fcn.10077ad0
mov edx, dword [ebp - 0x18]
mov esi, eax
mov eax, 1
mov word [esi + 8], ax
mov ecx, dword [edx + 0xbc]
inc ecx
cmp dword [edx + 0xb0], ecx
jg 0x1007d321
mov ebx, dword [ebx + 0xc]
lea eax, [ebp - 0xa0]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp - 0x14]
push eax
mov eax, ebx
mov dword [ebp - 0xa0], 0
add eax, eax
mov edx, dword [edx + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1006b320
mov dword [ebp - 0x24], eax
add esp, 4
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0xa0]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x24]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x1007c5e0
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x14]
test eax, eax
je 0x100780cb
push dword [ecx + 4]
mov edx, ebx
mov ecx, esi
push eax
call fcn.10096ee0
mov ecx, dword [ebp - 0x14]
mov al, bl
add esp, 8
inc al
mov byte [ebp - 0x65], al
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x38]
xor ecx, ecx
mov dword [ebp - 0x38], 0
cmp dword [edx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1006aea0
mov ecx, dword [ebp - 0x14]
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ecx + 0xc], 0
je 0x1007b7b4
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
add dword [edx + 0x2c], eax
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jle 0x1007b7ae
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8], eax
adc dword [edi + ecx*8 + 4], edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x1007c5e0
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x1007b7f3
mov edx, dword [ecx + 0x28]
mov ecx, esi
call fcn.1007f3e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ecx, dword [ecx + 0x28]
call fcn.1006af60
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
call fcn.10077ad0
mov edx, dword [ebp - 0x14]
mov esi, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xc4], 0
mov ecx, dword [edx + 4]
push dword [edx + 0xc]
shl ecx, 4
lea edx, [ebp - 0xc4]
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx + 4]
call fcn.1006ac50
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x10078a9f
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x14]
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], edx
mov esi, dword [ebp - 0x18]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
inc byte [esi + 0x5a]
push 0
push 0
push 0
push dword [edx + 0x10]
push esi
call fcn.100a94a0
dec byte [esi + 0x5a]
add esp, 0x14
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x18]
mov ecx, dword [edx + 0x10]
mov esi, dword [edx + 4]
test ecx, ecx
jne 0x1007b8fe
mov eax, dword [ebx + 0x10]
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.1009be50
mov eax, dword [ebp - 0x1c]
add esp, 4
and dword [ebx + 0x18], 0xffffffef
mov edx, esi
add eax, 0x7c
mov esi, ebx
mov ecx, esi
push 1
push eax
call fcn.100af840
mov edx, dword [ebp - 0x1c]
add esp, 8
or dword [esi + 0x18], 1
mov dword [ebp - 0x24], eax
and dword [edx + 0x98], 0xfffffffc
jmp 0x1007b9b7
mov eax, dword [ebp - 0x1c]
add eax, 0x7c
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x12c], eax
add esi, esi
mov eax, dword [ebx + 0x10]
push ecx
push str.sqlite_master
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x120], 0
push dword [eax + esi*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push ebx
call fcn.100508e0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x1007d33a
push 0
lea eax, [ebp - 0x130]
mov byte [ebx + 0xa5], 1
push eax
push fcn.100af5c0
push esi
push ebx
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x11c], 0
call fcn.100a94a0
add esp, 0x14
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007b9a2
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007b9a2
cmp dword [ebp - 0x11c], eax
jne 0x1007b9a2
mov ecx, 0x15e52
call fcn.100e10f0
mov dword [ebp - 0x24], eax
mov edx, esi
mov esi, ebx
mov ecx, esi
call fcn.1004ded0
mov eax, dword [ebp - 0x24]
mov byte [esi + 0xa5], 0
test eax, eax
jne 0x1007d343
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, esi
mov edx, dword [edx + 4]
call fcn.10091930
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, esi
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.10093e80
mov ecx, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, esi
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.100937b0
mov ecx, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, esi
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.100bdfc0
mov ecx, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebx + 0x10]
add edx, 4
lea esi, [eax + eax*4]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*8]
inc eax
push eax
movzx eax, word [ebx + 2]
push dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1006c140
add esp, 0xc
mov ecx, edi
mov ebx, eax
call fcn.1006e290
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x1007bad4
test ebx, ebx
je 0x100798ff
mov ecx, dword [ebp - 0x28]
dec eax
cdq
push fcn.1004ddd0
push 1
sub dword [ecx + esi*8], eax
push 0xffffffffffffffff
sbb dword [ecx + esi*8 + 4], edx
mov edx, ebx
mov ecx, edi
call fcn.1006e520
add esp, 0xc
movzx edx, byte [ebp - 0x54]
mov ecx, edi
call fcn.1006d870
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x10
lea esi, [edi + eax*8]
mov eax, dword [edx + 8]
lea edi, [eax + eax*4]
jne 0x1007bb1b
mov ecx, esi
call fcn.1006e320
test eax, eax
jne 0x100798ff
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.10057e30
mov esi, dword [ebp - 0x18]
add esp, 8
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x10
lea esi, [edi + eax*8]
je 0x1007bb8e
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x110]
call fcn.10058140
test eax, eax
je 0x1007bb8e
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.1006e2e0
add esp, 8
jmp 0x1007cb77
mov ecx, esi
call fcn.1006e290
jmp case.0x10077be6.11
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
lea eax, [eax + eax*4]
test byte [edi + eax*8 + 8], 0x10
lea esi, [edi + eax*8]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
jne 0x1007bbc5
mov ecx, esi
call fcn.1006e320
test eax, eax
jne 0x100798ff
test ebx, ebx
je 0x1007bbea
mov eax, dword [ebp - 0x28]
mov edx, ebx
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.100581a0
add esp, 8
test eax, eax
jne 0x10077c1e
test ebx, ebx
js 0x100780c5
jmp 0x1007bb1b
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov eax, dword [edx + 0xc]
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x38], edi
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, edx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
cmp word [eax + 2], 0
je 0x1007bc39
mov eax, dword [edx + 0xc8]
mov ecx, dword [edi + 0x14]
test eax, eax
je 0x1007bc36
cmp dword [eax + 0x1c], ecx
je 0x100780c8
mov eax, dword [eax + 4]
test eax, eax
jne 0x1007bc26
mov ecx, dword [ebp - 0x30]
mov eax, dword [edx + 0xd0]
cmp eax, dword [esi + 0x94]
jge 0x1007d35b
test byte [ecx + 8], 0x10
jne 0x1007bd4c
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 8]
add eax, ecx
test ecx, ecx
lea esi, [eax + 1]
cmovne esi, eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edi + 4]
add eax, 7
mov eax, eax
test eax, eax
jns 0x1007bc7d
add eax, 7
sar eax, 3
lea edi, [eax + ecx*4]
mov ecx, dword [ebp - 0x18]
mov eax, edi
cdq
push edx
push eax
call fcn.1004e1a0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100798ff
mov ecx, dword [ebp - 0x30]
call fcn.1006de10
mov eax, dword [ebp - 0x30]
mov ecx, 0x410
mov dword [eax + 0xc], edi
mov edi, dword [ebp - 0x38]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x2c]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x24], 0x100703e0
mov eax, dword [ebp - 0x1c]
mov dword [ebx], eax
mov dword [ebx + 0x3c], esi
mov eax, dword [edi + 0xc]
mov dword [ebx + 0x40], eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1c]
mov dword [ebx + 0x30], eax
mov eax, dword [edx + 0x58]
mov dword [ebx + 0x10], eax
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x38], eax
mov eax, dword [edx + 0x60]
mov dword [ebx + 0x14], eax
mov eax, dword [edx + 0x1c]
mov dword [ebx + 0x2c], eax
mov eax, dword [edx + 0x68]
mov dword [ebx + 8], eax
mov eax, dword [edx + 0x6c]
mov dword [ebx + 0x34], eax
mov eax, dword [edi + 0x14]
mov dword [ebx + 0x1c], eax
lea eax, [esi + 2]
mov esi, dword [ebp - 0x18]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
lea eax, [ebx + 0x50]
cmp eax, ecx
je 0x1007bd44
mov edx, 0x80
nop
mov word [eax + 8], dx
mov dword [eax + 0x20], esi
add eax, 0x28
cmp eax, ecx
jne 0x1007bd30
mov edi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xd0]
jmp 0x1007bd4f
mov ebx, dword [ecx + 0x10]
inc eax
mov dword [edx + 0xd0], eax
mov eax, dword [edx + 0xc8]
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x28]
mov dword [ebx + 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [ebx + 0x24], eax
mov eax, dword [edx + 0x2c]
mov dword [ebx + 0x44], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x64]
mov dword [ebx + 0x48], eax
mov eax, dword [edx + 0xdc]
mov dword [ebx + 0x28], eax
lea eax, [ebx + 0x50]
mov dword [edx + 0x58], eax
mov dword [edx + 0xdc], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0xc8], ebx
mov ecx, dword [ebx + 0x3c]
mov dword [edx + 0x18], ecx
add ecx, 2
mov dword [ebp - 0x28], eax
movzx eax, word [ebx + 0x40]
mov dword [edx + 0x1c], eax
lea eax, [ecx + ecx*4]
lea ecx, [ebx + eax*8]
mov dword [edx + 0x60], ecx
mov eax, dword [edi + 0xc]
lea ecx, [ecx + eax*4]
mov dword [ebx + 0x18], ecx
mov eax, dword [edi + 4]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
push 0
push ecx
call fcn.10188460
mov edx, dword [ebp - 0x1c]
add esp, 0xc
mov ecx, dword [edi]
mov dword [ebp - 0x2c], ecx
mov dword [edx + 0x68], ecx
add ecx, 0xffffffec
mov eax, dword [edi + 4]
mov dword [edx + 0x6c], eax
mov dword [ebp - 0x14], ecx
jmp 0x1007cb80
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
call fcn.10077ad0
mov esi, eax
mov eax, dword [ebp - 0x1c]
push 0x1000
mov eax, dword [eax + 0xc8]
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]
mov edx, dword [ebp - 0x14]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.1006e460
mov esi, dword [ebp - 0x18]
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov eax, dword [esi + 0x20]
and eax, 0x80000
or eax, 0
mov eax, dword [ebp - 0x14]
je 0x1007be7b
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x14]
cdq
add dword [esi + 0x1e0], eax
mov eax, dword [ebp - 0x20]
adc dword [esi + 0x1e4], edx
add ecx, 0x14
jmp 0x10077bcb
cmp dword [eax + 4], 0
mov eax, dword [eax + 8]
cdq
je 0x1007be9f
add dword [esi + 0x1d8], eax
mov ecx, dword [ebp - 0x14]
adc dword [esi + 0x1dc], edx
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ecx, dword [ebp - 0x1c]
add dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x20]
adc dword [ecx + 0x44], edx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
cmp dword [ecx + 4], 0
je 0x1007beeb
mov eax, dword [esi + 0x1d8]
or eax, dword [esi + 0x1dc]
jne 0x100781d3
mov eax, dword [esi + 0x1e0]
or eax, dword [esi + 0x1e4]
je 0x10077c1e
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x40]
or eax, dword [edx + 0x44]
jmp 0x1007bec8
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0xc8]
test edx, edx
je 0x1007bf2a
mov eax, dword [edx + 4]
test eax, eax
je 0x1007bf19
nop word [eax + eax]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x1007bf10
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x1007bf36
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov ecx, edi
call fcn.1006dfa0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x28]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.1006dfa0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x100780c5
jl 0x1007bf6b
cmp dword [edi], eax
jae 0x100780c5
mov esi, dword [ebp - 0x18]
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], ecx
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 4]
lea esi, [eax + eax*4]
mov ecx, dword [edi + esi*8]
mov edi, dword [edi + esi*8 + 4]
test edi, edi
jl 0x100780c5
jg 0x1007bfa6
test ecx, ecx
je 0x100780c5
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
mov eax, dword [ebp - 0x28]
sbb edi, edx
mov dword [eax + esi*8], ecx
mov dword [eax + esi*8 + 4], edi
jmp 0x10077c1e
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ebx, [eax + eax*4]
call fcn.10077ad0
mov edx, dword [ebp - 0x28]
mov edi, eax
mov ecx, dword [edx + esi*8 + 4]
mov eax, dword [edx + esi*8]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jl 0x1007c051
jg 0x1007bff9
test eax, eax
je 0x1007c051
mov ecx, dword [edx + ebx*8 + 4]
mov eax, dword [edx + ebx*8]
test ecx, ecx
jl 0x1007c00a
jg 0x1007c018
test eax, eax
jne 0x1007c018
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0xd8]
call fcn.100527b0
add esp, 8
test eax, eax
jne 0x1007c051
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [edi], eax
mov eax, dword [ebp - 0xd4]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov edi, dword [ebp - 0x28]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov ecx, dword [edi + esi*8]
mov eax, ecx
mov edx, dword [edi + esi*8 + 4]
or eax, edx
je 0x100781cd
test edx, edx
jl 0x10077c1e
jg 0x1007c09e
test ecx, ecx
je 0x10077c1e
sub ecx, 1
mov dword [edi + esi*8], ecx
sbb edx, 0
jmp 0x10077c1a
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea edx, [eax + eax*4]
mov ecx, dword [edi + edx*8 + 4]
mov eax, dword [edi + edx*8]
cmp ecx, 0x80000000
jl 0x1007c0d7
jg 0x1007c0ca
test eax, eax
je 0x1007c0d7
sub eax, 1
mov dword [edi + edx*8], eax
sbb ecx, 0
mov dword [edi + edx*8 + 4], ecx
or eax, ecx
je 0x10077c1e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, esi
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x44]
push eax
call fcn.1004e240
mov esi, eax
add esp, 8
test esi, esi
je 0x100798ff
mov edx, dword [ebp - 0x18]
lea ecx, [ebx + 7]
lea ecx, [esi + ecx*4]
mov dword [esi + 8], 0
push 1
mov dword [esi], ecx
call fcn.1006e270
mov ecx, dword [ebp - 0x14]
add esp, 4
mov eax, dword [ecx + 0x10]
sub ecx, dword [ebp - 0x2c]
mov dword [esi + 4], eax
mov eax, 0x66666667
imul ecx
mov byte [esi + 0x18], 0
sar edx, 3
mov eax, edx
mov dword [esi + 0x14], 0
shr eax, 0x1f
add eax, edx
mov byte [esi + 0x19], bl
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xc], eax
mov word [edx], 0xf09b
mov dword [edx + 0x10], esi
jmp 0x1007c172
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp - 0x28]
mov edi, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov dword [ebp - 0x3c], esi
cmp dword [edi + 8], esi
je 0x1007c1bc
movzx ecx, byte [edi + 0x19]
sub ecx, 1
mov dword [edi + 8], esi
js 0x1007c1bc
mov esi, dword [ebp - 0x14]
lea edx, [ecx + 7]
lea edx, [edi + edx*4]
nop
mov eax, dword [esi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x1007c1a0
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x14]
inc dword [esi + 0xc]
lea eax, [edi + 0x1c]
cmp dword [edx + 4], 0
movzx ecx, byte [edi + 0x19]
mov esi, dword [edi + 4]
push eax
push ecx
push edi
je 0x1007c1d7
mov esi, dword [esi + 0x1c]
jmp 0x1007c1da
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x101d3368]
call esi
mov eax, dword [edi + 0x14]
add esp, 0xc
test eax, eax
je 0x100780c5
jle 0x1007c215
push dword [edi]
call fcn.10074800
add esp, 4
push eax
push 0x101fc08c
push dword [ebp - 0x1c]
call fcn.1006f1a0
mov eax, dword [edi + 0x14]
add esp, 0xc
mov dword [ebp - 0x24], eax
cmp byte [edi + 0x18], 0
je 0x1007c23b
mov eax, dword [ebp - 0x14]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x1007c237
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ebx + eax*8]
call fcn.1006e2e0
add esp, 8
mov byte [edi + 0x18], 0
mov ecx, dword [edi]
call fcn.1006de10
mov eax, dword [edi]
mov ecx, 1
mov word [eax + 8], cx
mov dword [edi + 0x14], 0
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x1007c5e0
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [edx + 0xc]
mov ecx, esi
test eax, eax
je 0x1007c2a9
push dword [edx + 0x10]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
call fcn.1006dcc0
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
jmp 0x1007c2b3
mov edx, dword [edx + 0x10]
call fcn.1006dbe0
mov ecx, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
jne 0x1007d373
movzx edx, byte [ebp - 0x54]
mov ecx, esi
call fcn.1006d870
mov ecx, esi
call fcn.1006e400
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x1007d3ed
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x10], 0
push eax
push dword [edx + 8]
mov edx, dword [edx + 4]
mov ecx, esi
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
call fcn.100df8c0
add esp, 0xc
mov dword [ebp - 0x24], eax
test eax, eax
je 0x1007c337
cmp eax, 5
jne 0x1007c5e0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x14]
xor esi, esi
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov eax, dword [ebp + esi*4 - 0x10]
mov ecx, edi
cdq
push edx
push eax
call fcn.1006e2e0
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x1007c345
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ebx, dword [ebp - 0x14]
mov edx, ebx
mov ecx, dword [ebp - 0x1c]
call fcn.10077ad0
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
add edx, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov ecx, eax
mov dword [ebp - 0x3c], eax
call fcn.1006b5b0
mov ebx, eax
mov ecx, ebx
call fcn.1005d990
mov edi, eax
cmp esi, 0xffffffff
mov ecx, ebx
cmove esi, edi
call fcn.1005d9a0
test eax, eax
mov edx, 1
mov ecx, ebx
cmove esi, edi
call fcn.1005d570
cmp esi, 5
jne 0x1007c445
mov ecx, eax
call fcn.100514c0
test eax, eax
je 0x1007c3e3
mov ecx, ebx
call fcn.1005d9d0
test eax, eax
jne 0x1007c445
mov esi, edi
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x1007c3ee
mov esi, edi
mov edx, esi
mov ecx, ebx
call fcn.1005d810
mov ebx, dword [ebp - 0x38]
mov ecx, 0xa02
mov word [ebx + 8], cx
mov ecx, eax
call fcn.100aa460
mov ecx, eax
mov dword [ebx + 0x10], eax
call fcn.100514c0
movzx edx, byte [ebp - 0x54]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.1006d870
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x1007c5e0
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
cmp esi, edi
je 0x1007c3e5
cmp edi, 5
je 0x1007c453
cmp esi, 5
jne 0x1007c3e5
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x4f], 0
je 0x1007d392
cmp dword [eax + 0xb0], 1
jg 0x1007d392
cmp edi, 5
jne 0x1007c491
mov edx, eax
mov ecx, ebx
call fcn.1005dc20
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c3ec
mov edx, esi
mov ecx, ebx
call fcn.1005d810
jmp 0x1007c4aa
cmp edi, 4
jne 0x1007c4a0
lea edx, [edi - 2]
mov ecx, ebx
call fcn.1005d810
cmp dword [ebp - 0x24], 0
jne 0x1007c3ec
mov ecx, dword [ebp - 0x3c]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.1006c8c0
mov dword [ebp - 0x24], eax
jmp 0x1007c3e8
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
test eax, eax
je 0x1007c4d5
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
jmp 0x1007c4d7
xor eax, eax
mov ecx, dword [ebp - 0x1c]
push eax
push dword [edx + 4]
mov edx, esi
lea ecx, [ecx + 0x7c]
call fcn.100c1b20
add esp, 8
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + 4]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.100643c0
mov dword [ebp - 0x24], eax
test eax, eax
je 0x100780c8
cmp eax, 0x65
jne 0x1007c5e0
mov dword [ebp - 0x24], 0
jmp 0x10077c1e
cmp dword [ecx + 4], 0
jne 0x1007c556
mov edx, dword [ecx + 8]
mov ecx, esi
call fcn.10073f80
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + 8]
inc eax
xor eax, dword [edx + 0x98]
and eax, 3
xor dword [edx + 0x98], eax
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov al, byte [ecx + 0xc]
mov byte [ebp - 0xe8], al
test al, al
jne 0x1007c595
mov eax, dword [esi + 0x20]
and eax, 0x400
mov dword [ebp - 0x40], eax
jne 0x100781d3
mov eax, dword [ebp - 0x14]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0xe8]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.1006c730
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
je 0x100781d0
cmp al, 6
jne 0x1007c5e0
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0x1c]
call fcn.1006f1a0
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
cmp byte [esi + 0x51], 0
mov edx, 7
cmovne eax, edx
cmp dword [ecx + 0x7c], 0
mov dword [ebp - 0x24], eax
jne 0x1007c620
cmp eax, 0xc0a
je 0x1007c620
mov ecx, eax
call fcn.100de960
push eax
push 0x101fc08c
push dword [ebp - 0x1c]
call fcn.1006f1a0
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x28], eax
mov edx, eax
mov ecx, esi
call fcn.10051560
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
sub ecx, edi
push dword [eax + 0x7c]
push dword [eax + 0xc0]
mov eax, 0x66666667
imul ecx
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 - 0x24]
call fcn.10050c50
mov ecx, dword [ebp - 0x1c]
add esp, 0x14
call fcn.10071940
cmp dword [ebp - 0x24], 0xc0a
jne 0x1007c677
mov ecx, esi
call fcn.1004e650
mov al, byte [ebp - 0x65]
mov dword [ebp - 0x24], 1
test al, al
je 0x1007d625
movzx edx, al
mov ecx, esi
dec edx
call fcn.10093980
mov ebx, dword [ebp - 0x24]
jmp 0x1007d62a
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov esi, dword [edx + 0x10]
mov edx, esi
call fcn.100c3910
mov dword [ebp - 0x24], eax
test esi, esi
je 0x1007c6c1
mov edx, dword [esi + 8]
mov ecx, dword [ebp - 0x1c]
call fcn.10074080
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x200]
xorps xmm0, xmm0
movq qword [ebp - 0x1e0], xmm0
movups xmmword [ebp - 0x200], xmm0
mov eax, dword [edx + 8]
movups xmmword [ebp - 0x1f0], xmm0
mov dword [ebp - 0x1e0], esi
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
call fcn.1006e4b0
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x200]
push eax
call fcn.10074800
add esp, 4
test eax, eax
je 0x1007c741
mov ecx, dword [ebp - 0x1c]
add ecx, 0x7c
push ecx
push eax
mov eax, dword [ebp - 0x14]
mov ecx, esi
mov edx, dword [eax + 4]
call fcn.100c33e0
add esp, 8
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x200]
call fcn.1006de10
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, esi
inc dword [esi + 0xbc]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.100c3780
dec dword [esi + 0xbc]
add esp, 4
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x44], 0
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x1007d3d8
mov ebx, dword [edi]
test ebx, ebx
je 0x1007d3d8
mov esi, dword [ebx + 0x18]
lea eax, [ebp - 0x44]
push eax
push edi
mov ecx, esi
call dword [0x101d3368]
call esi
mov esi, dword [ebp - 0x1c]
add esp, 8
mov edx, edi
mov dword [ebp - 0x24], eax
mov ecx, esi
call fcn.10074080
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x10078a9f
mov eax, dword [ebp - 0x44]
mov ecx, esi
push 2
push 0xffffffffffffffff
push 0
mov dword [eax], edi
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
call fcn.100775b0
add esp, 0xc
test eax, eax
je 0x1007d3c0
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x18]
mov dword [eax + 0x28], ecx
inc dword [edi + 4]
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebp - 0x1c]
lea edx, [eax + eax*4]
lea esi, [edx + 5]
mov eax, dword [ebx + 0x60]
lea esi, [edi + esi*8]
mov edi, dword [esi]
mov ebx, dword [ebx + 0x5c]
movd xmm0, esi
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x74], esi
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], ebx
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + edx*8]
mov dword [ebp - 0x60], edx
test edi, edi
jle 0x1007c980
cmp edi, 0x10
jb 0x1007c968
cmp dword [0x10231f8c], 2
jl 0x1007c968
movaps xmm2, xmmword [0x1020b2e0]
mov eax, edi
and eax, 0x8000000f
jns 0x1007c8ae
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm1, xmmword [str.____]
mov edx, edi
sub edx, eax
mov esi, 8
mov dword [ebp - 0x3c], edx
lea edx, [ebx + 0x20]
mov ebx, dword [ebp - 0x3c]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [esi - 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x40]
paddd xmm0, xmm2
add ecx, 0x10
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x60], xmm0
movd xmm0, eax
lea eax, [esi + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x50], xmm0
movd xmm0, esi
add esi, 0x10
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x40], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx - 0x30], xmm0
cmp ecx, ebx
jl 0x1007c8d0
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x60]
cmp ecx, edi
jge 0x1007c980
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x1007c975
mov eax, dword [ebp - 0x14]
push ebx
mov ebx, dword [ebp - 0x44]
push edi
push dword [eax + 0x10]
mov edi, dword [ebp - 0x30]
mov esi, dword [ebx + 0x20]
mov ecx, esi
push edx
push edi
call dword [0x101d3368]
call esi
mov edx, dword [ebp - 0x58]
add esp, 0x14
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
call fcn.10074080
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x10078a9f
mov esi, dword [ebx + 0x28]
mov ecx, esi
push edi
call dword [0x101d3368]
call esi
mov ecx, dword [ebp - 0x6c]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
je 0x100780c5
jmp 0x10077c1e
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
cmp byte [esi + 2], 0
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
je 0x1007ca17
mov ecx, edi
call fcn.1006e290
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
test byte [edx + 2], 1
xorps xmm0, xmm0
mov eax, dword [esi + 0x28]
mov ebx, dword [eax]
mov eax, dword [ebx]
movups xmmword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x3c], eax
movups xmmword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x1d8], edi
je 0x1007ca55
mov ecx, edi
call fcn.1006e290
mov edx, dword [ebp - 0x14]
mov eax, 0x4001
mov dword [edi], 0
jmp 0x1007ca68
mov ax, word [edi + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 1
movzx eax, ax
mov word [edi + 8], ax
lea eax, [ebp - 0x1d8]
push dword [edx + 8]
push eax
push dword [esi + 0x28]
mov esi, dword [ebp - 0x3c]
mov esi, dword [esi + 0x2c]
mov ecx, esi
call dword [0x101d3368]
call esi
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, ebx
mov dword [ebp - 0x24], eax
mov ecx, esi
call fcn.10074080
cmp dword [ebp - 0x1c4], 0
jle 0x1007cac5
push edi
call fcn.10074800
add esp, 4
push eax
push 0x101fc08c
push esi
call fcn.1006f1a0
mov eax, dword [ebp - 0x1c4]
add esp, 0xc
mov dword [ebp - 0x24], eax
movzx edx, byte [ebp - 0x54]
mov ecx, edi
call fcn.1006d870
mov ecx, edi
call fcn.1006e400
mov esi, dword [ebp - 0x18]
test eax, eax
jne 0x1007d3ed
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x1007c5e0
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + ecx*4]
cmp byte [ebx + 2], 0
jne 0x100781d0
mov eax, dword [ebx + 0x28]
push eax
mov edi, dword [eax]
mov ecx, dword [edi]
mov dword [ebp - 0x3c], ecx
mov esi, dword [ecx + 0x24]
mov ecx, esi
call dword [0x101d3368]
call esi
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov edx, edi
mov dword [ebp - 0x24], eax
call fcn.10074080
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x10078a9f
mov esi, dword [ebp - 0x3c]
push dword [ebx + 0x28]
mov esi, dword [esi + 0x28]
mov ecx, esi
call dword [0x101d3368]
call esi
add esp, 4
test eax, eax
jne 0x1007cb77
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
mov esi, dword [edx + 8]
dec esi
lea esi, [esi + esi*4]
lea esi, [ecx + esi*4]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
cmp dword [esi + 0x110], 0
jne 0x1007d5ef
mov ebx, dword [ebp - 0x80]
mov edi, dword [ebp - 0x20]
cmp edi, ebx
jb 0x100780cb
nop dword [eax + eax]
mov esi, dword [esi + 0x148]
test esi, esi
je 0x100780c5
mov eax, dword [ebp - 0x18]
mov ecx, esi
add ebx, dword [eax + 0x150]
push dword [eax + 0x14c]
mov dword [ebp - 0x80], ebx
call dword [0x101d3368]
call esi
mov esi, dword [ebp - 0x18]
add esp, 4
test eax, eax
jne 0x1007d667
cmp edi, ebx
jae 0x1007cba0
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ebx, dword [esi + 0x20]
or dword [esi + 0x20], 0x4000000
and ebx, 0x4000000
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp - 0x28]
mov dword [esi + 0x24], eax
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
mov eax, dword [edx + 4]
mov edx, 1
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.1006d870
test eax, eax
jne 0x10078a9f
mov eax, dword [edi]
push dword [esi + 0x10]
push edi
mov esi, dword [eax + 0x4c]
mov ecx, esi
call dword [0x101d3368]
call esi
mov esi, dword [ebp - 0x18]
add esp, 8
mov dword [ebp - 0x24], eax
test ebx, ebx
jne 0x1007cc59
mov eax, dword [esi + 0x24]
and dword [esi + 0x20], 0xfbffffff
mov dword [esi + 0x24], eax
mov ecx, dword [ebp - 0x1c]
mov edx, edi
call fcn.10074080
mov eax, dword [ebp - 0x1c]
and dword [eax + 0x98], 0xfffffffc
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x1007c5e0
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
cmp byte [esi + 0x51], 0
jne 0x10079902
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x1007d3d8
mov ebx, dword [edi]
test ebx, ebx
je 0x1007d3d8
cmp dword [ebx + 0x34], 0
mov edx, dword [edx + 8]
je 0x100780c8
mov al, byte [esi + 0x56]
mov ecx, dword [ebp - 0x28]
mov byte [ebp - 0x49], al
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + 0x5c]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edx, edx
jle 0x1007cceb
nop dword [eax]
mov dword [esi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edx
jl 0x1007cce0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov al, byte [eax + 2]
mov byte [ecx + 0x56], al
lea eax, [ebp - 0x118]
push eax
push esi
mov esi, dword [ebx + 0x34]
mov ecx, esi
push edx
push edi
call dword [0x101d3368]
call esi
mov esi, dword [ebp - 0x18]
add esp, 0x10
mov ecx, dword [ebp - 0x1c]
mov edx, edi
mov dword [ebp - 0x24], eax
mov al, byte [ebp - 0x49]
mov byte [esi + 0x56], al
call fcn.10074080
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
test eax, eax
jne 0x1007cd4b
cmp dword [ecx + 4], eax
je 0x1007cd4b
mov eax, dword [ebp - 0x118]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x114]
mov dword [esi + 0x2c], eax
mov eax, dword [ebp - 0x24]
cmp al, 0x13
jne 0x1007cd90
mov eax, dword [ecx + 0x10]
cmp byte [eax + 0x10], 0
je 0x1007cd90
movzx ecx, word [ecx + 2]
cmp ecx, 4
jne 0x1007cd77
mov edi, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
jmp 0x10077bcb
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x92], al
jmp 0x1007cd96
mov eax, dword [ebp - 0x1c]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x1007c5e0
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
call fcn.10077ad0
mov esi, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x18]
add edx, edx
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx*8 + 4]
call fcn.100623f0
mov ecx, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], 0
mov esi, dword [ebp - 0x18]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
call fcn.10077ad0
mov ecx, dword [esi + 0x10]
mov edi, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
add edx, edx
mov esi, dword [ecx + edx*8 + 4]
xor edx, edx
cmp dword [eax + 0xc], edx
je 0x1007ce27
mov ecx, esi
call fcn.100623f0
mov edx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
cmp edx, eax
cmovb edx, eax
mov ecx, esi
call fcn.10063320
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x28]
add ecx, 0x14
jmp 0x10077bcb
mov edx, dword [ebp - 0x14]
mov ecx, esi
push 0
movzx ebx, word [edx + 2]
lea eax, [ebx*4 + 0x1c]
push eax
call fcn.1004e240
mov esi, eax
add esp, 8
test esi, esi
je 0x100798ff
mov eax, dword [ebp - 0x14]
mov dword [esi], 0
mov ecx, dword [eax + 0x10]
mov dword [esi + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x2c]
mov eax, 0x66666667
imul ecx
mov dword [esi + 0x14], 0
sar edx, 3
mov eax, edx
mov byte [esi + 0x19], bl
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], esi
mov esi, eax
mov byte [eax + 1], 0xf0
add byte [esi], 2
jmp 0x1007ceb9
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x28]
mov edi, dword [esi + 0x10]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov dword [ebp - 0x3c], ebx
cmp dword [edi], ebx
je 0x1007cefc
movzx ecx, byte [edi + 0x19]
sub ecx, 1
mov dword [edi], ebx
js 0x1007cefc
mov ebx, dword [ebp - 0x28]
lea edx, [ecx + 7]
lea edx, [edi + edx*4]
mov eax, dword [esi + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x1007cee3
mov ebx, dword [ebp - 0x3c]
mov ax, word [ebx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, 1
mov word [ebx + 8], ax
lea eax, [edi + 0x1c]
mov esi, dword [edi + 4]
push eax
movzx eax, byte [edi + 0x19]
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
push edi
call dword [0x101d3368]
call esi
mov eax, dword [edi + 0x14]
add esp, 0xc
test eax, eax
je 0x1007cf89
jle 0x1007cf56
push ebx
call fcn.10074800
add esp, 4
push eax
push 0x101fc08c
push dword [ebp - 0x1c]
call fcn.1006f1a0
mov eax, dword [edi + 0x14]
add esp, 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov ecx, esi
push dword [eax + 4]
lea edx, [edx + 0xdc]
push dword [edi + 0x10]
call fcn.10071ee0
mov eax, dword [ebp - 0x24]
add esp, 8
mov dword [edi + 0x14], 0
test eax, eax
jne 0x1007c5e0
jmp 0x1007cf8c
mov esi, dword [ebp - 0x18]
test byte [ebx + 8], 0x12
je 0x100780c8
movzx edx, byte [ebp - 0x54]
mov ecx, ebx
call fcn.1006d870
mov ecx, ebx
call fcn.1006e400
test eax, eax
jne 0x1007d3ed
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov ecx, dword [ebp - 0x14]
mov esi, eax
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add ecx, 0x14
jmp 0x10077bcb
mov cl, byte [esi + 0x58]
mov edx, dword [ebp - 0x1c]
test cl, 0x41
je 0x1007d0c1
test byte [edx + 0x98], 0x10
jne 0x1007d0c1
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x1c]
test eax, eax
jne 0x1007d01c
mov eax, dword [edx + 0xc0]
test eax, eax
je 0x1007d0c1
test cl, 0x40
je 0x1007d055
mov ecx, dword [ebp - 0x1c]
mov edx, eax
mov edi, dword [esi + 0xc8]
call fcn.100770c0
mov esi, eax
mov ecx, edi
mov eax, dword [ebp - 0x18]
push esi
push dword [eax + 0xcc]
call dword [0x101d3368]
call edi
push esi
call fcn.1004ddd0
mov edi, dword [ebp - 0x28]
add esp, 0xc
jmp 0x1007d0bb
cmp dword [esi + 0xb8], 1
push eax
jle 0x1007d09f
push str.____s
push esi
call fcn.100508e0
add esp, 0xc
mov edi, eax
push edi
push dword [ebp - 0x1c]
push dword [esi + 0xcc]
mov esi, dword [esi + 0xc8]
mov ecx, esi
push 1
call dword [0x101d3368]
call esi
mov esi, dword [ebp - 0x18]
add esp, 0x10
mov edx, edi
mov ecx, esi
call fcn.1004df10
mov edi, dword [ebp - 0x28]
jmp 0x1007d0be
push edx
push dword [esi + 0xcc]
mov esi, dword [esi + 0xc8]
mov ecx, esi
push 1
call dword [0x101d3368]
call esi
add esp, 0x10
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 4]
cmp eax, dword [0x1022caf8]
jl 0x1007d10e
cmp byte [ecx], 0xa8
je 0x100781d3
mov ebx, dword [ebp - 0x1c]
mov edx, 1
cmp dword [ebx + 0x6c], edx
jle 0x1007d10a
mov eax, 0x14
nop word [eax + eax]
mov ecx, dword [ebx + 0x68]
cmp byte [eax + ecx], 0x11
jne 0x1007d101
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [ebx + 0x6c]
jl 0x1007d0f0
xor eax, eax
mov edx, ebx
mov esi, dword [ebp - 0x14]
inc eax
mov dword [esi + 4], eax
inc dword [edx + 0xbc]
jmp 0x10077c21
mov edx, dword [ebp - 0x14]
mov dword [ebx + 0x28], ecx
mov al, byte [edx + 8]
mov byte [ebx + 0x92], al
mov dword [ebx + 0x24], esi
test ecx, ecx
je 0x1007d1a5
movzx eax, word [edx + 2]
test ax, ax
je 0x1007d177
push dword [eax*4 + 0x101e9328]
push str._s_constraint_failed
push ebx
call fcn.1006f1a0
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x1007d188
push eax
push dword [ebx + 0x7c]
push str._z:__s
push dword [ebp - 0x18]
call fcn.100508e0
add esp, 0x10
mov dword [ebx + 0x7c], eax
jmp 0x1007d188
push dword [edx + 0x10]
push 0x101fc08c
push ebx
call fcn.1006f1a0
add esp, 0xc
push dword [ebx + 0x7c]
mov eax, dword [ebp - 0x14]
push dword [ebx + 0xc0]
push esi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.10050c50
add esp, 0x14
mov ecx, ebx
call fcn.10071940
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
cmp eax, 5
jne 0x1007d1c1
mov dword [ebx + 0x28], eax
mov ebx, eax
jmp 0x1007d62a
cmp dword [ebx + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x24]
jmp 0x1007d62a
push 0x10200bd4
push 0x15240
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call fcn.10050c50
mov esi, dword [ebp - 0x18]
add esp, 0x14
mov eax, 0xb
jmp 0x1007c5e3
push str.cannot_open_savepoint___SQL_statements_in_progress
push dword [ebp - 0x1c]
call fcn.1006f1a0
add esp, 8
mov eax, 5
jmp 0x1007c5e0
push str.cannot_release_savepoint___SQL_statements_in_progress
push dword [ebp - 0x1c]
call fcn.1006f1a0
mov esi, dword [ebp - 0x18]
add esp, 8
mov eax, 5
jmp 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2c]
mov ebx, 5
mov esi, dword [ebp - 0x18]
imul ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x24], eax
mov byte [esi + 0x4f], 0
mov dword [ecx + 0x28], 5
jmp 0x1007d62a
mov eax, 8
jmp 0x1007c5e0
mov esi, dword [ebp - 0x18]
cmp al, 5
jne 0x1007c5e0
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2c]
imul ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x24]
mov ebx, eax
mov dword [ecx + 0x28], eax
jmp 0x1007d62a
mov edx, dword [edx + 0x7c]
test edx, edx
je 0x1007d2c1
mov ecx, esi
call fcn.1004ded0
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.1004e4c0
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x7c], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x58]
je 0x1007d2f2
mov ecx, esi
call fcn.10093980
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x2c]
mov eax, dword [eax + 0x98]
and eax, 0xfffffffd
or eax, 1
mov dword [ecx + 0x98], eax
mov eax, 0x11
jmp 0x1007c5e6
mov eax, 0x204
jmp 0x1007c5e0
mov ecx, dword [ebp - 0x1c]
mov eax, 6
mov edi, dword [ebp - 0x2c]
mov esi, edx
mov byte [ecx + 0x92], 2
jmp 0x1007c5e6
mov dword [ebp - 0x24], 7
mov esi, ebx
mov ecx, esi
call fcn.100939f0
mov eax, dword [ebp - 0x24]
cmp eax, 7
je 0x10079902
jmp 0x1007c5e0
push str.too_many_levels_of_trigger_recursion
push edx
call fcn.1006f1a0
add esp, 8
mov eax, 1
jmp 0x1007c5e0
push esi
call fcn.10074800
add esp, 4
push eax
push 0x101fc08c
push dword [ebp - 0x1c]
call fcn.1006f1a0
mov esi, dword [ebp - 0x18]
jmp 0x1007c5da
mov ecx, str.out_of
cmp esi, 5
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push dword [ebp - 0x1c]
call fcn.1006f1a0
mov esi, dword [ebp - 0x18]
add esp, 0xc
mov eax, 1
jmp 0x1007c5e0
mov esi, dword [ebx + 0x1c]
mov ecx, esi
push dword [ebp - 0x44]
call dword [0x101d3368]
call esi
add esp, 4
jmp 0x100798ff
mov eax, 6
jmp 0x1007c5e0
mov esi, ecx
jmp 0x1007d3ed
mov esi, eax
jmp 0x1007d3ed
mov esi, dword [ebp - 0x18]
push str.string_or_blob_too_big
push dword [ebp - 0x1c]
call fcn.1006f1a0
add esp, 8
mov eax, 0x12
jmp 0x1007c5e0
mov ecx, dword [ebp - 0x1c]
xor edx, edx
call fcn.100718e0
test eax, eax
jne 0x1007c5e0
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
cmp dword [eax + 0x1d0], 0
je 0x1007d43d
cmp dword [edx + 0x30], 0
je 0x1007d43d
mov ecx, dword [ebp - 0x1c]
mov edx, 1
call fcn.100717e0
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp - 0x14]
add eax, 2
or eax, 1
mov dword [edx + 0x20], eax
mov eax, dword [ecx + 4]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
xor edi, edi
mov dword [edx + 0x78], esi
cmp dword [ecx + 8], edi
jle 0x1007d4a4
mov ebx, 0x202
mov eax, 0x1000
test word [esi + 8], ax
je 0x1007d481
mov ecx, esi
call fcn.1006da50
test eax, eax
jne 0x100798ff
mov ecx, dword [ebp - 0x14]
mov ax, word [esi + 8]
and ax, bx
cmp ax, 2
jne 0x1007d498
mov ecx, esi
call fcn.1006da00
mov ecx, dword [ebp - 0x14]
inc edi
add esi, 0x28
cmp edi, dword [ecx + 8]
jl 0x1007d464
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
cmp byte [esi + 0x51], 0
jne 0x10079902
test byte [esi + 0x58], 4
je 0x1007d4d8
push 0
push edx
push dword [esi + 0xcc]
mov esi, dword [esi + 0xc8]
mov ecx, esi
push 4
call dword [0x101d3368]
call esi
mov esi, dword [ebp - 0x18]
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2c]
mov ebx, 0x64
imul ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [ecx + 0x24], eax
jmp 0x1007d62a
mov edx, dword [ebp - 0x14]
movzx eax, byte [esi + 0x4f]
mov ebx, dword [edx + 4]
mov ecx, dword [edx + 8]
cmp ebx, eax
je 0x1007d5bf
test ecx, ecx
je 0x1007d52e
mov edx, 0x204
mov ecx, esi
call fcn.100de800
mov al, 1
mov edi, 1
jmp 0x1007d561
test ebx, ebx
je 0x1007d545
cmp dword [esi + 0xb4], 0
jle 0x1007d545
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1007d20d
mov ecx, dword [ebp - 0x1c]
mov edi, 1
mov edx, edi
call fcn.100718e0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1007d1d5
mov al, bl
mov ecx, dword [ebp - 0x1c]
mov byte [esi + 0x4f], al
call fcn.10071940
cmp eax, 5
jne 0x1007d5a2
mov ecx, dword [ebp - 0x14]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x2c]
imul ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x24], eax
mov al, 1
sub al, bl
mov ebx, 5
mov byte [esi + 0x4f], al
mov dword [ecx + 0x28], ebx
jmp 0x1007d62a
mov ecx, esi
call fcn.100ddfa0
mov ecx, dword [ebp - 0x1c]
mov eax, 0x65
cmp dword [ecx + 0x28], 0
cmovne eax, edi
mov dword [ebp - 0x24], eax
mov ebx, eax
jmp 0x1007d62a
test ebx, ebx
jne 0x1007d5ca
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1007d5d9
test ecx, ecx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
push eax
push dword [ebp - 0x1c]
call fcn.1006f1a0
add esp, 8
mov eax, 1
jmp 0x1007c5e0
xor eax, eax
cmp byte [esi + 0x51], al
sete al
lea eax, [eax*2 + 7]
mov ecx, eax
mov dword [ebp - 0x24], eax
mov dword [edx + 0x28], eax
call fcn.100de960
push eax
push 0x101fc08c
jmp 0x1007c5d2
mov esi, edi
jmp 0x1007c5e0
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x24]
jmp 0x1007d62a
mov ebx, 1
mov edi, dword [ebp - 0x20]
nop dword [eax]
mov ecx, dword [ebp - 0x80]
cmp edi, ecx
jb 0x1007d677
mov esi, dword [esi + 0x148]
test esi, esi
je 0x1007d677
mov eax, dword [ebp - 0x18]
add ecx, dword [eax + 0x150]
push dword [eax + 0x14c]
mov dword [ebp - 0x80], ecx
mov ecx, esi
call dword [0x101d3368]
call esi
mov esi, dword [ebp - 0x18]
add esp, 4
test eax, eax
je 0x1007d630
or ecx, 0xffffffff
mov eax, 9
mov dword [ebp - 0x80], ecx
jmp 0x1007c5e0
mov ecx, dword [ebp - 0x1c]
add dword [ecx + 0xb4], edi
call fcn.100702c0
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10186332
mov esp, ebp
pop ebp
ret