Function at 0x478950
Capabilities:
Set environment variable

Disassembly:
push rbp
sub rsp, 0x70
mov rbp, rsp
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], rbp
mov rax, qword [0x00488cb8]
mov byte [rax], 1
nop
lea rcx, [0x00472448]
call fcn.0040f5a0
nop
mov rax, qword [0x00488b10]
mov qword [rax], 0
mov rax, qword [0x004889b0]
mov byte [rax], 0
mov rax, qword [0x004886a8]
mov byte [rax], 1
mov cl, 1
call fcn.00404d90
mov rax, qword [0x00488a10]
mov rcx, qword [0x00488a90]
movzx rcx, word [rcx]
mov qword [rax], rcx
xor rcx, rcx
call sub.kernel32.dll_SetThreadUILanguage
mov rcx, qword [0x00488820]
mov rdx, qword [0x00429af0]
mov r8d, 1
xor r9, r9
call fcn.0040cad0
mov rcx, qword [0x00488cf8]
mov rdx, qword [0x00429b30]
mov r8d, 1
xor r9, r9
call fcn.0040cad0
mov rcx, qword [0x00471bf0]
mov dl, 1
call fcn.00471f20
mov qword [0x004a63b0], rax
mov rcx, qword [0x004a63b0]
lea rdx, [0x00478f5c]
mov r8b, 1
call fcn.00472030
test al, al
je 0x478a79
mov rax, qword [0x004a63b0]
mov rcx, qword [rax + 0x50]
lea rdx, [0x004a63b8]
mov rax, qword [0x004a63b0]
movsxd r8, dword [rax + 0x58]
call fcn.00405640
mov rcx, qword [0x004a63b0]
call fcn.00472010
mov rax, qword [0x00488d68]
mov ecx, dword [0x004a63c4]
mov dword [rax], ecx
mov rcx, qword [0x004a63b0]
lea rdx, [0x00478f70]
mov r8b, 1
call fcn.00472030
test al, al
je 0x478ead
lea rcx, [rbp + 0x60]
call fcn.00429cc0
mov rcx, qword [rbp + 0x60]
call fcn.0040b560
mov qword [0x004a63a8], rax
mov rcx, qword [0x004a63a8]
mov edx, 0x8000
call fcn.00470460
mov dword [0x004a63a4], eax
mov rcx, qword [0x004a63a8]
call fcn.0040aa00
mov dword [0x004a639c], eax
mov rax, qword [0x00488820]
mov rcx, qword [rax]
call fcn.0040c730
mov dword [0x004a63a0], eax
mov rcx, qword [0x00488820]
mov rdx, qword [0x00429af0]
mov r8d, 1
mov r9d, dword [0x004a63a0]
add r9d, 1
movsxd r9, r9d
call fcn.0040cad0
mov ecx, dword [0x004a639c]
lea rcx, [rcx + rcx*2]
movsxd rcx, ecx
call fcn.00405270
mov rcx, qword [0x00488820]
mov rcx, qword [rcx]
movsxd rdx, dword [0x004a63a0]
add rdx, rdx
lea rdx, [rdx + rdx*2]
mov qword [rcx + rdx*8], rax
mov rax, qword [0x00488820]
mov rax, qword [rax]
movsxd rcx, dword [0x004a63a0]
add rcx, rcx
lea rcx, [rcx + rcx*2]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [0x004a63a8]
call fcn.0041dae0
mov rax, qword [0x00488820]
mov rax, qword [rax]
movsxd rcx, dword [0x004a63a0]
add rcx, rcx
lea rcx, [rcx + rcx*2]
mov edx, dword [0x004a63a4]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [0x004a63a4]
call sub.msvcrt.dll__get_osfhandle
mov rcx, qword [0x00488820]
mov rcx, qword [rcx]
movsxd rdx, dword [0x004a63a0]
add rdx, rdx
lea rdx, [rdx + rdx*2]
mov qword [rcx + rdx*8 + 0x10], rax
mov rax, qword [0x00488820]
mov rax, qword [rax]
movsxd rcx, dword [0x004a63a0]
add rcx, rcx
lea rcx, [rcx + rcx*2]
mov rdx, qword [0x004a63b0]
mov edx, dword [rdx + 0x58]
mov dword [rax + rcx*8 + 0x18], edx
mov rax, qword [0x00488820]
mov rax, qword [rax]
movsxd rcx, dword [0x004a63a0]
add rcx, rcx
lea rcx, [rcx + rcx*2]
movsxd rcx, dword [rax + rcx*8 + 0x18]
call fcn.00405270
mov rcx, qword [0x00488820]
mov rcx, qword [rcx]
movsxd rdx, dword [0x004a63a0]
add rdx, rdx
lea rdx, [rdx + rdx*2]
mov qword [rcx + rdx*8 + 0x20], rax
mov rax, qword [0x004a63b0]
mov rcx, qword [rax + 0x50]
mov rax, qword [0x00488820]
mov rax, qword [rax]
movsxd rdx, dword [0x004a63a0]
add rdx, rdx
lea rdx, [rdx + rdx*2]
mov rdx, qword [rax + rdx*8 + 0x20]
mov rax, qword [0x004a63b0]
movsxd r8, dword [rax + 0x58]
call fcn.00405640
mov rax, qword [0x00488820]
mov rax, qword [rax]
movsxd rcx, dword [0x004a63a0]
add rcx, rcx
lea rcx, [rcx + rcx*2]
mov rcx, qword [rax + rcx*8 + 0x20]
mov rax, qword [0x004a63b0]
mov edx, dword [rax + 0x58]
call fcn.0042a2a0
mov rax, qword [0x00488820]
mov rax, qword [rax]
movsxd rcx, dword [0x004a63a0]
add rcx, rcx
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8 + 0x28], 0
mov rcx, qword [0x004a63b0]
call fcn.00407520
lea rcx, [rbp + 0x58]
mov edx, dword [0x004a63c0]
call fcn.004722c0
call sub.kernel32.dll_GetTickCount_1
lea rcx, [rbp + 0x50]
mov edx, eax
mov r8d, 6
call fcn.0041cd50
mov ecx, 0xff
call fcn.00405990
lea rcx, [rbp + 0x48]
mov edx, eax
mov r8d, 2
call fcn.0041cd30
mov rcx, qword [0x00488d78]
mov edx, 5
mov r8, qword [rbp + 0x58]
lea r9, [0x00478f84]
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x20], rax
lea rax, [0x00478f98]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x30], rax
call fcn.0040ba20
mov rax, qword [0x00488d78]
mov rcx, qword [rax]
call fcn.0041da40
mov rax, qword [0x00488d78]
mov rcx, qword [rax]
call fcn.0040b560
lea rcx, [0x00478f9c]
mov rdx, rax
call sub.kernel32.dll_SetEnvironmentVariableW
mov rax, qword [0x00488a08]
mov qword [rax], 0
nop
lea rcx, [rbp + 0x40]
xor rdx, rdx
call fcn.004058f0
mov rcx, qword [0x0046a8a8]
mov dl, 1
mov r8, qword [rbp + 0x40]
xor r9, r9
mov dword [rsp + 0x20], 0
call fcn.0046bc50
mov rcx, qword [0x00488a08]
mov qword [rcx], rax
mov rax, qword [0x00488a08]
mov rcx, qword [rax]
mov rax, qword [0x00488d78]
mov rdx, qword [rax]
call fcn.0046c750
jmp 0x478deb
call fcn.0046d180
mov rcx, qword [0x00488c58]
mov qword [rcx], rax
mov rax, qword [0x00488c58]
cmp qword [rax], 0
je 0x478eb9
mov rcx, qword [0x00488ca0]
call fcn.00429870
test eax, eax
je 0x478e26
mov ecx, 0xff
call fcn.0046e420
mov ecx, 1
mov rax, qword [0x00488c58]
mov edx, dword [rax]
mov rax, qword [0x004888c8]
mov r8d, dword [rax]
call fcn.00433100
mov rcx, qword [0x00488d10]
mov qword [rcx], rax
mov rax, qword [0x00488d10]
cmp qword [rax], 1
jne 0x478e66
mov ecx, 1
call fcn.0046e420
mov rax, qword [0x00488d10]
cmp qword [rax], 0xffffffffffffffff
jne 0x478e7b
xor rcx, rcx
call fcn.0046e420
xor rcx, rcx
mov rax, qword [0x00488d10]
mov rdx, qword [rax]
call fcn.00435cd0
mov rcx, qword [0x004886b8]
mov word [rcx], ax
call fcn.00471170
mov rax, qword [0x004886b8]
movzx ecx, word [rax]
call fcn.0046e420
jmp 0x478eb9
mov rcx, qword [0x004a63b0]
call fcn.00407520
xor rcx, rcx
call fcn.0046e420
mov rax, qword [0x00488570]
mov dword [rax], 0
nop
lea rcx, [rbp + 0x40]
mov edx, 5
call fcn.0040a350
call fcn.00409ea0
jmp 0x478eed
lea rsp, [rbp + 0x70]
pop rbp
ret