Function at 0x10041390
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
push esi
mov eax, 0xb0c7
mov word [ebp - 0x3c], ax
mov ecx, dword [0x100811b0]
mov edx, dword [0x100811b4]
mov dword [ebp - 0x7c], edx
mov byte [ebp - 3], cl
xor eax, eax
mov dword [ebp - 0x30], 0xdf
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x10081190]
mov dword [ebp - 0x80], ecx
mov edx, 0xb18f
mov word [ebp - 0x40], dx
movsx eax, word [0x10081180]
mov dword [ebp - 0x84], eax
mov ecx, dword [0x10081130]
mov edx, dword [0x10081134]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x58], ecx
mov eax, 0xf0
mov word [ebp - 0x44], ax
mov dword [ebp - 0x5c], 0xd8409223
mov ecx, dword [0x100811a4]
xor edx, edx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], edx
xor eax, eax
mov dword [ebp - 0x20], 0x2e4e1313
mov dword [ebp - 0x1c], eax
mov cl, byte [0x10081140]
mov byte [ebp - 9], cl
mov edx, dword [0x10081168]
mov eax, dword [0x1008116c]
mov dword [ebp - 0x60], eax
mov byte [ebp - 0xa], dl
mov ecx, 0xf559
mov word [ebp - 8], cx
mov dl, byte [0x10081170]
mov byte [ebp - 2], dl
mov al, byte [0x10081063]
mov byte [ebp - 0xf], al
movsx eax, word [0x100811b8]
cdq
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x28], 0x479c7c2b
mov dword [ebp - 0x64], 0x9e
mov ecx, dword [0x100811e8]
mov edx, dword [0x100811ec]
mov dword [ebp - 0x68], edx
mov byte [ebp - 0xb], cl
mov eax, dword [0x10081100]
mov ecx, dword [0x10081104]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
mov edx, 0xffffc7c3
mov word [ebp - 0x14], dx
mov eax, dword [0x100811e8]
mov ecx, dword [0x100811ec]
mov dword [ebp - 0x6c], ecx
mov word [ebp - 0x18], ax
mov byte [ebp - 1], 0xf
mov dl, byte [0x100811a4]
mov byte [ebp - 0xc], dl
xor eax, eax
mov dword [ebp - 0xa4], 0xb24c160a
mov dword [ebp - 0xa0], eax
mov ecx, 0xca5c9
mov dword [ebp - 0xac], 0x2d73a664
mov dword [ebp - 0xa8], ecx
mov eax, dword [0x100811ac]
cdq
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x70], 0x6587
mov dl, byte [0x100811a4]
mov byte [ebp - 0xd], dl
mov eax, dword [0x10081198]
mov ecx, dword [0x1008119c]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], ecx
movsx eax, word [0x10081184]
cdq
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
movzx dx, byte [0x10081063]
mov word [ebp - 0x48], dx
movzx eax, byte [0x10081027]
cdq
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
movsx eax, word [0x1008115c]
mov dword [ebp - 0x74], eax
mov cx, word [0x100811a0]
mov word [ebp - 0x4c], cx
mov byte [ebp - 0xe], 0xbb
mov dword [ebp - 0x78], 0xac19
mov edx, 0xd1
mov word [ebp - 0x50], dx
xor eax, eax
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x2c], eax
imul ecx, dword [0x100811f0], 0x58ee0125
xor edx, edx
mov dword [0x100811d0], ecx
mov dword [0x100811d4], edx
movzx eax, word [0x100811a8]
movsx ecx, byte [0x1008108b]
sub eax, ecx
movzx edx, word [0x100811a8]
add edx, eax
mov word [0x100811a8], dx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], 0
ja 0x10041717
jb 0x100415ec
cmp dword [ebp - 0x38], 4
ja 0x10041717
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd4]
jmp dword [eax*4 + 0x1004172c]
push str.C:NonExistentPath
push str.TEMP
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
pop esi
mov esp, ebp
pop ebp
ret