Function at 0x4037d0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov eax, dword [0x4110a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 4
lea edx, [ebp - 0x110]
push 0x411f24
xor ebx, ebx
push edx
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x110], ebx
call fcn.00404670
mov eax, dword [ebp + 0xc]
add esp, 0xc
mov byte [ebp - 0x110], bl
mov ecx, str.01:
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403841
cmp dl, bl
je 0x40383d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403841
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x403821
xor eax, eax
jmp 0x403846
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x403949
push ebx
call fcn.00401360
add esp, 4
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x403860
lea edi, [ebp - 0x110]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x403870
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, 0x411f25
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
nop
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x403890
lea edi, [ebp - 0x110]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x4038a2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x114]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00403cd0
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4038c5
lea edi, [ebp - 0x110]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x4038d7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x412124
rep movsb byte es:[edi], byte [esi]
call fcn.00401900
add esp, 4
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x403900
lea edi, [ebp - 0x110]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x403912
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp + 0x10]
and ecx, 3
push eax
mov eax, dword [ebp - 0x114]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x118]
push ecx
lea edx, [ebp - 0x110]
push edx
push eax
call fcn.00403d80
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov ecx, 0x410100
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403971
cmp dl, bl
je 0x40396d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403971
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x403951
xor eax, eax
jmp 0x403976
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x403a77
push 4
push 0x411f24
push 0x426498
mov dword [0x426498], ebx
call fcn.00404670
add esp, 0xc
push 0x426498
push 0x104
mov byte [0x426498], bl
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov eax, 0x426498
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4039b5
lea edi, [ebp - 0x110]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x4039c7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x114]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00403cd0
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4039f0
lea edi, [ebp - 0x110]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x403a02
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x412124
rep movsb byte es:[edi], byte [esi]
call fcn.00401900
add esp, 4
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x403a27
lea edi, [ebp - 0x110]
sub eax, ecx
mov esi, ecx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x403a40
mov edx, dword [ebp - 0x118]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x114]
push edx
lea eax, [ebp - 0x110]
push eax
push ecx
call fcn.00403d80
add esp, 0x10
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00404660
mov esp, ebp
pop ebp
ret