Function at 0x47b590
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x496419
mov eax, dword fs:[0]
push eax
sub esp, 0x2e4
mov eax, dword [0x4a93dc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor esi, esi
mov dword [ebp - 0x2e4], esi
push 0x206
lea ecx, [ebp - 0x216]
xor eax, eax
push esi
mov dword [ebp - 4], esi
push ecx
mov word [ebp - 0x218], ax
call fcn.00489270
mov ebx, 7
xor edx, edx
add esp, 0xc
mov dword [ebp - 0x258], ebx
mov dword [ebp - 0x25c], esi
mov word [ebp - 0x26c], dx
xor eax, eax
mov dword [ebp - 0x2c8], ebx
mov dword [ebp - 0x2cc], esi
mov word [ebp - 0x2dc], ax
xor ecx, ecx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x224], esi
mov word [ebp - 0x234], cx
push 0x104
lea edx, [ebp - 0x218]
push edx
push str.TEMP
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, 0x104
jae 0x47b9dc
cmp eax, esi
je 0x47b9dc
xor eax, eax
mov word [ebp - 0x250], ax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x240], esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x47b677
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x218]
lea esi, [ebp - 0x250]
call fcn.00401d40
mov ecx, esi
push ecx
mov eax, 0x49a32c
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 4
call fcn.00478740
add esp, 4
push eax
mov eax, str.updater
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 5
call fcn.00478740
add esp, 4
push eax
mov eax, str..zip
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 6
call fcn.00478740
add esp, 4
mov edi, eax
lea esi, [ebp - 0x26c]
mov byte [ebp - 4], bl
call fcn.004019e0
mov edi, 8
cmp dword [ebp - 0x290], edi
jb 0x47b70e
mov edx, dword [ebp - 0x2a4]
push edx
call fcn.00480861
add esp, 4
xor esi, esi
xor eax, eax
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x294], esi
mov word [ebp - 0x2a4], ax
cmp dword [ebp - 0x2ac], edi
jb 0x47b73c
mov ecx, dword [ebp - 0x2c0]
push ecx
call fcn.00480861
add esp, 4
xor edx, edx
mov dword [ebp - 0x2ac], ebx
mov dword [ebp - 0x2b0], esi
mov word [ebp - 0x2c0], dx
cmp dword [ebp - 0x274], edi
jb 0x47b768
mov eax, dword [ebp - 0x288]
push eax
call fcn.00480861
add esp, 4
xor ecx, ecx
mov byte [ebp - 4], 3
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x278], esi
mov word [ebp - 0x288], cx
cmp dword [ebp - 0x23c], edi
jb 0x47b798
mov edx, dword [ebp - 0x250]
push edx
call fcn.00480861
add esp, 4
xor eax, eax
mov dword [ebp - 0x240], esi
mov word [ebp - 0x250], ax
push 6
mov eax, 0x4a41a0
lea esi, [ebp - 0x250]
mov dword [ebp - 0x23c], ebx
call fcn.00401d40
mov ecx, esi
push ecx
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 8
call fcn.00479450
add esp, 4
test eax, eax
setne byte [ebp - 0x2dd]
mov byte [ebp - 4], 3
cmp dword [ebp - 0x23c], edi
jb 0x47b7f8
mov edx, dword [ebp - 0x250]
push edx
call fcn.00480861
add esp, 4
cmp byte [ebp - 0x2dd], 0
je 0x47b852
cmp dword [ebp - 0x220], edi
jb 0x47b818
mov eax, dword [ebp - 0x234]
push eax
call fcn.00480861
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x224], 0
mov word [ebp - 0x234], cx
cmp dword [ebp - 0x258], edi
jb 0x47b848
mov edx, dword [ebp - 0x26c]
push edx
call fcn.00480861
add esp, 4
mov eax, 3
jmp 0x47ba29
lea eax, [ebp - 0x288]
call fcn.0047ac50
mov edi, eax
lea esi, [ebp - 0x234]
mov byte [ebp - 4], 9
call fcn.004019e0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x274], 8
jb 0x47b88a
mov eax, dword [ebp - 0x288]
push eax
call fcn.00480861
add esp, 4
mov eax, dword [ebp - 0x224]
push 0x49a07c
xor edi, edi
lea ecx, [ebp - 0x234]
call fcn.00402aa0
test eax, eax
jne 0x47b8cf
lea esi, [ebp - 0x234]
call fcn.00401870
lea esi, [ebp - 0x2dc]
call fcn.00401870
lea esi, [ebp - 0x26c]
call fcn.00401870
lea eax, [edi + 4]
jmp 0x47ba29
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2e8], esp
xor edi, edi
push edi
lea eax, [ebp - 0x234]
xor edx, edx
push eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], edi
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00401a50
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2ec], esp
mov byte [ebp - 4], 0xa
push edi
lea eax, [ebp - 0x26c]
xor edx, edx
push eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], edi
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00401a50
lea ecx, [ebp - 0x2e4]
mov byte [ebp - 4], 3
call fcn.00478120
lea esi, [ebp - 0x234]
cmp eax, edi
je 0x47b992
call fcn.00401870
lea esi, [ebp - 0x2dc]
call fcn.00401870
lea esi, [ebp - 0x26c]
call fcn.00401870
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2e4]
cmp eax, edi
je 0x47b988
cmp dword [eax], 2
mov edi, eax
sete cl
test cl, cl
je 0x47b983
call fcn.004780a0
mov eax, 5
jmp 0x47ba29
call fcn.004777c0
mov eax, 5
jmp 0x47ba29
call fcn.00401870
lea esi, [ebp - 0x2dc]
call fcn.00401870
lea esi, [ebp - 0x26c]
call fcn.00401870
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2e4]
cmp eax, edi
je 0x47b9d8
cmp dword [eax], 2
mov edi, eax
sete cl
test cl, cl
je 0x47b9d3
call fcn.004780a0
xor eax, eax
jmp 0x47ba29
call fcn.004777c0
xor eax, eax
jmp 0x47ba29
mov edi, 8
cmp dword [ebp - 0x220], edi
jb 0x47b9f8
mov ecx, dword [ebp - 0x234]
push ecx
call fcn.00480861
add esp, 4
xor edx, edx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x224], esi
mov word [ebp - 0x234], dx
cmp dword [ebp - 0x258], edi
jb 0x47ba24
mov eax, dword [ebp - 0x26c]
push eax
call fcn.00480861
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048036c
mov esp, ebp
pop ebp
ret