Function at 0x401435
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x12254
call fcn.00402040
push edi
lea ecx, [ebp - 0x20c]
call fcn.00401ad0
mov byte [ebp - 0x12094], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x12093]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x12094]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea ecx, [ebp - 0x12094]
push ecx
lea ecx, [ebp - 0x20c]
call fcn.00401a90
mov edx, dword [0x40417c]
mov dword [ebp - 0x12194], edx
mov eax, dword [0x404180]
mov dword [ebp - 0x12190], eax
mov ecx, dword [0x404184]
mov dword [ebp - 0x1218c], ecx
mov dl, byte [0x404188]
mov byte [ebp - 0x12188], dl
mov ecx, 0x3c
xor eax, eax
lea edi, [ebp - 0x12187]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea ecx, [ebp - 0x20c]
call fcn.00401b60
cmp eax, 1
jne 0x401501
push 0x100
lea eax, [ebp - 0x12194]
push eax
lea ecx, [ebp - 0x20c]
call fcn.00401c10
push eax
lea ecx, [ebp - 0x12194]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov byte [ebp - 0x11f8c], 0
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x11f8b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edx, [ebp - 0x12194]
push edx
lea eax, [ebp - 0x12094]
push eax
push str._s_s
push 0xff
lea ecx, [ebp - 0x11f8c]
push ecx
call dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x14
push 0x11c80
push 0
lea edx, [ebp - 0x11e8c]
push edx
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [ebp - 0x11f90], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x12198], 0
lea eax, [ebp - 0x11f8c]
push eax
call fcn.00401940
add esp, 4
mov dword [ebp - 0x12198], eax
cmp dword [ebp - 0x12198], 0
je 0x401923
mov ecx, dword [ebp - 0x12198]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x12198]
call dword [edx + 4]
mov dword [ebp - 0x11f90], eax
cmp dword [ebp - 0x11f90], 0
jne 0x4015bf
mov eax, 1
jmp 0x40192d
mov dword [ebp - 0x12240], 0
cmp dword [ebp - 0x11f90], 0
je 0x4015fc
lea eax, [ebp - 0x12240]
push eax
push 1
mov ecx, dword [ebp - 0x12198]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x12198]
call dword [edx + 0x24]
test eax, eax
je 0x4015fc
mov dword [ebp - 0x12244], 1
jmp 0x401606
mov dword [ebp - 0x12244], 0
mov eax, dword [ebp - 0x12244]
mov dword [ebp - 0x11f90], eax
cmp dword [ebp - 0x11f90], 0
jne 0x401625
mov eax, 2
jmp 0x40192d
mov dword [ebp - 0x121b8], 0
cmp dword [ebp - 0x11f90], 0
je 0x401662
lea ecx, [ebp - 0x121b8]
push ecx
push 2
mov edx, dword [ebp - 0x12198]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x12198]
call dword [eax + 0x24]
test eax, eax
je 0x401662
mov dword [ebp - 0x12248], 1
jmp 0x40166c
mov dword [ebp - 0x12248], 0
mov ecx, dword [ebp - 0x12248]
mov dword [ebp - 0x11f90], ecx
cmp dword [ebp - 0x11f90], 0
jne 0x40168b
mov eax, 3
jmp 0x40192d
mov byte [ebp - 0x121b0], 0
mov dword [ebp - 0x121b4], 1
cmp dword [ebp - 0x11f90], 0
je 0x4016d6
lea edx, [ebp - 0x121b4]
push edx
lea eax, [ebp - 0x121b0]
push eax
push 3
mov ecx, dword [ebp - 0x12198]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x12198]
call dword [edx + 0x28]
test eax, eax
je 0x4016d6
mov dword [ebp - 0x1224c], 1
jmp 0x4016e0
mov dword [ebp - 0x1224c], 0
mov eax, dword [ebp - 0x1224c]
mov dword [ebp - 0x11f90], eax
cmp dword [ebp - 0x11f90], 0
jne 0x4016ff
mov eax, 4
jmp 0x40192d
mov byte [ebp - 0x1223c], 0
mov ecx, 0x1f
xor eax, eax
lea edi, [ebp - 0x1223b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x121b4], 0x80
cmp dword [ebp - 0x11f90], 0
je 0x40175c
lea ecx, [ebp - 0x121b4]
push ecx
lea edx, [ebp - 0x1223c]
push edx
push 4
mov eax, dword [ebp - 0x12198]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x12198]
call dword [edx + 0x28]
test eax, eax
je 0x40175c
mov dword [ebp - 0x12250], 1
jmp 0x401766
mov dword [ebp - 0x12250], 0
mov eax, dword [ebp - 0x12250]
mov dword [ebp - 0x11f90], eax
cmp dword [ebp - 0x11f90], 0
jne 0x401785
mov eax, 5
jmp 0x40192d
mov byte [ebp - 0x121ac], 0
xor ecx, ecx
mov dword [ebp - 0x121ab], ecx
mov dword [ebp - 0x121a7], ecx
mov dword [ebp - 0x121a3], ecx
mov word [ebp - 0x1219f], cx
mov byte [ebp - 0x1219d], cl
mov dword [ebp - 0x121b4], 0x10
cmp dword [ebp - 0x11f90], 0
je 0x4017f1
lea edx, [ebp - 0x121b4]
push edx
lea eax, [ebp - 0x121ac]
push eax
push 5
mov ecx, dword [ebp - 0x12198]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x12198]
call dword [edx + 0x28]
test eax, eax
je 0x4017f1
mov dword [ebp - 0x12254], 1
jmp 0x4017fb
mov dword [ebp - 0x12254], 0
mov eax, dword [ebp - 0x12254]
mov dword [ebp - 0x11f90], eax
cmp dword [ebp - 0x11f90], 0
jne 0x40181a
mov eax, 6
jmp 0x40192d
mov ecx, dword [ebp - 0x12240]
mov dword [ebp - 0x11e88], ecx
mov edx, dword [ebp - 0x121b8]
mov dword [ebp - 0x11e7c], edx
mov al, byte [ebp - 0x121b0]
mov byte [ebp - 0x11e4c], al
push 0x80
lea ecx, [ebp - 0x1223c]
push ecx
lea edx, [ebp - 0x11e4b]
push edx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
push 0x10
lea eax, [ebp - 0x121ac]
push eax
lea ecx, [ebp - 0x11e78]
push ecx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x12198]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x12198]
call dword [eax + 0x18]
lea ecx, [ebp - 0x12198]
push ecx
call fcn.00401a40
add esp, 4
push str.YXD_TCLS2.0_PROXY
push 0x11c84
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x1219c], eax
cmp dword [ebp - 0x1219c], 0xffffffff
je 0x4018c1
cmp dword [ebp - 0x1219c], 0
jne 0x4018c8
mov eax, 7
jmp 0x40192d
push 0x11c84
push 0
push 0
push 0xf001f
mov edx, dword [ebp - 0x1219c]
push edx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x121bc], eax
cmp dword [ebp - 0x121bc], 0
jne 0x401906
mov eax, dword [ebp - 0x1219c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 8
jmp 0x40192d
push 0x11c80
lea ecx, [ebp - 0x11e8c]
push ecx
mov edx, dword [ebp - 0x121bc]
push edx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
jmp 0x40192a
mov eax, 0x64
jmp 0x40192d
mov eax, dword [ebp - 4]
pop edi
mov esp, ebp
pop ebp
ret