Function at 0x495cf6
Capabilities:
Get common file path
Move file

Disassembly:
push 0x1a0
mov eax, 0x530108
call fcn.00527202
mov dword [ebp - 0x1a4], edx
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x1a8], 0x973
mov dword [ebp - 4], ebx
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], bl
mov ecx, ebx
mov esi, 0x40aa50
test ecx, ecx
je 0x495d94
mov edx, dword [esi]
mov eax, ecx
mov bl, byte [eax]
cmp bl, byte [edx]
push 0
mov byte [ebp - 0x19d], bl
pop ebx
jne 0x495d7b
cmp byte [ebp - 0x19d], bl
je 0x495d77
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
push 0
mov byte [ebp - 0x19d], bl
pop ebx
jne 0x495d7b
add eax, 2
add edx, 2
cmp byte [ebp - 0x19d], bl
jne 0x495d41
mov eax, ebx
jmp 0x495d80
sbb eax, eax
or eax, 1
test eax, eax
js 0x495d94
push dword [esi]
push ecx
push 0x43ae94
call fcn.00462b16
add esp, 0xc
mov ecx, dword [esi]
add esi, 0xc
cmp esi, 0x40b968
jne 0x495d39
push 0x150
call fcn.00462bbf
mov esi, eax
pop ecx
mov dword [ebp - 0x1ac], esi
mov byte [ebp - 4], 2
test esi, esi
je 0x495dcb
mov ecx, esi
call fcn.004c697f
mov dword [esi + 0x14c], ebx
jmp 0x495dcd
mov esi, ebx
xor eax, eax
mov dword [0x54fca0], esi
push 0xc
mov word [esi + 0x50], ax
call fcn.00462bbf
pop ecx
mov dword [ebp - 0x1ac], eax
push 3
pop ecx
mov byte [ebp - 4], cl
test eax, eax
je 0x495dfe
push 5
push 0xa
mov ecx, eax
call fcn.004c8b36
jmp 0x495e00
mov eax, ebx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x1a4]
mov dword [esi + 0x14c], eax
add edx, 4
push eax
lea eax, [edi - 1]
movsx ecx, ax
call fcn.00499638
mov byte [esi + 0x30], al
lea edi, [esi + 0x9c]
cmp byte [edi], 0
mov eax, dword [esi + 0x14c]
movzx eax, word [eax]
mov word [esi + 0x52], ax
jne 0x495e52
push 0xe5
push ebx
push 0xa
push 0x43d46c
push 0x20
push edi
call fcn.00462def
add esp, 0x18
cmp byte [esi + 0x7c], 0
jne 0x495e7e
lea eax, [ebp - 0x1a4]
push eax
call fcn.0050bc6b
lea eax, [ebp - 0x1a4]
push eax
call fcn.0050bcc4
pop ecx
pop ecx
push eax
push 0x20
pop edx
lea ecx, [esi + 0x7c]
call fcn.00462d04
cmp byte [esi + 0x30], 0
je 0x495eb9
push 2
call fcn.00503fb8
push edi
push 0x43c9c0
push eax
call fcn.0047fdf1
push 2
call fcn.00503fb8
push 0x43c9fc
push eax
call fcn.0047fdf1
push 2
call fcn.00503fb8
push eax
call fcn.0050437d
add esp, 0x24
mov ecx, esi
call fcn.004968bb
mov edi, eax
mov dword [ebp - 0x1a8], edi
test edi, edi
jne 0x496367
cmp byte [0x550738], al
jne 0x496367
push 0x7b
mov ecx, esi
call fcn.004678e1
test eax, eax
je 0x495f1d
movzx eax, word [esi + 0x32]
push 3
pop ecx
cmp ax, cx
jne 0x495f1d
push 0x43cab4
push 0x402
xor edx, edx
xor ecx, ecx
call fcn.004c885f
lea ecx, [ebp - 0x148]
call fcn.0047c9d0
mov eax, 0x400
jmp 0x4963c0
push 0x7e
mov ecx, esi
call fcn.004678e1
test eax, eax
je 0x495f54
push 0x74
mov ecx, esi
call fcn.004678e1
test eax, eax
jne 0x495f54
push 0x43cadc
push 0x402
xor edx, edx
xor ecx, ecx
call fcn.004c885f
mov ebx, 0x400
jmp 0x496185
push 0x37
mov ecx, esi
call fcn.004678e1
test eax, eax
je 0x495f6b
call fcn.00499143
jmp 0x496367
push 0x14
call fcn.00462bbf
mov dword [ebp - 0x1ac], eax
pop ecx
test eax, eax
je 0x495f87
push ecx
mov ecx, eax
call fcn.00496446
jmp 0x495f89
mov eax, ebx
mov dword [0x54fca8], eax
lea eax, [ebp - 0x148]
push eax
call fcn.004964ab
mov edi, eax
mov dword [ebp - 0x1a8], edi
test edi, edi
jne 0x495fba
cmp byte [0x550738], al
je 0x495fba
push ebx
mov edi, 0x400
push edi
jmp 0x49635e
push 0x74
mov ecx, esi
call fcn.004678e1
test eax, eax
jne 0x4961ef
test edi, edi
jne 0x4961ef
cmp byte [0x550738], al
jne 0x4961ef
mov ecx, dword [0x54fca8]
cmp byte [ecx + 0xe], al
je 0x495ff3
cmp byte [ecx + 0x10], al
je 0x4961ef
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x11c], 0xf
mov byte [ebp - 0x130], bl
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 4
call fcn.004c9118
push eax
lea ecx, [ebp - 0x130]
call fcn.0047c9f5
lea ecx, [ebp - 0x160]
call fcn.0047c9d0
mov edx, dword [ebp - 0x120]
test edx, edx
jne 0x496052
push 0x42124e
mov ebx, 0x3f8
xor edx, edx
push ebx
xor ecx, ecx
call fcn.004c885f
jmp 0x49617a
push 0x10
pop edi
lea ecx, [ebp - 0x130]
cmp dword [ebp - 0x11c], edi
jb 0x496069
mov ecx, dword [ebp - 0x130]
push 4
push 0x43caf8
push ebx
call fcn.00491ae8
test eax, eax
jne 0x49609d
lea eax, [ebp - 0x130]
cmp dword [ebp - 0x11c], edi
jb 0x49608e
mov eax, dword [ebp - 0x130]
push eax
push 0x401
xor edx, edx
xor ecx, ecx
call fcn.004c885f
lea eax, [ebp - 0x130]
cmp dword [ebp - 0x11c], edi
jb 0x4960b1
mov eax, dword [ebp - 0x130]
lea ecx, [ebp - 0x118]
push ecx
push ebx
push 0x43cb00
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
test eax, eax
jne 0x4960e3
lea eax, [ebp - 0x130]
cmp dword [ebp - 0x11c], edi
jb 0x4960dd
mov eax, dword [ebp - 0x130]
push eax
jmp 0x49603e
lea eax, [ebp - 0x148]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x134], edi
jb 0x496103
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x1a4], eax
push ecx
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x19c]
call fcn.004c81f3
mov byte [ebp - 4], 5
lea eax, [ebp - 0x19c]
push dword [ebp - 0x1a4]
mov ecx, esi
push eax
call fcn.00496bfc
push ebx
call fcn.0050437d
pop ecx
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 4
call fcn.004c81d0
push 0x28
mov ecx, esi
call fcn.004678e1
test eax, eax
je 0x496197
lea eax, [ebp - 0x130]
cmp dword [ebp - 0x11c], edi
jb 0x496165
mov eax, dword [ebp - 0x130]
lea ecx, [ebp - 0x118]
push ecx
push eax
push 0x43cb04
call fcn.00462b16
add esp, 0xc
lea ecx, [ebp - 0x130]
call fcn.0047c9d0
lea ecx, [ebp - 0x148]
call fcn.0047c9d0
mov eax, ebx
jmp 0x4963c0
mov eax, dword [esi + 0x138]
lea edx, [ebp - 0x118]
mov ecx, dword [eax]
call fcn.004999e4
mov edi, eax
mov dword [ebp - 0x1a8], edi
cmp edi, 0x95f
je 0x4961e0
cmp edi, 0x973
je 0x4961e0
mov ecx, dword [0x54fca0]
push 0x35
call fcn.004678e1
test eax, eax
jne 0x4961e0
lea eax, [ebp - 0x118]
push eax
call fcn.0050a7d6
pop ecx
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 1
call fcn.0047c9d0
mov ecx, dword [0x54fca0]
push 0x35
call fcn.004678e1
test eax, eax
jne 0x496256
call fcn.004be06a
mov eax, dword [0x54fca8]
cmp byte [eax + 0xe], 0
je 0x496353
mov ecx, dword [0x54fca0]
push 0x75
call fcn.004678e1
test eax, eax
jne 0x496353
cmp dword [ebp - 0x138], eax
je 0x496353
cmp dword [ebp - 0x134], 0x10
lea eax, [ebp - 0x148]
jb 0x49624a
mov eax, dword [ebp - 0x148]
push eax
call fcn.0050a7d6
pop ecx
jmp 0x496353
test edi, edi
jne 0x496353
call fcn.004be12a
mov eax, dword [0x54fca8]
mov al, byte [eax + 0xe]
test al, al
je 0x496367
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x160]
call fcn.0047cafa
lea edx, [ebp - 0x160]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x130]
call fcn.004be0af
cmp dword [ebp - 0x11c], 0x10
lea eax, [ebp - 0x130]
jb 0x4962af
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x14c], 0x10
lea ecx, [ebp - 0x160]
jb 0x4962c4
mov ecx, dword [ebp - 0x160]
push eax
push ecx
call fcn.0050aa00
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x49633d
call fcn.0050ac65
cmp dword [eax], 0x11
jne 0x49632e
cmp dword [ebp - 0x11c], 0x10
lea eax, [ebp - 0x130]
jb 0x4962f2
mov eax, dword [ebp - 0x130]
push eax
call fcn.0050a7d6
cmp dword [ebp - 0x11c], 0x10
pop ecx
lea ecx, [ebp - 0x130]
jb 0x49630e
mov ecx, dword [ebp - 0x130]
cmp dword [ebp - 0x14c], 0x10
lea eax, [ebp - 0x160]
jb 0x496323
mov eax, dword [ebp - 0x160]
push ecx
push eax
call fcn.0050aa00
pop ecx
pop ecx
mov esi, eax
test esi, esi
je 0x49633d
push 0x43cb18
call fcn.0050928c
pop ecx
lea ecx, [ebp - 0x130]
call fcn.0047c9d0
lea ecx, [ebp - 0x160]
call fcn.0047c9d0
mov eax, 0x95e
cmp edi, eax
jne 0x496367
push ebx
push eax
xor edx, edx
xor ecx, ecx
call fcn.004c885f
lea ecx, [ebp - 0x148]
call fcn.0047c9d0
jmp 0x4963be
mov eax, edi
call fcn.0052714f
ret