Function at 0x4c7f78
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
xor eax, eax
push ebp
push 0x4c8dcf
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004c766c
cmp dword [0x51d2a0], 1
jle 0x4c7fe6
cmp dword [0x51d298], 0
je 0x4c7fe6
lea eax, [ebp - 4]
call fcn.004c6f3c
lea edx, [ebp - 8]
mov eax, dword [0x51d274]
call fcn.004094fc
push dword [ebp - 8]
push 0x4c8de4
push dword [ebp - 4]
lea eax, [ebp - 4]
mov edx, 3
call fcn.004044bc
mov eax, dword [ebp - 4]
call fcn.004045fc
push eax
push 0x4c8de8
call sub.kernel32.dll_SetEnvironmentVariableA
push 8
push 0
mov eax, dword [0x51d274]
call fcn.004045fc
push eax
call sub.kernel32.dll_LoadLibraryExA_1
mov dword [0x51d324], eax
cmp word [0x51d280], 0x2328
jb 0x4c8023
push 8
push 0
mov eax, dword [0x51d278]
call fcn.004045fc
push eax
call sub.kernel32.dll_LoadLibraryExA_1
mov dword [0x51d328], eax
cmp dword [0x51d324], 0
jne 0x4c8068
lea eax, [ebp - 4]
mov edx, dword [0x51d274]
call fcn.004041d4
mov eax, 0x51d274
call fcn.0040413c
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, 0x4c8df8
call fcn.00404448
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x407958]
call fcn.0040cedc
call fcn.00403ab8
cmp word [0x51d280], 0x2328
jb 0x4c80b8
cmp dword [0x51d328], 0
jne 0x4c80b8
lea eax, [ebp - 4]
mov edx, dword [0x51d278]
call fcn.004041d4
mov eax, 0x51d278
call fcn.0040413c
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov edx, 0x4c8e18
call fcn.00404448
mov ecx, dword [ebp - 0x10]
mov dl, 1
mov eax, dword [0x407958]
call fcn.0040cedc
call fcn.00403ab8
test byte [0x51d283], 2
je 0x4c82f0
mov eax, 0x4c8e30
call fcn.004c6e6c
mov dword [0x51cf10], eax
mov eax, 0x4c8e40
call fcn.004c6e6c
mov dword [0x51cf14], eax
mov eax, 0x4c8e50
call fcn.004c6e6c
mov dword [0x51cf18], eax
mov eax, 0x4c8e60
call fcn.004c6e6c
mov dword [0x51cf1c], eax
mov eax, 0x4c8e70
call fcn.004c6e6c
mov dword [0x51cf20], eax
mov eax, 0x4c8e80
call fcn.004c6e6c
mov dword [0x51cf24], eax
mov eax, 0x4c8e90
call fcn.004c6e6c
mov dword [0x51cf28], eax
mov eax, 0x4c8ea0
call fcn.004c6e6c
mov dword [0x51cf2c], eax
mov eax, 0x4c8eb0
call fcn.004c6e6c
mov dword [0x51cf30], eax
mov eax, 0x4c8ec0
call fcn.004c6e6c
mov dword [0x51cf34], eax
mov eax, 0x4c8ed0
call fcn.004c6e6c
mov dword [0x51cf38], eax
mov eax, 0x4c8ee0
call fcn.004c6e6c
mov dword [0x51cf3c], eax
mov eax, 0x4c8ef4
call fcn.004c6e6c
mov dword [0x51cf40], eax
mov eax, 0x4c8f04
call fcn.004c6e6c
mov dword [0x51cf44], eax
mov eax, 0x4c8f14
call fcn.004c6e6c
mov dword [0x51cf48], eax
mov eax, 0x4c8f24
call fcn.004c6e6c
mov dword [0x51cf4c], eax
mov eax, 0x4c8f34
call fcn.004c6e6c
mov dword [0x51cf50], eax
mov eax, 0x4c8f44
call fcn.004c6e6c
mov dword [0x51cf54], eax
mov eax, 0x4c8f54
call fcn.004c6e6c
mov dword [0x51cf58], eax
mov eax, 0x4c8f64
call fcn.004c6e6c
mov dword [0x51cf5c], eax
mov eax, 0x4c8f74
call fcn.004c6e6c
mov dword [0x51cf60], eax
mov eax, 0x4c8f84
call fcn.004c6e6c
mov dword [0x51cf64], eax
mov eax, 0x4c8f94
call fcn.004c6e6c
mov dword [0x51cf68], eax
mov eax, 0x4c8fa4
call fcn.004c6e6c
mov dword [0x51cf6c], eax
mov eax, 0x4c8fb4
call fcn.004c6e6c
mov dword [0x51cf70], eax
mov eax, 0x4c8fc4
call fcn.004c6e6c
mov dword [0x51cf74], eax
mov eax, 0x4c8fd4
call fcn.004c6e6c
mov dword [0x51cf78], eax
mov eax, 0x4c8fe4
call fcn.004c6e6c
mov dword [0x51cf7c], eax
mov eax, 0x4c8ff4
call fcn.004c6e6c
mov dword [0x51cf84], eax
mov eax, 0x4c9004
call fcn.004c6e6c
mov dword [0x51cf80], eax
mov eax, 0x4c9014
call fcn.004c6e6c
mov dword [0x51cf88], eax
mov eax, 0x4c9024
call fcn.004c6e6c
mov dword [0x51cf8c], eax
mov eax, 0x4c9034
call fcn.004c6e6c
mov dword [0x51cf90], eax
mov eax, 0x4c9044
call fcn.004c6e6c
mov dword [0x51cf94], eax
mov eax, 0x4c9054
call fcn.004c6e6c
mov dword [0x51cf98], eax
mov eax, 0x4c9064
call fcn.004c6e6c
mov dword [0x51cf9c], eax
mov eax, 0x4c9074
call fcn.004c6e6c
mov dword [0x51cfa0], eax
test byte [0x51d283], 4
je 0x4c8ae4
mov eax, 0x4c9084
call fcn.004c6e6c
mov dword [0x51cfa4], eax
mov eax, 0x4c9084
call fcn.004c6e6c
mov dword [0x51cfa8], eax
mov eax, 0x4c9098
call fcn.004c6e6c
mov dword [0x51cfac], eax
mov eax, 0x4c9098
call fcn.004c6e6c
mov dword [0x51cfb0], eax
mov eax, 0x4c9098
call fcn.004c6e6c
mov dword [0x51cfb4], eax
mov eax, 0x4c90ac
call fcn.004c6e6c
mov dword [0x51cfb8], eax
mov eax, 0x4c90cc
call fcn.004c6e6c
mov dword [0x51cfbc], eax
mov eax, 0x4c90e4
call fcn.004c6e6c
mov dword [0x51cfc0], eax
mov eax, 0x4c90fc
call fcn.004c6e6c
mov dword [0x51cfc4], eax
mov eax, 0x4c9114
call fcn.004c6e6c
mov dword [0x51cfc8], eax
mov eax, 0x4c912c
call fcn.004c6e6c
mov dword [0x51cfcc], eax
mov eax, 0x4c9140
call fcn.004c6e6c
mov dword [0x51cfd0], eax
mov eax, 0x4c9160
call fcn.004c6e6c
mov dword [0x51cfd4], eax
mov eax, 0x4c9178
call fcn.004c6e6c
mov dword [0x51cfd8], eax
mov eax, 0x4c9194
call fcn.004c6e6c
mov dword [0x51cfdc], eax
mov eax, 0x4c91ac
call fcn.004c6e6c
mov dword [0x51cfe0], eax
mov eax, 0x4c91c4
call fcn.004c6e6c
mov dword [0x51cfe4], eax
mov eax, 0x4c91e0
call fcn.004c6e6c
mov dword [0x51cfe8], eax
mov eax, 0x4c91fc
call fcn.004c6e6c
mov dword [0x51cfec], eax
mov eax, 0x4c9210
call fcn.004c6e6c
mov dword [0x51cff0], eax
mov eax, 0x4c9224
call fcn.004c6e6c
mov dword [0x51cff4], eax
mov eax, 0x4c923c
call fcn.004c6e6c
mov dword [0x51cff8], eax
mov eax, 0x4c9254
call fcn.004c6e6c
mov dword [0x51cffc], eax
mov eax, 0x4c926c
call fcn.004c6e6c
mov dword [0x51d000], eax
mov eax, 0x4c9284
call fcn.004c6e6c
mov dword [0x51d004], eax
mov eax, 0x4c9298
call fcn.004c6e6c
mov dword [0x51d008], eax
mov eax, 0x4c92b4
call fcn.004c6e6c
mov dword [0x51d00c], eax
mov eax, 0x4c92cc
call fcn.004c6e6c
mov dword [0x51d010], eax
mov eax, 0x4c92e4
call fcn.004c6e6c
mov dword [0x51d014], eax
mov eax, 0x4c9300
call fcn.004c6e6c
mov dword [0x51d018], eax
mov eax, 0x4c9318
call fcn.004c6e6c
mov dword [0x51d01c], eax
mov eax, 0x4c9330
call fcn.004c6e6c
mov dword [0x51d020], eax
mov eax, 0x4c9348
call fcn.004c6e6c
mov dword [0x51d024], eax
mov eax, 0x4c9360
call fcn.004c6e6c
mov dword [0x51d028], eax
mov eax, 0x4c9378
call fcn.004c6e6c
mov dword [0x51d02c], eax
mov eax, 0x4c9394
call fcn.004c6e6c
mov dword [0x51d030], eax
mov eax, 0x4c93ac
call fcn.004c6e6c
mov dword [0x51d034], eax
mov eax, 0x4c93c8
call fcn.004c6e6c
mov dword [0x51d038], eax
mov eax, 0x4c93e0
call fcn.004c6e6c
mov dword [0x51d03c], eax
mov eax, 0x4c93f8
call fcn.004c6e6c
mov dword [0x51d040], eax
mov eax, 0x4c9414
call fcn.004c6e6c
mov dword [0x51d044], eax
mov eax, 0x4c942c
call fcn.004c6e6c
mov dword [0x51d048], eax
mov eax, 0x4c9444
call fcn.004c6e6c
mov dword [0x51d04c], eax
mov eax, 0x4c9460
call fcn.004c6e6c
mov dword [0x51d050], eax
mov eax, 0x4c9478
call fcn.004c6e6c
mov dword [0x51d054], eax
mov eax, 0x4c948c
call fcn.004c6e6c
mov dword [0x51d058], eax
mov eax, 0x4c94ac
call fcn.004c6e6c
mov dword [0x51d05c], eax
mov eax, 0x4c94cc
call fcn.004c6e6c
mov dword [0x51d060], eax
mov eax, 0x4c94ec
call fcn.004c6e6c
mov dword [0x51d064], eax
mov eax, 0x4c9500
call fcn.004c6e6c
mov dword [0x51d068], eax
mov eax, 0x4c9518
call fcn.004c6e6c
mov dword [0x51d06c], eax
mov eax, 0x4c9534
call fcn.004c6e6c
mov dword [0x51d070], eax
mov eax, 0x4c9550
call fcn.004c6e6c
mov dword [0x51d074], eax
mov eax, 0x4c956c
call fcn.004c6e6c
mov dword [0x51d078], eax
mov eax, 0x4c9584
call fcn.004c6e6c
mov dword [0x51d07c], eax
mov eax, 0x4c95a0
call fcn.004c6e6c
mov dword [0x51d080], eax
mov eax, 0x4c95bc
call fcn.004c6e6c
mov dword [0x51d084], eax
mov eax, 0x4c95d4
call fcn.004c6e6c
mov dword [0x51d088], eax
mov eax, 0x4c95ec
call fcn.004c6e6c
mov dword [0x51d08c], eax
mov eax, 0x4c9608
call fcn.004c6e6c
mov dword [0x51d090], eax
mov eax, 0x4c9624
call fcn.004c6e6c
mov dword [0x51d094], eax
mov eax, 0x4c9638
call fcn.004c6e6c
mov dword [0x51d098], eax
mov eax, 0x4c964c
call fcn.004c6e6c
mov dword [0x51d09c], eax
cmp byte [0x51d284], 0
je 0x4c8ae4
mov eax, 0x4c9660
call fcn.004c6e6c
mov dword [0x51d0a0], eax
mov eax, 0x4c9678
call fcn.004c6e6c
mov dword [0x51d0a4], eax
mov eax, 0x4c9690
call fcn.004c6e6c
mov dword [0x51d0a8], eax
mov eax, 0x4c96a8
call fcn.004c6e6c
mov dword [0x51d0ac], eax
mov eax, 0x4c96c0
call fcn.004c6e6c
mov dword [0x51d0b0], eax
mov eax, 0x4c96d8
call fcn.004c6e6c
mov dword [0x51d0b4], eax
mov eax, 0x4c96f0
call fcn.004c6e6c
mov dword [0x51d0b8], eax
mov eax, 0x4c9708
call fcn.004c6e6c
mov dword [0x51d0bc], eax
mov eax, 0x4c9720
call fcn.004c6e6c
mov dword [0x51d0c0], eax
mov eax, 0x4c9738
call fcn.004c6e6c
mov dword [0x51d0c4], eax
mov eax, 0x4c9754
call fcn.004c6e6c
mov dword [0x51d0c8], eax
mov eax, 0x4c976c
call fcn.004c6e6c
mov dword [0x51d0cc], eax
mov eax, 0x4c978c
call fcn.004c6e6c
mov dword [0x51d0d0], eax
mov eax, 0x4c97ac
call fcn.004c6e6c
mov dword [0x51d0d4], eax
mov eax, 0x4c97c8
call fcn.004c6e6c
mov dword [0x51d0d8], eax
mov eax, 0x4c97e4
call fcn.004c6e6c
mov dword [0x51d0dc], eax
mov eax, 0x4c9800
call fcn.004c6e6c
mov dword [0x51d0e0], eax
mov eax, 0x4c9818
call fcn.004c6e6c
mov dword [0x51d0e4], eax
mov eax, 0x4c9834
call fcn.004c6e6c
mov dword [0x51d0e8], eax
mov eax, 0x4c9858
call fcn.004c6e6c
mov dword [0x51d0ec], eax
mov eax, 0x4c9874
call fcn.004c6e6c
mov dword [0x51d0f0], eax
mov eax, 0x4c988c
call fcn.004c6e6c
mov dword [0x51d0f4], eax
mov eax, 0x4c98a4
call fcn.004c6e6c
mov dword [0x51d0f8], eax
mov eax, 0x4c98c4
call fcn.004c6e6c
mov dword [0x51d0fc], eax
mov eax, 0x4c98e0
call fcn.004c6e6c
mov dword [0x51d100], eax
mov eax, 0x4c98fc
call fcn.004c6e6c
mov dword [0x51d104], eax
mov eax, 0x4c9918
call fcn.004c6e6c
mov dword [0x51d108], eax
mov eax, 0x4c9930
call fcn.004c6e6c
mov dword [0x51d10c], eax
mov eax, 0x4c9950
call fcn.004c6e6c
mov dword [0x51d110], eax
mov eax, 0x4c9968
call fcn.004c6e6c
mov dword [0x51d114], eax
mov eax, 0x4c9980
call fcn.004c6e6c
mov dword [0x51d118], eax
mov eax, 0x4c9998
call fcn.004c6e6c
mov dword [0x51d11c], eax
mov eax, 0x4c99b0
call fcn.004c6e6c
mov dword [0x51d120], eax
mov eax, 0x4c99c8
call fcn.004c6e6c
mov dword [0x51d124], eax
mov eax, 0x4c99e4
call fcn.004c6e6c
mov dword [0x51d128], eax
mov eax, 0x4c99fc
call fcn.004c6e6c
mov dword [0x51d12c], eax
mov eax, 0x4c9a10
call fcn.004c6e6c
mov dword [0x51d130], eax
mov eax, 0x4c9a24
call fcn.004c6e6c
mov dword [0x51d134], eax
mov eax, 0x4c9a38
call fcn.004c6e6c
mov dword [0x51d138], eax
mov eax, 0x4c9a50
call fcn.004c6e6c
mov dword [0x51d13c], eax
mov eax, 0x4c9a68
call fcn.004c6e6c
mov dword [0x51d140], eax
mov eax, 0x4c9a80
call fcn.004c6e6c
mov dword [0x51d144], eax
mov eax, 0x4c9a98
call fcn.004c6e6c
mov dword [0x51d148], eax
mov eax, 0x4c9ab0
call fcn.004c6e6c
mov dword [0x51d14c], eax
mov eax, 0x4c9ac8
call fcn.004c6e6c
mov dword [0x51d150], eax
mov eax, 0x4c9ae0
call fcn.004c6e6c
mov dword [0x51d154], eax
mov eax, 0x4c9af8
call fcn.004c6e6c
mov dword [0x51d158], eax
mov eax, 0x4c9b10
call fcn.004c6e6c
mov dword [0x51d15c], eax
mov eax, 0x4c9b2c
call fcn.004c6e6c
mov dword [0x51d160], eax
mov eax, 0x4c9b48
call fcn.004c6e6c
mov dword [0x51d164], eax
mov eax, 0x4c9b64
call fcn.004c6e6c
mov dword [0x51d168], eax
mov eax, 0x4c9b7c
call fcn.004c6e6c
mov dword [0x51d16c], eax
mov eax, 0x4c9b94
call fcn.004c6e6c
mov dword [0x51d170], eax
mov eax, 0x4c9bac
call fcn.004c6e6c
mov dword [0x51d174], eax
mov eax, 0x4c9bc4
call fcn.004c6e6c
mov dword [0x51d178], eax
mov eax, 0x4c9bd8
call fcn.004c6e6c
mov dword [0x51d17c], eax
mov eax, 0x4c9bf0
call fcn.004c6e6c
mov dword [0x51d180], eax
mov eax, 0x4c9c08
call fcn.004c6e6c
mov dword [0x51d184], eax
mov eax, 0x4c9c1c
call fcn.004c6e6c
mov dword [0x51d188], eax
mov eax, 0x4c9c38
call fcn.004c6e6c
mov dword [0x51d18c], eax
mov eax, 0x4c9c50
call fcn.004c6e6c
mov dword [0x51d190], eax
mov eax, 0x4c9c6c
call fcn.004c6e6c
mov dword [0x51d194], eax
mov eax, 0x4c9c84
call fcn.004c6e6c
mov dword [0x51d198], eax
mov eax, 0x4c9c9c
call fcn.004c6e6c
mov dword [0x51d19c], eax
mov eax, 0x4c9cb4
call fcn.004c6e6c
mov dword [0x51d1a0], eax
mov eax, 0x4c9ccc
call fcn.004c6e6c
mov dword [0x51d1a4], eax
mov eax, 0x4c9ce4
call fcn.004c6e6c
mov dword [0x51d1a8], eax
mov eax, 0x4c9cfc
call fcn.004c6e6c
mov dword [0x51d1ac], eax
mov eax, 0x4c9d14
call fcn.004c6e6c
mov dword [0x51d1b0], eax
mov eax, 0x4c9d2c
call fcn.004c6e6c
mov dword [0x51d1b4], eax
mov eax, 0x4c9d44
call fcn.004c6e6c
mov dword [0x51d1b8], eax
cmp word [0x51d280], 0x1fa4
jb 0x4c8b98
mov eax, 0x4c9d5c
call fcn.004c6e6c
mov dword [0x51d1bc], eax
mov eax, 0x4c9d74
call fcn.004c6e6c
mov dword [0x51d1c0], eax
mov eax, 0x4c9d8c
call fcn.004c6e6c
mov dword [0x51d1c4], eax
mov eax, 0x4c9db0
call fcn.004c6e6c
mov dword [0x51d1c8], eax
mov eax, 0x4c9dd4
call fcn.004c6e6c
mov dword [0x51d1cc], eax
mov eax, 0x4c9df8
call fcn.004c6e6c
mov dword [0x51d1d0], eax
mov eax, 0x4c9e18
call fcn.004c6e6c
mov dword [0x51d1d4], eax
mov eax, 0x4c9e3c
call fcn.004c6e6c
mov dword [0x51d1d8], eax
mov eax, 0x4c9e58
call fcn.004c6e6c
mov dword [0x51d1dc], eax
mov eax, 0x4c9e78
call fcn.004c6e6c
mov dword [0x51d1e0], eax
mov eax, 0x4c9e94
call fcn.004c6e6c
mov dword [0x51d1e4], eax
cmp word [0x51d280], 0x2328
jb 0x4c8db4
mov eax, 0x4c9eb4
call fcn.004c6e6c
mov dword [0x51d1e8], eax
mov eax, 0x4c9ed4
call fcn.004c6e6c
mov dword [0x51d1ec], eax
mov eax, 0x4c9ef0
call fcn.004c6e6c
mov dword [0x51d1f0], eax
mov eax, 0x4c9f0c
call fcn.004c6e6c
mov dword [0x51d1f4], eax
mov eax, 0x4c9f28
call fcn.004c6e6c
mov dword [0x51d1f8], eax
mov eax, 0x4c9f44
call fcn.004c6e6c
mov dword [0x51d1fc], eax
mov eax, 0x4c9f60
call fcn.004c6e6c
mov dword [0x51d200], eax
mov eax, 0x4c9f88
call fcn.004c6e6c
mov dword [0x51d204], eax
mov eax, 0x4c9fac
call fcn.004c6e6c
mov dword [0x51d208], eax
mov eax, 0x4c9fc8
call fcn.004c6e6c
mov dword [0x51d20c], eax
mov eax, 0x4c9fe4
call fcn.004c6e6c
mov dword [0x51d210], eax
mov eax, 0x4ca000
call fcn.004c6e6c
mov dword [0x51d214], eax
mov eax, 0x4ca01c
call fcn.004c6e6c
mov dword [0x51d218], eax
mov eax, 0x4ca038
call fcn.004c6e6c
mov dword [0x51d21c], eax
mov eax, 0x4ca054
call fcn.004c6e6c
mov dword [0x51d220], eax
mov eax, 0x4ca070
call fcn.004c6e6c
mov dword [0x51d224], eax
mov eax, 0x4ca090
call fcn.004c6e6c
mov dword [0x51d228], eax
mov eax, 0x4ca0b0
call fcn.004c6e6c
mov dword [0x51d22c], eax
mov eax, 0x4ca0d0
call fcn.004c6e6c
mov dword [0x51d230], eax
mov eax, 0x4ca0f0
call fcn.004c6e6c
mov dword [0x51d234], eax
mov eax, 0x4ca110
call fcn.004c6e6c
mov dword [0x51d238], eax
mov eax, 0x4ca128
call fcn.004c6e6c
mov dword [0x51d23c], eax
mov eax, 0x4ca148
call fcn.004c6e6c
mov dword [0x51d240], eax
mov eax, 0x4ca164
call fcn.004c6e6c
mov dword [0x51d244], eax
mov eax, 0x4ca180
call fcn.004c6e6c
mov dword [0x51d248], eax
mov eax, 0x4ca19c
call fcn.004c6e6c
mov dword [0x51d24c], eax
mov eax, 0x4ca1bc
call fcn.004c6e6c
mov dword [0x51d250], eax
mov eax, 0x4ca1d8
call fcn.004c6e6c
mov dword [0x51d254], eax
mov eax, 0x4ca1f4
call fcn.004c6e6c
mov dword [0x51d258], eax
mov eax, 0x4ca210
call fcn.004c6e6c
mov dword [0x51d25c], eax
mov eax, 0x4ca230
call fcn.004c6e6c
mov dword [0x51d260], eax
mov eax, 0x4ca244
call fcn.004c6e6c
mov dword [0x51d270], eax
mov eax, 0x4ca25c
call fcn.004c6ed4
mov dword [0x51d264], eax
mov eax, 0x4ca27c
call fcn.004c6ed4
mov dword [0x51d268], eax
mov eax, 0x4ca294
call fcn.004c6ed4
mov dword [0x51d26c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c8dd6
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00404160
ret