Function at 0x4316d0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x830
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
imul esi, ecx, 0x2238
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [ebp - 0x82c], eax
mov eax, dword [0x486824]
mov dword [ebp - 0x830], ecx
mov dword [ebp - 0x828], esi
cmp dword [esi + eax + 0x14], 0
ja 0x431738
cmp dword [esi + eax + 0x10], 0
ja 0x431738
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00436f02
mov esp, ebp
pop ebp
ret
push ebx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov ecx, ebx
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x431750
sub ecx, edx
sar ecx, 1
push edi
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x431783
lea edi, [ebx - 2]
jmp 0x431770
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x431770
mov eax, dword [0x450010]
mov dword [edi], eax
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x61c]
push eax
mov eax, dword [0x486824]
add eax, 0x1c
add eax, esi
push eax
call fcn.0043a3d2
lea edx, [ebp - 0x20c]
add esp, 0x14
mov esi, edx
lea ebx, [ebx]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4317c0
sub edx, esi
lea edi, [ebx - 2]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4317d0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x414]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4317f2
sub edx, esi
lea edi, [ebx - 2]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x431802
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [0x486824]
mov esi, dword [ebp - 0x828]
pop edi
mov eax, dword [edx + esi]
cmp eax, 0x1a
je 0x431896
cmp eax, 0x22
je 0x431896
cmp eax, 0x78
je 0x431896
cmp eax, 0x33
je 0x431896
cmp eax, 0xa
je 0x431896
cmp eax, 0x32
je 0x431896
cmp eax, 0x59
je 0x431896
cmp eax, 0x1f
je 0x431896
mov ecx, dword [ebp - 0x82c]
mov eax, dword [edx + esi + 8]
mov dword [ecx], eax
mov eax, dword [edx + esi + 0xc]
mov dword [ecx + 4], eax
mov eax, dword [0x486824]
mov edx, dword [esi + eax + 0x10]
add edx, dword [ecx]
mov eax, dword [esi + eax + 0x14]
adc eax, dword [ecx + 4]
test eax, eax
ja 0x431887
jb 0x4318ba
cmp edx, 0x7fffffff
jb 0x4318ba
mov dword [ecx], 0
mov dword [ecx + 4], 0
jmp 0x4318ed
push dword [0x4853b8]
mov esi, dword [sym.imp.USER32.dll_IsWindow]
call esi
test eax, eax
je 0x4318cf
push 0x486a20
push ebx
call fcn.0043a01b
add esp, 8
test eax, eax
jne 0x4318cf
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00436f02
mov esp, ebp
pop ebp
ret
push dword [0x4853b4]
call esi
test eax, eax
je 0x4318ed
push 0x486e40
push ebx
call fcn.0043a01b
add esp, 8
test eax, eax
je 0x4318ba
push ebx
call fcn.0043a305
push ebx
push dword [ebp - 0x830]
call fcn.004308e0
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
pop esi
pop ebx
call fcn.00436f02
mov esp, ebp
pop ebp
ret