Function at 0x403358
Capabilities:
Get common file path

Disassembly:
mov eax, 0x4c51d1
call fcn.004c4dd0
sub esp, 0x110
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x48], edx
mov edi, ecx
mov dword [ebp - 0xa8], edi
call fcn.00403178
xor ebx, ebx
cmp dword [edi + 0x10], ebx
jne 0x40338c
xor al, al
jmp 0x403cdb
push 0x3364
push 0x2333
push 0x7294
push 0x168e
push ebx
push 0x6cd1
push ebx
lea eax, [ebp - 0x48]
push eax
call fcn.00407f0b
add esp, 0x20
mov dword [ebp - 0x1c], 0x185299da
mov dword [ebp - 0x40], 0xbeb0647d
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x18], 0xee39f3fa
push 3
lea ecx, [ebp - 0xb4]
call fcn.0040b279
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], 0xc5ad058b
mov dword [ebp - 0x14], ebx
jmp 0x403402
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0xf3b8cff2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x4033ef
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x1c], ebx
jne 0x403417
mov esi, ebx
jmp 0x40341a
xor esi, esi
inc esi
mov dword [ebp - 0x40], 0x14b5
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
setl dl
imul edx, dword [ebp - 0x1c]
xor eax, eax
cmp edx, esi
setge al
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x40344c
cmp dword [ebp - 0x1c], ebx
jne 0x40344f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], 0x7af2c9a1
lea ecx, [ebp - 0xb4]
call fcn.0040b34b
push 1
lea ecx, [ebp - 0xe0]
call fcn.0040b279
mov dword [ebp - 0x28], 0x38dd
xor edx, edx
inc edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], 0x27213ec7
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x14], ebx
jmp 0x4034b7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x4034a4
dec dword [ebp - 0x18]
lea ecx, [ebp - 0xe0]
call fcn.0040b34b
cmp dword [edi + 0x14], 0x10
jb 0x4034d4
mov ecx, dword [edi]
jmp 0x4034d6
mov ecx, edi
mov dword [ebp - 0x3c], ecx
cmp dword [edi + 0x14], 0x10
jb 0x4034e3
mov edx, dword [edi]
jmp 0x4034e5
mov edx, edi
mov eax, dword [edi + 0x10]
add eax, edx
cmp ecx, eax
je 0x403bd8
mov dword [ebp - 0x24], 0x171c
cmp dword [ebp - 0x24], 0x17cf
jle 0x403551
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov esi, ebx
mov edi, ebx
mov eax, edi
or eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x104]
call fcn.00401a48
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x40352a
mov eax, dword [eax]
push eax
call fcn.004af8e7
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x104]
call fcn.0040b827
inc edi
cmp edi, 0x6a9e
jl 0x40350e
inc esi
cmp esi, 0x5757
jl 0x40350c
mov dword [ebp - 0x34], 0x2c29a3df
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x18], 0x3cc25429
mov dword [ebp - 0x1c], ebx
jmp 0x40358a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c], 0xf1124f01
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x403579
mov dword [ebp - 0x1c], ebx
jmp 0x4035a6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd4], 0xfa72c25
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x403595
mov dword [ebp - 0x34], ebx
jmp 0x403601
mov dword [ebp - 0x14], 0x449c9fb3
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], 0xbb6bc3ec
push 1
lea ecx, [ebp - 0xcc]
call fcn.0040b279
mov dword [ebp - 0x14], ebx
jmp 0x4035ea
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x4035db
inc dword [ebp - 0x50]
lea ecx, [ebp - 0xcc]
call fcn.0040b34b
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jle 0x4035b1
cmp dword [ebp - 0x2c], ebx
je 0x40361e
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x403692
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetRgnBox]
jmp 0x403692
push 1
lea ecx, [ebp - 0xc0]
call fcn.0040b279
mov dword [ebp - 0x14], ebx
jmp 0x403643
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0xb3493876
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x403630
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setne dl
dec edx
mov eax, dword [ebp - 0x18]
xor ebx, ebx
cmp edx, eax
setg bl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0xce6fc2e7
setl cl
xor edx, edx
cmp ecx, ebx
setge dl
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xc0]
call fcn.0040b34b
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0x15d8
jge 0x4036a9
push str.gwlsfzh_dprgnvum_qxhohuddb_jhchwtkap_wzcmdatzl
call fcn.004af8e7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4036cf
mov eax, dword [ebp - 0x3c]
mov al, byte [eax]
cmp al, 0x30
jl 0x403b86
cmp al, 0x39
jg 0x403b86
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x68], 0xc3a0b8ee
mov dword [ebp - 0x28], 3
mov dword [ebp - 0x60], 8
push 4
lea ecx, [ebp - 0x84]
call fcn.0040b279
mov dword [ebp - 0x44], 0x274952f
mov dword [ebp - 0x4c], 0x4361a6b7
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x6c], 3
mov dword [ebp - 0x88], 0x17d239f9
mov dword [ebp - 0x24], 0x419a
cmp dword [ebp - 0x24], 0x41d1
jle 0x403794
push ebx
push 0xa75
call dword [sym.imp.USER32.dll_FlashWindow]
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x11c]
call fcn.00401a48
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x40376d
mov eax, dword [eax]
push eax
call fcn.004af8e7
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x11c]
call fcn.0040b827
inc edi
cmp edi, 0x7246
jl 0x40374f
inc esi
cmp esi, 0x7a32
jl 0x40374d
mov dword [ebp - 0x94], 0xb826fbc7
mov dword [ebp - 4], 2
cmp dword [ebp - 0x24], 0x3e2f
jge 0x4037b9
push str.adsyxme_wgoifypki_snsbq_vonwsw_jxbju_eooup_ctztkzxx_ddbptn_uubsrwss_nyh_oeykyvsl_cfehj
call fcn.004af8e7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4037df
mov dword [ebp - 0x14], ebx
jmp 0x4037f7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x84]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4037e4
cmp dword [ebp - 0x30], ebx
je 0x40384e
mov eax, dword [ebp - 0x4c]
inc dword [ebp - 0x4c]
cmp eax, 0x6173
jne 0x40382d
mov edx, dword [ebp - 0x84]
xor eax, eax
cmp dword [edx + 0xc], eax
setl al
xor ecx, ecx
cmp eax, dword [edx + 0xc]
setne cl
imul ecx, dword [edx]
cmp ecx, dword [ebp - 0x30]
jle 0x403836
cmp dword [ebp - 0x44], ebx
jne 0x403836
mov ecx, ebx
jmp 0x403839
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
imul eax, ecx
test eax, eax
je 0x40384e
xor ecx, ecx
inc ecx
jmp 0x403850
mov ecx, ebx
mov eax, dword [ebp - 0x30]
add eax, ecx
jne 0x403860
cmp dword [ebp - 0x44], ebx
jne 0x403860
mov ecx, ebx
jmp 0x403863
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x84]
mov dword [eax + 0xc], ecx
inc dword [ebp - 0x6c]
jne 0x40387d
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 1
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x44], 0xa26c
mov eax, dword [ebp - 0x64]
xor ecx, ecx
cmp eax, 0xa26c
setle cl
mov eax, dword [ebp - 0x64]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x60]
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0x84]
call fcn.0040b34b
push 0x4670
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x3c]
push eax
push 0x5150
push 1
push 0x22aa
push ebx
push 0x2dc0
call fcn.00407f0b
add esp, 0x20
mov dword [ebp - 0x1c], 0xfff8
mov dword [ebp - 0xa4], 0x960f
mov dword [ebp - 0xa0], 0x960f
mov dword [ebp - 0x9c], 0x960f
mov dword [ebp - 0x98], 0x960f
mov dword [ebp - 0x14], 0x69c1477a
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x24], 5
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x24], 0x947
cmp dword [ebp - 0x24], 0xa8e
jle 0x40397b
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xade298
call fcn.0040b052
inc edi
cmp edi, 0x4630
jl 0x40394c
inc esi
cmp esi, 0xd80
jl 0x40394a
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov dword [ebp - 0x18], ebx
jmp 0x403991
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xec], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x403980
mov dword [ebp - 4], 4
cmp dword [ebp - 0x24], 0x7f4
jge 0x4039b6
mov edx, str.mrsb_neo_pguvpq_oqvcy_gilacdt_tspepxz_uatkq_xrjsz_kksuig_wukjbr_icraouh
mov ecx, 0xade298
call fcn.0040d8d7
or dword [ebp - 4], 0xffffffff
jmp 0x4039dc
inc dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
jmp 0x403b6d
push 2
lea ecx, [ebp - 0x78]
call fcn.0040b279
mov dword [ebp - 0x24], 0x5c1b
mov dword [ebp - 0x28], 0x1cd43a1e
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x38], ebx
jmp 0x403a1b
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x78]
mov dword [eax + ecx*4], 0x6be856df
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x403a0b
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x403a31
push ebx
call dword [sym.imp.USER32.dll_SetCursor]
mov edx, dword [ebp - 0x78]
lea edi, [edx + 4]
cmp dword [edi], ebx
jne 0x403a4b
imul eax, dword [edx], 0xffff
cmp eax, dword [edx]
jge 0x403a4b
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x78]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
push 7
pop esi
sub esi, dword [edi]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, 0x57b17b4d
setne dl
sub edx, dword [ebp - 0x14]
xor ecx, ecx
cmp esi, edx
setle cl
xor eax, eax
cmp ecx, dword [edi]
setg al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jne 0x403a8d
cmp dword [ebp - 0x18], ebx
jne 0x403a8d
mov ecx, ebx
jmp 0x403a90
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x78]
cmp ecx, dword [eax]
jle 0x403aa1
cmp dword [ebp - 0x14], ebx
je 0x403aa1
xor edx, edx
inc edx
jmp 0x403aa3
mov edx, ebx
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa4], ecx
imul ecx, edx
sub ecx, dword [edi]
add ecx, 0xfffffff6
mov dword [edi], ecx
mov eax, dword [ebp - 0x28]
imul eax, ecx
test eax, eax
je 0x403ad4
cmp dword [ebp - 0xa0], ebx
je 0x403ad4
xor ecx, ecx
inc ecx
jmp 0x403ad6
mov ecx, ebx
xor eax, eax
cmp ecx, 0xfffffffa
sete al
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x78]
cmp dword [eax], ecx
jne 0x403afb
cmp dword [ebp - 0xa4], ebx
je 0x403afb
xor edx, edx
inc edx
jmp 0x403afd
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
sete cl
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x14]
jge 0x403b34
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x403b62
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_CopySid]
jmp 0x403b62
mov dword [ebp - 0x28], 0xfc71010f
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0x206cbc8c
mov dword [ebp - 0x18], ebx
jmp 0x403b5a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd0], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x403b4d
inc dword [ebp - 0x2c]
lea ecx, [ebp - 0x78]
call fcn.0040b34b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x4039e7
mov ecx, dword [ebp - 0x3c]
inc ecx
mov edi, dword [ebp - 0xa8]
jmp 0x4034d6
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x1c], 0x16
jmp 0x403bc8
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x18], ebx
jmp 0x403bbf
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x403bb6
cmp dword [ebp - 0x14], ebx
jne 0x403bbc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xe
jle 0x403bae
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe8
je 0x403ba2
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffe
jle 0x403b96
mov eax, dword [ebp - 0x48]
mov dword [eax], ebx
jmp 0x403385
mov dword [ebp - 0x1c], 0xf29
cmp dword [ebp - 0x1c], 0x1295
jle 0x403c26
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], 0x6ad3
or eax, esi
cdq
push edx
push eax
mov ecx, 0xade298
call fcn.0040b052
mov eax, dword [ebp - 0x24]
add eax, edi
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x2c]
jne 0x403bf8
inc edi
cmp edi, 0x6adf
jl 0x403bec
inc esi
cmp esi, 0x458f
jl 0x403bea
mov dword [ebp - 0x18], ebx
jmp 0x403c39
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], 9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x403c2b
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xbfb66feb
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x54]
imul eax, ecx
test eax, eax
jne 0x403ca2
cmp dword [ebp - 0x58], ebx
jne 0x403ca2
mov dword [ebp - 0x18], 0xc9b996a5
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x18], ebx
jmp 0x403c9a
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x403c91
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0xb64d07dd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x403c83
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x403c77
jmp 0x403cb6
mov dword [ebp - 0x90], 0xcdf1
mov dword [ebp - 0x90], 0xcdf9c775
mov dword [ebp - 4], 6
cmp dword [ebp - 0x1c], 0xbfa
jge 0x403cd5
mov edx, str.pxewp_nukqhx_pukxbqyws_xagptty_che_oda_nvcsonn_gjecpiosq_ndlfg_zhtmtn_vmombda_fyqezbylx
mov ecx, 0xade298
call fcn.0040d8d7
or dword [ebp - 4], 0xffffffff
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret