Function at 0x10034daf
Capabilities:
Create pipe
Get memory capacity
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10084c18
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1b8
push esi
mov dword [ebp - 0x68], 0xbc662a2b
mov dword [ebp - 0x40], 0x7d50f82b
mov dword [ebp - 0x104], 0x260d
mov dword [ebp - 0x110], 0xfffffff8
mov dword [ebp - 0x14], 0
jmp 0x10034e00
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10034e16
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1bc], 0x37400631
jmp 0x10034df9
mov dword [ebp - 0x14], 0
jmp 0x10034e26
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10034e3c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x154], 4
jmp 0x10034e1f
mov eax, 0xfe04
test eax, eax
je 0x10034f29
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x1bc], 0
jne 0x10034eb2
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x104], 3
jbe 0x10034e76
mov dword [ebp - 0x94], 1
jmp 0x10034e7d
and dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x94], eax
jge 0x10034e94
mov dword [ebp - 0x10c], 1
jmp 0x10034e9b
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x110]
cmp dword [ebp - 0x10c], eax
jge 0x10034eb2
and dword [ebp - 0x14c], 0
jmp 0x10034ebc
mov dword [ebp - 0x14c], 1
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x1bc]
mov dword [ebp - 0x174], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x154]
inc eax
mov dword [ebp - 0x80], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x80]
mov dword [ebp + eax - 0x154], ecx
mov eax, dword [ebp - 0x68]
imul eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x104]
jle 0x10034f0b
mov dword [ebp - 0xc8], 1
jmp 0x10034f12
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0xc8]
je 0x10034f29
mov dword [ebp - 0x88], 1
jmp 0x10034f30
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x88]
cmp eax, dword [ebp - 0x68]
jle 0x10034f4b
mov dword [ebp - 0x108], 1
jmp 0x10034f52
and dword [ebp - 0x108], 0
cmp dword [ebp - 0x108], 0xfe6b87c2
ja 0x10034f6a
mov dword [ebp - 0x90], 1
jmp 0x10034f71
and dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x40], eax
movzx eax, byte [ebp + 8]
test eax, eax
je 0x100356b5
push 3
lea ecx, [ebp - 0x16c]
call fcn.10028d1f
and dword [ebp - 4], 0
mov dword [ebp - 0xb0], 0xfffffff9
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x18], 0
push 3
lea ecx, [ebp - 0x50]
call fcn.10028d1f
mov byte [ebp - 4], 1
mov dword [ebp - 0x1c], 0x48ae
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x10], 0
jmp 0x10034fdb
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10034ff7
push dword [ebp - 0x10]
lea ecx, [ebp - 0x16c]
call fcn.10028dbd
mov dword [eax], 0xfffffffd
jmp 0x10034fd4
mov dword [ebp - 0x10], 0
jmp 0x10035007
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1003501d
push dword [ebp - 0x10]
lea ecx, [ebp - 0x50]
call fcn.10028dbd
and dword [eax], 0
jmp 0x10035000
mov dword [ebp - 0x10], 0
jmp 0x1003502d
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10035043
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1ac], 0xffffffff
jmp 0x10035026
mov eax, 0xfe2c
test eax, eax
je 0x10035123
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x184], eax
push 1
lea ecx, [ebp - 0x50]
call fcn.10028dbd
mov eax, 0xffff
cmp eax, 0x3ae5
jae 0x10035087
cmp dword [ebp - 0x28], 0
jne 0x10035087
mov eax, 0x4e62b500
test eax, eax
jne 0x10035087
and dword [ebp - 0xd0], 0
jmp 0x10035091
mov dword [ebp - 0xd0], 1
cmp dword [ebp - 0xd0], 0x57cf
jl 0x100350a9
mov dword [ebp - 0x98], 1
jmp 0x100350b0
and dword [ebp - 0x98], 0
push 0
lea ecx, [ebp - 0x50]
call fcn.10028dbd
mov ecx, dword [ebp - 0x98]
imul ecx, dword [eax]
sub ecx, 0x7420
je 0x100350e0
mov eax, 0x1bca3396
test eax, eax
je 0x100350e0
mov dword [ebp - 0xf0], 1
jmp 0x100350e7
and dword [ebp - 0xf0], 0
cmp dword [ebp - 0xf0], 0xffffffff
jae 0x100350fc
mov dword [ebp - 0xa0], 1
jmp 0x10035103
and dword [ebp - 0xa0], 0
push 2
lea ecx, [ebp - 0x50]
call fcn.10028dbd
mov ecx, dword [ebp - 0xa0]
cmp ecx, dword [eax]
jge 0x10035123
mov dword [ebp - 0xd8], 1
jmp 0x1003512a
and dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0x18]
cmp dword [ebp - 0x28], eax
jl 0x1003514d
cmp dword [ebp - 0x1c], 0
jne 0x1003514d
cmp dword [ebp - 0x1c], 0
jne 0x1003514d
and dword [ebp - 0x148], 0
jmp 0x10035157
mov dword [ebp - 0x148], 1
push 1
lea ecx, [ebp - 0x50]
call fcn.10028dbd
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x17c], eax
push 1
lea ecx, [ebp - 0x50]
call fcn.10028dbd
xor esi, esi
inc esi
sub esi, dword [eax]
push 0
lea ecx, [ebp - 0x50]
call fcn.10028dbd
imul esi, dword [eax]
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x180], eax
push 2
lea ecx, [ebp - 0x50]
call fcn.10028dbd
xor eax, eax
inc eax
inc eax
cmp eax, 1
jge 0x100351d5
mov dword [ebp - 0xa8], 1
jmp 0x100351dc
and dword [ebp - 0xa8], 0
push 0
lea ecx, [ebp - 0x50]
call fcn.10028dbd
mov ecx, dword [ebp - 0xa8]
cmp ecx, dword [eax]
jl 0x100351fc
mov dword [ebp - 0x100], 1
jmp 0x10035203
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x100]
je 0x1003521f
xor eax, eax
inc eax
je 0x1003521f
mov dword [ebp - 0x138], 1
jmp 0x10035226
and dword [ebp - 0x138], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x1ac]
mov dword [ebp - 0x194], eax
push 0
lea ecx, [ebp - 0x16c]
call fcn.10028dbd
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x1ac]
cmp dword [ebp - 0xb0], eax
jle 0x10035280
mov dword [ebp - 0xe0], 1
jmp 0x10035287
and dword [ebp - 0xe0], 0
push 1
lea ecx, [ebp - 0x50]
call fcn.10028dbd
mov ecx, dword [ebp - 0xe0]
sub ecx, dword [eax]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0
jmp 0x100352ac
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
jg 0x100353a4
mov dword [ebp - 0x18], 3
jmp 0x100352c6
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x1003539f
mov dword [ebp - 0x11c], 0xab2a44bf
mov dword [ebp - 0x28], 2
jmp 0x100352ea
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jl 0x10035385
mov byte [ebp - 0x2a], 0
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x1003534a
push 0x114a
push 0x1981
push 0
push 0
push 0x22ac
push 0x21a6
push 0x4b5
push 0x2310
push 0x1185
push 0xe4a
push 0x249d
push 0x515
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_StretchDIBits]
mov dword [ebp - 0x1c], 0
jmp 0x1003535a
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jg 0x10035380
mov byte [ebp - 0x29], 0
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x10035374
push 0
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov dword [ebp - 0x11c], 0xffffc022
jmp 0x10035353
jmp 0x100352e3
push dword [ebp - 0x34]
lea ecx, [ebp - 0x50]
call fcn.10028dbd
cmp dword [eax], 0
je 0x1003539a
jmp 0x100352bf
jmp 0x100352bf
jmp 0x100352a5
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.10028da1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x16c]
call fcn.10028da1
push 3
lea ecx, [ebp - 0x5c]
call fcn.10028d1f
mov dword [ebp - 4], 2
mov dword [ebp - 0x60], 0xc4e2bf5
mov dword [ebp - 0x70], 0
push 3
lea ecx, [ebp - 0x160]
call fcn.10028d1f
mov byte [ebp - 4], 3
mov dword [ebp - 0x144], 0xfffffff6
mov dword [ebp - 0x24], 0
jmp 0x10035409
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x10035422
push dword [ebp - 0x24]
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
mov dword [eax], 1
jmp 0x10035402
mov dword [ebp - 0x24], 0
jmp 0x10035432
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x1003544e
push dword [ebp - 0x24]
lea ecx, [ebp - 0x160]
call fcn.10028dbd
mov dword [eax], 0xe8af
jmp 0x1003542b
push 0
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
cmp dword [eax], 0x5245
jle 0x1003546c
mov dword [ebp - 0xb8], 1
jmp 0x10035473
and dword [ebp - 0xb8], 0
cmp dword [ebp - 0xb8], 0xffff
jne 0x1003548b
mov dword [ebp - 0x13c], 1
jmp 0x10035492
and dword [ebp - 0x13c], 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
mov eax, dword [eax]
sub eax, 0x66e9
jne 0x100354bd
push 0
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
cmp dword [eax], 0
jne 0x100354bd
and dword [ebp - 0xf8], 0
jmp 0x100354c7
mov dword [ebp - 0xf8], 1
imul esi, dword [ebp - 0xf8], 0xd54
push 0
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
cmp esi, dword [eax]
je 0x100354eb
mov dword [ebp - 0xc0], 1
jmp 0x100354f2
and dword [ebp - 0xc0], 0
cmp dword [ebp - 0xc0], 0xffffffff
jle 0x10035507
mov dword [ebp - 0xe8], 1
jmp 0x1003550e
and dword [ebp - 0xe8], 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
imul ecx, dword [ebp - 0xe8], 0x7412
add ecx, dword [eax]
cmp ecx, 0xfffffff8
jl 0x10035532
mov dword [ebp - 0x7c], 1
jmp 0x10035536
and dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x60]
imul eax, dword [ebp - 0x7c]
neg eax
xor ecx, ecx
sub ecx, eax
jne 0x1003555d
push 0
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
cmp dword [eax], 0
jne 0x1003555d
and dword [ebp - 0x84], 0
jmp 0x10035567
mov dword [ebp - 0x84], 1
push 2
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
mov ecx, dword [ebp - 0x84]
cmp ecx, dword [eax]
jge 0x10035587
mov dword [ebp - 0x8c], 1
jmp 0x1003558e
and dword [ebp - 0x8c], 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
mov ecx, dword [ebp - 0x8c]
mov dword [eax], ecx
cmp dword [ebp - 0x60], 0xfffffff8
jne 0x100355af
mov dword [ebp - 0x78], 1
jmp 0x100355b3
and dword [ebp - 0x78], 0
push 0
lea ecx, [ebp - 0x160]
call fcn.10028dbd
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
add eax, dword [ebp - 0x78]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
cmp dword [ebp - 0x124], 5
jne 0x100355f1
mov dword [ebp - 0x140], 1
jmp 0x100355f8
and dword [ebp - 0x140], 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
push 0
lea ecx, [ebp - 0x5c]
call fcn.10028dbd
mov dword [eax], 0x5ab8
imul eax, dword [ebp - 0x60], 0x5ab8
test eax, eax
jle 0x1003562f
cmp dword [ebp - 0x70], 0
je 0x1003562f
mov dword [ebp - 0x9c], 1
jmp 0x10035636
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x9c], eax
jne 0x1003564d
mov dword [ebp - 0x12c], 1
jmp 0x10035654
and dword [ebp - 0x12c], 0
cmp dword [ebp - 0x70], 0x2370
jle 0x10035669
mov dword [ebp - 0xa4], 1
jmp 0x10035670
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x160]
call fcn.10028da1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.10028da1
push 0xa09
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
jmp 0x100359a7
mov dword [ebp - 0x20], 0x324ec2e0
mov dword [ebp - 0x20], 0
jmp 0x100356cc
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xfffffff1
je 0x1003571d
mov dword [ebp - 0xac], 0xfffc
mov dword [ebp - 0x134], 0x865425a8
mov dword [ebp - 0xac], 0xe52d
cmp dword [ebp - 0xac], 0xffff
ja 0x10035708
mov dword [ebp - 0xb4], 1
jmp 0x1003570f
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x134], eax
jmp 0x100356c5
mov eax, dword [ebp - 0x20]
add eax, 0xb6d0
je 0x1003581c
mov dword [ebp - 0x64], 0xffffffff
mov dword [ebp - 0x114], 8
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x20], 0
jne 0x10035759
xor eax, eax
inc eax
jne 0x10035759
and dword [ebp - 0xbc], 0
jmp 0x10035763
mov dword [ebp - 0xbc], 1
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0xbc]
jle 0x10035774
cmp dword [ebp - 0x20], 0
jne 0x10035782
xor eax, eax
inc eax
jne 0x10035782
and dword [ebp - 0xc4], 0
jmp 0x1003578c
mov dword [ebp - 0xc4], 1
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0xc4]
jg 0x100357a3
mov dword [ebp - 0xcc], 1
jmp 0x100357aa
and dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xcc]
add eax, 0xfffb
cmp eax, 4
je 0x100357c6
mov dword [ebp - 0xd4], 1
jmp 0x100357cd
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0xd4], eax
jne 0x100357e4
mov dword [ebp - 0xdc], 1
jmp 0x100357eb
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
sub eax, 0x4859bb7a
cmp eax, dword [ebp - 0x64]
jl 0x10035807
mov dword [ebp - 0xe4], 1
jmp 0x1003580e
and dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x114], eax
jmp 0x10035850
mov byte [ebp - 0x2d], 0
movzx eax, byte [ebp - 0x2d]
test eax, eax
je 0x10035850
push 0
push 0xfc2
push 0x12bc
push 0x269a
push 0x60a
push 0x16c7
push 0x641
push 0
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x44], 0
jmp 0x10035870
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 2
jge 0x10035886
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x1c4], 0xfffffff7
jmp 0x10035869
mov eax, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0xfffffff7
jmp 0x1003589d
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x29
jl 0x100358dd
mov byte [ebp - 0x2c], 0
movzx eax, byte [ebp - 0x2c]
test eax, eax
je 0x100358be
push 0x17ce
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
mov byte [ebp - 0x2e], 0
movzx eax, byte [ebp - 0x2e]
test eax, eax
je 0x100358db
push 0x17c0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
jmp 0x10035896
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
movzx eax, byte [eax]
test eax, eax
je 0x100359a7
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0xec], 4
mov dword [ebp - 0x130], 1
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x3c], 0
jmp 0x1003592f
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 1
jl 0x1003599f
mov dword [ebp - 0x128], 1
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x128]
cmp dword [ebp - 0xec], eax
jge 0x1003596c
mov dword [ebp - 0xf4], 1
jmp 0x10035973
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x130], eax
mov byte [ebp - 0x2b], 0
movzx eax, byte [ebp - 0x2b]
test eax, eax
je 0x1003599d
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x10035928
push 0
call dword [sym.imp.USER32.dll_DestroyCursor]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret