Function at 0x43aa40
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44768c
mov eax, dword fs:[0]
push eax
sub esp, 0x12c
mov eax, dword [0x56211c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x11c], esi
call sub.mfc120.dll_Ordinal_2199
lea ecx, [ebp - 0x118]
mov ebx, dword [eax + 4]
call dword [sym.imp.mfc120.dll_Ordinal_316]
lea ecx, [ebp - 0x114]
mov dword [ebp - 4], 0
call dword [sym.imp.mfc120.dll_Ordinal_316]
push 0x74
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc120.dll_Ordinal_8308]
push 0x70
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x124], 0x10
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
lea ecx, [ebp - 0x124]
push ecx
lea ecx, [ebp - 0x120]
push ecx
push dword [ebp - 0x114]
mov ecx, ebx
push dword [ebp - 0x118]
call dword [eax + 0x94]
test eax, eax
je 0x43ab0f
push dword [ebp - 0x120]
lea eax, [esi + 0x14]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
push dword [ebp - 0x120]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x43ab69
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call esi
sub eax, 0x294
cdq
sub eax, edx
mov edi, eax
push 1
sar edi, 1
call esi
mov esi, dword [ebp - 0x11c]
lea ecx, [edi + 0x294]
sub eax, 0x168
mov dword [ebp - 0x138], edi
cdq
sub eax, edx
mov dword [ebp - 0x130], ecx
sar eax, 1
mov dword [ebp - 0x134], eax
add eax, 0x168
mov dword [ebp - 0x12c], eax
movdqu xmm0, xmmword [ebp - 0x138]
movdqu xmmword [esi + 0x14], xmm0
push 0x72
lea ecx, [ebp - 0x114]
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
lea ecx, [ebp - 0x11c]
push str.COM1
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push ecx
mov ecx, ebx
call dword [eax + 0x8c]
push eax
lea ecx, [esi + 0x24]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc120.dll_Ordinal_1521]
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc120.dll_Ordinal_1041]
push 0xfc
lea ecx, [ebp - 0x114]
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 0
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
test eax, eax
lea ecx, [ebp - 0x114]
push 0x116
setne al
mov byte [esi + 0x28], al
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
test eax, eax
lea ecx, [ebp - 0x114]
push 0x117
setne al
mov byte [esi + 0x29], al
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
test eax, eax
lea ecx, [ebp - 0x114]
push 0xfe
setne al
mov byte [esi + 0x2a], al
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
test eax, eax
lea ecx, [ebp - 0x114]
push 0xff
setne al
mov byte [esi + 0x2c], al
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
test eax, eax
lea ecx, [ebp - 0x114]
push 0x100
setne al
mov byte [esi + 0x2d], al
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 0
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
test eax, eax
lea ecx, [ebp - 0x114]
push 0x101
setne al
mov byte [esi + 0x2e], al
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
lea ecx, [ebp - 0x11c]
push 0x44e790
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push ecx
mov ecx, ebx
call dword [eax + 0x8c]
push eax
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 3
call dword [sym.imp.mfc120.dll_Ordinal_1521]
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc120.dll_Ordinal_1041]
push 0x102
lea ecx, [ebp - 0x114]
call dword [sym.imp.mfc120.dll_Ordinal_8308]
push 0x44e790
lea eax, [ebp - 0x110]
push 0x100
push eax
call dword [sym.imp.MSVCR120.dll_strcpy_s]
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov eax, dword [ebx]
lea ecx, [ebp - 0x110]
push ecx
push dword [ebp - 0x114]
lea ecx, [ebp - 0x128]
push dword [ebp - 0x118]
push ecx
mov ecx, ebx
call dword [eax + 0x8c]
push eax
lea ecx, [esi + 0x34]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc120.dll_Ordinal_1521]
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc120.dll_Ordinal_1041]
push 0x103
lea ecx, [ebp - 0x114]
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
test eax, eax
lea ecx, [ebp - 0x114]
push 0x106
setne al
mov byte [esi + 0x38], al
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 0
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
test eax, eax
setne al
lea ecx, [ebp - 0x114]
push 0x104
mov byte [esi + 0x39], al
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 0
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
test eax, eax
lea ecx, [ebp - 0x114]
push 0x111
setne al
mov byte [esi + 0x3a], al
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
test eax, eax
lea ecx, [ebp - 0x114]
push 0x10d
setne al
mov byte [esi + 0x3b], al
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 0xa0
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
push 0x113
lea ecx, [ebp - 0x114]
mov dword [esi + 0x3c], eax
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
push 0x114
lea ecx, [ebp - 0x114]
mov dword [esi + 0x40], eax
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
push 0x8004
lea ecx, [ebp - 0x114]
mov dword [esi + 0x44], eax
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 0x13
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
push 0x115
lea ecx, [ebp - 0x114]
mov dword [esi + 0x48], eax
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 2
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
mov ecx, 2
cmp eax, ecx
push 0x118
cmovbe ecx, eax
mov dword [esi + 0x4c], ecx
lea ecx, [ebp - 0x114]
call dword [sym.imp.mfc120.dll_Ordinal_8308]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call dword [eax + 0x84]
mov ecx, 1
cmp eax, ecx
cmovbe ecx, eax
mov dword [esi + 0x50], ecx
lea ecx, [ebp - 0x114]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
lea ecx, [ebp - 0x118]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043babe
mov esp, ebp
pop ebp
ret