Function at 0x10022ab1
Capabilities:
Query environment variable

Disassembly:
mov eax, 0x1005b898
call fcn.1005a768
sub esp, 0x160
mov byte [ebp - 0x5c], cl
mov eax, edx
mov dword [ebp - 0x70], eax
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x100233be
push 0x7c
mov dword [ebp - 0x60], eax
xor ebx, ebx
pop eax
push 2
mov dword [ebp - 0x30], 0xba012a00
mov edi, ebx
mov word [ebp - 0x3c], ax
pop esi
mov dword [ebp - 0x18], ebx
jmp 0x10022b05
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf4], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10022af4
mov dword [ebp - 0x18], ebx
jmp 0x10022b1a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x50], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10022b10
mov dword [ebp - 0x4c], ebx
jmp 0x10022b6f
mov dword [ebp - 0x14], 0xfffffffd
mov eax, dword [ebp - 0x4c]
cmp dword [ebp + eax*4 - 0xf4], ebx
jne 0x10022b55
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0xf4]
mov eax, dword [ebp - 0x50]
cmp ecx, eax
sete dl
cmp edx, 0xffffffff
jge 0x10022b55
mov edx, ebx
jmp 0x10022b58
xor edx, edx
inc edx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xf4]
cmp edx, eax
sete cl
mov dword [ebp - 0x14], ecx
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 2
jle 0x10022b25
cmp esi, 2
jne 0x10022b7e
push esi
pop edi
jmp 0x10022ba5
movzx edx, byte [ebp + esi - 0x2f]
mov eax, esi
sub eax, edi
mov edi, ebx
movzx eax, byte [ebp + eax - 0x32]
movzx eax, word [ebp + eax*2 - 0x3c]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x30]
mov word [ebp + eax*2 - 0x3c], cx
add esi, 2
cmp esi, 4
jb 0x10022aef
xor eax, eax
mov dword [ebp - 0x108], 7
mov word [ebp - 0x3a], ax
lea ecx, [ebp - 0x11c]
mov word [ebp - 0x11c], ax
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x10c], ebx
call fcn.1000a767
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], ebx
call fcn.10021cea
pop ecx
xor esi, esi
mov byte [ebp - 4], 2
push ebx
inc esi
lea ecx, [ebp - 0x11c]
push esi
call fcn.10006b31
mov dword [ebp - 0x24], esi
lea ecx, [ebp - 0x7c]
push 4
call fcn.10001c9a
push ecx
push 0x29fa
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 3
push eax
push esi
lea eax, [ebp - 0x13c]
push eax
push 0x1e6d
call fcn.10022a6e
add esp, 0x18
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 0xe
jne 0x10022c9a
xor eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], ebx
jmp 0x10022c85
push ecx
push eax
push ecx
push ecx
mov dword [ebp - 0xb0], eax
mov ecx, 0x35b3
call fcn.10021e18
add esp, 0xc
lea eax, [ebp - 0x2c]
lea edx, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.10024ce2
add esp, 0x10
inc dword [ebp - 0x2c]
push 1
pop eax
cmp dword [ebp - 0x2c], 3
jle 0x10022c4e
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xe
je 0x10022c43
xor esi, esi
inc esi
mov byte [ebp - 4], 2
cmp dword [ebp - 0x7c], 0
je 0x10022cb6
push dword [ebp - 0x7c]
call fcn.10042747
pop ecx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
push esi
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x3c], ebx
call fcn.10001c9a
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 0xff8ee1d1
mov dword [ebp - 0x1c], 0xcdf5ef88
mov dword [ebp - 0x1c], 0xc007c7be
mov dword [ebp - 0x14], 8
mov dword [ebp - 0x14], 0xc12a7b09
mov dword [ebp - 0x14], 0x21dd2eb2
push esi
call fcn.10001c9a
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 5
push eax
push ecx
mov dword [ebp - 0x14], 0x3ca5
lea ecx, [ebp - 0xd8]
call fcn.10023b28
pop ecx
pop ecx
push 0x707e
push ecx
lea eax, [ebp - 0xac]
mov ecx, 0x3171
push 0x42ad
push eax
lea edx, [ebp - 0xd8]
call fcn.100247c0
add esp, 0x10
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10022f72
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x14], 3
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 0x6e86ff18
mov dword [ebp - 0x14], 0x110e
cmp dword [ebp - 0x14], 0x1401
jle 0x10022dfb
push 0x1bd2
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x154]
cdq
push edx
push eax
call fcn.10001a41
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10022db0
mov eax, dword [eax]
push eax
call fcn.100425d6
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x154]
call fcn.10001f96
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x6ed8
jl 0x10022d94
inc edi
cmp edi, 0x62db
jl 0x10022d8f
push ebx
push 0x4a9
push 0x1e60
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x14], 0xe47
jge 0x10022e12
push str.oyqukdxab_edeifydv_ajbhhtm
call fcn.100425d6
pop ecx
mov dword [ebp - 4], 5
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x14], ebx
push 3
call fcn.10001c9a
push 0x6e07
push ecx
push 0x3123
push 1
push 1
push 0x63f1
push 0x3f2e
push 0x2226
push 0x34d8
push ecx
push ecx
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 8
push eax
push 0x4c9b
push 1
push 0x682
mov dword [ebp - 0x14], 0x337672a6
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x1c], 0xf7cd
mov edx, 0x511f
push 0x2c76
call fcn.10021f28
add esp, 0x40
mov dword [ebp - 0x20], ebx
jmp 0x10022e9e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x100], 0xaf1ba137
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10022e8d
mov dword [ebp - 0x20], ebx
jmp 0x10022eb7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x38], 0x24df
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jl 0x10022ea9
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x6c]
cmp dword [ecx + eax*4], 6
jae 0x10022ed1
cmp dword [ecx], ebx
jne 0x10022ed1
mov ecx, ebx
jmp 0x10022ed4
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x100]
xor edx, edx
dec dword [ebp - 0x100]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa0]
cmp ecx, dword [eax + 8]
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], ebx
jne 0x10022f06
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + ecx*4]
mov ecx, 0x89bb5c1e
add eax, 0xa760
cmp ecx, eax
sbb eax, eax
xor esi, esi
neg eax
inc esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jg 0x10022f48
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], esi
dec dword [ebp - 0x38]
inc dword [ebp - 0x1c]
jmp 0x10022f2b
mov byte [ebp - 4], 5
push dword [ebp - 0xa0]
call fcn.10042747
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
dec dword [ebp - 0x18]
pop ecx
jmp 0x10022d48
cmp dword [ebp - 0xac], 0
je 0x10022f99
push dword [ebp - 0xac]
call fcn.10042747
pop ecx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x6c], 0
je 0x10022fb5
push dword [ebp - 0x6c]
call fcn.10042747
pop ecx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x14], 0xa8f9
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 0xc6f1bf50
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x14], 0xf36f6dd8
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], 7
push 3
call fcn.10001c9a
mov byte [ebp - 4], 9
mov eax, 0xae28de6
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x34], ebx
jmp 0x10023026
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x104], 0x6923607a
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 1
jl 0x10023015
lea eax, [ebp - 0x94]
mov edx, 0x571f
push eax
push 1
push ecx
lea eax, [ebp - 0x34]
push eax
push ecx
mov ecx, 0x7069
call fcn.10021d73
add esp, 0x14
dec dword [ebp - 0xe4]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x94], 0
je 0x1002307e
push dword [ebp - 0x94]
call fcn.10042747
pop ecx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
push 0xd
pop eax
push 2
mov ecx, ebx
mov dword [ebp - 0x48], 0x2d032d01
mov dword [ebp - 0x44], 0x2900fc01
mov word [ebp - 0x40], 0x302
mov word [ebp - 0x86], ax
pop esi
mov dword [ebp - 0x58], ecx
cmp esi, 4
jne 0x100230b1
push 2
pop ecx
mov dword [ebp - 0x58], ecx
jmp 0x100230eb
movzx edx, byte [ebp + esi - 0x47]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x4a]
movzx eax, word [ebp + eax*2 - 0x88]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x48]
push ecx
push ecx
mov word [ebp + eax*2 - 0x88], cx
lea ecx, [ebp - 0x58]
call fcn.10023e97
pop ecx
pop ecx
mov ecx, dword [ebp - 0x58]
add esi, 2
cmp esi, 0xa
jb 0x100230a4
mov dword [ebp - 0x1c], 0x3088
cmp dword [ebp - 0x1c], 0x3416
jle 0x1002314b
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov eax, edi
mov dword [ebp - 0x18], ebx
cdq
idiv esi
mov edi, edx
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, 0x10075b18
cdq
push edx
push eax
call fcn.10001b85
inc ebx
cmp ebx, 0x20e9
jl 0x10023114
mov edi, dword [ebp - 0x14]
inc esi
push 0
pop ebx
cmp esi, 0x1743
jl 0x1002310a
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x16e2
jl 0x10023108
xor eax, eax
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x1c], 0x2d0f
mov word [ebp - 0x80], ax
jge 0x10023191
mov edx, str.yvodwn_mreva_rbixsjct
mov ecx, 0x10075b18
call fcn.100036dc
jmp 0x10023191
push 3
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 2
call fcn.10001c9a
push 3
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xc
call fcn.10001c9a
push 0x2e35
push 0x713b
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x60], 0xffffffff
push eax
push ebx
push ecx
push 0x2581
push ecx
call fcn.10025a00
push 0x7bcf
push 1
push 1
push 0x44e6
push ebx
push 0x5e4d
lea edx, [ebp - 0xc8]
lea ecx, [ebp - 0x28]
call fcn.10023b4e
add esp, 0x38
mov dword [ebp - 0x28], ebx
jmp 0x1002321e
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x138], 0x36173948
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 1
jl 0x1002320d
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xbc]
push eax
inc dword [esi + 8]
mov dword [eax + 8], 0xffffffee
call fcn.10042747
push esi
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
mov byte [ebp - 4], 2
call fcn.10042747
xor eax, eax
mov dword [ebp - 0xbc], ebx
pop ecx
pop ecx
mov word [ebp - 0x134], ax
lea ecx, [ebp - 0x134]
lea eax, [ebp - 0x88]
mov dword [ebp - 0xb8], ebx
push eax
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x120], 7
mov dword [ebp - 0x124], ebx
call fcn.1000a767
xor eax, eax
mov byte [ebp - 4], 0xe
lea edi, [ebp - 0x88]
mov dword [ebp - 0x54], ebx
stosd dword es:[edi], eax
push 0x18
pop ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0xd4]
cdq
idiv ecx
mov esi, eax
test esi, esi
je 0x100232f9
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x134]
push eax
push 0x3eb4
push 0x6613
push 1
push ecx
lea eax, [ebp - 0x54]
push eax
push ecx
call fcn.10025a00
mov eax, dword [ebp - 0x54]
add esp, 0x20
inc eax
mov dword [ebp - 0x54], eax
cmp eax, esi
jb 0x100232c6
mov dword [ebp - 0x18], 0x2050
cmp dword [ebp - 0x18], 0x21db
jle 0x10023380
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov edx, esi
mov dword [ebp - 0x38], 0x1e69
mov dword [ebp - 0x1c], edx
mov edi, ebx
mov esi, ebx
mov ecx, esi
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x16c]
or eax, edx
cdq
push edx
push eax
call fcn.10001a41
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002333e
mov eax, dword [eax]
push eax
call fcn.100425d6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x16c]
call fcn.10001f96
mov edx, dword [ebp - 0x1c]
inc esi
cmp esi, 0x7cb9
jl 0x1002331e
inc edi
cmp edi, 0xb4
jl 0x1002331c
dec edx
dec dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
jne 0x1002331a
mov esi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x688f
jl 0x1002330e
mov ecx, dword [ebp - 0x70]
lea eax, [ebp - 0xd4]
push eax
call fcn.10025f93
cmp dword [ebp - 0x18], 0x1f7a
jge 0x100233a3
push str.ujw_hrg_wgljewwg_lztchri
call fcn.100425d6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x134]
call fcn.10006b31
lea ecx, [ebp - 0xd4]
call fcn.1002636c
jmp 0x100233d7
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x100233d7
push 0x48d6
push ecx
push ecx
mov dl, 1
call fcn.10024c3a
add esp, 0xc
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret