Function at 0x1000bc4e
Capabilities:
Encode data using xor
Query environment variable

Disassembly:
mov eax, 0x1005cbce
call fcn.1005c388
sub esp, 0x94
cmp byte [ebp + 0x18], 0
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x38], edi
je 0x1000bd4c
cmp byte [ebp + 0x14], 0
je 0x1000bd29
cmp byte [ecx], 0
je 0x1000bc9b
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov dword [ebp - 0x18], 0x2776
cmp dword [ebp - 0x18], 0x28df
jle 0x1000bcee
xor esi, esi
xor edi, edi
xor ebx, ebx
mov eax, ebx
mov ecx, 0x10075fb8
xor eax, edi
xor eax, esi
cdq
push edx
push eax
call fcn.10004fa9
inc ebx
cmp ebx, 0x5cad
jl 0x1000bcb1
inc edi
cmp edi, 0x23e7
jl 0x1000bcaf
inc esi
cmp esi, 0x13b5
jl 0x1000bcad
push 0x8ee
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
and dword [ebp - 4], 0
cmp dword [ebp - 0x18], 0x2419
jge 0x1000bd0a
mov edx, str.jpliylr_fskw_womkrlw_yxgxjra_mbqt_cyvd_dorkchdwx_ltldu_snp_gmyelir_umszpx_kud_vgn_susxwzdx
mov ecx, 0x10075fb8
call fcn.1000736a
jmp 0x1000c254
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0
je 0x1000c254
push 0x7a59
mov edx, 0x171e
xor cl, cl
call fcn.1000c265
pop ecx
jmp 0x1000c254
cmp byte [ebp + 8], 0
je 0x1000bd63
lea ecx, [ebp + 0x1b]
mov byte [ebp + 0x1b], 0
call fcn.1000c8aa
jmp 0x1000c254
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x14], 0x17571177
mov dword [ebp - 0x18], 0x610d
cmp dword [ebp - 0x18], 0x6367
mov dword [ebp - 0x5c], eax
jle 0x1000bdaf
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10075fb8
xor eax, esi
cdq
push edx
push eax
call fcn.10004fa9
inc edi
cmp edi, 0x6c2
jl 0x1000bd89
inc esi
cmp esi, 0x1b2c
jl 0x1000bd87
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x20], 0xbeccce1e
mov dword [ebp - 4], 2
cmp dword [ebp - 0x18], 0x5d53
jge 0x1000bdd5
mov edx, str.cufntvk_umbhvzvr_vpeyvuw_kft_gyuh_arunluluh_csrclq_objjsapy_jurisrkl_tdfhq_hcnqel_wbl
mov ecx, 0x10075fb8
call fcn.1000736a
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x14], ebx
jmp 0x1000be1d
mov byte [ebp - 0x26], bl
lea edx, [ebp - 0x26]
xor cl, cl
call fcn.1000dc4b
dec dword [ebp - 0x20]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe6
je 0x1000be0a
mov eax, dword [edi]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x14], 0xa35c
mov dword [ebp - 0x18], 0x12a30a4c
mov dword [ebp - 0x1c], 0xf1448112
mov dword [ebp - 0x2c], 0x5c526587
mov dword [ebp - 0x14], ebx
jmp 0x1000be66
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x84], 0xb3bfa32a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1000be55
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
neg ecx
cmp dword [ebp - 0x48], ebx
jne 0x1000be8f
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x48]
test eax, eax
jne 0x1000be8f
mov edx, ebx
jmp 0x1000be92
xor edx, edx
inc edx
mov eax, dword [ebp - 0x48]
xor esi, esi
imul edx, ecx
inc esi
xor ecx, ecx
add eax, edx
cmp eax, 0x31f145ba
mov dword [ebp - 0x78], eax
sete cl
xor edx, edx
sub ecx, 0x288586fd
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
cmp ecx, eax
setle dl
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], ebx
jmp 0x1000bf21
mov dword [ebp - 0x24], 0x4f8d
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
jmp 0x1000bee1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x74], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000bed7
mov dword [ebp - 0x1c], 0xffffffe4
jmp 0x1000bf03
mov dword [ebp - 0x24], 9
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x6c], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff9
jge 0x1000bef0
mov eax, dword [ebp - 0x6c]
dec eax
neg eax
sbb eax, eax
add eax, 0xffffb0d5
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 7
jg 0x1000bec8
push ebx
lea eax, [ebp - 0x34]
push eax
xor eax, eax
lea ecx, [ebp - 0x30]
inc eax
push eax
push ecx
mov dl, al
mov ecx, 0x6723
call fcn.1000ac99
add esp, 0x10
mov dword [ebp - 0x2c], ebx
mov edi, ebx
cmp edi, 4
jae 0x1000c24c
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x24], 0x72fa5d87
mov dword [ebp - 0x1c], 0x5daa
cmp dword [ebp - 0x1c], 0x6120
jle 0x1000bfe9
push 0x24ba
push 0x542
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov eax, edi
mov ecx, ebx
cdq
idiv esi
mov dword [ebp - 0x18], ecx
mov eax, edx
mov dword [ebp - 0x24], eax
mov edi, eax
mov esi, ebx
sar edi, cl
mov eax, edi
mov ecx, 0x10075fb8
xor eax, esi
cdq
push edx
push eax
call fcn.10004fa9
inc esi
cmp esi, 0x7a88
jl 0x1000bf9f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x753b
jl 0x1000bf99
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x6665
jl 0x1000bf8a
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x434c
jl 0x1000bf85
xor ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], 4
cmp dword [ebp - 0x1c], 0x5abd
jge 0x1000c011
mov edx, str.dzuk_arunhy_ikrq_dxkzovuj
mov ecx, 0x10075fb8
call fcn.1000736a
xor ecx, ecx
inc ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 4
jle 0x1000c230
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x1c], ebx
je 0x1000c03a
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jg 0x1000c03c
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp dword [ebp - 0x1c], ecx
jne 0x1000c207
xor esi, esi
mov dword [ebp - 0x24], 0x738f
inc esi
cmp dword [ebp - 0x24], 0x7462
jle 0x1000c0e5
mov dword [ebp - 0x20], ebx
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x14], ebx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x9c]
and eax, edx
and eax, dword [ebp - 0x20]
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000c09c
mov eax, dword [eax]
push eax
call fcn.100443ac
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x9c]
call fcn.10005611
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x35c7
jl 0x1000c07b
inc edi
cmp edi, 0xbfd
jl 0x1000c076
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x22d0
jl 0x1000c074
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x6306
jl 0x1000c06f
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x24], 0x7311
jge 0x1000c0fc
push str.ntb_chqgrad_nfabs_vyzmtrvf_rzjesczbl_cyw_hzxsebcb_wkwjusdx_zbxulm_txd_dxwxgg
call fcn.100443ac
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1000c13b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x68], 0xa98c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1000c12d
mov dword [ebp - 0x14], ebx
jmp 0x1000c1a6
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1000c19d
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 9
jg 0x1000c19a
push 0xfffffffffffffff8
pop eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x54], ebx
cmp dword [ebp - 0x54], 0xffffffeb
jle 0x1000c191
lea eax, [ebp - 0x25]
mov byte [ebp - 0x25], bl
push eax
push ecx
call fcn.1000d527
dec dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xffffffeb
pop ecx
pop ecx
jg 0x1000c176
push 0xfffffffffffffff8
pop eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 9
jle 0x1000c161
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xb
jg 0x1000c152
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x16
jl 0x1000c146
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], 0xbf5e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x68]
cmp esi, eax
mov ecx, dword [ebp - 0x68]
sbb eax, eax
inc eax
add ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0xfc1c5751
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ebx, ebx
cmp edx, 0xf419
setne bl
xor ecx, ecx
cmp ebx, eax
setg cl
xor ebx, ebx
mov dword [ebp - 0x24], ecx
jmp 0x1000c225
xor eax, eax
xor dl, dl
inc eax
mov ecx, 0x2326
push eax
push 0x2a6
push eax
push 0x37e8
call fcn.1000ac99
add esp, 0x10
inc dword [ebp - 0x1c]
xor ecx, ecx
inc ecx
jmp 0x1000c018
mov esi, dword [ebp - 0x30]
mov dl, 0xab
mov edi, dword [ebp - 0x2c]
mov cl, byte [edi + esi]
call fcn.10013a32
mov byte [edi + esi], al
inc edi
mov dword [ebp - 0x2c], edi
jmp 0x1000bf48
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret