Function at 0x10030fa0
Capabilities:
Query environment variable

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x5c
mov eax, dword [0x10065040]
xor eax, esp
mov dword [esp + 0x58], eax
lea esi, [esp + 0x40]
mov dword [esp + 4], esi
mov eax, dword [esp + 4]
lea eax, [esp + 0x54]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 4]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x10]
mov dword [eax], 0xf
mov dword [esp + 0x20], edx
cmp dword [edx + 0x10], 0
sete byte [esp + 0xb]
mov dword [esp + 0x30], ecx
mov ecx, 0x9e3d621e
mov eax, 0x3da1c19e
jmp 0x10031030
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x18]
add eax, edi
push dword [esp + 0x1c]
push 0
push eax
call fcn.10053d60
add esp, 0xc
mov eax, dword [esp + 0xc]
mov byte [edi + eax], 0
mov ecx, 0xcf0b442
mov eax, 0xfaa2eca0
nop dword [eax]
cmp ecx, 0x2607ecbe
jle 0x10031090
cmp ecx, 0x431bf0f5
jle 0x100310f0
cmp ecx, 0x5b85a628
jle 0x100313cb
cmp ecx, 0x6d7760c2
jg 0x100314c0
cmp ecx, 0x5b85a629
je 0x100315af
cmp ecx, 0x610a98b5
jne 0x10031030
mov eax, dword [esp + 0x10]
cmp dword [eax], 0x10
mov eax, dword [esp + 0x24]
jae 0x100316f6
mov eax, dword [esp + 4]
jmp 0x100316f8
cmp ecx, 0xe7f6d530
jle 0x10031380
cmp ecx, 0xcf0b441
jle 0x1003140a
cmp ecx, 0x17b0dea5
jg 0x100314f3
cmp ecx, 0xcf0b442
je 0x100315b9
cmp ecx, 0xf410357
jne 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x20e1939
mov ecx, 0xe516be88
mov edx, 0xc6102ea4
cmovl ecx, edx
jmp 0x10031030
cmp ecx, 0x2ceac0a4
jle 0x10031442
cmp ecx, 0x38a6945c
jg 0x10031526
cmp ecx, 0x2ceac0a5
je 0x100315c3
cmp ecx, 0x3883109b
jne 0x10031030
mov eax, dword [esp + 0xc]
mov ecx, eax
and ecx, 0xfa3efb9a
mov edx, eax
xor edx, 0xfa3efb9a
add edx, ecx
or eax, 0x5c10465
add eax, edx
sub eax, dword [esp + 0x18]
imul eax, eax, 0xb04007f7
add eax, 0xb04007f7
mov ecx, eax
or ecx, 0x15690975
not eax
or eax, 0xea96f68a
sub ecx, eax
imul eax, ecx, 0xc656e9c7
lea ecx, [eax + 0x40d15f6]
mov edx, 0x3f2ea09
sub edx, eax
and edx, 0x69a2f8c
add edx, eax
add edx, 0x40d15f6
or ecx, 0x69a2f8c
sub edx, ecx
add eax, edx
add eax, 0x50193f46
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x2c]
mov ebp, edx
not ebp
mov eax, ecx
not eax
lea edi, [ecx + eax*2]
lea edi, [ebp + edi + 1]
lea ecx, [ecx + eax*2]
add ecx, 1
mov ebx, ecx
not ebx
or ebx, edx
add ebx, edi
mov edi, 0xfffffffe
sub edi, ebx
lea edi, [edi + edi*2]
lea ebx, [edi + ebx*2]
add ebx, 4
lea edi, [edx + ebp*2]
lea esi, [edx + edi]
add esi, 1
mov eax, 0xfffffffe
sub eax, esi
add edi, edx
add edi, 2
mov esi, edi
and esi, ebp
and eax, ebp
add eax, esi
and ecx, edx
add eax, edx
add eax, 1
mov dword [esp + 0x34], eax
lea esi, [edx + edx]
neg edx
mov eax, ebx
xor ebx, edx
sub esi, ebx
lea esi, [esi + ebx*2]
not eax
or eax, edx
mov ebx, eax
or edi, ebp
add edi, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
or edi, eax
and eax, ebp
or ecx, eax
lea eax, [ecx + ecx*2]
mov edx, ecx
not edx
sub edx, eax
add edx, ecx
lea eax, [edx + ecx*2]
mov edx, eax
and edx, 0x4c485911
and ecx, 0xb3b7a6ee
or ecx, edx
xor ecx, 0xb3b7a6ee
add ecx, edx
mov edx, eax
or edx, 0xb3b7a6ee
sub ecx, edx
add eax, eax
mov edx, eax
or edx, 0x676f4ddc
add edx, ecx
xor eax, 0xfffffffe
or eax, 0x676f4ddc
add eax, edx
add eax, 0x4c485914
lea ecx, [esi + ebx*2]
lea edx, [esi + ebx*2]
add edx, 0x50e672ff
or edx, eax
add edx, ecx
add edx, 0x50e672ff
mov esi, 0xaf198d00
sub esi, ecx
or esi, eax
lea eax, [edx + esi]
lea ecx, [esi + edx]
add ecx, 1
mov edx, ecx
or edx, 0xaf198d03
lea esi, [eax + eax]
add esi, 2
sub eax, edx
mov edx, ecx
not edx
or esi, 0x5e331a06
add esi, eax
xor ecx, 0x50e672fc
add ecx, esi
or edx, 0x50e672fc
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0xc90fb81d
lea edx, [edi - 1]
and edx, ecx
add edx, eax
add edx, 0xc90fb81d
mov esi, 0x36f047e2
sub esi, eax
mov eax, edi
neg eax
and esi, eax
add esi, edx
xor eax, ecx
add eax, edi
sub esi, eax
mov eax, esi
xor eax, 0xe609d4e9
and esi, 0xe609d4e9
lea eax, [eax + esi*2]
lea esi, [esp + 0x40]
imul eax, eax, 0xdcf5f35d
mov ecx, eax
or ecx, 0xefc90ede
add ecx, eax
not eax
or eax, 0xefc90ede
add eax, ecx
imul eax, eax, 0xf973070b
lea ecx, [eax - 0xd19f1ea]
mov edx, ecx
and edx, 0x9dc7436b
add eax, edx
add eax, 0xf2e60e16
mov edx, ecx
xor edx, 0x9dc7436b
add edx, eax
or ecx, 0x9dc7436b
sub ecx, edx
add ecx, 0x6238bc95
cmp ecx, dword [esp + 0x1c]
mov eax, 0x598b2cba
mov ecx, 0x1b97a1eb
cmovb eax, ecx
mov ecx, 0xcf0b442
jmp 0x10031030
cmp ecx, 0xd3a65701
jg 0x10031481
cmp ecx, 0x9bba702d
je 0x100315de
cmp ecx, 0x9e3d621e
je 0x100315f9
cmp ecx, 0xc6102ea4
jne 0x10031030
mov ecx, dword [esp]
cmp ecx, 0xfaa2eca0
mov ecx, 0x5b85a629
mov edx, 0xd3a65702
cmove ecx, edx
jmp 0x10031030
cmp ecx, 0x431bf0f6
je 0x10031606
cmp ecx, 0x4811cbba
je 0x10031628
cmp ecx, 0x4c1ac211
jne 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x27e6a8e6
mov ecx, 0x5b85a629
mov edx, 0x42fb2b10
cmove ecx, edx
jmp 0x10031030
cmp ecx, 0xe7f6d531
je 0x10031643
cmp ecx, 0xec2861e8
je 0x1003165e
cmp ecx, 0x220ff3e
jne 0x10031030
mov edx, dword [esp + 0x1c]
mov ecx, esi
push edx
call fcn.10031760
add esp, 4
jmp 0x1003101f
cmp ecx, 0x2607ecbf
je 0x10031679
cmp ecx, 0x2a05af37
je 0x10031694
cmp ecx, 0x2b88f1ed
jne 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x38680e4c
mov ecx, 0x5b85a629
mov edx, 0x38a6945d
cmove ecx, edx
jmp 0x10031030
cmp ecx, 0xd3a65702
je 0x100316af
cmp ecx, 0xdc4cc75f
je 0x100316b5
cmp ecx, 0xe516be88
jne 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x20e1939
mov ecx, 0x5b85a629
mov edx, 0x610a98b5
cmove ecx, edx
jmp 0x10031030
cmp ecx, 0x6d7760c3
je 0x100316bf
cmp ecx, 0x7b180ee9
jne 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x1b97a1eb
mov ecx, 0xe7f6d531
mov edx, 0xf410357
cmovl ecx, edx
jmp 0x10031030
cmp ecx, 0x17b0dea6
je 0x100316da
cmp ecx, 0x25753bb9
jne 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x4b207ebd
mov ecx, 0x2a05af37
mov edx, 0x4811cbba
cmovl ecx, edx
jmp 0x10031030
cmp ecx, 0x42fb2b10
jne 0x10031719
lea eax, [esp + 0x50]
mov dword [esp + 0x14], eax
mov ecx, esi
mov edx, 0x104
push 0x104
call fcn.10031760
add esp, 4
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
cmp dword [ecx], 0x10
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 4]
jb 0x10031569
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x14], 0x10
jb 0x10031579
mov edx, dword [esp + 0x20]
mov edx, dword [edx]
push eax
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x18]
mov eax, 0x20e1939
mov ecx, 0x4b207ebd
cmova eax, ecx
mov ecx, 0xcf0b442
jmp 0x10031030
mov ecx, 0xdc4cc75f
jmp 0x10031030
mov ecx, 0x9e3d621e
jmp 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x4b207ebd
mov ecx, 0x5b85a629
mov edx, 0x3883109b
cmove ecx, edx
jmp 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x3da1c19e
mov ecx, 0x5b85a629
mov edx, 0x17b0dea6
cmove ecx, edx
jmp 0x10031030
mov dword [esp], eax
mov ecx, 0x2607ecbf
jmp 0x10031030
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [eax], ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
cmp ecx, 0x10
jb 0x10030ffe
mov edi, dword [eax]
jmp 0x10031002
mov ecx, dword [esp]
cmp ecx, 0x3da1c19e
mov ecx, 0x9bba702d
mov edx, 0x2b88f1ed
cmovl ecx, edx
jmp 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x27e6a8e6
mov ecx, 0x4c1ac211
mov edx, 0x6d7760c3
cmovl ecx, edx
jmp 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x598b2cba
mov ecx, 0x5b85a629
mov edx, 0x431bf0f6
cmove ecx, edx
jmp 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x38680e4c
mov ecx, 0x25753bb9
mov edx, 0x7b180ee9
cmovl ecx, edx
jmp 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x598b2cba
mov ecx, 0xec2861e8
mov edx, 0x2ceac0a5
cmovl ecx, edx
jmp 0x10031030
mov eax, dword [esp + 0x28]
jmp 0x1003170a
mov ecx, 0xcf0b442
jmp 0x10031030
mov ecx, dword [esp]
cmp ecx, 0x1b97a1eb
mov ecx, 0x5b85a629
mov edx, 0x220ff3e
cmove ecx, edx
jmp 0x10031030
cmp byte [esp + 0xb], 0
mov eax, 0x27e6a8e6
mov ecx, 0x38680e4c
cmovne eax, ecx
mov ecx, 0xcf0b442
jmp 0x10031030
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov dword [ecx], edx
mov ecx, dword [esp + 0xc]
mov byte [eax + ecx], 0
mov ecx, 0xcf0b442
mov eax, 0x38680e4c
jmp 0x10031030
cmp ecx, 0x38a6945d
jne 0x10031030
mov eax, dword [esp + 4]
movsd xmm0, qword [eax + 0x10]
mov ecx, dword [esp + 0x30]
movsd qword [ecx + 0x10], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.100531fa
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret