Function at 0x5084c4
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 0x509353
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00507bc0
cmp dword [0x55e980], 1
jle 0x508532
cmp dword [0x55e978], 0
je 0x508532
lea eax, [ebp - 4]
call fcn.00507490
lea edx, [ebp - 8]
mov eax, dword [0x55e954]
call fcn.0040b260
push dword [ebp - 8]
push 0x509368
push dword [ebp - 4]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00405414
mov eax, dword [ebp - 4]
call fcn.00405554
push eax
push 0x50936c
call sub.kernel32.dll_SetEnvironmentVariableA
push 8
push 0
mov eax, dword [0x55e954]
call fcn.00405554
push eax
call sub.kernel32.dll_LoadLibraryExA_1
mov dword [0x55ea08], eax
cmp word [0x55e960], 0x2328
jb 0x50856f
push 8
push 0
mov eax, dword [0x55e958]
call fcn.00405554
push eax
call sub.kernel32.dll_LoadLibraryExA_1
mov dword [0x55ea0c], eax
cmp dword [0x55ea08], 0
jne 0x5085b4
lea eax, [ebp - 4]
mov edx, dword [0x55e954]
call fcn.00405128
mov eax, 0x55e954
call fcn.00405090
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, 0x50937c
call fcn.004053a0
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x408da8]
call fcn.0040f1dc
call fcn.00404a04
cmp word [0x55e960], 0x2328
jb 0x508604
cmp dword [0x55ea0c], 0
jne 0x508604
lea eax, [ebp - 4]
mov edx, dword [0x55e958]
call fcn.00405128
mov eax, 0x55e958
call fcn.00405090
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov edx, 0x50939c
call fcn.004053a0
mov ecx, dword [ebp - 0x10]
mov dl, 1
mov eax, dword [0x408da8]
call fcn.0040f1dc
call fcn.00404a04
test byte [0x55e963], 2
je 0x50883c
mov eax, 0x5093b4
call fcn.005073c0
mov dword [0x55e5e4], eax
mov eax, 0x5093c4
call fcn.005073c0
mov dword [0x55e5e8], eax
mov eax, 0x5093d4
call fcn.005073c0
mov dword [0x55e5ec], eax
mov eax, 0x5093e4
call fcn.005073c0
mov dword [0x55e5f0], eax
mov eax, 0x5093f4
call fcn.005073c0
mov dword [0x55e5f4], eax
mov eax, 0x509404
call fcn.005073c0
mov dword [0x55e5f8], eax
mov eax, 0x509414
call fcn.005073c0
mov dword [0x55e5fc], eax
mov eax, 0x509424
call fcn.005073c0
mov dword [0x55e600], eax
mov eax, 0x509434
call fcn.005073c0
mov dword [0x55e604], eax
mov eax, 0x509444
call fcn.005073c0
mov dword [0x55e608], eax
mov eax, 0x509454
call fcn.005073c0
mov dword [0x55e60c], eax
mov eax, 0x509464
call fcn.005073c0
mov dword [0x55e610], eax
mov eax, 0x509478
call fcn.005073c0
mov dword [0x55e614], eax
mov eax, 0x509488
call fcn.005073c0
mov dword [0x55e618], eax
mov eax, 0x509498
call fcn.005073c0
mov dword [0x55e61c], eax
mov eax, 0x5094a8
call fcn.005073c0
mov dword [0x55e620], eax
mov eax, 0x5094b8
call fcn.005073c0
mov dword [0x55e624], eax
mov eax, 0x5094c8
call fcn.005073c0
mov dword [0x55e628], eax
mov eax, 0x5094d8
call fcn.005073c0
mov dword [0x55e62c], eax
mov eax, 0x5094e8
call fcn.005073c0
mov dword [0x55e630], eax
mov eax, 0x5094f8
call fcn.005073c0
mov dword [0x55e634], eax
mov eax, 0x509508
call fcn.005073c0
mov dword [0x55e638], eax
mov eax, 0x509518
call fcn.005073c0
mov dword [0x55e63c], eax
mov eax, 0x509528
call fcn.005073c0
mov dword [0x55e640], eax
mov eax, 0x509538
call fcn.005073c0
mov dword [0x55e644], eax
mov eax, 0x509548
call fcn.005073c0
mov dword [0x55e648], eax
mov eax, 0x509558
call fcn.005073c0
mov dword [0x55e64c], eax
mov eax, 0x509568
call fcn.005073c0
mov dword [0x55e650], eax
mov eax, 0x509578
call fcn.005073c0
mov dword [0x55e658], eax
mov eax, 0x509588
call fcn.005073c0
mov dword [0x55e654], eax
mov eax, 0x509598
call fcn.005073c0
mov dword [0x55e65c], eax
mov eax, 0x5095a8
call fcn.005073c0
mov dword [0x55e660], eax
mov eax, 0x5095b8
call fcn.005073c0
mov dword [0x55e664], eax
mov eax, 0x5095c8
call fcn.005073c0
mov dword [0x55e668], eax
mov eax, 0x5095d8
call fcn.005073c0
mov dword [0x55e66c], eax
mov eax, 0x5095e8
call fcn.005073c0
mov dword [0x55e670], eax
mov eax, 0x5095f8
call fcn.005073c0
mov dword [0x55e674], eax
test byte [0x55e963], 4
je 0x50904e
mov eax, 0x509608
call fcn.005073c0
mov dword [0x55e678], eax
mov eax, 0x509608
call fcn.005073c0
mov dword [0x55e67c], eax
mov eax, 0x50961c
call fcn.005073c0
mov dword [0x55e680], eax
mov eax, 0x50961c
call fcn.005073c0
mov dword [0x55e684], eax
mov eax, 0x50961c
call fcn.005073c0
mov dword [0x55e688], eax
mov eax, 0x509630
call fcn.005073c0
mov dword [0x55e68c], eax
mov eax, 0x509650
call fcn.005073c0
mov dword [0x55e690], eax
mov eax, 0x509668
call fcn.005073c0
mov dword [0x55e694], eax
mov eax, 0x509680
call fcn.005073c0
mov dword [0x55e698], eax
mov eax, 0x509698
call fcn.005073c0
mov dword [0x55e69c], eax
mov eax, 0x5096b0
call fcn.005073c0
mov dword [0x55e6a0], eax
mov eax, 0x5096c4
call fcn.005073c0
mov dword [0x55e6a4], eax
mov eax, 0x5096e4
call fcn.005073c0
mov dword [0x55e6a8], eax
mov eax, 0x5096fc
call fcn.005073c0
mov dword [0x55e6ac], eax
mov eax, 0x509718
call fcn.005073c0
mov dword [0x55e6b0], eax
mov eax, 0x509730
call fcn.005073c0
mov dword [0x55e6b4], eax
mov eax, 0x509748
call fcn.005073c0
mov dword [0x55e6b8], eax
mov eax, 0x509764
call fcn.005073c0
mov dword [0x55e6bc], eax
mov eax, 0x509780
call fcn.005073c0
mov dword [0x55e6c0], eax
mov eax, 0x509794
call fcn.005073c0
mov dword [0x55e6c4], eax
mov eax, 0x5097a8
call fcn.005073c0
mov dword [0x55e6c8], eax
mov eax, 0x5097c0
call fcn.005073c0
mov dword [0x55e6cc], eax
mov eax, 0x5097d8
call fcn.005073c0
mov dword [0x55e6d0], eax
mov eax, 0x5097f0
call fcn.005073c0
mov dword [0x55e6d4], eax
mov eax, 0x509808
call fcn.005073c0
mov dword [0x55e6d8], eax
mov eax, 0x50981c
call fcn.005073c0
mov dword [0x55e6dc], eax
mov eax, 0x509838
call fcn.005073c0
mov dword [0x55e6e0], eax
mov eax, 0x509850
call fcn.005073c0
mov dword [0x55e6e4], eax
mov eax, 0x509868
call fcn.005073c0
mov dword [0x55e6e8], eax
mov eax, 0x509884
call fcn.005073c0
mov dword [0x55e6ec], eax
mov eax, 0x50989c
call fcn.005073c0
mov dword [0x55e6f0], eax
mov eax, 0x5098b4
call fcn.005073c0
mov dword [0x55e6f4], eax
mov eax, 0x5098cc
call fcn.005073c0
mov dword [0x55e6f8], eax
mov eax, 0x5098e4
call fcn.005073c0
mov dword [0x55e6fc], eax
mov eax, 0x5098fc
call fcn.005073c0
mov dword [0x55e700], eax
mov eax, 0x509918
call fcn.005073c0
mov dword [0x55e704], eax
mov eax, 0x509930
call fcn.005073c0
mov dword [0x55e708], eax
mov eax, 0x50994c
call fcn.005073c0
mov dword [0x55e70c], eax
mov eax, 0x509964
call fcn.005073c0
mov dword [0x55e710], eax
mov eax, 0x50997c
call fcn.005073c0
mov dword [0x55e714], eax
mov eax, 0x509998
call fcn.005073c0
mov dword [0x55e718], eax
mov eax, 0x5099b0
call fcn.005073c0
mov dword [0x55e71c], eax
mov eax, 0x5099c8
call fcn.005073c0
mov dword [0x55e720], eax
mov eax, 0x5099e4
call fcn.005073c0
mov dword [0x55e724], eax
mov eax, 0x5099fc
call fcn.005073c0
mov dword [0x55e728], eax
mov eax, 0x509a10
call fcn.005073c0
mov dword [0x55e72c], eax
mov eax, 0x509a30
call fcn.005073c0
mov dword [0x55e730], eax
mov eax, 0x509a50
call fcn.005073c0
mov dword [0x55e734], eax
mov eax, 0x509a70
call fcn.005073c0
mov dword [0x55e738], eax
mov eax, 0x509a84
call fcn.005073c0
mov dword [0x55e73c], eax
mov eax, 0x509a9c
call fcn.005073c0
mov dword [0x55e740], eax
mov eax, 0x509ab8
call fcn.005073c0
mov dword [0x55e744], eax
mov eax, 0x509ad4
call fcn.005073c0
mov dword [0x55e748], eax
mov eax, 0x509af0
call fcn.005073c0
mov dword [0x55e74c], eax
mov eax, 0x509b08
call fcn.005073c0
mov dword [0x55e750], eax
mov eax, 0x509b24
call fcn.005073c0
mov dword [0x55e754], eax
mov eax, 0x509b40
call fcn.005073c0
mov dword [0x55e758], eax
mov eax, 0x509b58
call fcn.005073c0
mov dword [0x55e75c], eax
mov eax, 0x509b70
call fcn.005073c0
mov dword [0x55e760], eax
mov eax, 0x509b8c
call fcn.005073c0
mov dword [0x55e764], eax
mov eax, 0x509ba8
call fcn.005073c0
mov dword [0x55e768], eax
mov eax, 0x509bbc
call fcn.005073c0
mov dword [0x55e770], eax
mov eax, 0x509bd0
call fcn.005073c0
mov dword [0x55e774], eax
cmp byte [0x55e964], 0
je 0x50904e
mov eax, 0x509be4
call fcn.005073c0
mov dword [0x55e778], eax
mov eax, 0x509bfc
call fcn.005073c0
mov dword [0x55e77c], eax
mov eax, 0x509c14
call fcn.005073c0
mov dword [0x55e780], eax
mov eax, 0x509c2c
call fcn.005073c0
mov dword [0x55e784], eax
mov eax, 0x509c44
call fcn.005073c0
mov dword [0x55e788], eax
mov eax, 0x509c5c
call fcn.005073c0
mov dword [0x55e78c], eax
mov eax, 0x509c74
call fcn.005073c0
mov dword [0x55e790], eax
mov eax, 0x509c8c
call fcn.005073c0
mov dword [0x55e794], eax
mov eax, 0x509ca4
call fcn.005073c0
mov dword [0x55e798], eax
mov eax, 0x509cbc
call fcn.005073c0
mov dword [0x55e79c], eax
mov eax, 0x509cd8
call fcn.005073c0
mov dword [0x55e7a0], eax
mov eax, 0x509cf0
call fcn.005073c0
mov dword [0x55e7a4], eax
mov eax, 0x509d10
call fcn.005073c0
mov dword [0x55e7a8], eax
mov eax, 0x509d30
call fcn.005073c0
mov dword [0x55e7ac], eax
mov eax, 0x509d4c
call fcn.005073c0
mov dword [0x55e7b0], eax
mov eax, 0x509d68
call fcn.005073c0
mov dword [0x55e7b4], eax
mov eax, 0x509d84
call fcn.005073c0
mov dword [0x55e7b8], eax
mov eax, 0x509d9c
call fcn.005073c0
mov dword [0x55e7bc], eax
mov eax, 0x509db8
call fcn.005073c0
mov dword [0x55e7c0], eax
mov eax, 0x509ddc
call fcn.005073c0
mov dword [0x55e7c4], eax
mov eax, 0x509df8
call fcn.005073c0
mov dword [0x55e7c8], eax
mov eax, 0x509e10
call fcn.005073c0
mov dword [0x55e7cc], eax
mov eax, 0x509e28
call fcn.005073c0
mov dword [0x55e7d0], eax
mov eax, 0x509e48
call fcn.005073c0
mov dword [0x55e7d4], eax
mov eax, 0x509e64
call fcn.005073c0
mov dword [0x55e7d8], eax
mov eax, 0x509e80
call fcn.005073c0
mov dword [0x55e7dc], eax
mov eax, 0x509e9c
call fcn.005073c0
mov dword [0x55e7e0], eax
mov eax, 0x509eb4
call fcn.005073c0
mov dword [0x55e7e4], eax
mov eax, 0x509ed4
call fcn.005073c0
mov dword [0x55e7e8], eax
mov eax, 0x509eec
call fcn.005073c0
mov dword [0x55e7ec], eax
mov eax, 0x509f04
call fcn.005073c0
mov dword [0x55e7f0], eax
mov eax, 0x509f1c
call fcn.005073c0
mov dword [0x55e7f4], eax
mov eax, 0x509f34
call fcn.005073c0
mov dword [0x55e7f8], eax
mov eax, 0x509f4c
call fcn.005073c0
mov dword [0x55e7fc], eax
mov eax, 0x509f68
call fcn.005073c0
mov dword [0x55e800], eax
mov eax, 0x509f80
call fcn.005073c0
mov dword [0x55e804], eax
mov eax, 0x509f94
call fcn.005073c0
mov dword [0x55e808], eax
mov eax, 0x509fa8
call fcn.005073c0
mov dword [0x55e80c], eax
mov eax, 0x509fbc
call fcn.005073c0
mov dword [0x55e810], eax
mov eax, 0x509fd4
call fcn.005073c0
mov dword [0x55e814], eax
mov eax, 0x509fec
call fcn.005073c0
mov dword [0x55e818], eax
mov eax, 0x50a004
call fcn.005073c0
mov dword [0x55e81c], eax
mov eax, 0x50a01c
call fcn.005073c0
mov dword [0x55e820], eax
mov eax, 0x50a034
call fcn.005073c0
mov dword [0x55e824], eax
mov eax, 0x50a04c
call fcn.005073c0
mov dword [0x55e828], eax
mov eax, 0x50a064
call fcn.005073c0
mov dword [0x55e82c], eax
mov eax, 0x50a07c
call fcn.005073c0
mov dword [0x55e830], eax
mov eax, 0x50a094
call fcn.005073c0
mov dword [0x55e834], eax
mov eax, 0x50a0b0
call fcn.005073c0
mov dword [0x55e838], eax
mov eax, 0x50a0cc
call fcn.005073c0
mov dword [0x55e83c], eax
mov eax, 0x50a0e8
call fcn.005073c0
mov dword [0x55e840], eax
mov eax, 0x50a100
call fcn.005073c0
mov dword [0x55e844], eax
mov eax, 0x50a11c
call fcn.005073c0
mov dword [0x55e848], eax
mov eax, 0x50a134
call fcn.005073c0
mov dword [0x55e84c], eax
mov eax, 0x50a14c
call fcn.005073c0
mov dword [0x55e850], eax
mov eax, 0x50a164
call fcn.005073c0
mov dword [0x55e854], eax
mov eax, 0x50a17c
call fcn.005073c0
mov dword [0x55e858], eax
mov eax, 0x50a190
call fcn.005073c0
mov dword [0x55e85c], eax
mov eax, 0x50a1a8
call fcn.005073c0
mov dword [0x55e860], eax
mov eax, 0x50a1c0
call fcn.005073c0
mov dword [0x55e864], eax
mov eax, 0x50a1d4
call fcn.005073c0
mov dword [0x55e868], eax
mov eax, 0x50a1f0
call fcn.005073c0
mov dword [0x55e86c], eax
mov eax, 0x50a208
call fcn.005073c0
mov dword [0x55e870], eax
mov eax, 0x50a224
call fcn.005073c0
mov dword [0x55e874], eax
mov eax, 0x50a23c
call fcn.005073c0
mov dword [0x55e878], eax
mov eax, 0x50a254
call fcn.005073c0
mov dword [0x55e87c], eax
mov eax, 0x50a26c
call fcn.005073c0
mov dword [0x55e880], eax
mov eax, 0x50a284
call fcn.005073c0
mov dword [0x55e884], eax
mov eax, 0x50a29c
call fcn.005073c0
mov dword [0x55e888], eax
mov eax, 0x50a2b4
call fcn.005073c0
mov dword [0x55e88c], eax
mov eax, 0x50a2cc
call fcn.005073c0
mov dword [0x55e890], eax
mov eax, 0x50a2e4
call fcn.005073c0
mov dword [0x55e894], eax
mov eax, 0x50a2fc
call fcn.005073c0
mov dword [0x55e898], eax
cmp word [0x55e960], 0x1fa4
jb 0x509102
mov eax, 0x50a314
call fcn.005073c0
mov dword [0x55e89c], eax
mov eax, 0x50a32c
call fcn.005073c0
mov dword [0x55e8a0], eax
mov eax, 0x50a344
call fcn.005073c0
mov dword [0x55e8a4], eax
mov eax, 0x50a368
call fcn.005073c0
mov dword [0x55e8a8], eax
mov eax, 0x50a38c
call fcn.005073c0
mov dword [0x55e8ac], eax
mov eax, 0x50a3b0
call fcn.005073c0
mov dword [0x55e8b0], eax
mov eax, 0x50a3d0
call fcn.005073c0
mov dword [0x55e8b4], eax
mov eax, 0x50a3f4
call fcn.005073c0
mov dword [0x55e8b8], eax
mov eax, 0x50a410
call fcn.005073c0
mov dword [0x55e8bc], eax
mov eax, 0x50a430
call fcn.005073c0
mov dword [0x55e8c0], eax
mov eax, 0x50a44c
call fcn.005073c0
mov dword [0x55e8c4], eax
cmp word [0x55e960], 0x2328
jb 0x50931e
mov eax, 0x50a46c
call fcn.005073c0
mov dword [0x55e8c8], eax
mov eax, 0x50a48c
call fcn.005073c0
mov dword [0x55e8cc], eax
mov eax, 0x50a4a8
call fcn.005073c0
mov dword [0x55e8d0], eax
mov eax, 0x50a4c4
call fcn.005073c0
mov dword [0x55e8d4], eax
mov eax, 0x50a4e0
call fcn.005073c0
mov dword [0x55e8d8], eax
mov eax, 0x50a4fc
call fcn.005073c0
mov dword [0x55e8dc], eax
mov eax, 0x50a518
call fcn.005073c0
mov dword [0x55e8e0], eax
mov eax, 0x50a540
call fcn.005073c0
mov dword [0x55e8e4], eax
mov eax, 0x50a564
call fcn.005073c0
mov dword [0x55e8e8], eax
mov eax, 0x50a580
call fcn.005073c0
mov dword [0x55e8ec], eax
mov eax, 0x50a59c
call fcn.005073c0
mov dword [0x55e8f0], eax
mov eax, 0x50a5b8
call fcn.005073c0
mov dword [0x55e8f4], eax
mov eax, 0x50a5d4
call fcn.005073c0
mov dword [0x55e8f8], eax
mov eax, 0x50a5f0
call fcn.005073c0
mov dword [0x55e8fc], eax
mov eax, 0x50a60c
call fcn.005073c0
mov dword [0x55e900], eax
mov eax, 0x50a628
call fcn.005073c0
mov dword [0x55e904], eax
mov eax, 0x50a648
call fcn.005073c0
mov dword [0x55e908], eax
mov eax, 0x50a668
call fcn.005073c0
mov dword [0x55e90c], eax
mov eax, 0x50a688
call fcn.005073c0
mov dword [0x55e910], eax
mov eax, 0x50a6a8
call fcn.005073c0
mov dword [0x55e914], eax
mov eax, 0x50a6c8
call fcn.005073c0
mov dword [0x55e918], eax
mov eax, 0x50a6e0
call fcn.005073c0
mov dword [0x55e91c], eax
mov eax, 0x50a700
call fcn.005073c0
mov dword [0x55e920], eax
mov eax, 0x50a71c
call fcn.005073c0
mov dword [0x55e924], eax
mov eax, 0x50a738
call fcn.005073c0
mov dword [0x55e928], eax
mov eax, 0x50a754
call fcn.005073c0
mov dword [0x55e92c], eax
mov eax, 0x50a774
call fcn.005073c0
mov dword [0x55e930], eax
mov eax, 0x50a790
call fcn.005073c0
mov dword [0x55e934], eax
mov eax, 0x50a7ac
call fcn.005073c0
mov dword [0x55e938], eax
mov eax, 0x50a7c8
call fcn.005073c0
mov dword [0x55e93c], eax
mov eax, 0x50a7e8
call fcn.005073c0
mov dword [0x55e940], eax
mov eax, 0x50a7fc
call fcn.005073c0
mov dword [0x55e950], eax
mov eax, 0x50a814
call fcn.00507428
mov dword [0x55e944], eax
mov eax, 0x50a834
call fcn.00507428
mov dword [0x55e948], eax
mov eax, 0x50a84c
call fcn.00507428
mov dword [0x55e94c], eax
cmp word [0x55e960], 0x2710
jb 0x509338
mov eax, 0x50a864
call fcn.005073c0
mov dword [0x55e76c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50935a
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004050b4
ret