Function at 0x1001c17a
Capabilities:
Get common file path
Set environment variable

Disassembly:
mov eax, 0x1005e2ae
call fcn.1005d360
sub esp, 0x80
cmp byte [ebp + 0x18], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, edx
je 0x1001c61c
mov dword [ebp - 0x20], 0x266e
xor ebx, ebx
cmp dword [ebp - 0x20], 0x2810
jle 0x1001c216
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x18], 0x7ef3
mov dword [ebp - 0x14], ecx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x74]
cdq
push edx
push eax
call fcn.10001ace
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001c1d7
mov eax, dword [eax]
push eax
call fcn.1004699c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x74]
call fcn.10005d35
mov ecx, dword [ebp - 0x14]
add ecx, esi
dec dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
jne 0x1001c1be
inc esi
cmp esi, 0x2ed6
jl 0x1001c1b2
inc edi
cmp edi, 0x7794
jl 0x1001c1b0
push ebx
push 0x2c8
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
cmp dword [ebp - 0x20], 0x2636
jge 0x1001c22a
push str.czgmk_drfuo_vvyfot
call fcn.1004699c
pop ecx
or dword [ebp - 4], 0xffffffff
xor edx, edx
mov dword [ebp - 0x18], 0x937d
mov dword [ebp - 0x14], 0x434678dc
mov dword [ebp - 0x1c], 0xc5c2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
sub eax, 0x8b6b
neg eax
sbb eax, eax
add eax, 0xb
cmp edx, eax
je 0x1001c2a3
cmp dword [ebp - 0x18], ebx
je 0x1001c2a3
mov dword [ebp - 0x14], 0xfffffff3
jmp 0x1001c298
push 1
push ecx
mov byte [ebp - 0x24], bl
lea edx, [ebp - 0x24]
push ecx
call fcn.1001b5b0
add esp, 0xc
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffeb
jg 0x1001c283
jmp 0x1001c36a
mov dword [ebp - 0x18], ebx
jmp 0x1001c2b6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x28], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1001c2a8
mov dword [ebp - 0x18], ebx
jmp 0x1001c300
push 1
push 0x46af
push 0x333a
lea eax, [ebp - 0x22]
mov byte [ebp - 0x22], bl
mov dl, 1
push 0x4f3c
push eax
mov cl, dl
call fcn.1001b7ab
mov byte [ebp - 0x21], bl
add esp, 0x14
cmp byte [ebp - 0x21], 0
je 0x1001c2fd
push 0xa67
push ecx
mov cl, 1
call fcn.1001bff7
pop ecx
pop ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x39
jge 0x1001c2c1
mov ecx, dword [ebp - 0x18]
xor ebx, ebx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
setg bl
sub ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, ebx
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 1
jle 0x1001c334
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x14], 0xe159
sub eax, dword [ebp - 0x14]
cmp eax, 0x4cbed562
jge 0x1001c34e
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
xor ebx, ebx
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x1c]
jne 0x1001c365
cmp dword [ebp - 0x14], ebx
je 0x1001c365
xor eax, eax
inc eax
jmp 0x1001c367
mov eax, ebx
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], ax
push 2
pop ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1001c39a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0x24a8c6a5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001c38c
mov dword [ebp - 0x20], 0x7fcf
cmp dword [ebp - 0x20], 0x8190
jle 0x1001c3f9
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x8c]
or eax, esi
cdq
push edx
push eax
call fcn.10001ace
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001c3cf
mov eax, dword [eax]
push eax
call fcn.1004699c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x8c]
call fcn.10005d35
inc edi
cmp edi, 0x676c
jl 0x1001c3b3
inc esi
cmp esi, 0x11a
jl 0x1001c3b1
push 2
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x1001c40c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0x6df251d6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001c3fe
cmp dword [ebp - 0x20], 0x7c06
jge 0x1001c428
push str.rvfeeutt_cwt_goez_xszblmx
call fcn.1004699c
pop ecx
push 2
pop ecx
push 0x53a8
push 1
push ebx
mov dword [ebp - 4], ecx
mov dl, 1
push 0x24f0
mov byte [ebp - 0x23], bl
lea ecx, [ebp - 0x23]
push 0x7411
call fcn.1001b711
add esp, 0x10
lea eax, [ebp + 0x1c]
lea edx, [ebp - 0x48]
push ebx
push ecx
push eax
mov ecx, 0x2d9e
call fcn.1001c096
add esp, 0x10
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x1c], 0xffffffff
lea ecx, [ebp - 0x54]
push 3
call fcn.1000580e
mov byte [ebp - 4], 5
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 0x1fd7
cmp dword [ebp - 0x1c], 0x2260
jle 0x1001c4f4
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], 0x6521
mov esi, ebx
mov ebx, dword [ebp - 0x20]
mov eax, ebx
cdq
idiv esi
mov eax, edi
mov ecx, edx
shl eax, cl
mov ecx, 0x10078bb8
cdq
push edx
push eax
call fcn.100055e4
inc esi
cmp esi, 0x4a25
jl 0x1001c4ae
mov esi, dword [ebp - 0x18]
add ebx, esi
dec dword [ebp - 0x14]
push 0
mov dword [ebp - 0x20], ebx
pop ebx
jne 0x1001c4a9
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x39d9
jl 0x1001c49f
inc edi
cmp edi, 0x799
jl 0x1001c49c
mov dword [ebp - 0x20], 0x184
mov byte [ebp - 4], 6
cmp dword [ebp - 0x1c], 0x1f0c
jge 0x1001c535
mov edx, str.encafahwp_nie_jtksa_ugvlr_dzeqinybn
mov ecx, 0x10078bb8
call fcn.10009472
jmp 0x1001c535
mov dword [ebp - 4], 5
mov dword [ebp - 0x1c], 0xa530
mov dword [ebp - 0x1c], 0xfbfc75da
mov dword [ebp - 0x1c], 0x48bb
mov dword [ebp - 0x1c], 0xeb66
mov dword [ebp - 0x1c], 0xbb7a2e25
mov dword [ebp - 0x14], ebx
jmp 0x1001c574
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0xc2039807
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001c564
mov dword [ebp - 0x14], ebx
jmp 0x1001c58d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c], 0x32da3bb1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1001c57f
dec dword [ebp - 0x2c]
mov edx, 0x2910
push ecx
push 1
push ecx
push 0x6795
lea ecx, [ebp - 0x30]
call fcn.1001c096
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x54]
call fcn.1000586b
mov eax, dword [0x1010d99c]
test al, 1
jne 0x1001c5e5
or eax, 1
mov dword [0x1010d99c], eax
push 0x1002d
mov byte [ebp - 4], 8
call fcn.10017175
pop ecx
mov word [0x1010c5e4], ax
mov byte [ebp - 4], 2
push ecx
lea eax, [ebp + 0x1c]
mov cl, 1
push eax
push 0x1010c5e4
lea edx, [ebp - 0x48]
call fcn.1001c107
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x48]
add esp, 0xc
cmp ecx, eax
je 0x1001c60f
push 0xffffffffffffffff
push ebx
push eax
call fcn.1000751f
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.10005f65
jmp 0x1001c63d
mov eax, dword [ecx]
xor edx, edx
test eax, eax
mov eax, dword [ebp + 0x20]
setne dl
xor ecx, ecx
cmp dword [eax], ecx
je 0x1001c62f
inc ecx
mov eax, dword [ebp + 0x24]
mov dword [eax], ecx
xor eax, eax
cmp edx, ecx
setge al
mov dword [esi], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret