Function at 0x401c67
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov dword [ebp - 4], 0
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
test esi, esi
je 0x401f35
mov al, byte [esi]
test al, al
je 0x401f35
cmp dword [ebp - 4], 0
jne 0x401f3b
cmp al, 0x2d
jne 0x401ef4
inc esi
cmp byte [esi], 0
je 0x401f24
xor ebx, ebx
cmp dword [ebp - 4], ebx
jne 0x401f24
cmp dword [0x40e56c], 1
jle 0x401ccf
movsx eax, byte [esi]
push 8
push eax
call fcn.0040a1e0
add esp, 8
jmp 0x401ce1
movsx edx, byte [esi]
mov ecx, dword [str.________________________________H]
xor eax, eax
mov ax, word [ecx + edx*2]
and eax, 8
test eax, eax
jne 0x401f24
movsx ecx, byte [esi]
mov dword [ebp - 0xc], ecx
lea eax, [ecx - 0x41]
cmp eax, 0x37
ja case.0x401cfe.66
movzx ecx, byte [eax + 0x401f88]
jmp dword [ecx*4 + 0x401f54]
mov dword [ebp - 4], 1
jmp 0x401eea
cmp dword [0x4109d8], 1
sbb eax, eax
neg eax
mov dword [0x4109d8], eax
jmp 0x401ee9
lea edi, [ebp - 0x110]
inc esi
mov dword [ebp - 8], ebx
cmp byte [esi], 0x22
jne 0x401d3d
mov dword [ebp - 8], 1
inc esi
cmp byte [esi], bl
je 0x401d8f
cmp dword [0x40e56c], 1
jle 0x401d5a
movsx eax, byte [esi]
push 8
push eax
call fcn.0040a1e0
add esp, 8
jmp 0x401d6c
movsx ecx, byte [esi]
mov edx, dword [str.________________________________H]
xor eax, eax
mov ax, word [edx + ecx*2]
and eax, 8
test eax, eax
je 0x401d76
cmp dword [ebp - 8], 0
je 0x401d8f
mov al, byte [esi]
cmp al, 0x22
jne 0x401d86
mov dword [ebp - 8], 0
inc esi
jmp 0x401d8a
inc esi
mov byte [edi], al
inc edi
cmp byte [esi], 0
jne 0x401d41
mov eax, dword [ebp - 0xc]
mov byte [edi], bl
cmp eax, 0x44
je 0x401db5
cmp eax, 0x45
je 0x401e8f
cmp eax, 0x64
je 0x401db5
cmp eax, 0x65
je 0x401e8f
jmp 0x401eea
cmp byte [ebp - 0x110], 0x24
jne 0x401e7b
movsx eax, byte [ebp - 0x10f]
cmp eax, 0x50
jg 0x401dd7
je 0x401e11
cmp eax, 0x43
je 0x401dfe
jmp 0x401df5
cmp eax, 0x53
je 0x401e20
cmp eax, 0x54
je 0x401e35
cmp eax, 0x63
je 0x401dfe
cmp eax, 0x70
je 0x401e11
cmp eax, 0x73
je 0x401e20
cmp eax, 0x74
je 0x401e35
mov dword [ebp - 4], 1
jmp 0x401e67
push 0x4108d0
mov edi, 0x411040
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x401e46
push 0x411040
call fcn.00402512
add esp, 4
jmp 0x401e67
push 0x411040
call fcn.00402512
add esp, 4
mov byte [0x411042], bl
jmp 0x401e67
mov edi, 0x411040
push edi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push edi
call fcn.00409ff0
add esp, 4
cmp byte [eax + 0x41103f], 0x5c
jne 0x401e67
push edi
call fcn.00409ff0
add esp, 4
mov byte [eax + 0x41103f], bl
lea eax, [ebp - 0x10e]
push eax
push 0x411040
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x401eea
lea eax, [ebp - 0x110]
push eax
push 0x411040
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x401eea
lea eax, [ebp - 0x110]
push eax
push 0x410c00
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x401eea
cmp dword [0x410798], 1
sbb eax, eax
neg eax
mov dword [0x410798], eax
jmp 0x401ee9
cmp dword [0x4107bc], 1
sbb eax, eax
neg eax
mov dword [0x4107bc], eax
jmp 0x401ee9
cmp dword [0x41057c], 1
sbb eax, eax
neg eax
mov dword [0x41057c], eax
jmp 0x401ee9
cmp dword [0x410688], 1
sbb eax, eax
neg eax
mov dword [0x410688], eax
inc esi
cmp byte [esi], bl
jne 0x401cad
jmp 0x401f24
cmp dword [0x40e56c], 1
jle 0x401f0d
movsx eax, al
push 8
push eax
call fcn.0040a1e0
add esp, 8
jmp 0x401f1f
movsx ecx, al
mov edx, dword [str.________________________________H]
xor eax, eax
mov ax, word [edx + ecx*2]
and eax, 8
test eax, eax
je 0x401f2e
inc esi
test esi, esi
jne 0x401c85
jmp 0x401f35
mov dword [ebp - 4], 1
cmp dword [ebp - 4], 0
je 0x401f48
push 0x20000006
call fcn.00402770
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret