Function at 0x43e7eb
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
push ebx
push esi
mov esi, eax
push edi
lea eax, [esp + 0x20]
push eax
mov eax, esi
mov dword [esp + 0x24], 0x25
call fcn.0040a324
cmp eax, 0xffffffff
je 0x43eaf5
cmp dword [esi + 0x14], 8
jb 0x43e820
mov eax, dword [esi]
jmp 0x43e822
mov eax, esi
mov edi, dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push 0
push 0
push eax
call edi
push 0x34
pop ebx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
lea ecx, [edx + ecx + 0xf]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
sub ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
imul ecx, ecx, 0x36
add ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
lea ecx, [ecx + edx + 0x44]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
imul ecx, edx
mov edx, dword [esp + 0x10]
imul edx, edx, 0x52
sub ecx, edx
add ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
imul ecx, edx
mov edx, dword [esp + 0x10]
imul edx, edx, 0x4c
sub ecx, edx
mov edx, dword [esp + 0x10]
lea ecx, [ecx + edx - 0x51]
add ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
sub ecx, edx
mov dword [esp + 0x10], ecx
add dword [esp + 0x10], 0xffffffd9
add dword [esp + 0x10], 0x1c
test eax, eax
je 0x43ead8
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00412623
fld qword [0x47a9e0]
fstp qword [esp + 0x4c]
mov dword [esp + 0x20], eax
fld qword [0x47a9d8]
pop ecx
fstp qword [esp + 0x30]
fld qword [0x47a9d0]
fstp qword [esp + 0x40]
fld qword [0x47a9c8]
fstp qword [esp + 0x10]
fld qword [0x47a9c0]
fstp qword [esp + 0x28]
fld qword [0x47a9b8]
fstp qword [esp + 0x48]
fld qword [0x47a9b0]
fstp qword [esp + 0x38]
fld qword [esp + 0x30]
fcomp qword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x43e98b
fld qword [esp + 0x28]
fstp st(0)
fld qword [esp + 0x38]
fstp st(0)
fld qword [esp + 0x48]
fmul qword [esp + 0x10]
fsub qword [0x47a928]
fld qword [esp + 0x28]
fmul qword [esp + 0x10]
fmul qword [0x47a8f0]
faddp st(1)
fld qword [esp + 0x30]
fdiv qword [0x47a908]
faddp st(1)
fstp qword [esp + 0x40]
fld qword [esp + 0x38]
fmul qword [esp + 0x38]
fstp qword [esp + 0x48]
fld qword [esp + 0x28]
fmul qword [0x47a9a8]
fadd qword [esp + 0x10]
fadd qword [esp + 0x40]
fadd qword [0x47a9a0]
fadd qword [esp + 0x10]
fsub qword [esp + 0x30]
fld qword [esp + 0x28]
fmul qword [esp + 0x30]
fmul qword [esp + 0x10]
cmp dword [esi + 0x14], 8
faddp st(1)
fstp qword [esp + 0x38]
jb 0x43e9c7
mov eax, dword [esi]
jmp 0x43e9c9
mov eax, esi
push dword [esp + 0x24]
push dword [esp + 0x20]
push eax
call edi
test eax, eax
je 0x43e9eb
push dword [esp + 0x1c]
call fcn.00413fb6
pop ecx
mov ecx, dword [esp + 0x1c]
call fcn.00406170
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax + 0xf]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
imul eax, eax, 0x36
add eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
lea eax, [eax + ecx + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
imul eax, ecx
mov ecx, dword [esp + 0x10]
imul ecx, ecx, 0x52
sub eax, ecx
add eax, dword [esp + 0x10]
push dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
imul eax, ecx
mov ecx, dword [esp + 0x14]
imul ecx, ecx, 0x4c
sub eax, ecx
mov ecx, dword [esp + 0x14]
lea eax, [eax + ecx - 0x51]
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
sub eax, ecx
mov dword [esp + 0x14], eax
add dword [esp + 0x14], 0xffffffd9
add dword [esp + 0x14], 0x1c
call fcn.00413db4
mov dword [esp + 0x14], 0x32
mov eax, dword [esp + 0x14]
imul eax, eax, 0x49
cdq
pop ecx
push 0xa
pop ecx
idiv ecx
mov ecx, dword [esp + 0x10]
imul eax, ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
imul ecx, edx
shl eax, 6
add eax, ecx
mov ecx, dword [esp + 0x10]
sub eax, ecx
mov ecx, dword [esp + 0x10]
sub eax, ecx
mov ecx, dword [esp + 0x10]
lea eax, [eax + ecx - 0x70]
add eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
jmp 0x43eaf5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [0x481250]
push dword [0x48122c]
push 1
call fcn.0044159c
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret