Function at 0x10006e30
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [0x10066094]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x88], eax
push esi
mov esi, dword [ebp + 0x10]
mov eax, dword [ebx + 0x530]
mov edx, eax
mov ecx, dword [ebx + 0x52c]
sub ecx, dword [ebx + 0x524]
sub edx, dword [ebx + 0x528]
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x64], edx
push edi
cmp esi, 2
jne 0x10006f6c
cmp byte [ebx + 0x1a], 0
jne 0x10006f6c
cmp eax, 0xc
jge 0x10006f6c
inc eax
mov dword [ebp - 0x6c], 0x43
mov ecx, 3
lea edi, [ebx + 0x200]
cmp eax, ecx
cmovl eax, ecx
mov dword [ebp - 0x68], eax
mov ebx, eax
mov esi, dword [edi + 0x10c]
lea edi, [edi + 4]
mov ecx, esi
mov eax, 0x2aaaaaab
imul ecx, ebx
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
add dword [edi - 4], eax
sub dword [ebp - 0x6c], 1
jne 0x10006eb4
mov ebx, dword [ebp - 0x9c]
cmp dword [ebx + 0x10], 0
mov byte [ebx + 0x1a], 1
je 0x10006f63
mov eax, dword [ebp - 0x68]
push 0xc
push eax
push str.Hints__d__d
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.1000b900
mov ecx, dword [ebx + 0x10]
add esp, 0x14
imul edi, dword [ebx + 0x14], 0x12c
mov eax, dword [ecx + edi - 0x12c]
mov dword [ecx + edi], eax
lea ecx, [ebp - 0x24]
mov eax, dword [ebx + 0x10]
lea edx, [ecx + 1]
mov dword [edi + eax + 4], 0xffffffff
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10006f30
sub ecx, edx
lea eax, [ebp - 0x24]
push ecx
mov ecx, dword [ebx + 0x10]
add ecx, 8
push eax
add ecx, edi
call fcn.10004480
mov eax, dword [ebx + 0x10]
lea esi, [ebx + 0x200]
add eax, 0x20
mov ecx, 0x43
add edi, eax
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 0x14]
mov esi, dword [ebp + 0x10]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebx + 0x24]
inc eax
mov dword [ebx + 0x24], eax
cmp esi, 2
je 0x10006fa5
cmp dword [ebx + 0xf0], 1
jg 0x10006f96
pop edi
pop esi
mov byte [ebx + 0x18], 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000db64
mov esp, ebp
pop ebp
ret
test eax, eax
jle 0x10006fa5
lea eax, [edx + ecx]
test eax, eax
je 0x10007e75
xor al, al
mov byte [ebp - 0x47], 0x20
mov byte [ebp - 0x4b], al
mov byte [ebp - 0x4c], al
xor eax, eax
mov byte [ebp - 0x48], 0x20
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x6c], eax
test edx, edx
jle 0x10007759
nop dword [eax]
mov esi, dword [ebx + 0x528]
xor cl, cl
add esi, eax
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x5c], ecx
mov dh, byte [ebx + esi*2 + 0x594]
mov al, byte [ebx + esi*2 + 0x595]
mov dl, dh
mov byte [ebp - 0x46], al
and dl, 0xf0
shr al, 4
or dl, al
mov byte [ebp - 0x45], dh
mov eax, dword [ebx + esi*4 + 0x834]
mov dword [ebp - 0x60], eax
lea eax, [esi + 0x1ad]
mov edi, dword [ebx + eax*4]
lea eax, [ebx + eax*4]
mov byte [ebp - 0x4a], dl
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x58], edi
test esi, esi
jle 0x10007063
mov eax, dword [ebx + esi*4 + 0x6b0]
add eax, 2
cmp edi, eax
jne 0x10007063
mov al, dl
and al, 0xcc
cmp al, 0xcc
jne 0x1000704e
mov byte [ebp - 0x5c], 1
jmp 0x10007063
mov al, byte [ebp - 0x4c]
and al, 0xcc
movzx ecx, cl
cmp al, 0xcc
mov eax, 1
cmove ecx, eax
mov dword [ebp - 0x5c], ecx
mov cl, byte [ebp - 0x46]
movzx edi, byte [ebp - 0x46]
and cl, 0x80
or byte [ebp - 0x4b], dh
xor cl, dh
mov byte [ebp - 0x49], cl
movzx ecx, dh
mov eax, ecx
mov dword [ebp - 0x74], ecx
shl eax, 8
or eax, edi
mov byte [ebp - 0x4c], dl
mov ecx, eax
mov byte [ebp - 0x4e], 0
and ecx, 0xfff0
mov dword [ebp - 0x54], edi
cmp dh, 0x20
cmovae ecx, eax
cmp ecx, dword [ebx + 0xc8]
je 0x1000758e
cmp ecx, dword [ebx + 0xcc]
je 0x1000758e
cmp ecx, dword [ebx + 0xd0]
je 0x1000758e
cmp ecx, dword [ebx + 0xd4]
je 0x1000758e
mov eax, dword [ebx + 0xc4]
inc dword [ebp - 0x7c]
mov edi, dword [ebp - 0x60]
mov byte [ebp - 0x4e], 1
mov dword [ebx + eax*4 + 0xc8], ecx
mov eax, dword [ebx + 0xc4]
inc eax
and eax, 3
mov dword [ebx + 0xc4], eax
cmp byte [0x10066f1f], 0
jne 0x1000711d
mov eax, dword [ebx + 0x1c]
mov edx, 0xf
mov ecx, edi
sar edx, cl
add dword [ebx + eax*4 + 0x200], edx
mov eax, dword [ebx + 0x20]
add dword [ebx + eax*4 + 0x200], edx
mov dl, byte [ebp - 0x4a]
mov dh, byte [ebp - 0x45]
cmp dword [ebx + 0xf0], 0
mov byte [ebp - 0x4a], 0
mov dword [ebp - 0x80], 0
jle 0x100072d3
mov ecx, dword [ebp - 0x74]
lea edi, [ebx + 0xf4]
mov eax, dword [ebp - 0x54]
and ecx, 0xe0
shr eax, 3
or ecx, eax
mov dword [ebp - 0x84], edi
shr ecx, 3
movzx eax, dl
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], eax
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [edi]
mov dword [ebp - 0x98], 0
cmp esi, 0x3a
jne 0x100071a3
mov eax, 1
shl eax, cl
mov ecx, dword [ebx + 0x3c]
test ecx, eax
jne 0x10007199
or eax, ecx
inc dword [ebx + 0x34]
mov dword [ebx + 0x3c], eax
jmp 0x100071a3
mov dword [ebp - 0x98], 2
mov eax, dword [ebp - 0x8c]
imul edx, esi, 0x318
add edx, 0x10034b50
mov al, byte [eax + edx + 0x218]
mov byte [ebp - 0x4d], al
test al, al
jne 0x100071f1
mov dh, byte [ebp - 0x45]
cmp dh, byte [ebp - 0x47]
jne 0x100071d7
mov al, byte [ebp - 0x48]
cmp byte [ebp - 0x46], al
je 0x1000727f
mov ecx, dword [ebp - 0x60]
mov eax, 0x258
sar eax, cl
sub dword [ebx + esi*4 + 0x200], eax
mov byte [ebp - 0x4a], 1
jmp 0x10007282
movzx eax, byte [ebp - 0x49]
movzx edi, byte [eax + edx + 0x18]
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax + edx + 0x118]
add edi, eax
movzx eax, byte [ebp - 0x4d]
add edi, eax
test byte [ebp - 0x4d], 1
je 0x10007236
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x54]
and ecx, 0x1f
and eax, 0x1f
shl ecx, 5
or ecx, eax
mov eax, dword [ebp - 0x54]
shr eax, 5
and eax, 3
mov eax, dword [edx + eax*4]
movzx eax, byte [ecx + eax]
jmp 0x10007239
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0x98]
add eax, edi
mov edi, dword [ebp - 0x84]
mov dh, byte [ebp - 0x45]
sar eax, cl
mov ecx, dword [ebp - 0x60]
sar eax, cl
add dword [ebx + esi*4 + 0x200], eax
cmp byte [0x10066f1c], 0
je 0x10007282
cmp dword [0x10066010], esi
mov ecx, dword [ebp - 0x68]
cmove ecx, eax
cmp dword [0x10066014], esi
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x78]
cmove ecx, eax
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0x60]
cmp byte [ebp - 0x5c], 0
je 0x100072ab
mov eax, dword [esi*4 + 0x10041c98]
mov eax, dword [eax*4 + 0x10052050]
shr eax, 0xa
test al, 1
je 0x100072ab
mov eax, 0xf
sar eax, cl
add dword [ebx + esi*4 + 0x200], eax
mov ecx, dword [ebp - 0x80]
add edi, 4
inc ecx
mov dword [ebp - 0x84], edi
cmp ecx, dword [ebx + 0xf0]
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebp - 0x90]
jl 0x10007170
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0x60]
movzx eax, byte [ebp - 0x48]
mov dl, byte [ebp - 0x4a]
movzx ecx, byte [ebp - 0x46]
test dl, dl
cmove ecx, eax
mov al, cl
movzx ecx, dh
mov byte [ebp - 0x48], al
mov byte [ebp - 0x45], al
movzx eax, byte [ebp - 0x47]
cmove ecx, eax
mov al, cl
mov byte [ebp - 0x47], al
mov ah, al
mov byte [ebp - 0x46], ah
cmp esi, 0x10
jge 0x10007329
mov eax, dword [ebp - 0x74]
mov ecx, edi
mov esi, dword [ebp - 0x54]
shl eax, 8
movzx eax, byte [eax + esi + str.____________________________8_________________________888888888888898888898988998999998989_______98________________________________________________________________________________________________________________________________________888_88_________________b____________________________]
sub eax, 0xffffff80
lea edx, [ebx + eax*4]
mov eax, 0xf
sar eax, cl
add dword [edx], eax
mov ah, byte [ebp - 0x46]
mov al, byte [ebx + 0x2d]
mov byte [ebp - 0x49], al
test al, al
jne 0x1000733c
cmp byte [ebx + 0x2c], al
je 0x1000758b
mov edx, dword [ebp - 0x58]
mov edi, dword [ebx]
lea ecx, [edx - 1]
add ecx, edi
mov dword [ebp - 0x8c], ecx
test al, al
jne 0x100073c3
test byte [ebp - 0x6c], 7
je 0x100073a8
lea eax, [ecx + 3]
cmp eax, dword [ebx + 4]
ja 0x100073a8
movzx eax, byte [ecx]
movsx edx, byte [eax + 0x10052600]
mov eax, dword [ebp - 0x58]
shl edx, 5
movzx eax, byte [edi + eax]
movsx eax, byte [eax + 0x10052600]
or edx, eax
movzx eax, byte [ecx + 2]
movsx ecx, byte [eax + 0x10052600]
mov eax, dword [edx*8 + 0x10052700]
add ecx, ecx
mov edx, dword [edx*8 + 0x10052704]
call fcn.1000e0e0
mov edx, dword [ebp - 0x58]
and eax, 3
cmp al, 1
seta al
jmp 0x100073aa
mov al, 1
mov ah, byte [ebp - 0x46]
mov cl, byte [ebp - 0x45]
mov byte [ebp - 0x47], ah
mov byte [ebp - 0x48], cl
test al, al
je 0x1000758b
mov al, byte [ebp - 0x49]
jmp 0x100073c6
mov cl, byte [ebp - 0x45]
and edx, 0xffffffe0
mov byte [ebp - 0x47], ah
mov byte [ebp - 0x48], cl
cmp dword [ebx + 0x28], edx
jg 0x1000758b
mov ecx, dword [ebx + 4]
xor esi, esi
sub ecx, edi
mov dword [ebp - 0x5c], esi
sub ecx, 2
lea ebx, [edx + 0x20]
cmp ebx, ecx
mov dword [ebp - 0x80], ebx
cmovl ecx, ebx
mov ebx, dword [ebp - 0x9c]
add ecx, edi
add edi, edx
mov dword [ebp - 0x90], ecx
cmp edi, ecx
jae 0x10007528
nop dword [eax + eax]
movzx eax, byte [edi]
lea ecx, [edi + 1]
mov dword [ebp - 0x70], ecx
movsx edx, byte [eax + 0x10052600]
movzx eax, byte [ecx]
shl edx, 5
movsx eax, byte [eax + 0x10052600]
or edx, eax
movzx eax, byte [edi + 2]
movsx ecx, byte [eax + 0x10052600]
mov eax, dword [edx*8 + 0x10052700]
add ecx, ecx
mov edx, dword [edx*8 + 0x10052704]
call fcn.1000e0e0
and eax, 3
mov dword [ebp - 0x58], eax
je 0x10007516
cmp byte [0x10066f1d], 0
je 0x100074bf
sub edi, dword [ebx]
mov esi, 1
inc edi
mov ecx, dword [0x10066f24]
mov eax, edi
cdq
idiv dword [0x10066f84]
sub edi, edx
dec ecx
nop
mov eax, ecx
and eax, 0xf
cmp dword [eax*4 + 0x10066f28], edi
je 0x10007497
inc esi
dec ecx
cmp esi, 0x10
jle 0x10007480
jmp 0x100074b9
push 1
push dword [ebp - 0x58]
lea eax, [edx - 1]
push eax
push esi
push str._d__d__d_do_highlight_d_n
push 2
call fcn.1001273c
add esp, 4
push eax
call fcn.1000b8a0
add esp, 0x18
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
cmp eax, 1
jne 0x100074dc
add dword [ebx + 0x204], 0x3c
add dword [ebx + 0x210], 0x3c
add dword [ebx + 0x23c], 0x3c
dec esi
jmp 0x10007513
cmp eax, 2
jne 0x100074f1
add dword [ebx + 0x224], 0x3c
add dword [ebx + 0x230], 0x3c
jmp 0x10007512
cmp eax, 3
jne 0x10007516
add dword [ebx + 0x274], 0x3c
add dword [ebx + 0x240], 0x3c
add dword [ebx + 0x278], 0x3c
add dword [ebx + 0x2ac], 0x3c
inc esi
mov dword [ebp - 0x5c], esi
mov edi, dword [ebp - 0x70]
cmp edi, dword [ebp - 0x90]
jb 0x10007410
mov al, byte [ebx + 0x2d]
test esi, esi
setg dl
cmp byte [0x10066f1a], 0
mov byte [ebp - 0x49], dl
je 0x10007547
test al, al
jne 0x10007547
test esi, esi
jle 0x10007547
inc dword [0x10066f7c]
cmp byte [0x10066f1d], 0
mov cl, al
je 0x10007574
test al, al
jne 0x10007574
test esi, esi
jle 0x10007574
push 2
push 0
push dword [ebx]
push dword [ebp - 0x8c]
call fcn.1000a440
mov cl, byte [ebx + 0x2d]
add esp, 0x10
mov dl, byte [ebp - 0x49]
mov eax, dword [ebp - 0x80]
or dl, cl
mov dword [ebx + 0x28], eax
mov al, byte [ebp - 0x46]
mov byte [ebp - 0x47], al
mov al, byte [ebp - 0x45]
mov byte [ebx + 0x2d], dl
mov byte [ebp - 0x48], al
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x74]
mov eax, esi
shr eax, 5
inc dword [ebx + eax*4 + 0x90]
cmp dword [ebx + 0x10], 0
je 0x10007646
cmp dword [ebp - 0x60], 0
mov edx, 0x20
mov cl, byte [ebp - 0x4e]
mov eax, 0x2d
cmove eax, edx
test cl, cl
push eax
mov eax, 0x5d
cmovne eax, edx
push eax
push edi
push esi
mov eax, 0x5b
cmovne eax, edx
push eax
push str._c_02x_02x_c_c
lea eax, [ebp - 0x14]
push 0x10
push eax
call fcn.1000b900
imul edi, dword [ebx + 0x14], 0x12c
add esp, 0x20
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x94]
shl esi, 8
mov eax, dword [eax]
mov dword [edi + ecx], eax
mov eax, dword [ebp - 0x54]
movzx ecx, byte [esi + eax + str.____________________________8_________________________888888888888898888898988998999998989_______98________________________________________________________________________________________________________________________________________888_88_________________b____________________________]
mov eax, dword [ebx + 0x10]
mov dword [edi + eax + 4], ecx
lea ecx, [ebp - 0x14]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10007615
sub ecx, edx
lea eax, [ebp - 0x14]
push ecx
mov ecx, dword [ebx + 0x10]
add ecx, 8
push eax
add ecx, edi
call fcn.10004480
add edi, 0x20
lea esi, [ebx + 0x200]
add edi, dword [ebx + 0x10]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 0x14]
cmp byte [0x10066f1c], 0
je 0x100076e4
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x78]
test eax, eax
jne 0x10007665
test ecx, ecx
je 0x100076e4
push ecx
sar ecx, 0x1f
and ecx, 2
add ecx, 0x2b
push ecx
push eax
sar eax, 0x1f
and eax, 2
add eax, 0x2b
push eax
push str._c_d__c_d
lea eax, [ebp - 0x44]
push 0x20
push eax
call fcn.1000b900
mov ecx, dword [ebx + 0x10]
add esp, 0x1c
imul edi, dword [ebx + 0x14], 0x12c
mov eax, dword [ecx + edi - 0x12c]
mov dword [ecx + edi], eax
lea ecx, [ebp - 0x44]
mov eax, dword [ebx + 0x10]
lea edx, [ecx + 1]
mov dword [edi + eax + 4], 0xffffffff
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100076b3
sub ecx, edx
lea eax, [ebp - 0x44]
push ecx
mov ecx, dword [ebx + 0x10]
add ecx, 8
push eax
add ecx, edi
call fcn.10004480
add edi, 0x20
lea esi, [ebx + 0x200]
add edi, dword [ebx + 0x10]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 0x14]
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp eax, dword [ebp - 0x64]
jl 0x10006fd0
mov edi, dword [ebp - 0x7c]
test edi, edi
jle 0x10007756
mov al, byte [ebp - 0x4b]
test al, al
js 0x10007756
xor ecx, ecx
cmp dword [ebx + 0xf0], ecx
jle 0x10007756
lea edx, [ebx + 0xf4]
nop dword [eax]
nop word [eax + eax]
mov esi, dword [edx]
mov eax, dword [esi*4 + 0x10041c98]
mov eax, dword [eax*4 + 0x10052050]
shr eax, 8
test al, 1
je 0x1000774a
mov eax, edi
shl eax, 4
sub eax, edi
neg eax
shl eax, 2
add dword [ebx + esi*4 + 0x200], eax
inc ecx
add edx, 4
cmp ecx, dword [ebx + 0xf0]
jl 0x10007720
mov esi, dword [ebp + 0x10]
cmp dword [ebx + 0xb0], 0
mov edi, dword [ebp - 0x88]
je 0x10007772
push ebx
push edi
call fcn.10005670
add esp, 8
mov eax, dword [ebx + 0x52c]
mov edx, dword [ebx + 0x530]
mov dword [ebx + 8], edi
mov dword [ebx + 0x524], eax
mov dword [ebx + 0x528], edx
cmp esi, 2
jne 0x10007920
cmp dword [ebx + 0x48], 0
je 0x100077a3
add dword [ebx + 0x208], 0xffffff88
cmp dword [ebx + 0x64], 0
je 0x100077b0
add dword [ebx + 0x2ec], 0xffffff88
cmp dword [ebx + 0x60], 0
jne 0x100077ca
add dword [ebx + 0x208], 0xffffed40
add dword [ebx + 0x2ec], 0xffffed40
cmp dword [ebx + 0x80], 0
jne 0x100077dd
add dword [ebx + 0x2ec], 0xffffed40
mov eax, dword [ebx + 0x30]
cmp eax, 4
jge 0x10007802
mov ecx, dword [ebx + 0x2e8]
cmp eax, 3
lea eax, [ecx - 0x4b0]
je 0x100077fc
lea eax, [ecx - 0x960]
mov dword [ebx + 0x2e8], eax
cmp edx, 1
jl 0x100078d0
mov eax, dword [ebx + 0xb0]
shr eax, 3
test al, 1
je 0x100078d0
cmp byte [ebx + 0x594], 0x1b
jne 0x100078d0
cmp byte [ebx + 0x595], 0x24
jne 0x100078d0
mov ecx, dword [ebx + 0x6b4]
mov eax, dword [ebx + 4]
add ecx, dword [ebx]
sub eax, 3
cmp ecx, eax
jae 0x100078b2
mov al, byte [ecx + 2]
cmp al, 0x29
jne 0x1000789e
mov al, byte [ecx + 3]
cmp al, 0x43
jne 0x10007876
add dword [ebx + 0x2a8], 0x258
add dword [ebx + 0x2b4], 0xfffffda8
add dword [ebx + 0x254], 0xfffffda8
jmp 0x100078d0
cmp al, 0x41
je 0x1000787e
cmp al, 0x47
jne 0x100078d0
add dword [ebx + 0x2b4], 0x258
add dword [ebx + 0x2a8], 0xfffffda8
add dword [ebx + 0x254], 0xfffffda8
jmp 0x100078d0
cmp al, 0x40
je 0x100078a6
cmp al, 0x42
jne 0x100078d0
add dword [ebx + 0x254], 0x258
jmp 0x100078bc
add dword [ebx + 0x254], 0xfffffda8
add dword [ebx + 0x2b4], 0xfffffda8
add dword [ebx + 0x2a8], 0xfffffda8
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x10007920
imul edi, dword [ebx + 0x14], 0x12c
push 9
push str.pre_final
mov eax, dword [edi + ecx - 0x12c]
mov dword [edi + ecx], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + eax + 4], 0xffffffff
mov ecx, dword [ebx + 0x10]
add ecx, 8
add ecx, edi
call fcn.10004480
add edi, 0x20
lea esi, [ebx + 0x200]
add edi, dword [ebx + 0x10]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 0x14]
mov esi, dword [ebp + 0x10]
push ebx
call fcn.1000a740
add esp, 4
cmp esi, 1
jne 0x1000797b
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x1000797b
imul edi, dword [ebx + 0x14], 0x12c
push 8
push str.slow_end
mov eax, dword [edi + ecx - 0x12c]
mov dword [edi + ecx], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + eax + 4], 0xffffffff
mov ecx, dword [ebx + 0x10]
add ecx, 8
add ecx, edi
call fcn.10004480
add edi, 0x20
lea esi, [ebx + 0x200]
add edi, dword [ebx + 0x10]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 0x14]
mov ecx, dword [ebx + 0xec]
cmp dword [ebx + 0xdc], 0x3a
mov eax, dword [ebx + 0xe4]
lea edi, [ecx + ecx]
cmovne edi, ecx
sub eax, edi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x94], eax
cmp ecx, 0x12c
jle 0x100079c0
cmp dword [ebp - 0x7c], 0
mov eax, 0x96
mov edx, 0x12c
cmovne eax, edx
sub ecx, eax
mov dword [ebx + 0xec], ecx
xor esi, esi
mov dword [ebx + 0xb0], 0
mov dword [ebp - 0x64], 0
cmp dword [ebx + 0xf0], esi
jle 0x10007a49
lea edx, [ebx + 0xf4]
mov edi, edx
cmp dword [ebp + 0x10], 1
mov ecx, dword [edi]
mov eax, dword [ebx + ecx*4 + 0x200]
jne 0x10007a16
mov eax, dword [ecx*4 + 0x10041c98]
test byte [eax*4 + 0x10052050], 1
mov eax, dword [ebx + ecx*4 + 0x200]
je 0x10007a16
test eax, eax
jg 0x10007a16
cmp ecx, dword [ebx + 0xdc]
jne 0x10007a3a
cmp eax, dword [ebp - 0x94]
jl 0x10007a3a
mov eax, dword [ecx*4 + 0x10041c98]
inc dword [ebp - 0x64]
mov eax, dword [eax*4 + 0x10052050]
or dword [ebx + 0xb0], eax
mov dword [edx], ecx
add edx, 4
inc esi
add edi, 4
cmp esi, dword [ebx + 0xf0]
jl 0x100079e3
mov edi, dword [ebp - 0x70]
cmp dword [ebx + 0x10], 0
je 0x10007ad1
mov eax, 0x88888889
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str._d_prune
lea eax, [ebp - 0x44]
push 0x20
push eax
call fcn.1000b900
mov ecx, dword [ebx + 0x10]
add esp, 0x10
imul edi, dword [ebx + 0x14], 0x12c
mov eax, dword [ecx + edi - 0x12c]
mov dword [ecx + edi], eax
lea ecx, [ebp - 0x44]
mov eax, dword [ebx + 0x10]
lea edx, [ecx + 1]
mov dword [edi + eax + 4], 0xffffffff
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10007aa0
sub ecx, edx
lea eax, [ebp - 0x44]
push ecx
mov ecx, dword [ebx + 0x10]
add ecx, 8
push eax
add ecx, edi
call fcn.10004480
add edi, 0x20
lea esi, [ebx + 0x200]
add edi, dword [ebx + 0x10]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 0x14]
cmp dword [ebp + 0x10], 2
mov eax, dword [ebp - 0x64]
mov dword [ebx + 0xf0], eax
jne 0x10007d82
cmp dword [ebx + 0x530], 0
jne 0x10007b25
mov eax, dword [ebx + 0xdc]
cmp eax, 0x3a
je 0x10007b25
cmp eax, 0x2c
je 0x10007b25
cmp eax, 0x2d
je 0x10007b25
cmp eax, 0x2a
je 0x10007b25
cmp eax, 0x15
je 0x10007b25
cmp eax, 0x28
je 0x10007b25
add dword [ebx + 0x200], 0x4b0
mov dword [ebx + 0xdc], 0
cmp dword [ebx + 0xa0], 0
mov eax, dword [ebx + 0xdc]
jle 0x10007baa
dec eax
cmp eax, 0x21
ja case.0x10007b45.2
movzx eax, byte [eax + 0x10007e9c]
jmp dword [eax*4 + 0x10007e88]
add dword [ebx + 0x210], 0x4b0
mov dword [ebx + 0xdc], 4
jmp case.0x10007b45.2
add dword [ebx + 0x22c], 0x4b0
mov dword [ebx + 0xdc], 0xb
jmp case.0x10007b45.2
add dword [ebx + 0x258], 0x4b0
mov dword [ebx + 0xdc], 0x16
jmp case.0x10007b45.2
add dword [ebx + 0x270], 0x4b0
mov dword [ebx + 0xdc], 0x1c
jmp case.0x10007b45.2
cmp eax, 4
je 0x10007be5
cmp eax, 0x16
je 0x10007bcf
cmp eax, 0x1c
jne case.0x10007b45.2
add dword [ebx + 0x238], 0x4b0
mov dword [ebx + 0xdc], 0xe
jmp case.0x10007b45.2
add dword [ebx + 0x234], 0x4b0
mov dword [ebx + 0xdc], 0xd
jmp case.0x10007b45.2
add dword [ebx + 0x204], 0x4b0
mov dword [ebx + 0xdc], 1
cmp dword [ebx + 0x10], 0
je 0x10007d82
mov eax, dword [ebp - 0x88]
sub eax, dword [ebx]
push eax
push str.final__d
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.1000b900
mov ecx, dword [ebx + 0x10]
add esp, 0x10
imul esi, dword [ebx + 0x14], 0x12c
mov eax, dword [ecx + esi - 0x12c]
mov dword [ecx + esi], eax
lea ecx, [ebp - 0x24]
mov eax, dword [ebx + 0x10]
lea edx, [ecx + 1]
mov dword [esi + eax + 4], 0xffffffff
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10007c44
sub ecx, edx
lea eax, [ebp - 0x24]
push ecx
mov ecx, dword [ebx + 0x10]
add ecx, 8
push eax
add ecx, esi
call fcn.10004480
mov edi, dword [ebx + 0x10]
add esi, 0x20
add edi, esi
mov ecx, 0x43
lea esi, [ebx + 0x200]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 0xe4]
sub esi, dword [ebx + 0xe8]
inc dword [ebx + 0x14]
mov ecx, dword [ebx + 0xdc]
cmp esi, 0x3c
jge 0x10007cd8
push dword [ecx*4 + 0x10041c98]
mov eax, 0x55555556
imul esi
mov eax, 0x66666667
mov edi, edx
shr edi, 0x1f
add edi, edx
imul edi
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
call fcn.1000bc00
push eax
lea eax, [esi + esi*4]
add eax, eax
sub edi, eax
lea eax, [ebp - 0x24]
push edi
push esi
push str._d._d__s
push 0x20
push eax
call fcn.1000b900
add esp, 0x1c
jmp 0x10007d2a
mov ecx, dword [ecx*4 + 0x10041c98]
push ecx
call fcn.1000bc00
push eax
cmp esi, 0x5dc
jge 0x10007d17
mov eax, 0x88888889
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str._d__s
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.1000b900
add esp, 0x18
jmp 0x10007d2a
push 0x10054754
lea eax, [ebp - 0x24]
push 0x20
push eax
call fcn.1000b900
add esp, 0x14
imul edi, dword [ebx + 0x14], 0x12c
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xdc]
mov eax, dword [ecx + edi - 0x12c]
mov dword [ecx + edi], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + eax + 4], edx
lea edx, [ebp - 0x24]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10007d51
sub edx, ecx
lea eax, [ebp - 0x24]
mov ecx, dword [ebx + 0x10]
push edx
add ecx, 8
push eax
add ecx, edi
call fcn.10004480
add edi, 0x20
lea esi, [ebx + 0x200]
add edi, dword [ebx + 0x10]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 0x14]
mov edx, dword [ebx + 0x530]
mov esi, 1
mov byte [ebx + 0x19], 0
test edx, edx
movzx eax, byte [ebx + 0x19]
cmove eax, esi
mov byte [ebx + 0x19], al
mov eax, dword [ebx + 0xe4]
sub eax, dword [ebx + 0xe8]
cmp eax, dword [0x10066008]
movzx ecx, byte [ebx + 0x19]
cmovge ecx, esi
mov byte [ebx + 0x19], cl
cmp edx, esi
jne 0x10007de6
movzx eax, byte [ebx + 0x594]
movzx ecx, byte [ebx + 0x595]
shl eax, 8
movzx eax, byte [eax + ecx + str.____________________________8_________________________888888888888898888898988998999998989_______98________________________________________________________________________________________________________________________________________888_88_________________b____________________________]
movzx ecx, byte [ebx + 0x19]
cmp eax, dword [ebx + 0xdc]
cmove ecx, esi
mov byte [ebx + 0x19], cl
mov eax, dword [ebx + 0xf0]
cmp eax, 1
je 0x10007e6f
cmp eax, 2
jne 0x10007e24
mov eax, dword [ebx + 0xf8]
mov ecx, dword [eax*4 + 0x10041c98]
mov eax, dword [ebx + 0xf4]
mov eax, dword [eax*4 + 0x10041c98]
mov eax, dword [eax*4 + 0x10051df0]
cmp eax, dword [ecx*4 + 0x10051df0]
jmp 0x10007e67
cmp eax, 3
jne 0x10007e75
mov eax, dword [ebx + 0xf4]
mov eax, dword [eax*4 + 0x10041c98]
mov ecx, dword [eax*4 + 0x10051df0]
mov eax, dword [ebx + 0xf8]
mov eax, dword [eax*4 + 0x10041c98]
cmp ecx, dword [eax*4 + 0x10051df0]
jne 0x10007e75
mov eax, dword [ebx + 0xfc]
mov eax, dword [eax*4 + 0x10041c98]
cmp ecx, dword [eax*4 + 0x10051df0]
jne 0x10007e75
cmp dword [ebx + 0x24], 3
jl 0x10007e75
mov word [ebx + 0x18], 0x101
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000db64
mov esp, ebp
pop ebp
ret