Function at 0x4e2562
Capabilities:
Get common file path
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1e4
push ebx
xor ebx, ebx
cmp dword [0x5b77b0], ebx
push esi
push edi
mov byte [ebp - 1], 0x20
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x24], ebx
jne 0x4e29e7
cmp word [0x5b45ec], bx
jne 0x4e26fb
cmp dword [ebp + 0x10], 6
jne 0x4e29e7
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [0x5b45e8]
cmp eax, ebx
mov dword [ebp - 0x18], edi
je 0x4e25d3
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.004a6118
pop ecx
cmp ax, bx
pop ecx
jne 0x4e26f2
mov esi, dword [ebp + 0x14]
cmp esi, ebx
je 0x4e26f2
mov ebx, dword [ebp + 0x18]
test ebx, ebx
jle 0x4e26f2
xor eax, eax
test ebx, ebx
jle 0x4e25fe
cmp byte [eax + esi], 0x20
jb 0x4e26f2
inc eax
cmp eax, ebx
jl 0x4e25ef
mov eax, dword [0x5b45e4]
test eax, eax
je 0x4e2644
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.004a6118
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x4e2641
xor edx, edx
test ebx, ebx
jle 0x4e263a
mov cl, byte [edx + esi]
cmp cl, 0x20
jne 0x4e262c
mov byte [edx + esi], cl
jmp 0x4e2635
jbe 0x4e2635
mov al, 0x20
sub al, cl
mov byte [edx + esi], al
inc edx
cmp edx, ebx
jl 0x4e261f
mov eax, dword [edi]
jmp 0x4e29ea
mov edi, dword [ebp + 8]
push dword [ebp + 0x1c]
call fcn.0048eb1a
pop ecx
movzx esi, ax
lea eax, [ebp - 0x28]
push 4
push eax
push str.technology
push edi
call sub.CoolType.dll_Ordinal_17_1
mov edi, eax
add esp, 0x10
cmp edi, 1
jne 0x4e26c4
lea eax, [ebp - 0x90]
push 0x3c
push eax
push str.winlogfont
push dword [ebp + 8]
call sub.CoolType.dll_Ordinal_17_1
mov ebx, dword [ebp - 0x28]
add esp, 0x10
test eax, eax
mov edx, 0x84
je 0x4e2698
cmp esi, edx
jne 0x4e2698
cmp ebx, edi
je 0x4e26c2
test eax, eax
mov ecx, 0x82
je 0x4e26a9
cmp esi, ecx
jne 0x4e26a9
test ebx, ebx
je 0x4e26c2
cmp esi, 0x80
je 0x4e26b9
cmp esi, ecx
je 0x4e26b9
cmp esi, edx
jne 0x4e26c2
test ebx, ebx
je 0x4e26c4
cmp ebx, 1
je 0x4e26c4
xor edi, edi
test edi, edi
jne 0x4e26f9
cmp dword [0x5b45e8], edi
jne 0x4e26d5
call fcn.004e2a07
cmp dword [0x5b45e8], 0
mov dword [ebp - 0x38], 1
jne 0x4e26ea
call fcn.004e2a07
lea eax, [ebp - 0x38]
jmp 0x4e29d4
mov eax, edi
jmp 0x4e29ea
xor ebx, ebx
mov eax, dword [0x5b7bf4]
push ebx
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0xe0]
mov dword [0x5b7bf4], eax
lea eax, [ebp - 0xd0]
push eax
mov dword [ebp - 0x34], 0x5b7bf4
mov dword [ebp - 0xdc], ebx
call fcn.0052a5c0
pop ecx
test eax, eax
pop ecx
jne 0x4e298a
push dword [ebp + 0x1c]
call fcn.0048ebe4
mov esi, eax
pop ecx
cmp esi, ebx
mov dword [ebp - 8], esi
je 0x4e278d
mov eax, dword [esi + 0x80]
cmp eax, ebx
je 0x4e2767
push eax
call fcn.0049cb17
cmp ax, 0x18f
pop ecx
je 0x4e2767
mov dword [ebp - 0x24], 1
jmp 0x4e278d
mov eax, dword [esi]
test eax, eax
je 0x4e277a
push eax
call fcn.0049cb17
cmp ax, 0x18f
pop ecx
je 0x4e2788
inc ebx
add esi, 4
cmp ebx, 0xff
jl 0x4e2767
jmp 0x4e278b
mov byte [ebp - 1], bl
xor ebx, ebx
cmp word [ebp - 0x24], bx
je 0x4e279e
push 0x20030001
call fcn.00401daf
pop ecx
cmp dword [0x5b45e4], ebx
jne 0x4e27ab
call fcn.004e29ef
mov esi, 0x104
push esi
push 1
call fcn.004a585b
pop ecx
mov ebx, eax
pop ecx
mov dword [ebp - 0x10], ebx
push esi
push 1
call fcn.004a585b
pop ecx
mov dword [ebp - 0xc], eax
pop ecx
lea eax, [ebp - 0x1e4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov esi, dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov edi, eax
push ebx
push 0
lea eax, [ebp - 0x1e4]
push 0x5aacf4
push eax
call esi
push dword [ebp - 0xc]
inc eax
push eax
lea eax, [ebp - 0x1e4]
push 0x5aa420
push eax
call esi
push dword [ebp - 8]
lea eax, [ebx + edi]
push eax
lea eax, [ebp - 0x2a]
push ebx
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004e2a1f
add esp, 0x18
test ax, ax
jne 0x4e2830
push 0x20030001
call fcn.00401daf
pop ecx
xor edi, edi
cmp dword [ebp - 8], edi
je 0x4e2840
push dword [ebp - 8]
call fcn.0048ec1e
pop ecx
lea eax, [ebp - 0x90]
push 0x3c
push eax
mov dword [ebp - 8], edi
call fcn.00416369
pop ecx
lea eax, [ebp - 0x90]
pop ecx
push eax
push dword [ebp - 0xc]
push ebx
call fcn.004ce320
mov esi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
add esp, 0xc
push 2
push ebx
call esi
push 2
push dword [ebp - 0xc]
call esi
push 0x58
push 1
call fcn.004a585b
pop ecx
mov ebx, eax
pop ecx
lea esi, [ebp - 0x90]
mov dword [ebx], 0x4e2520
mov dword [ebx + 0xc], edi
push 0xf
mov dword [ebx + 8], edi
lea edi, [ebx + 0x10]
pop ecx
rep movsd dword es:[edi], dword [esi]
xor edi, edi
mov word [ebx + 0x4c], 0x7fff
push edi
push ebx
push dword [0x5b7be0]
mov dword [ebp - 0x1c], ebx
call sub.CoolType.dll_Ordinal_10_1
mov esi, eax
add esp, 0xc
cmp esi, edi
mov dword [ebp - 0x20], esi
jne 0x4e28ce
push 0x20030001
call fcn.00401daf
pop ecx
push dword [ebp + 0x1c]
call fcn.004dc1eb
cmp dword [0x5b45e4], edi
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x44], ebx
mov bl, byte [ebp - 1]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], bl
jne 0x4e2902
call fcn.004e29ef
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [0x5b45e4]
call fcn.004a6247
add esp, 0xc
lea eax, [ebp - 0x90]
push eax
push str.winlogfont
push esi
call sub.CoolType.dll_Ordinal_12_1
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xe0]
add esp, 0xc
mov dword [eax], ecx
push dword [ebp + 0x1c]
call fcn.004dc1eb
cmp eax, edi
pop ecx
je 0x4e294f
push 1
push eax
call fcn.00488d70
pop ecx
pop ecx
mov edx, dword [ebp + 0x14]
cmp edx, edi
je 0x4e2986
cmp dword [ebp + 0x18], edi
jle 0x4e2986
xor ecx, ecx
cmp dword [ebp + 0x18], edi
jle 0x4e2986
movzx edi, bl
mov al, byte [ecx + edx]
movsx ebx, al
cmp ebx, edi
jne 0x4e2975
mov byte [ecx + edx], 0x20
jmp 0x4e2980
cmp al, 0x20
jbe 0x4e2980
mov bl, 0x20
sub bl, al
mov byte [ecx + edx], bl
inc ecx
cmp ecx, dword [ebp + 0x18]
jl 0x4e2965
mov eax, esi
jmp 0x4e29ea
cmp dword [ebp - 8], ebx
je 0x4e2998
push dword [ebp - 8]
call fcn.0048ec1e
pop ecx
push 1
lea eax, [ebp - 0x18]
pop esi
push esi
push eax
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call fcn.004e2436
add esp, 0x18
cmp dword [0x5b45e8], ebx
jne 0x4e29c1
call fcn.004e2a07
cmp dword [0x5b45e8], ebx
mov dword [ebp - 0x30], esi
jne 0x4e29d1
call fcn.004e2a07
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [0x5b45e8]
call fcn.004a6247
add esp, 0xc
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
leave
ret