Function at 0x40c8e8
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf1c
mov eax, dword [0x601ff0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0xef4], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0xefc], eax
mov esi, ecx
mov eax, dword [ebp + 0x10]
push edi
mov edi, edx
mov dword [ebp - 0xf0c], eax
mov eax, dword [ebp + 0x18]
push 0x61da00
mov dword [ebp - 0xf14], edi
mov dword [ebp - 0xf00], ebx
mov dword [ebp - 0xef8], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor eax, eax
xor ecx, ecx
mov word [ebx], ax
xor ebx, ebx
mov word [edi], ax
mov eax, dword [ebp - 0xef4]
mov word [eax], cx
mov eax, dword [ebp - 0xefc]
mov word [eax], cx
lea ecx, [ebp - 0x518]
mov eax, dword [ebp - 0xf0c]
sub ecx, esi
mov dword [eax], ebx
movzx eax, word [esi]
mov word [ecx + esi], ax
lea esi, [esi + 2]
test ax, ax
jne 0x40c96e
lea eax, [ebp - 0x518]
push 0x21
push eax
call fcn.00573684
pop ecx
pop ecx
test eax, eax
je 0x40c9b0
xor ecx, ecx
lea edx, [ebp - 0x20c]
mov word [eax], cx
lea ecx, [eax + 2]
sub edx, ecx
movzx eax, word [ecx]
mov word [edx + ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x40c9a1
push ebx
lea eax, [ebp - 0xf04]
mov dword [ebp - 0xf08], ebx
push eax
push ebx
lea eax, [ebp - 0xf08]
mov dword [ebp - 0xf04], ebx
push eax
lea eax, [ebp - 0x518]
push eax
call dword [0x61dc3c]
test eax, eax
jne 0x40c9e7
push 0x61da00
jmp 0x40cd82
cmp eax, 0x7a
jne 0x40c9dd
mov eax, dword [ebp - 0xf08]
shl eax, 2
push eax
call fcn.0057ae37
mov esi, eax
pop ecx
test esi, esi
je 0x40c9dd
mov eax, dword [ebp - 0xf04]
add eax, eax
push eax
call fcn.0057ae37
mov edi, eax
pop ecx
test edi, edi
je 0x40c9dd
push edi
lea eax, [ebp - 0xf04]
push eax
push esi
lea eax, [ebp - 0xf08]
push eax
lea eax, [ebp - 0x518]
push eax
call dword [0x61dc3c]
test eax, eax
je 0x40ca48
push edi
call fcn.0057ae42
push esi
call fcn.0057ae42
pop ecx
pop ecx
jmp 0x40c9dd
mov ecx, dword [esi]
lea edx, [ebp - 0x720]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x40ca50
push edi
call fcn.0057ae42
push esi
call fcn.0057ae42
pop ecx
pop ecx
lea ecx, [ebp - 0x720]
call fcn.0040c236
mov esi, eax
mov dword [ebp - 0xf18], esi
test esi, esi
je 0x40c9dd
lea eax, [ebp - 0xef0]
mov dword [ebp - 0xf1c], 0x3e8
push eax
lea eax, [ebp - 0xf1c]
push eax
push ebx
push esi
call dword [0x61dc38]
test eax, eax
js 0x40cd75
mov edx, dword [ebp - 0xf00]
lea ecx, [ebp - 0xef0]
mov eax, ecx
sub edx, eax
movzx eax, word [ecx]
mov word [edx + ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x40cac2
lea edi, [ebp - 0xef0]
sub edi, 2
mov ax, word [edi + 2]
add edi, 2
cmp ax, bx
jne 0x40cada
push 9
pop ecx
mov esi, str.AppxManifest.xml
mov dword [ebp - 0xf10], ebx
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xf10]
lea ecx, [ebp - 0xef0]
call fcn.0040c1ae
test eax, eax
js 0x40ccb4
mov edi, dword [ebp - 0xf14]
lea eax, [ebp - 0xf00]
mov ecx, dword [ebp - 0xf10]
lea edx, [ebp - 0x20c]
push eax
push dword [ebp - 0xefc]
mov dword [ebp - 0xf00], ebx
push dword [ebp - 0xef4]
push edi
call fcn.0040befa
mov dword [ebp - 0xefc], eax
cmp word [edi], bx
jne 0x40cba2
cmp dword [ebp - 0xf00], ebx
je 0x40cb70
lea ecx, [ebp - 0x20c]
mov edx, edi
mov eax, ecx
sub edx, eax
movzx eax, word [ecx]
mov word [edx + ecx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x40cb5f
jmp 0x40cb90
mov esi, dword [ebp - 0xf18]
mov esi, dword [esi + 0x10]
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [edi], ax
lea edi, [edi + 2]
test ax, ax
jne 0x40cb79
mov edi, dword [ebp - 0xf14]
cmp word [edi], bx
je 0x40cba2
mov edx, dword [ebp - 0xef8]
mov ecx, edi
call fcn.0040c307
lea eax, [ebp - 0xef0]
push 0x5dafc0
push eax
call fcn.0057b08a
mov edi, eax
mov dword [ebp - 0xef4], edi
pop ecx
pop ecx
test edi, edi
je 0x40cc99
push 2
push ebx
push edi
call fcn.0057b6f8
push edi
call fcn.0057bc6a
push ebx
mov esi, eax
push ebx
push edi
mov dword [ebp - 0xef8], esi
call fcn.0057b6f8
lea ecx, [esi + 0xa]
push ecx
call fcn.0057ae37
mov esi, eax
add esp, 0x20
test esi, esi
je 0x40cc92
push edi
push dword [ebp - 0xef8]
push 1
push esi
call fcn.0057be41
mov al, byte [esi]
add esp, 0x10
cmp al, 0xff
jne 0x40cc18
cmp byte [esi + 1], 0xfe
je 0x40cc2b
cmp al, 0xfe
jne 0x40cc22
cmp byte [esi + 1], 0xff
je 0x40cc2b
cmp byte [esi + 1], bl
jne 0x40ccdc
lea eax, [ebp - 0x20c]
push eax
push esi
call fcn.005737d3
pop ecx
pop ecx
test eax, eax
je 0x40ccd3
push 0x5dafc8
push eax
call fcn.005737d3
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x40cc85
add edi, 0x24
push 0x22
push edi
call fcn.00573725
pop ecx
pop ecx
test eax, eax
je 0x40cc6b
xor ecx, ecx
mov word [eax], cx
push 0x10
lea eax, [ebp - 0xef8]
push eax
push edi
call fcn.0057c6ef
mov ecx, dword [ebp - 0xf0c]
add esp, 0xc
mov dword [ecx], eax
mov edi, dword [ebp - 0xef4]
push esi
call fcn.0057ae42
pop ecx
push edi
call fcn.0057b3be
pop ecx
mov ebx, dword [ebp - 0xefc]
mov eax, dword [ebp - 0xf10]
not ebx
shr ebx, 0x1f
test eax, eax
je 0x40ccb4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0xf18]
call fcn.0057ae42
mov dword [esp], 0x61da00
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
jmp 0x40cd8a
or dword [ebp - 0xefc], 0xffffffff
jmp 0x40cc8b
lea ecx, [ebp - 0x20c]
mov edx, ebx
lea eax, [ecx + 2]
mov dword [ebp - 0xef8], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x40cced
sub ecx, dword [ebp - 0xef8]
sar ecx, 1
je 0x40cd15
mov al, byte [ebp + edx*2 - 0x20c]
mov byte [ebp + edx - 0x310], al
inc edx
cmp edx, ecx
jb 0x40cd02
cmp ecx, 0x104
jae 0x40cd9b
lea eax, [ebp - 0x310]
mov byte [ebp + ecx - 0x310], bl
push eax
push esi
call fcn.00573a60
pop ecx
pop ecx
test eax, eax
je 0x40ccd3
push str.BackgroundColor_
push eax
call fcn.00573a60
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x40cc85
add edi, 0x12
push 0x22
push edi
call fcn.00573cd0
pop ecx
pop ecx
test eax, eax
je 0x40cd61
mov byte [eax], bl
push 0x10
lea eax, [ebp - 0xef8]
push eax
push edi
call fcn.0057c6c3
jmp 0x40cc7a
push esi
call fcn.0057ae42
mov dword [esp], 0x61da00
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00570fd6
mov esp, ebp
pop ebp
ret
call fcn.0057112d
int3