Function at 0x4089e7
Capabilities:
Contain obfuscated stackstrings
Read file on windows

Disassembly:
mov eax, 0x40a038
call fcn.00409900
sub esp, 0x78
push ebx
push esi
xor ebx, ebx
mov byte [ebp - 0x84], 0xa
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x83], 0x3c
mov byte [ebp - 0x82], 0x21
mov byte [ebp - 0x81], 0x2d
mov byte [ebp - 0x80], 0x20
mov byte [ebp - 0x7f], 0x2d
mov byte [ebp - 0x7e], 0x2d
mov byte [ebp - 0x7d], 0x2d
mov byte [ebp - 0x7c], 0x2d
mov byte [ebp - 0x7b], 0x2d
mov byte [ebp - 0x7a], 0x2d
mov byte [ebp - 0x79], 0x53
mov byte [ebp - 0x78], 0x44
mov byte [ebp - 0x77], 0x53
mov byte [ebp - 0x76], 0x47
mov byte [ebp - 0x75], 0x44
mov byte [ebp - 0x74], 0x47
mov byte [ebp - 0x73], 0x53
mov byte [ebp - 0x72], 0x44
mov byte [ebp - 0x71], 0x48
mov byte [ebp - 0x70], 0x52
mov byte [ebp - 0x6f], 0x45
mov byte [ebp - 0x6e], 0x45
mov byte [ebp - 0x6d], 0x54
mov byte [ebp - 0x6c], 0x45
mov byte [ebp - 0x6b], 0x54
mov byte [ebp - 0x6a], 0x42
mov byte [ebp - 0x69], 0x43
mov byte [ebp - 0x68], 0x4e
mov byte [ebp - 0x67], 0x4d
mov byte [ebp - 0x66], 0x4a
mov byte [ebp - 0x65], 0x55
mov byte [ebp - 0x64], 0x4b
mov byte [ebp - 0x63], 0x52
mov byte [ebp - 0x62], 0x2d
mov byte [ebp - 0x61], 0x2d
mov byte [ebp - 0x60], 0x2d
mov byte [ebp - 0x5f], 0x2d
mov byte [ebp - 0x5e], 0x2d
mov byte [ebp - 0x5d], 0x2d
mov byte [ebp - 0x5c], 0x2d
mov byte [ebp - 0x5b], 0x2d
mov byte [ebp - 0x5a], 0x2d
mov byte [ebp - 0x59], 0x2d
mov byte [ebp - 0x58], 0xa
mov byte [ebp - 0x57], bl
mov byte [ebp - 0x54], 0xa
mov byte [ebp - 0x53], 0x2d
mov byte [ebp - 0x52], 0x2d
mov byte [ebp - 0x51], 0x2d
mov byte [ebp - 0x50], 0x2d
mov byte [ebp - 0x4f], 0x2d
mov byte [ebp - 0x4e], 0x2d
mov byte [ebp - 0x4d], 0x2d
mov byte [ebp - 0x4c], 0x53
mov byte [ebp - 0x4b], 0x44
mov byte [ebp - 0x4a], 0x53
mov byte [ebp - 0x49], 0x47
mov byte [ebp - 0x48], 0x44
mov byte [ebp - 0x47], 0x47
mov byte [ebp - 0x46], 0x53
mov byte [ebp - 0x45], 0x44
mov byte [ebp - 0x44], 0x48
mov byte [ebp - 0x43], 0x52
mov byte [ebp - 0x42], 0x45
mov byte [ebp - 0x41], 0x45
mov byte [ebp - 0x40], 0x54
mov byte [ebp - 0x3f], 0x45
mov byte [ebp - 0x3e], 0x54
mov byte [ebp - 0x3d], 0x42
mov byte [ebp - 0x3c], 0x43
mov byte [ebp - 0x3b], 0x4e
mov byte [ebp - 0x3a], 0x4d
mov byte [ebp - 0x39], 0x4a
mov byte [ebp - 0x38], 0x55
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x10]
push eax
mov byte [ebp - 0x37], 0x4b
mov byte [ebp - 0x36], 0x52
mov byte [ebp - 0x35], 0x2d
mov byte [ebp - 0x34], 0x2d
mov byte [ebp - 0x33], 0x2d
mov byte [ebp - 0x32], 0x2d
mov byte [ebp - 0x31], 0x2d
mov byte [ebp - 0x30], 0x2d
mov byte [ebp - 0x2f], 0x2d
mov byte [ebp - 0x2e], 0x2d
mov byte [ebp - 0x2d], 0x20
mov byte [ebp - 0x2c], 0x2d
mov byte [ebp - 0x2b], 0x2d
mov byte [ebp - 0x2a], 0x3e
mov byte [ebp - 0x29], 0xa
mov byte [ebp - 0x28], bl
call fcn.0040112d
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 1
call fcn.0040117a
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x10]
call fcn.0040124a
lea ecx, [ebp - 0x10]
call fcn.0040117a
push 0x412bdc
mov dword [ebp - 0x1c], eax
push dword [ebp + 8]
call sub.MSVCRT.dll__wfopen
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jne 0x408bc5
xor esi, esi
jmp 0x408c7a
push edi
push 2
push ebx
push esi
call sub.MSVCRT.dll_fseek
push esi
call sub.MSVCRT.dll_ftell
push esi
mov edi, eax
call sub.MSVCRT.dll_rewind
mov eax, dword [ebp - 0x1c]
add eax, edi
add eax, dword [ebp - 0x14]
push eax
call sub.MSVCRT.dll_malloc
push esi
push edi
push 1
push eax
mov dword [ebp - 0x18], eax
call sub.MSVCRT.dll_fread
push esi
mov dword [ebp - 0x24], eax
call sub.MSVCRT.dll_fclose
add esp, 0x2c
cmp dword [ebp - 0x24], edi
je 0x408c14
push esi
call sub.MSVCRT.dll_fclose
pop ecx
xor esi, esi
jmp 0x408c70
push dword [ebp - 0x14]
lea eax, [ebp - 0x84]
push eax
push edi
push dword [ebp - 0x18]
call fcn.0040898b
push dword [ebp - 0x1c]
mov esi, eax
lea eax, [ebp - 0x54]
push eax
push edi
mov edi, dword [ebp - 0x18]
push edi
call fcn.0040898b
add esp, 0x20
cmp esi, 0xffffffff
je 0x408c6d
cmp eax, 0xffffffff
je 0x408c6d
add esi, dword [ebp - 0x14]
add edi, esi
sub eax, esi
mov esi, dword [ebp + 0x10]
mov dword [esi], eax
lea eax, [eax + eax*2]
shl eax, 1
push eax
call sub.MSVCRT.dll_malloc
push dword [esi]
mov dword [ebp - 0x20], eax
push edi
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0x10
mov esi, dword [ebp - 0x20]
push dword [ebp - 0x18]
call sub.MSVCRT.dll_free
pop ecx
pop edi
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.004019d7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004019d7
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret