Function at 0x859370
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x3554]
mov eax, 0x3554
call fcn.00a91950
push 0xffffffffffffffff
push 0xa9bbd8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0xb196ec]
xor eax, ebp
mov dword [ebp + 0x3550], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, dword [ebp + 0x3560]
mov eax, dword [ebp + 0x355c]
xor edi, edi
push 0x820
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x20], eax
lea ecx, [ebp + 0x8de]
xor eax, eax
push edi
mov dword [ebp - 4], edi
push ecx
mov dword [ebp - 0x1c], edx
mov word [ebp + 0x8dc], ax
call fcn.00a7ffb0
add esp, 0xc
lea esi, [ebp]
call fcn.00854090
push 0xfff
lea edx, [ebp + 0x1101]
push edi
mov byte [ebp - 4], 1
push edx
mov byte [ebp + 0x1100], 0
call fcn.00a7ffb0
push 0x7ff
lea eax, [ebp + 0x2101]
push edi
push eax
mov byte [ebp + 0x2100], 0
call fcn.00a7ffb0
push 0x3f
lea ecx, [ebp + 0x3511]
push edi
push ecx
mov byte [ebp + 0x3510], 0
call fcn.00a7ffb0
push 0x3ff
lea edx, [ebp + 0x2d01]
push edi
push edx
mov byte [ebp + 0x2d00], 0
call fcn.00a7ffb0
push 0x3ff
lea eax, [ebp + 0x2901]
push edi
push eax
mov byte [ebp + 0x2900], 0
call fcn.00a7ffb0
mov dword [ebp - 0x18], edi
mov ecx, 7
mov esi, str.http:__fps.escanav.com_ecsn_
lea edi, [ebp + 0x340c]
rep movsd dword es:[edi], dword [esi]
push 0xe7
lea ecx, [ebp + 0x3429]
push 0
push ecx
movsb byte es:[edi], byte [esi]
call fcn.00a7ffb0
add esp, 0x48
test ebx, ebx
je 0x8594ba
cmp byte [ebx], 0
je 0x8594ba
mov ecx, ebx
lea edx, [ebp + 0x3510]
jmp 0x8594b0
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x8594b0
cmp byte [ebp + 0x3510], 0
mov esi, dword [ebp - 0x20]
jne 0x85951a
push 0
push 0
lea edx, [ebp + 0x3510]
push edx
xor ecx, ecx
mov edx, esi
call 0x98eaf0
test eax, eax
jne 0x859511
lea ecx, [ebp]
mov byte [ebp - 4], 0
call fcn.00854180
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x3550]
xor ecx, ebp
call fcn.00a78f21
add ebp, 0x3554
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0x3510], 0
je 0x8594de
push 0x103
lea eax, [ebp + 0x3309]
push 0
push eax
mov byte [ebp + 0x3308], 0
call fcn.00a7ffb0
push 0x207
lea ecx, [ebp + 0x3101]
push 0
push ecx
mov byte [ebp + 0x3100], 0
call fcn.00a7ffb0
mov ecx, dword [ebp + 0x3564]
add esp, 0x18
test ecx, ecx
je 0x859572
cmp byte [ecx], 0
je 0x859572
lea edx, [ebp + 0x2100]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x859566
jmp 0x85958a
mov ecx, esi
lea edx, [ebp + 0x2100]
lea ebx, [ebx]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x859580
xor ecx, ecx
lea esp, [esp]
mov al, byte [ebp + ecx + 0x2100]
test al, al
je 0x8595aa
cmp al, 0x5c
jne 0x8595a7
mov byte [ebp + ecx + 0x2100], 0x23
inc ecx
jmp 0x859590
push 0xaaa8fc
lea edx, [ebp + 0x2100]
push 0xaaa900
push edx
call fcn.0095e130
add esp, 0xc
lea eax, [ebp + 0x3100]
push eax
push 0x208
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x8595eb
push 0xaaa51c
lea ecx, [ebp + 0x3100]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp + 0x1100]
push edx
push 0
push 0xaaa904
lea eax, [ebp + 0x3100]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
lea eax, [ebp + 0x1100]
call fcn.0094dd20
lea ecx, [ebp + 0x1100]
push 0x2e
push ecx
call fcn.00a7aa50
add esp, 8
test eax, eax
jne 0x85962f
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x859627
mov edx, dword [str..ZIP]
mov dword [eax], edx
mov cl, byte [0xaaa90c]
mov byte [eax + 4], cl
lea edx, [ebp + 0x3308]
push edx
lea eax, [ebp + 0x2100]
push eax
lea ecx, [ebp + 0x1100]
push ecx
call fcn.009753c0
test eax, eax
je 0x85967b
push 0
push 0
xor edx, edx
lea ecx, [ebp + 0x1100]
call fcn.0095a0f0
add esp, 8
test eax, eax
jne 0x85967b
lea ebx, [eax + 1]
jmp 0x859690
mov ecx, esi
lea edx, [ebp + 0x1100]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x859683
mov ebx, dword [ebp - 0x18]
lea edx, [ebp + 0x2900]
push edx
lea ecx, [ebp + 0x1100]
call fcn.0095af90
lea eax, [ebp + 0x2900]
push 0x2e
push eax
call fcn.00a7aa50
add esp, 0xc
test eax, eax
je 0x8596e3
cmp byte [eax + 1], 0
je 0x8596e3
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
push eax
push ecx
push edx
lea eax, [ebp + 0x3510]
push eax
lea ecx, [ebp + 0x2d00]
push str._s__s__s_s
push ecx
call fcn.00a78f30
add esp, 0x18
jmp 0x859706
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
push edx
push eax
lea ecx, [ebp + 0x3510]
push ecx
lea edx, [ebp + 0x2d00]
push str._s__s__s.UNK
push edx
call fcn.00a78f30
add esp, 0x14
push 0
push 0x857800
lea eax, [ebp]
push eax
call fcn.008543f0
push 1
push 0
lea edx, [ebp - 0x14]
lea ecx, [ebp + 0x1100]
mov esi, 0x31
mov dword [ebp - 0x14], 0
call fcn.0095a0f0
add esp, 8
test eax, eax
jne 0x859756
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x19000
jbe 0x859756
mov eax, 0xcccccccd
mul ecx
shr edx, 0xe
cmp edx, esi
jb 0x859756
mov esi, edx
imul esi, esi, 0x3e8
push esi
push 0
push esi
push 0
xor ecx, ecx
lea edi, [ebp]
call fcn.00857360
push 0x410
lea ecx, [ebp + 0x8dc]
push ecx
push 0xffffffffffffffff
lea edx, [ebp + 0x340c]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x8597ec
push 0
push str.PostFileToEscanServerEx
push 0
push 0
push 0
push 0
push 0
push esi
lea eax, [ebp + 0x8dc]
push eax
mov ecx, edi
push ecx
lea edx, [ebp + 0x2d00]
lea ecx, [ebp + 0x1100]
call fcn.008549c0
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea edx, [ebp - 0x18]
push edx
call fcn.00985290
mov eax, edi
push eax
call fcn.00854330
add esp, 4
test ebx, ebx
je 0x8597fb
lea eax, [ebp + 0x1100]
call fcn.0094dd20
lea ecx, [ebp]
mov byte [ebp - 4], 0
call fcn.00854180
mov eax, 1
jmp 0x8594ec