Function at 0x450960
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x38
mov eax, dword [0x5599f4]
mov ebx, edx
mov edi, ecx
lea esi, [ebp - 0x28]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push edi
push esi
call fcn.0041a7c0
add esp, 0xc
cmp dword [ebp - 0x14], 7
jbe 0x45098e
mov esi, dword [ebp - 0x28]
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ecx, dword [ebp - 0x14]
mov esi, eax
cmp ecx, 8
jb 0x4509e3
inc ecx
js 0x450c0c
mov eax, dword [ebp - 0x28]
add ecx, ecx
cmp ecx, 0x1000
jb 0x4509da
test al, 0x1f
jne 0x450c0c
mov ecx, dword [eax - 4]
cmp ecx, eax
jae 0x450c0c
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
mov eax, ecx
jae 0x450c0c
push eax
call fcn.004d4c09
add esp, 4
test esi, esi
je 0x450abd
cmp dword [ebp + 8], 0
je 0x450ac4
mov eax, esi
mov ecx, 0xffffffff
add eax, eax
cmovae ecx, eax
push ecx
call fcn.004d4c0e
add esp, 4
mov dword [ebp - 0x44], eax
mov eax, edi
lea edi, [ebp - 0x28]
push ebx
push eax
push edi
call fcn.0041a7c0
add esp, 0xc
cmp dword [ebp - 0x14], 7
jbe 0x450a26
mov edi, dword [ebp - 0x28]
push esi
push dword [ebp - 0x44]
push edi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ecx, dword [ebp - 0x14]
mov bl, 1
cmp ecx, 8
jb 0x450a7b
inc ecx
js 0x450c0c
mov eax, dword [ebp - 0x28]
add ecx, ecx
cmp ecx, 0x1000
jb 0x450a72
test al, 0x1f
jne 0x450c0c
mov ecx, dword [eax - 4]
cmp ecx, eax
jae 0x450c0c
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
mov eax, ecx
jae 0x450c0c
push eax
call fcn.004d4c09
add esp, 4
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], 0
push edi
call fcn.004dc2cd
add esp, 4
mov esi, eax
cmp esi, 7
jbe 0x450acb
sub esp, 0xc
mov al, byte [ebp - 0x28]
lea ecx, [ebp - 0x40]
mov byte [esp + 4], al
mov dword [esp + 8], edi
mov dword [esp], esi
call fcn.00401822
jmp 0x450ae7
xor ebx, ebx
jmp 0x450bf8
mov bl, 1
jmp 0x450bf8
mov eax, esi
mov dword [ebp - 0x30], esi
lea ecx, [ebp - 0x40]
add eax, eax
push eax
push edi
push ecx
call fcn.004d7b40
add esp, 0xc
mov word [ebp + esi*2 - 0x40], 0
lea eax, [ebp - 0x40]
lea esi, [ebp - 0x28]
push eax
push esi
call fcn.0041a550
add esp, 8
mov eax, dword [ebp + 8]
cmp esi, eax
mov esi, eax
mov ecx, dword [esi + 0x14]
je 0x450b70
cmp ecx, 0x10
jb 0x450b3f
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x450b36
test al, 0x1f
jne 0x450c0c
mov ecx, dword [eax - 4]
cmp ecx, eax
jae 0x450c0c
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
mov eax, ecx
jae 0x450c0c
push eax
call fcn.004d4c09
add esp, 4
movsd xmm0, qword [ebp - 0x18]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [ebp - 0x28]
movsd xmm1, qword [ebp - 0x20]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
jmp 0x450ba5
cmp ecx, 0x10
jb 0x450ba5
mov eax, dword [ebp - 0x28]
inc ecx
cmp ecx, 0x1000
jb 0x450b9c
test al, 0x1f
jne 0x450c0c
mov ecx, dword [eax - 4]
cmp ecx, eax
jae 0x450c0c
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
mov eax, ecx
jae 0x450c0c
push eax
call fcn.004d4c09
add esp, 4
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 8
jb 0x450bef
inc ecx
js 0x450c0c
mov eax, dword [ebp - 0x40]
add ecx, ecx
cmp ecx, 0x1000
jb 0x450be6
test al, 0x1f
jne 0x450c0c
mov ecx, dword [eax - 4]
cmp ecx, eax
jae 0x450c0c
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
mov eax, ecx
jae 0x450c0c
push eax
call fcn.004d4c09
add esp, 4
push edi
call fcn.004d4c17
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d4bc8
mov eax, ebx
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004dc775
int3