Function at 0x1003889b
Capabilities:
Set environment variable

Disassembly:
mov eax, 0x100598ff
call fcn.10057d24
sub esp, 0x2c
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x10], esp
cmp byte [ebp + 0x28], 0
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], ecx
je 0x100389b8
mov dword [ebp + 0x28], 0x7daa
cmp dword [ebp + 0x28], 0x7f9b
jle 0x10038901
mov edi, esi
mov ebx, esi
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, 0x10073b38
cdq
push edx
push eax
call fcn.10004192
inc ebx
cmp ebx, 0x4fd8
jl 0x100388d4
inc edi
cmp edi, 0x315c
jl 0x100388d2
push esi
push esi
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov dword [ebp - 4], esi
cmp dword [ebp + 0x28], 0x7bb5
jge 0x1003891c
mov edx, str.gimdd_mgdiqfj_iszvup_ewosdnil_ftfgmkj_cpfotcu_ieledt_hdgvk_gdbtp_tmcbctn_asw
mov ecx, 0x10073b38
call fcn.10005a51
cmp byte [ebp + 0x14], 0
je 0x1003894b
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x50]
add dword [eax], ecx
jmp 0x10038bc4
mov edi, dword [ebp + 0x30]
xor ecx, ecx
mov esi, dword [ebp + 0x4c]
mov eax, dword [edi]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [esi]
mov eax, dword [esi]
test eax, eax
mov eax, dword [ebp + 8]
sete cl
xor edx, edx
cmp ecx, 0xffffffff
mov eax, dword [eax]
setge dl
xor ecx, ecx
mov dword [eax], edx
mov edx, 0x4f823aaf
mov eax, dword [esi]
mov eax, dword [ebp + 0x44]
mov dword [eax], edx
mov eax, dword [edi]
cmp eax, 0x3b06d9e9
mov eax, dword [ebp + 0x48]
setge cl
add ecx, edx
mov dword [eax], ecx
cmp dword [edi], 1
mov eax, dword [ebp + 0x38]
mov ecx, dword [eax]
sbb eax, eax
inc eax
xor edx, edx
cmp eax, dword [ecx]
mov eax, dword [ebp + 0x40]
setg dl
mov dword [ecx + 4], edx
mov ecx, dword [eax]
mov eax, dword [ebp + 0x34]
imul ecx, edx
mov dword [eax], ecx
jmp 0x10038bc4
mov dword [ebp - 0x14], 0x7d77
cmp dword [ebp - 0x14], 0x7df1
jle 0x10038a22
mov edi, esi
mov ebx, esi
mov ecx, esi
mov dword [ebp + 0x28], esi
mov eax, ebx
cdq
idiv ecx
lea ecx, [ebp - 0x38]
and edx, edi
mov eax, edx
cdq
push edx
push eax
call fcn.10002811
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100389ef
mov eax, dword [eax]
push eax
call fcn.100402ca
pop ecx
push esi
push 1
lea ecx, [ebp - 0x38]
call fcn.10001571
mov ecx, dword [ebp + 0x28]
inc ecx
mov dword [ebp + 0x28], ecx
cmp ecx, 0xb1b
jl 0x100389d1
inc ebx
cmp ebx, 0x58ac
jl 0x100389cc
inc edi
cmp edi, 0x321b
jl 0x100389ca
cmp byte [ebp + 0x3c], 0
je 0x10038b9c
mov dword [ebp + 0x28], 0x5af4
cmp dword [ebp + 0x28], 0x5e69
jle 0x10038a63
mov edi, esi
mov ebx, esi
mov eax, ebx
mov ecx, 0x10073b38
and eax, edi
cdq
push edx
push eax
call fcn.10004192
inc ebx
cmp ebx, 0x3984
jl 0x10038a40
inc edi
cmp edi, 0x58b9
jl 0x10038a3e
mov dword [ebp - 4], 2
cmp dword [ebp + 0x28], 0x59d0
jge 0x10038a82
mov edx, str.nyxubeuwa_uzxx_hrw_jqqaayzs_mqalguqrf_osv_vjbq_nzxoy
mov ecx, 0x10073b38
call fcn.10005a51
or dword [ebp - 4], 0xffffffff
mov dword [ebp + 0x28], 0x754
cmp dword [ebp + 0x28], 0xaf0
jle 0x10038ae0
push esi
push 0x1cb4
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov ebx, esi
mov edi, esi
mov dword [ebp - 0x18], esi
lea eax, [esi + edi]
mov ecx, 0x10073b38
or eax, ebx
cdq
push edx
push eax
call fcn.10004192
inc esi
cmp esi, 0x76f
jl 0x10038ab0
inc edi
push 0
pop esi
cmp edi, 0x225a
jl 0x10038aad
inc ebx
cmp ebx, 0x1601
jl 0x10038aab
mov dword [ebp - 4], 4
cmp dword [ebp + 0x28], 0x4ff
jge 0x10038b42
mov edx, str.tces_ewebqpziw_orkwepjo_wisyn_qty_rxfx_lpqshtuc_hagyuugwi_qmxbsime_qznrjqo_rvsdv_yjpmvyuj_teywpt_tkyk
mov ecx, 0x10073b38
call fcn.10005a51
jmp 0x10038b42
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
mov eax, dword [edx]
inc eax
cmp eax, 0xfffffffa
jl 0x10038b56
mov eax, dword [ebp + 0x24]
cmp dword [eax], esi
je 0x10038b59
xor esi, esi
inc esi
mov eax, dword [edx]
mov edi, dword [ebp - 0x1c]
add eax, 0xe70
mov dword [edi], eax
xor eax, eax
mov ecx, dword [edx]
imul ecx, dword [edi]
cmp esi, 0xca6c8490
sete al
add ecx, eax
mov eax, dword [edx]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [eax]
test eax, eax
mov eax, dword [ebp + 0xc]
setne cl
mov eax, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebp + 0x1c]
mov dword [eax], ecx
jmp 0x10038bb0
mov eax, dword [ebp + 0x20]
cmp byte [eax], 0
je 0x10038bb0
push esi
push 0x25cb
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
cmp dword [ebp - 0x14], 0x7af5
jge 0x10038bc4
push str.oysciuzcu_hxwobbd_fbzkkf_qcva_xvmxwa_ovr
call fcn.100402ca
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret