Function at 0x1000d658
Capabilities:
Set environment variable

Disassembly:
mov eax, 0x10061af0
call fcn.10060e94
sub esp, 0x100
mov dword [ebp - 0x44], edx
mov byte [ebp - 0x40], cl
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x1000de43
lea eax, [ebp - 0x44]
mov dword [ebp - 0x34], 0x2db58e46
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x34], 0x57ad95e1
mov dword [ebp - 0x34], 0x9bf39019
push 3
mov dword [ebp - 0x3c], eax
call fcn.1000145c
xor ebx, ebx
lea ecx, [ebp - 0xc0]
push 2
mov dword [ebp - 4], ebx
call fcn.1000145c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x34], 0x764361a6
push 4
call fcn.1000145c
mov byte [ebp - 4], 2
mov dword [ebp - 0x2c], ebx
jmp 0x1000d6ed
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0xbe4438b
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x1000d6da
mov dword [ebp - 0x2c], ebx
jmp 0x1000d70b
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0x17d72b90
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x1000d6f8
push ebx
push ecx
lea eax, [ebp - 0x74]
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.1000dedd
add esp, 0xc
call fcn.1000ed3f
mov eax, dword [ebp - 0x74]
pop ecx
lea ecx, [ebp - 0x74]
dec dword [eax + 4]
call fcn.100014df
lea ecx, [ebp - 0xc0]
call fcn.100014df
lea ecx, [ebp - 0xb4]
call fcn.100014df
xor eax, eax
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], ebx
mov word [ebp - 0x8c], ax
push 3
pop esi
lea eax, [ebp - 0x44]
mov dword [ebp - 4], esi
push eax
lea eax, [ebp - 0x8c]
mov ecx, 0x19c2
push eax
call fcn.1000df28
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], 0x5fb26c4f
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x1c], 0x3165
cmp dword [ebp - 0x1c], 0x3540
pop ecx
pop ecx
jle 0x1000d7f6
mov eax, ebx
xor edi, edi
mov dword [ebp - 0x18], eax
inc edi
mov ecx, ebx
mov dword [ebp - 0x30], ebx
sar eax, cl
lea ecx, [ebp - 0xfc]
cdq
push edx
push eax
call fcn.10001301
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000d7c5
mov eax, dword [eax]
push eax
call fcn.10048570
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xfc]
call fcn.1000162e
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x7a60
jl 0x1000d7ab
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x36e8
jl 0x1000d7a6
mov dword [ebp - 0x14], ebx
jmp 0x1000d809
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x20], 0xbdde0bcd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1000d7fb
cmp dword [ebp - 0x1c], 0x2ece
jge 0x1000d823
push str.qnglklf_kwaqsib_oievkiprl_cahfu_loejpmgcp
call fcn.10048570
pop ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], ebx
jmp 0x1000d83c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10c], 0x1a7160c6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1000d82b
xor edi, edi
mov dword [ebp - 0x14], ebx
inc edi
cmp dword [ebp - 0x14], ebx
jl 0x1000da2b
push 4
lea ecx, [ebp - 0x68]
call fcn.1000145c
mov byte [ebp - 4], 6
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x34], 0xfffffffa
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x18], ebx
jmp 0x1000d885
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], 0x88cdf8ab
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1000d875
mov dword [ebp - 0x30], 0x3e55
cmp dword [ebp - 0x30], 0x4138
jle 0x1000d8c9
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], 0x5668
mov eax, ebx
mov ecx, 0x1007cfd8
cdq
push edx
push eax
call fcn.1000703f
add ebx, esi
dec dword [ebp - 0x1c]
jne 0x1000d8a7
inc esi
push 0
pop ebx
cmp esi, 0x2c34
jl 0x1000d89d
push 0x662a
push edi
push 0x13db
push 0x6457
push 0x5612
push 0x2dab
push 0x610b
push ebx
mov edx, 0x2dc9
mov ecx, 0xd6b
call fcn.1000df79
add esp, 0x20
mov byte [ebp - 4], 7
cmp dword [ebp - 0x30], 0x3ad5
jge 0x1000d93e
mov edx, str.tnia_hwmoy_ovlbwj_ngpxkxaq_qdhu_egvyk_sife_suvw_lrwvj_hbitt_oledhogy_tfrtz_dpfp
mov ecx, 0x1007cfd8
call fcn.1000b30d
jmp 0x1000d93e
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x20], ebx
jne 0x1000d994
mov dword [ebp - 0x1c], 0xffffffff
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x68]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x20]
cmp edx, eax
setg cl
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x20]
mov eax, dword [ebp - 0x14]
add ecx, dword [ebp + eax*4 - 0x20]
jne 0x1000d991
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x20], ebx
je 0x1000d994
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, edi
push 0xfffffffffffffffd
setge cl
pop eax
cmp eax, ecx
mov ecx, dword [ebp - 0x20]
sbb eax, eax
neg eax
imul ecx, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + eax*4 - 0x20]
mov eax, dword [ebp - 0x14]
sub edx, ecx
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x20]
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
imul eax, edx
test eax, eax
je 0x1000d9e5
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x20]
cmp dword [ebp - 0x14], ebx
je 0x1000d9f8
mov edx, ebx
cmp dword [ebp - 0x34], ebx
je 0x1000d9fa
mov edx, edi
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
push 6
setle cl
pop eax
cmp eax, ecx
mov eax, dword [ebp - 0x14]
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp + eax*4 - 0x20]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 3
call fcn.100014df
dec dword [ebp - 0x14]
jmp 0x1000d848
push 0x60c4
push 0x556
push 0x72b
push ebx
lea eax, [ebp - 0x48]
mov dl, 1
push 1
push eax
mov ecx, 0x72cc
call fcn.1000f907
mov eax, dword [0x100dfc0c]
xor edi, edi
add esp, 0x18
inc edi
test al, 1
jne 0x1000da81
or eax, edi
mov dword [0x100dfc0c], eax
push 0x6b3
mov byte [ebp - 4], 9
call fcn.10034a68
mov word [0x100dfc18], ax
mov byte [ebp - 4], 3
mov eax, dword [0x100dfc0c]
pop ecx
test al, 2
jne 0x1000daa6
or eax, 2
mov dword [0x100dfc0c], eax
push 0x8ce
mov byte [ebp - 4], 0xa
call fcn.10034a68
pop ecx
mov word [0x100dfc1c], ax
mov byte [ebp - 4], 3
mov esi, dword [ebp - 0x28]
mov esi, dword [esi]
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x1000dbba
push 3
lea ecx, [ebp - 0x98]
call fcn.1000145c
push 3
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1000dadc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcc], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1000dacf
mov dword [ebp - 0x14], ebx
jmp 0x1000daf9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x98]
mov dword [eax + ecx*4], 0xd1e1e87d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1000dae6
mov esi, dword [ebp - 0x98]
mov dword [esi + 8], ebx
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x28], 0xc17e5c28
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000db33
push edi
push ecx
push 0x7c0a
push ecx
mov ecx, 0x6768
call fcn.1000dedd
add esp, 0x10
mov dword [ebp - 0x18], ebx
jmp 0x1000db5e
mov dword [ebp - 0x28], 7
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xcc]
cmp eax, 0xfffffffb
setge cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0xf1eb32a8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x1000db38
inc dword [esi + 8]
cmp dword [esi + 8], 2
jle 0x1000db07
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.100014df
call fcn.1000d58f
push 0x34
pop ecx
xor edx, edx
div ecx
push ecx
push 0x100dfc1c
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x5c], edx
push eax
push ecx
push 0x100dfc18
lea eax, [ebp - 0x5c]
xor cl, cl
push 0x7098
push eax
call fcn.1000d5a4
add esp, 0x1c
dec dword [ebp - 0x1c]
jne 0x1000dab6
mov dword [ebp - 0x18], 0x2afe01bd
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x18], ebx
jmp 0x1000dbdb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], 0x3a4a9bdb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1000dbcd
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x1000dc42
push 0x45aa
push 0x3854
push 0x69ce
push ebx
push 0x66ee
mov dword [ebp - 0x28], 0xffffffff
mov edx, 0x4b2f
mov dword [ebp - 0x28], 0xffff
mov ecx, 0x5f28
push 0x280a
call fcn.1000e337
mov edx, dword [ebp - 0x18]
add esp, 0x18
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
mov dword [ebp - 0x58], ecx
dec dword [ebp - 0x18]
jns 0x1000dbed
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 3
jne 0x1000de1c
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xa8], 0xffffffff
mov dword [ebp - 0xa4], 0xffffffff
mov dword [ebp - 0xa0], 0xffffffff
mov dword [ebp - 0x9c], 0xffffffff
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000dc95
push 0x2cb0
mov edx, 0x5f46
xor cl, cl
call fcn.1000e375
pop ecx
mov dword [ebp - 0x38], 0x7041
cmp dword [ebp - 0x38], 0x72cc
jle 0x1000dd7f
push 0xe86
push 0x13f4
push ebx
push ebx
push 0x1f67
push 0xf2d
push 0xb85
push 0x251b
push 0x2655
push 0x152b
push 0x201c
push 0x1989
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_StretchDIBits]
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov dword [ebp - 0x3c], ebx
mov ecx, esi
mov edx, ebx
shl eax, cl
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], eax
mov ecx, edx
mov esi, ebx
sar eax, cl
mov dword [ebp - 0x28], eax
mov ecx, esi
sar eax, cl
lea ecx, [ebp - 0xe4]
cdq
push edx
push eax
call fcn.10001301
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000dd2c
mov eax, dword [eax]
push eax
call fcn.10048570
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xe4]
call fcn.1000162e
mov eax, dword [ebp - 0x28]
inc esi
cmp esi, 0x64e9
jl 0x1000dd10
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0x1c23
jl 0x1000dd07
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x3c], esi
cmp esi, 0x6ff9
jl 0x1000dcfb
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x6fec
jl 0x1000dcf6
mov dword [ebp - 0x14], ebx
jmp 0x1000ddf3
mov dword [ebp - 0x28], 0xf9520128
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x58], ebx
je 0x1000ddcc
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x50]
cmp eax, ecx
setl dl
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x30]
je 0x1000ddbe
cmp dword [ebp - 0x4c], ebx
jne 0x1000ddc5
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x14]
mov ecx, 0xfffe
mov dword [ebp + eax*4 - 0x58], ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x12ef
setge cl
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x1000dd84
cmp dword [ebp - 0x38], 0x6e75
jge 0x1000de0d
push str.sdz_zrfekhe_dmvbgoa_fcw_one_ypbaoknbh_qrfls_elpnv_oyopvq_njhwxavtk_gjtzrxfo_eaeiimxro_euwynpw
call fcn.10048570
pop ecx
mov dword [ebp - 4], 3
inc dword [ebp - 0x18]
jmp 0x1000dc45
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x8c]
cmp eax, ecx
je 0x1000de34
push 0xffffffffffffffff
push ebx
push ecx
mov ecx, eax
call fcn.10007c9d
push ebx
push edi
lea ecx, [ebp - 0x8c]
call fcn.10007ea2
jmp 0x1000de4d
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret