Function at 0x414be0
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fbdd8
mov eax, dword fs:[0]
push eax
mov eax, 0x133c
call fcn.004cd750
mov eax, dword [0x5543c8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [ebp - 0x12fd]
call fcn.00405ba0
mov eax, dword [0x55646c]
test eax, eax
jne 0x414c6e
push 0x200
call fcn.004cd26e
mov esi, eax
add esp, 4
mov dword [ebp - 0x21c], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x414c60
push 0x200
push 0
push esi
call fcn.004cf400
add esp, 0xc
mov ecx, esi
call fcn.0040c630
jmp 0x414c62
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x55646c], eax
lea ecx, [ebp - 0x238]
push ecx
mov ecx, eax
call fcn.0040d460
push 4
push str..lnk
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], 1
call fcn.00402880
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004cf400
add esp, 0xc
lea eax, [ebp - 0x218]
push 0
push 0x10
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
cmp dword [ebp - 0x224], 0x10
lea eax, [ebp - 0x238]
cmovae eax, dword [ebp - 0x238]
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.00401cb0
add esp, 8
cmp dword [eax + 0x14], 8
jb 0x414cea
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ecx, dword [ebp - 0x254]
cmp ecx, 8
jb 0x414d38
mov edx, dword [ebp - 0x268]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x414d2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415394
push ecx
push edx
call fcn.004cd29e
add esp, 8
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x415079
push 0x568
push eax
lea eax, [ebp - 0x7d0]
push eax
call fcn.004cf400
add esp, 0xc
lea eax, [ebp - 0x21c]
lea ecx, [ebp - 0x7d0]
push eax
call fcn.004155e0
push 0
push 0
push 0
push 0
push 0
push 0x100
push 0x10ce0000
push 0x501e3c
mov byte [ebp - 4], 2
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x7d0]
call dword [0x5273d0]
lea ecx, [ebp - 0x7d0]
call dword [0x5273d8]
push 1
lea ecx, [ebp - 0x7d0]
call fcn.00416960
push 0x503314
lea ecx, [ebp - 0x7d0]
call fcn.004170c0
push 0x503324
lea ecx, [ebp - 0x7d0]
call fcn.00416dc0
lea ecx, [ebp - 0x7d0]
call dword [0x5273d4]
lea eax, [ebp - 0x250]
push eax
call fcn.00401550
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 3
push eax
call fcn.00401250
lea eax, [ebp - 0x1318]
mov byte [ebp - 4], 4
push eax
call fcn.00401250
add esp, 0xc
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 5
jb 0x414e24
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x1348]
push eax
call fcn.00401cb0
mov esi, eax
cmp dword [ebp - 0x23c], 0x10
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0x1330]
mov byte [ebp - 4], 6
cmovae ecx, dword [ebp - 0x250]
push ecx
push eax
call fcn.00401cb0
add esp, 0x10
cmp dword [esi + 0x14], 8
mov byte [ebp - 4], 7
jb 0x414e67
mov esi, dword [esi]
cmp dword [eax + 0x14], 8
jb 0x414e6f
mov eax, dword [eax]
push esi
push 0
lea ecx, [ebp - 0x218]
push ecx
push 0
push eax
mov ecx, edi
call fcn.00414190
lea ecx, [ebp - 0x1330]
call fcn.00403730
lea ecx, [ebp - 0x1348]
call fcn.00403730
mov ecx, dword [ebp - 0x1304]
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x414ed7
mov edx, dword [ebp - 0x1318]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414ecd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415399
push ecx
push edx
call fcn.004cd29e
add esp, 8
push str.SoftwareSNBK
push reloc.WS2_32.dll_accept
call fcn.00402300
add esp, 8
test al, al
jne 0x414f06
push 0x20006
push str.SoftwareSNBK
push 0
push reloc.WS2_32.dll_accept
call fcn.004022a0
add esp, 0x10
cmp dword [ebp - 0x224], 0x10
lea edx, [ebp - 0x238]
xorps xmm0, xmm0
mov dword [ebp - 0x1308], 0
cmovae edx, dword [ebp - 0x238]
mov ecx, edx
mov dword [ebp - 0x1304], 0
movups xmmword [ebp - 0x1318], xmm0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414f40
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x1318]
call fcn.00404480
push 2
lea eax, [ebp - 0x1318]
mov byte [ebp - 4], 8
push eax
push 0x503364
push str.SoftwareSNBK
push reloc.WS2_32.dll_accept
call fcn.00402240
mov ecx, dword [ebp - 0x1304]
add esp, 0x14
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x414fb8
mov edx, dword [ebp - 0x1318]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414fae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41539e
push ecx
push edx
call fcn.004cd29e
add esp, 8
mov ecx, dword [ebp - 0x254]
mov byte [ebp - 4], 3
cmp ecx, 0x10
jb 0x414ff6
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414fec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4153a3
push ecx
push edx
call fcn.004cd29e
add esp, 8
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
mov byte [ebp - 4], 2
cmp ecx, 0x10
jb 0x41504f
mov edx, dword [ebp - 0x250]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x415045
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4153a3
push ecx
push edx
call fcn.004cd29e
add esp, 8
lea ecx, [ebp - 0x7d0]
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0xf
mov byte [ebp - 0x250], 0
mov byte [ebp - 4], 1
call fcn.00415740
mov eax, dword [0x55646c]
test eax, eax
jne 0x4150c3
push 0x200
call fcn.004cd26e
mov esi, eax
add esp, 4
mov dword [ebp - 0x21c], esi
mov byte [ebp - 4], 9
test esi, esi
je 0x4150b8
push 0x200
push 0
push esi
call fcn.004cf400
add esp, 0xc
mov ecx, esi
call fcn.0040c630
jmp 0x4150ba
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x55646c], eax
mov ecx, eax
call fcn.0040d520
test al, al
je 0x41532b
call fcn.0040b240
mov ecx, eax
call fcn.0040d1c0
test al, al
jne 0x41532b
call fcn.0040b240
mov ecx, eax
call fcn.0040d4b0
test al, al
jne 0x41532b
push 1
call fcn.0040b240
mov ecx, eax
call fcn.0040d960
mov eax, dword [edi + 0x6c0]
lea ecx, [edi + 0x6c0]
push 0x5271ee
push 0x7eb
call dword [eax]
push 0x568
lea eax, [ebp - 0xd60]
push 0
push eax
call fcn.004cf400
add esp, 0xc
lea eax, [ebp - 0x220]
lea ecx, [ebp - 0xd60]
push eax
call fcn.004155e0
push 0
push 0
push 0
push 0
push 0
push 0x100
push 0x10ce0000
push 0x501e3c
mov byte [ebp - 4], 0xa
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0xd60]
call dword [0x5273d0]
lea ecx, [ebp - 0xd60]
call dword [0x5273d8]
push 2
lea ecx, [ebp - 0xd60]
call fcn.00416960
push 0x503368
lea ecx, [ebp - 0xd60]
call fcn.004170c0
push str.FFFF6600
lea ecx, [ebp - 0xd60]
call fcn.00417230
push 0x503380
lea ecx, [ebp - 0xd60]
call fcn.00416dc0
push str.FFFF6600
lea ecx, [ebp - 0xd60]
call fcn.00416f30
lea ecx, [ebp - 0xd60]
call dword [0x5273d4]
mov eax, dword [ebp - 0x220]
cmp eax, 2
je 0x4151f6
cmp eax, 3
je 0x4151f6
cmp eax, 4
jne 0x41531e
mov esi, 1
cmp eax, 2
jne 0x415204
xor esi, esi
jmp 0x41520f
cmp eax, 4
mov ecx, 2
cmove esi, ecx
push 0x59c
lea eax, [ebp - 0x12fc]
push 0
push eax
call fcn.004cf400
add esp, 0xc
lea eax, [ebp - 0x21c]
lea ecx, [ebp - 0x12fc]
push esi
push eax
call fcn.0040f770
push 0
push 0
push 0
push 0
push 0
push 0x100
push 0x10ce0000
push 0x501e3c
mov byte [ebp - 4], 0xb
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov esi, dword [sym.RedAlert.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____wchar_t_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU____]
lea ecx, [ebp - 0x12fc]
push eax
call esi
lea ecx, [ebp - 0x12fc]
call dword [0x5273d8]
lea ecx, [ebp - 0x12fc]
call dword [0x5273d4]
mov eax, dword [edi + 0x6c0]
lea ecx, [edi + 0x6c0]
push 0x5271ee
push 0x7eb
call dword [eax]
cmp dword [ebp - 0x21c], 0
jne 0x415313
push 0x590
lea eax, [ebp - 0x7f8]
push 0
push eax
call fcn.004cf400
add esp, 0xc
lea ecx, [ebp - 0x7f8]
call fcn.00407700
push 0
push 0
push 0
push 0
push 0
push 0x100
push 0x10ce0000
push 0x501e3c
mov byte [ebp - 4], 0xc
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x7f8]
call esi
lea ecx, [ebp - 0x7f8]
call dword [0x5273d8]
lea ecx, [ebp - 0x7f8]
call dword [0x5273d4]
lea ecx, [ebp - 0x7f8]
call fcn.00407900
lea ecx, [ebp - 0x12fc]
call fcn.0040f920
lea ecx, [ebp - 0xd60]
call fcn.00415740
jmp 0x415343
mov eax, dword [edi + 0x6c0]
lea ecx, [edi + 0x6c0]
push 0x5271ee
push 0x7ea
call dword [eax]
mov ecx, dword [ebp - 0x224]
cmp ecx, 0x10
jb 0x415379
mov edx, dword [ebp - 0x238]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41536f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4153a8
push ecx
push edx
call fcn.004cd29e
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004cd2ac
mov esp, ebp
pop ebp
ret
call fcn.004d2fbf
call fcn.004d2fbf
call fcn.004d2fbf
call fcn.004d2fbf
call fcn.004d2fbf
int3