Function at 0x100079c9
Capabilities:
Get common file path

Disassembly:
mov eax, 0x10058724
call fcn.10057e90
sub esp, 0xe8
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x3c], edi
je 0x10007a08
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x100081dd
push 0
push 0x6d4
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
jmp 0x100081dd
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x24], 0xffffffff
push 0xfffffffffffffffe
mov dword [ebp - 0x60], eax
pop eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 0x84abf0a6
mov dword [ebp - 0x1c], 0xe1c2a91
push 3
mov dword [ebp - 0x14], 3
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x24], 0x12
pop esi
cmp dword [ebp - 0x24], 0x10
jne 0x10007b56
mov dword [ebp - 0x14], 0x67fb
cmp dword [ebp - 0x14], 0x69b2
jle 0x10007b00
push ebx
push 0x11b
push ebx
push 0x91c
call dword [sym.imp.GDI32.dll_SetWinMetaFileBits]
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, edi
mov dword [ebp - 0x30], 0x6cf8
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0x4a8a
mov edi, ebx
mov ecx, edi
shl eax, cl
lea ecx, [ebp - 0xdc]
cdq
push edx
push eax
call fcn.10001331
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10007abb
mov eax, dword [eax]
push eax
call fcn.10040c20
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xdc]
call fcn.10001542
mov eax, dword [ebp - 0x18]
inc edi
cmp edi, 0x953
jl 0x10007a9f
dec eax
dec dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
jne 0x10007a9d
mov eax, dword [ebp - 0x64]
dec eax
dec dword [ebp - 0x30]
mov dword [ebp - 0x64], eax
jne 0x10007a93
mov edi, dword [ebp - 0x2c]
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x5b00
jl 0x10007a87
mov dword [ebp - 0x1c], 0x75286e87
cmp dword [ebp - 0x14], 0x6417
jge 0x10007b1b
push str.vxke_iokbnfpm_obfjcc_jndkm_xtqziqnpm_ydcpn_fjwvgm_ovdjhkcr_fcfqxyhih_mvfqrmnea_xkyatwxl_fyqti_hdf
call fcn.10040c20
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], 0x17
jmp 0x10007b48
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x10007b45
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x54], ebx
jne 0x10007b45
dec dword [ebp - 0x18]
jns 0x10007b37
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffff
jle 0x10007b28
dec dword [ebp - 0x24]
jmp 0x10007a52
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], ebx
jl 0x10007cd3
mov dword [ebp - 0x18], 0xc6d0f065
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10007b82
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6c], 0xe6e40424
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10007b74
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x54]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x4c]
cmp eax, 0x8b9b
setne cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x54]
cmp eax, edx
setl cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4c]
setl cl
mov dword [ebp - 0x14], ecx
xor ecx, ecx
cmp dword [ebp - 0x14], eax
setge cl
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x1c], 0x184eb300
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x54], ebx
je 0x10007c1e
cmp dword [ebp - 0x68], ebx
je 0x10007c1e
xor ecx, ecx
inc ecx
jmp 0x10007c20
mov ecx, ebx
mov eax, dword [ebp - 0x24]
add eax, ecx
xor ecx, ecx
cmp eax, 1
setge cl
imul ecx, dword [ebp - 0x24]
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x54]
cmp eax, 0xbfbd
setl cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
setg dl
xor eax, eax
cmp dword [ebp - 0x2c], edx
setl al
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ebx
jmp 0x10007cc4
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x10007c7e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa0], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10007c6d
mov dword [ebp - 0x1c], ebx
jmp 0x10007cbb
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x6c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x4c]
cmp edx, eax
setg cl
mov dword [ebp - 0xa0], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jle 0x10007c89
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x10007c65
dec dword [ebp - 0x24]
jns 0x10007b62
push dword [ebp - 0x60]
movdqa xmm0, xmmword [str._t_t_t_t]
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x20], 0xfffffffc
push eax
push ebx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], ebx
movdqu xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
call fcn.10006820
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x5c], 0x6add33d7
inc ecx
mov dword [ebp - 0x18], ebx
jmp 0x10007d2d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x34], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10007d23
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x10007f07
mov dword [ebp - 0x14], 0x83674579
mov dword [ebp - 0x2c], 0x4336
cmp dword [ebp - 0x2c], 0x46d0
jle 0x10007dc7
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov eax, edi
mov dword [ebp - 0x30], ebx
cdq
idiv esi
mov edi, edx
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, 0x10073038
cdq
push edx
push eax
call fcn.10004272
inc ebx
cmp ebx, 0x5e31
jl 0x10007d69
mov edi, dword [ebp - 0x14]
inc esi
push 0
pop ebx
cmp esi, 0x150b
jl 0x10007d5f
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0xb8d
jl 0x10007d5d
push 0x1f16
push 0x758
push 0x19c6
push 0xb8
push 0x2538
push 0xd81
call dword [sym.imp.GDI32.dll_PatBlt]
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 3
cmp dword [ebp - 0x2c], 0x3fb1
jge 0x10007e0a
mov edx, str.zeubgile_aoosp_afyr_qejrkvwp_paqkhza_cqhwds_sit_xvlwbtpy_yqjulahas
mov ecx, 0x10073038
call fcn.100062fd
jmp 0x10007e0a
push 3
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 2
call fcn.100013ad
push 0x7d20
push 0x795c
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 5
push eax
push 0x7886
push 0x3349
push 1
push ebx
push 0x5824
push 0x579f
push 0x4f06
lea eax, [ebp - 0x98]
mov edx, 0x158b
push eax
push 0x2695
push 0x130a
push 0x3197
xor cl, cl
call fcn.10008ca3
mov eax, dword [ebp - 0x20]
xor edx, edx
add esp, 0x38
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x34]
cmp eax, 0x3ee76373
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
setge dl
imul ecx, edx
xor edx, edx
add eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setg dl
mov eax, dword [ebp + eax*4 - 0x34]
sub edx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], edx
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfff9
jne 0x10007edb
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x98]
cmp dword [eax], ebx
mov eax, dword [ebp - 0x78]
setne cl
mov byte [ebp - 4], 2
mov dword [eax], ecx
lea ecx, [ebp - 0x98]
call fcn.1000140a
dec dword [ebp - 0x20]
jmp 0x10007d38
push 3
pop esi
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x10007f87
mov dword [ebp - 0x44], 0xfffffff7
mov dword [ebp - 0x8c], 0x38140a97
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x44], ebx
jl 0x10007f4b
push ecx
mov dword [ebp - 0x88], ebx
lea edx, [ebp - 0x88]
push 0x7096
xor cl, cl
call fcn.10006a91
dec dword [ebp - 0x44]
pop ecx
pop ecx
jns 0x10007f2b
push 0x13b
push 0x732d
lea eax, [ebp - 0x8c]
mov cl, 1
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x5c]
push eax
push 1
lea eax, [ebp - 0x44]
push eax
push 0x3e4
push ebx
push 0x2cd5
lea edx, [ebp - 0x20]
call fcn.10007747
add esp, 0x28
dec dword [ebp - 0x20]
jns 0x10007f12
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.1000140a
mov al, byte [edi]
mov esi, ebx
mov byte [ebp - 0x25], al
lea eax, [ebp - 0x25]
push 6
mov dword [ebp - 0x58], eax
pop edi
mov dword [ebp - 0x1c], esi
cmp esi, 1
jae 0x10008122
push 2
lea ecx, [ebp - 0x84]
call fcn.100013ad
lea eax, [ebp - 0x84]
mov dword [ebp - 4], edi
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x18], 0x2f9d44c0
push eax
mov dword [ebp - 0x14], edi
xor dl, dl
push 1
xor cl, cl
call fcn.1000b29e
mov dword [ebp - 0x30], 0x2725
add esp, 0xc
cmp dword [ebp - 0x30], 0x2a38
jle 0x1000804a
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x14], 0x45af
mov esi, ebx
mov edi, ebx
mov ebx, dword [ebp - 0x3c]
lea eax, [edi + esi]
mov ecx, 0x10073038
or eax, ebx
cdq
push edx
push eax
call fcn.10004272
inc edi
cmp edi, 0xa25
jl 0x10008006
inc esi
push 0
pop ebx
cmp esi, 0x3a8c
jl 0x10008001
mov edi, dword [ebp - 0x2c]
add dword [ebp - 0x3c], edi
dec dword [ebp - 0x14]
jne 0x10007fff
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x7240
jl 0x10007ff5
mov esi, dword [ebp - 0x1c]
push 6
pop edi
mov dword [ebp - 0x40], ebx
jmp 0x1000805c
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0xc4], ebx
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 4
jl 0x1000804f
mov byte [ebp - 4], 7
cmp dword [ebp - 0x30], 0x2542
jge 0x100080a2
mov edx, str.qlnlnbjbt_ldzye_nupdwsunv_tzuiricsf_witvetxd_ecy_ofivh_dnxrybz
mov ecx, 0x10073038
call fcn.100062fd
jmp 0x100080a2
push 0x6204
push ecx
lea eax, [ebp - 0x35]
mov dword [ebp - 4], edi
push eax
push ecx
mov dl, 1
mov byte [ebp - 0x35], bl
call fcn.1000744d
mov eax, dword [ebp - 0x84]
add esp, 0x10
cmp dword [eax], ebx
jne 0x100080e1
mov dword [ebp - 0x18], 0x5ca42045
cmp dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x84]
jne 0x100080dd
cmp dword [eax], ebx
jne 0x100080e1
mov ecx, ebx
jmp 0x100080e4
xor ecx, ecx
inc ecx
cmp ecx, dword [eax]
jne 0x100080f1
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
lea ecx, [ebp - 0x84]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x14], eax
or dword [ebp - 4], 0xffffffff
call fcn.1000140a
mov cl, byte [ebp + esi - 0x25]
mov dl, 0xa2
call fcn.10010965
mov ecx, dword [ebp - 0x58]
mov byte [esi + ecx], al
inc esi
jmp 0x10007fa3
mov dword [ebp - 0x30], 0x53e0
cmp dword [ebp - 0x30], 0x574e
jle 0x100081c1
push 0x120d
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov eax, esi
mov dword [ebp - 0x5c], ebx
cdq
mov esi, ebx
idiv edi
mov edi, edx
mov eax, esi
lea ecx, [ebp - 0xf4]
xor eax, edi
cdq
push edx
push eax
call fcn.10001331
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10008174
mov eax, dword [eax]
push eax
call fcn.10040c20
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xf4]
call fcn.10001542
inc esi
cmp esi, 0x526b
jl 0x10008158
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x2c]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x215
jl 0x1000814c
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x37c2
jl 0x10008147
push 0x131f
push 0x16e9
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
cmp dword [ebp - 0x30], 0x5280
mov eax, dword [ebp - 0x60]
mov cl, byte [ebp - 0x25]
mov byte [eax], cl
jge 0x100081dd
push str.askxle_iafese_sfldoct_opiqimj_zbsodjh_qyvdf
call fcn.10040c20
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret