Function at 0x10144f00
Capabilities:
Query environment variable

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10398774
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2e8
mov eax, dword [0x1049b0c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
cmp byte [eax + 0xb], 0
je 0x10145c4b
test byte [0x10520f58], 4
je 0x10145c4b
push 0x80
lea eax, [ebp - 0x1a0]
push 0
push eax
call fcn.1034c920
add esp, 0xc
push 0
call fcn.1036a74e
add esp, 4
mov dword [ebp - 0x2f8], eax
lea eax, [ebp - 0x2f8]
mov dword [ebp - 0x2f4], edx
push eax
call fcn.1036aa45
add esp, 4
mov esi, eax
lea eax, [ebp - 0x1d0]
mov ecx, 0x10531d20
push eax
call fcn.100627f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1d0]
cmp dword [ebp - 0x1bc], 0xf
lea eax, [ebp - 0x1a0]
push esi
cmova ecx, dword [ebp - 0x1d0]
push ecx
push 0x80
push eax
call fcn.1036a72f
mov dword [ebp - 4], 0xffffffff
add esp, 0x10
mov eax, dword [ebp - 0x1bc]
cmp eax, 0xf
jbe 0x1014500e
push eax
push dword [ebp - 0x1d0]
lea eax, [ebp - 0x1d0]
push eax
call fcn.10034640
add esp, 0xc
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
movss xmm0, dword [eax + 0x2c]
ucomiss xmm0, dword [0x1046f4c0]
lahf
test ah, 0x44
jp 0x10145033
xor eax, eax
jmp 0x1014503f
mulss xmm0, dword [0x1046f424]
cvttss2si eax, xmm0
mov dword [ebp - 0x2ec], eax
mov ecx, 0x10531e90
lea eax, [ebp - 0x1d0]
push eax
call fcn.1004ee70
mov dword [ebp - 4], 1
lea eax, [ebp - 0x2ec]
cmp dword [ebp - 0x1bc], 0xf
lea edx, [ebp - 0x1d0]
push eax
cmova edx, dword [ebp - 0x1d0]
lea ecx, [ebp - 0x2b4]
call fcn.10053d10
add esp, 4
mov eax, dword [ebp - 0x1bc]
cmp eax, 0xf
jbe 0x101450a7
push eax
push dword [ebp - 0x1d0]
lea eax, [ebp - 0x1d0]
push eax
call fcn.10034640
add esp, 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x1f0], 0
movups xmmword [ebp - 0x200], xmm0
mov dword [ebp - 0x1ec], 0xf
mov byte [ebp - 0x200], 0
push 0x104
lea eax, [ebp - 0x120]
mov byte [ebp - 4], 4
push eax
push str.USERNAME
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
xorps xmm0, xmm0
mov dword [ebp - 0x1d8], 0
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x1d4], 0
movups xmmword [ebp - 0x1e8], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10145110
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
lea ecx, [ebp - 0x1e8]
call fcn.10037550
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0xf
jbe 0x1014516e
mov edx, dword [ebp - 0x200]
inc ecx
mov eax, edx
mov byte [ebp - 4], 5
cmp ecx, 0x1000
jb 0x10145160
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10145c69
push ecx
push edx
call fcn.102fe83e
add esp, 8
mov byte [ebp - 4], 4
movups xmm0, xmmword [ebp - 0x1e8]
mov ecx, dword [0x1055d084]
add ecx, 0x8227453d
movups xmmword [ebp - 0x200], xmm0
xor ecx, 0xb5eaaa9f
movq xmm0, qword [ebp - 0x1d8]
movq qword [ebp - 0x1f0], xmm0
mov ecx, dword [ecx + 0x58]
call fcn.100dbf70
lea eax, [ebp - 0x1b8]
mov ecx, 0x10531e00
push eax
call fcn.1004ecb0
mov byte [ebp - 4], 6
lea esi, [ebp - 0x1b8]
cmp dword [ebp - 0x1a4], 0xf
push ecx
cmova esi, dword [ebp - 0x1b8]
lea ecx, [ebp - 0xb8]
call fcn.100504d0
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 7
mov dword [ebp - 0x264], eax
mov ecx, 3
mov dword [ebp - 0x260], 3
lea eax, [ebp - 0x254]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x10145200
push dword [ebp - 0x260]
lea eax, [ebp - 0x200]
mov dword [ebp - 0x258], 0x100a7270
push dword [ebp - 0x264]
mov dword [ebp - 0x25c], eax
lea ecx, [ebp - 0xb8]
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x254], fcn.1003b500
mov dword [ebp - 0x250], eax
mov edx, esi
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x24c], 0x10145d90
mov dword [ebp - 0x248], fcn.1003b500
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], 0x100a7270
mov dword [ebp - 0x23c], fcn.1003b500
call fcn.10049de0
add esp, 8
lea eax, [ebp - 0x1d0]
lea ecx, [ebp - 0xb4]
push eax
call fcn.100520c0
lea ecx, [ebp - 0xb8]
call fcn.1004a0d0
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 8
push eax
mov ecx, 0x10531d70
call fcn.100627f0
mov byte [ebp - 4], 9
lea esi, [ebp - 0x218]
cmp dword [ebp - 0x204], 0xf
push ecx
cmova esi, dword [ebp - 0x218]
lea ecx, [ebp - 0xb8]
call fcn.100504d0
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x238], eax
mov ecx, 2
mov dword [ebp - 0x234], 2
lea eax, [ebp - 0x228]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x10145314
push dword [ebp - 0x234]
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x230], 0x1206fc88
push dword [ebp - 0x238]
mov edx, esi
mov dword [ebp - 0x22c], 0x100a7270
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x228], fcn.1003b500
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], 0x100a7270
mov dword [ebp - 0x21c], fcn.1003b500
call fcn.10049de0
add esp, 8
lea eax, [ebp - 0x1e8]
lea ecx, [ebp - 0xb4]
push eax
call fcn.100520c0
lea ecx, [ebp - 0xb8]
call fcn.1004a0d0
mov eax, dword [ebp - 0x204]
cmp eax, 0xf
jbe 0x101453c9
push eax
push dword [ebp - 0x218]
lea eax, [ebp - 0x218]
push eax
call fcn.10034640
add esp, 0xc
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0xf
mov byte [ebp - 0x218], 0
cmp eax, 0xf
jbe 0x10145405
push eax
push dword [ebp - 0x1d0]
lea eax, [ebp - 0x1d0]
push eax
call fcn.10034640
add esp, 0xc
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp eax, 0xf
jbe 0x10145445
push eax
push dword [ebp - 0x1b8]
lea eax, [ebp - 0x1b8]
push eax
call fcn.10034640
add esp, 0xc
mov ecx, dword [ebp - 0x1d4]
lea edx, [ebp - 0x1e8]
mov eax, dword [0x1054ade8]
cmp ecx, 0xf
mov esi, dword [ebp - 0x1e8]
xorps xmm0, xmm0
cmova edx, esi
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
movss xmm2, dword [eax + 0x18c4]
test edx, edx
jne 0x1014549e
movss dword [ebp - 0x2b8], xmm0
movss dword [ebp - 0x2e4], xmm2
jmp 0x101454fb
push ecx
push 0
push edx
push ecx
lea ecx, [ebp - 0x2c4]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x18c0]
call fcn.100f07f0
movss xmm0, dword [ebp - 0x2c4]
addss xmm0, dword [0x1046f0f4]
mov ecx, dword [ebp - 0x1d4]
mov esi, dword [ebp - 0x1e8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x2c0]
movss dword [ebp - 0x2e4], xmm0
cmp ecx, 0xf
jbe 0x10145511
push ecx
lea eax, [ebp - 0x1e8]
push esi
push eax
call fcn.10034640
add esp, 0xc
call fcn.100dc020
mov eax, dword [0x11b92250]
movss xmm3, dword [ebp - 0x2b8]
add eax, 0xc6c19814
addss xmm3, dword [0x1046f308]
xor eax, 0x26996288
cmp byte [eax + 7], 0
je 0x10145544
mov al, 1
mov byte [0x1054bd30], al
jmp 0x10145549
mov al, byte [0x1054bd30]
movss xmm2, dword [0x10520f6c]
xorps xmm1, xmm1
mov ecx, dword [0x1055d084]
movss xmm4, dword [0x1046f20c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x101455ad
movss xmm0, dword [0x10520f70]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x101455ad
lea eax, [ecx - 0x7dd8bac3]
xor eax, 0xb5eaaa9f
movss xmm2, dword [eax + 0x50]
mov al, 1
subss xmm2, xmm3
mov dword [0x10520f70], 0x41200000
mov byte [0x1054bd30], al
subss xmm2, xmm4
movss dword [0x10520f6c], xmm2
mov edx, dword [0x1054ade8]
add ecx, 0x8227453d
xor ecx, 0xb5eaaa9f
movaps xmm1, xmm3
addss xmm1, xmm2
movss xmm0, dword [ecx + 0x50]
subss xmm0, xmm4
comiss xmm1, xmm0
jbe 0x101455ea
test al, al
jne 0x101455ee
subss xmm2, dword [0x1046f1e0]
movss dword [0x10520f6c], xmm2
jmp 0x101455ee
test al, al
je 0x10145631
or dword [edx + 0x1a34], 1
mov eax, dword [0x10520f6c]
mov ecx, dword [0x10520f70]
mov dword [edx + 0x1a54], eax
mov dword [edx + 0x1a58], ecx
mov dword [edx + 0x1a5c], 0
mov dword [edx + 0x1a60], 0
mov dword [edx + 0x1a38], 1
mov byte [0x1054bd30], 0
or dword [edx + 0x1a34], 2
movss dword [edx + 0x1a64], xmm3
mov dword [edx + 0x1a68], 0x42000000
mov dword [edx + 0x1a3c], 1
mov ecx, dword [0x1055d084]
add ecx, 0x8227453d
xor ecx, 0xb5eaaa9f
mov ecx, dword [ecx + 0x70]
call fcn.100dbf70
mov esi, dword [0x1054ade8]
lea eax, [ebp - 0x2d0]
push eax
mov dword [ebp - 0x2d0], 5
or dword [esi + 0x1a34], 0x40
lea ecx, [esi + 0x1aac]
mov dword [esi + 0x1a90], 0
movups xmm0, xmmword [esi + 0x1610]
movups xmmword [ebp - 0x2cc], xmm0
call fcn.100e1e70
mov dword [esi + 0x1610], 0
lea eax, [ebp - 0x1b8]
mov dword [esi + 0x1614], 0
mov ecx, 0x10531d50
mov dword [esi + 0x1618], 0
push eax
mov dword [esi + 0x161c], 0
call fcn.100562e0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1b8]
cmp dword [ebp - 0x1a4], 0xf
mov edx, 0x10531cb0
push 0x116b
cmova ecx, dword [ebp - 0x1b8]
call fcn.100d9b00
mov byte [ebp - 4], 4
add esp, 4
mov eax, dword [ebp - 0x1a4]
cmp eax, 0xf
jbe 0x10145737
push eax
push dword [ebp - 0x1b8]
lea eax, [ebp - 0x1b8]
push eax
call fcn.10034640
add esp, 0xc
mov esi, dword [0x1054ade8]
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
mov eax, dword [esi + 0x19b0]
mov byte [eax + 0xa4], 1
mov eax, dword [esi + 0x19b0]
mov edi, dword [eax + 0x2cc]
mov eax, 0x1206fc88
or dword [edi + 0x24], 3
cmp dword [0x1206fc9c], 0xf
cmova eax, dword [0x1206fc88]
test eax, eax
jne 0x10145791
xorps xmm2, xmm2
jmp 0x101457e2
movss xmm2, dword [esi + 0x18c4]
push ecx
push 0
push eax
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [ebp - 0x2c4]
mov dword [esp], 0xbf800000
push eax
call fcn.100f07f0
movss xmm0, dword [ebp - 0x2c4]
addss xmm0, dword [0x1046f0f4]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x2c0]
movss dword [ebp - 0x2e4], xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov eax, dword [esi + 0x19b0]
addss xmm2, dword [0x1046f35c]
movss xmm3, dword [eax + 0xc]
addss xmm3, dword [0x1046f1d8]
movss xmm1, dword [eax + 0x10]
movaps xmm4, xmm1
movss dword [ebp - 0x2d4], xmm1
addss xmm4, dword [0x1046f104]
movaps xmm0, xmm1
addss xmm0, dword [0x1046f254]
addss xmm2, xmm3
movss dword [ebp - 0x2b8], xmm3
movss dword [ebp - 0x2c8], xmm3
movss dword [ebp - 0x2e0], xmm4
movss dword [ebp - 0x2c4], xmm4
movss dword [ebp - 0x2d8], xmm0
movss dword [ebp - 0x2dc], xmm2
call fcn.1026e970
movaps xmm0, xmmword [0x1046f700]
sub esp, 0x10
mov ecx, esp
xorps xmm2, xmm2
push dword [ebp - 0x2d8]
movups xmmword [ecx], xmm0
mov ecx, eax
push dword [ebp - 0x2dc]
push dword [ebp - 0x2c4]
push dword [ebp - 0x2c8]
push 0
push edi
call fcn.1026eef0
movss xmm1, dword [ebp - 0x2d4]
mov eax, 0x1206fc88
addss xmm1, dword [0x1046f1f8]
cmp dword [0x1206fc9c], 0xf
mov ecx, 0x10531db0
movss xmm0, dword [ebp - 0x2b8]
cmova eax, dword [0x1206fc88]
addss xmm0, dword [0x1046f20c]
subss xmm1, dword [0x1046f094]
mov dword [ebp - 0x2d4], eax
lea eax, [ebp - 0x1b8]
push eax
movss dword [ebp - 0x2e8], xmm0
movss dword [ebp - 0x2e4], xmm1
call fcn.10061cd0
mov byte [ebp - 4], 0xc
lea esi, [ebp - 0x1b8]
cmp dword [ebp - 0x1a4], 0xf
push ecx
cmova esi, dword [ebp - 0x1b8]
lea ecx, [ebp - 0xb8]
call fcn.100504d0
lea eax, [ebp - 0x294]
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x29c], eax
mov ecx, 4
mov dword [ebp - 0x298], 4
lea eax, [ebp - 0x28c]
nop dword [eax + eax]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x10145940
push dword [ebp - 0x298]
lea eax, [ebp - 0x2d4]
mov dword [ebp - 0x290], 0x100a7380
push dword [ebp - 0x29c]
mov dword [ebp - 0x294], eax
lea ecx, [ebp - 0xb8]
lea eax, [ebp - 0x200]
mov dword [ebp - 0x28c], fcn.1003b500
mov dword [ebp - 0x288], eax
mov edx, esi
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x284], 0x100a7270
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x280], fcn.1003b500
mov dword [ebp - 0x278], 0x10145d90
mov dword [ebp - 0x274], fcn.1003b500
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], 0x100a7270
mov dword [ebp - 0x268], fcn.1003b500
call fcn.10049de0
add esp, 8
lea eax, [ebp - 0x1e8]
lea ecx, [ebp - 0xb4]
push eax
call fcn.100520c0
lea ecx, [ebp - 0xb8]
call fcn.1004a0d0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x1a4]
cmp eax, 0xf
jbe 0x10145a3b
push eax
push dword [ebp - 0x1b8]
lea eax, [ebp - 0x1b8]
push eax
call fcn.10034640
add esp, 0xc
movss xmm1, dword [0x1046f3bc]
movss xmm0, dword [0x10520f84]
mulss xmm0, xmm1
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
cvttss2si edx, xmm0
mov dword [ebp - 0x2c0], 0x3f800000
movss xmm0, dword [0x10520f80]
mulss xmm0, xmm1
movzx edx, dl
cvttss2si ecx, xmm0
movss xmm0, dword [0x10520f7c]
mulss xmm0, xmm1
movzx ecx, cl
movss xmm1, dword [0x1046efa4]
cvttss2si eax, xmm0
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x2cc], xmm0
movd xmm0, ecx
lea ecx, [ebp - 0x2cc]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x2c8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x2c4], xmm0
call fcn.1004a1d0
movss xmm1, dword [ebp - 0x2b8]
push ecx
movaps xmm0, xmm1
mov dword [esp], 0x40000000
addss xmm0, dword [0x1046f3b0]
push eax
lea eax, [ebp - 0x2c4]
movss dword [ebp - 0x2dc], xmm1
push eax
lea eax, [ebp - 0x2dc]
mov ecx, edi
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x2e0]
push eax
movss dword [ebp - 0x2c0], xmm0
movss dword [ebp - 0x2d8], xmm0
call fcn.100ec980
cmp dword [ebp - 0x1d4], 0xf
lea esi, [ebp - 0x1e8]
movaps xmm0, xmmword [0x1046f7a0]
lea ecx, [ebp - 0x2cc]
cmova esi, dword [ebp - 0x1e8]
movups xmmword [ebp - 0x2cc], xmm0
call fcn.1004a1d0
push 0
push ecx
mov dword [esp], 0
xorps xmm2, xmm2
push 0
push esi
push eax
lea eax, [ebp - 0x2e8]
mov ecx, edi
push eax
push 0
call fcn.100ed390
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1d4]
cmp eax, 0xf
jbe 0x10145bb9
push eax
push dword [ebp - 0x1e8]
lea eax, [ebp - 0x1e8]
push eax
call fcn.10034640
add esp, 0xc
and dword [edi + 0x24], 0xfffffffc
call fcn.100dbaa0
call fcn.100dc020
mov ecx, 1
call fcn.100dc190
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0xf
jbe 0x10145c0f
mov edx, dword [ebp - 0x200]
inc ecx
mov eax, edx
mov byte [ebp - 4], 0x10
cmp ecx, 0x1000
jb 0x10145c05
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10145c69
push ecx
push edx
call fcn.102fe83e
add esp, 8
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0xf
mov byte [ebp - 0x200], 0
cmp eax, 0xf
jbe 0x10145c4b
push eax
push dword [ebp - 0x2b4]
lea eax, [ebp - 0x2b4]
push eax
call fcn.10034640
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.102fe398
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.1034fc3d
int3