Function at 0x401c90
Capabilities:
Query environment variable
Set environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1a24
call fcn.00402e70
mov eax, dword [0x40b1d0]
push ebx
mov dword [esp + 0x1a24], eax
push esi
push edi
xor eax, eax
xor ebx, ebx
mov byte [esp + 0x1920], bl
mov ecx, 0x40
lea edi, [esp + 0x1921]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x40c74c]
mov edi, 1
cmp eax, edi
jle 0x401d51
lea esp, [esp]
cmp dword [0x40c3e0], ebx
jne 0x401d47
mov eax, dword [0x40c750]
mov esi, dword [eax + edi*4]
push 2
push 0x40934c
lea ecx, [esp + 0x818]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
lea ebx, [ebx]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401d34
cmp cl, bl
je 0x401d30
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401d34
add eax, 2
add esi, 2
cmp cl, bl
jne 0x401d10
xor eax, eax
jmp 0x401d39
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x401d47
mov dword [0x40c3e0], 1
mov eax, dword [0x40c74c]
inc edi
cmp edi, eax
jl 0x401ce0
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push 6
push 0x409344
lea ecx, [esp + 0x818]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
mov edx, 0x40bed8
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
cmp cl, bl
jne 0x401d80
push 0xe
push str.N_fx_a_7pp_7B
lea ecx, [esp + 0x818]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
push 0x27
push 0x40930c
lea ecx, [esp + 0x1020]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
push 4
push str._JnK
lea ecx, [esp + 0x1c]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
push 0x40b9b0
call fcn.00402eb7
push 0x104
push 0x40b8a8
call fcn.004020e0
add esp, 0x18
push 0x104
lea eax, [esp + 0x181c]
push eax
push 0xa
push 0x409300
lea ecx, [esp + 0x1c]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
mov esi, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
push eax
call esi
lea ecx, [esp + 0x1818]
push ecx
push 0xf
push 0x4092f0
lea ecx, [esp + 0x18]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
mov edi, dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push eax
call edi
push 0x104
push 0x40bdd0
push 0xf
push 0x4092f0
lea ecx, [esp + 0x1c]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
call esi
push 0x104
push 0x40bab8
push 7
push str._ie
lea ecx, [esp + 0x1c]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
call esi
push 0x104
push 0x40bcc8
call fcn.004019f0
add esp, 8
push 0x104
push 0x40bbc0
push 8
push str.__fh
lea ecx, [esp + 0x1c]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
call esi
push 0xb
push str._tO_P_
lea ecx, [esp + 0x14]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
push 2
push 0x4092cc
lea ecx, [esp + 0x1020]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
lea edx, [esp + 0x1928]
push edx
call fcn.00402eb7
add esp, 0xc
push 0x1c
push 0x4092ac
lea ecx, [esp + 0x14]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
add eax, 2
push eax
push 0x17
push str._V_L5
lea ecx, [esp + 0x1020]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
push 4
push str._JnK
lea ecx, [esp + 0x820]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
lea eax, [esp + 0x1824]
push eax
call fcn.00402eb7
add esp, 0x10
lea ecx, [esp + 0x1818]
push ecx
push 8
push str.__fh
lea ecx, [esp + 0x18]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
call edi
push 0x104
push 0x40bbc0
push 8
push str.__fh
lea ecx, [esp + 0x1c]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
call esi
push 0xc
push 0x409284
lea ecx, [esp + 0x14]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
mov esi, 0x40c3e8
mov ecx, esi
nop
mov dl, byte [eax]
inc eax
mov byte [ecx], dl
inc ecx
cmp dl, bl
jne 0x401fd0
push 0xb
push 0x409278
lea ecx, [esp + 0x14]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
mov edx, 0x40c4f0
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
cmp cl, bl
jne 0x401ff6
push 0xd
push 0x409268
lea ecx, [esp + 0x14]
call fcn.00402450
mov ecx, eax
call fcn.004024e0
mov edx, 0x40c5f8
lea esp, [esp]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
cmp cl, bl
jne 0x402020
mov al, 0x61
push 2
push 0x409264
lea ecx, [esp + 0x14]
mov dword [0x40c4ec], 0x40c4f0
mov dword [0x40c5f4], 0x40c5f8
mov dword [0x40c6fc], esi
mov dword [0x40c704], ebx
mov dword [0x40c708], ebx
mov byte [0x40c710], al
mov byte [0x40c711], al
call fcn.00402450
mov ecx, eax
call fcn.004024e0
push eax
push 0x40c712
call fcn.00402eb7
push ebx
lea edx, [esp + 0x192c]
push fcn.00401b60
push edx
mov dword [0x40c700], esi
mov dword [0x40c70c], ebx
call fcn.00401470
add esp, 0x14
push 0x61a8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x40b9b0
call fcn.00402550
add esp, 4
test eax, eax
jne 0x4020c1
call fcn.00401b60
mov ecx, dword [esp + 0x1a2c]
mov eax, 1
call fcn.00402875
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10