Function at 0x10006505
Capabilities:
Clear file content

Disassembly:
mov eax, 0x10058571
call fcn.10057d24
sub esp, 0xe4
mov eax, edx
push ebx
push esi
push edi
cmp byte [eax], 0x50
mov edi, ecx
mov dword [ebp - 0x38], eax
jne 0x10006cbf
cmp byte [eax + 1], 0x4b
jne 0x10006cbf
xor esi, esi
inc esi
xor ebx, ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x30], 0x12af048
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], 0x204795ed
push 3
pop edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], 0x1e60e779
mov dword [ebp - 0x18], ebx
jmp 0x1000656d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf0], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10006560
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
cmp dword [ebp - 0x14], edx
jg 0x100065e1
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14]
cmp eax, esi
mov eax, dword [ebp - 0x14]
setl cl
xor edx, edx
cmp ecx, eax
setg dl
xor ecx, ecx
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0x14]
cmp edx, eax
mov eax, ebx
setge cl
imul ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x100065e3
mov eax, esi
xor ecx, ecx
mov edx, 0x84c5
sub edx, eax
mov eax, dword [ebp - 0x14]
cmp edx, eax
push 4
setg cl
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0xb8]
call fcn.100013fd
mov dword [ebp - 0x1c], 0xa32b1cec
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x18], ebx
jmp 0x10006627
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10006617
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x10006660
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10006647
push ebx
push esi
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1000665b
push ebx
push 0x25cb
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
dec dword [ebp - 0x1c]
jns 0x10006635
lea ecx, [ebp - 0xb8]
call fcn.10001439
mov ecx, dword [ebp - 0x38]
push edi
movzx eax, byte [ecx + 2]
mov dl, byte [ecx + 3]
add eax, 4
add ecx, eax
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x34], ecx
add eax, 0x18
mov dword [ebp - 0x28], 0x77b568be
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], 0xffff
mov byte [ebp - 0xd], dl
mov dword [ebp - 0x30], eax
call fcn.100013fd
mov dword [ebp - 0x28], 0x9cea445a
mov dword [ebp - 0x18], ebx
jmp 0x100066bf
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100066b3
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, 0xfffffffa
jl 0x100066d7
mov ecx, ebx
cmp dword [ebp - 0x24], ebx
je 0x100066d9
mov ecx, esi
mov eax, dword [ebp - 0x20]
add eax, 0xe70
mov dword [ebp - 0x28], eax
xor eax, eax
mov edx, dword [ebp - 0x28]
imul edx, dword [ebp - 0x20]
cmp ecx, 0xca6c8490
sete al
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x20]
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x70]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x70]
call fcn.10001439
movzx eax, byte [ebp - 0xd]
add dword [ebp - 0x30], eax
mov dword [ebp - 0x14], ebx
jmp 0x10006738
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], 0x17571177
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1000672a
mov dword [ebp - 0x14], ebx
jmp 0x10006753
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc4], 0xdbeccce1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10006742
mov dword [ebp - 0x3c], ebx
jmp 0x100067f5
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x100067f2
push 4
lea ecx, [ebp - 0x7c]
call fcn.100013fd
mov dword [ebp - 0x18], ebx
jmp 0x10006792
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 0x7909b792
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10006782
mov eax, dword [ebp - 0x7c]
mov ebx, eax
mov dword [eax + 0xc], 2
mov dword [ebp - 0x28], 0xfffffffc
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xc4]
mov eax, dword [ebp - 0x20]
cmp eax, 0x71f0
mov eax, dword [ebp - 0xc4]
setle cl
xor edx, edx
cmp ecx, dword [ebx + 0xc]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x3c]
dec dword [ebx + 0xc]
jns 0x100067a4
lea ecx, [ebp - 0x7c]
call fcn.10001439
dec dword [ebp - 0x20]
push 0
pop ebx
jns 0x10006773
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xf
jne 0x10006760
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax]
call fcn.100064f9
mov ecx, dword [ebp + 8]
mov edx, eax
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x30], eax
mov dword [ebp - 0x28], edx
mov dword [ecx], edx
mov dword [ebp - 0x14], 0x60477862
mov dword [ebp - 0x20], 0xfb49a5c1
mov dword [ebp - 0x24], 0xfffb
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1000684e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x40], 0xfffffffb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10006840
mov dword [ebp - 0x14], edi
jmp 0x100069a4
push dword [ebp - 0x2c]
movdqa xmm0, xmmword [0x10066a20]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x24], edi
push eax
push ebx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
movdqu xmmword [ebp - 0xd4], xmm0
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
call fcn.1000619c
push 2
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], ebx
call fcn.100013fd
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
jmp 0x100068b6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], 0x5ff74f57
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100068a6
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x24], esi
jge 0x10006938
mov dword [ebp - 0x24], 0x3d6c
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x2c], 0x5487972e
mov dword [ebp - 0x2c], 0xfffffff9
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x4c]
setge cl
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], 0x4f823aaf
mov eax, dword [ebp - 0x14]
cmp eax, 0x3b06d9e9
setge cl
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x64]
sbb eax, eax
xor edx, edx
inc eax
cmp eax, dword [ecx]
mov eax, dword [ebp - 0x18]
setg dl
imul eax, edx
mov dword [ecx + 4], edx
mov dword [ebp - 0x2c], eax
jmp 0x1000697d
cmp dword [ebp - 0x20], ebx
jne 0x100069b0
mov dword [ebp - 0x18], ebx
jmp 0x10006978
mov dword [ebp - 0x2c], 0x84b505d0
mov dword [ebp - 0x20], ebx
jmp 0x1000695c
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x1000694e
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10006975
push 0x2080
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x10006942
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1000698d
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileType]
lea ecx, [ebp - 0x64]
call fcn.10001439
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.10001439
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffee
jge 0x1000685b
jmp 0x100069c4
lea ecx, [ebp - 0x64]
call fcn.10001439
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.10001439
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x10006a4a
push 2
lea ecx, [ebp - 0x88]
call fcn.100013fd
mov dword [ebp - 0x2c], 0x6cb
mov dword [ebp - 0x1c], ebx
jmp 0x100069f8
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], 0xefc71010
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100069e5
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x40], ecx
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
sub eax, 0x1030c6a8
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x88]
cmp dword [eax + 4], esi
setg cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x88]
call fcn.10001439
dec dword [ebp - 0x14]
jns 0x100069cc
mov eax, dword [ebp - 0x28]
shr eax, 2
mov dword [ebp - 0x20], ebx
inc eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
mov dword [ebp - 0x28], eax
je 0x10006a74
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SaveDC]
mov dword [ebp - 0x20], 0x1a
jmp 0x10006aef
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x10006aa1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xac], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10006a90
cmp dword [ebp - 0x18], ebx
jne 0x10006aba
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], ebx
je 0x10006abd
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x18]
xor edx, edx
inc eax
cmp eax, 0xecf7
setl dl
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp dword [ebp - 0x24], eax
setle cl
xor eax, eax
cmp ecx, edx
setne al
mov dword [ebp - 0xa8], eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xe
jge 0x10006a7d
cmp dword [ebp - 0x28], 0
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x24], ebx
mov eax, dword [ecx]
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xa0], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x98], eax
jbe 0x10006d6d
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x38], eax
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x58]
push 4
call fcn.100013fd
push 4
pop edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x1c], ebx
jmp 0x10006b52
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10006b46
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10006b67
push ebx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0xfffffff7
je 0x10006c7d
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x1c], ebx
jmp 0x10006b91
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe0], 0x14af12a8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10006b80
mov dword [ebp - 0x14], ebx
jmp 0x10006c36
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10006bbf
push 0x1d69
push 0x8d9
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
mov edi, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x58]
push 3
cmp dword [eax + ecx*4], 0x3f02
mov eax, dword [ebp - 0x14]
setge dl
sub edx, 6
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add eax, 0x9691
cmp eax, edx
mov eax, dword [ebp - 0x18]
setle cl
cmp ecx, 1
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x58]
setle dl
xor ecx, ecx
cmp edx, 0xfffffffd
setne cl
xor edx, edx
cmp ecx, dword [eax + esi*4]
mov ecx, dword [eax + edi*4]
mov eax, dword [ebp - 0x14]
setl dl
sub ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
pop edi
sete dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0xd8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10006b9e
mov dword [ebp - 0x14], ebx
jmp 0x10006c67
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10006c64
push ebx
push 0x1991
push ebx
push 0x6e5
push 0x364
call dword [sym.imp.GDI32.dll_ExtCreatePen]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff9
jg 0x10006c44
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff7
jne 0x10006b74
xor esi, esi
inc esi
lea ecx, [ebp - 0x58]
call fcn.10001439
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
and edx, edi
mov ecx, dword [eax]
mov edx, dword [ebp + edx*4 - 0xa4]
call fcn.100064f9
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + edx], eax
add edx, 4
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x28]
jb 0x10006b2e
jmp 0x10006d6d
mov dword [ebp - 0x1c], 9
lea ecx, [ebp - 0x94]
xor esi, esi
mov dword [ebp - 0x34], 0x77b568be
inc esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x34], 0xffff
push 3
call fcn.100013fd
xor ebx, ebx
mov dword [ebp - 0x34], 0x9cea445a
mov dword [ebp - 0x38], ebx
jmp 0x10006d04
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x94]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x10006cf5
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
inc eax
cmp eax, 0xfffffffa
jl 0x10006d1b
cmp dword [ebp - 0x2c], ebx
je 0x10006d1d
mov ebx, esi
mov eax, dword [ebp - 0x1c]
add eax, 0xe70
mov dword [ebp - 0x34], eax
xor eax, eax
mov edx, dword [ebp - 0x34]
imul edx, dword [ebp - 0x1c]
cmp ebx, 0xca6c8490
sete al
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setl cl
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x94]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x94]
call fcn.10001439
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret