Function at 0x10019ed9
Capabilities:
Enumerate pe sections
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005da9a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x1d8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 8]
test eax, eax
je 0x10019f63
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x100], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
movzx eax, byte [eax]
test eax, eax
je 0x10019f31
push 0
push 0
call dword [sym.imp.GDI32.dll_RectInRegion]
jmp 0x10019f5e
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
movzx eax, byte [eax]
test eax, eax
je 0x10019f5e
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x1001a976
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xcc], eax
lea eax, [ebp + 0x20]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xc4]
movzx eax, byte [eax]
test eax, eax
je 0x10019fb4
mov byte [ebp - 0x22], 0
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x10019faf
push 0x80c
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
jmp 0x1001a976
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x14c], 4
mov dword [ebp - 0x40], 0
jmp 0x1001a009
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x16
jl 0x1001a18e
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x6c], 0x141a9c21
mov byte [ebp - 0x21], 0
push 0
lea eax, [ebp - 0x21]
push eax
call fcn.10019eb3
pop ecx
pop ecx
mov dword [ebp - 0x44], 0xf
jmp 0x1001a042
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 6
jle 0x1001a189
mov dword [ebp - 0x4c], 0x82ff
mov dword [ebp - 0x94], 0xfffffff9
mov dword [ebp - 0x170], 0x61d594d0
mov dword [ebp - 0x60], 0
jmp 0x1001a077
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 2
jge 0x1001a08d
mov eax, dword [ebp - 0x60]
mov dword [ebp + eax*4 - 0x10c], 1
jmp 0x1001a070
lea eax, [ebp - 0x2c]
push eax
push 0
lea eax, [ebp - 0x4c]
push eax
push 1
push 0x3fb1
call fcn.1000ea67
add esp, 0x14
mov eax, dword [ebp - 0x4c]
neg eax
cmp eax, dword [ebp - 0x4c]
jg 0x1001a0b9
mov dword [ebp - 0x74], 1
jmp 0x1001a0bd
and dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xd4], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x10c]
mov dword [ebp - 0xa4], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x10c]
dec eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x10c], eax
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0xa4]
jg 0x1001a111
mov dword [ebp - 0x7c], 1
jmp 0x1001a115
and dword [ebp - 0x7c], 0
cmp dword [ebp - 0x4c], 0xffffffff
jg 0x1001a12d
cmp dword [ebp - 0x94], 0
jne 0x1001a12d
and dword [ebp - 0x8c], 0
jmp 0x1001a137
mov dword [ebp - 0x8c], 1
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x8c]
jl 0x1001a14e
mov dword [ebp - 0x9c], 1
jmp 0x1001a155
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x9c]
jle 0x1001a16c
mov dword [ebp - 0x84], 1
jmp 0x1001a173
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x84]
sub eax, 0x2314af1
mov dword [ebp - 0x94], eax
jmp 0x1001a03b
jmp 0x1001a002
mov dword [ebp - 0x2c], 0xfffffffd
jmp 0x1001a19e
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffeb
jge 0x1001a1c4
mov byte [ebp - 0x23], 0
push 0x3783
push 1
push 0x28ca
push 1
lea eax, [ebp - 0x23]
push eax
call fcn.1000ea67
add esp, 0x14
jmp 0x1001a197
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x18], eax
and dword [ebp - 0x64], 0
jmp 0x1001a1ef
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x18]
add eax, 0x28
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0x64], eax
jge 0x1001a976
mov dword [ebp - 0x178], 0xffffffff
mov dword [ebp - 0x180], 0x6432a276
mov dword [ebp - 0x188], 0xfffffff6
mov dword [ebp - 0x1bc], 2
mov dword [ebp - 0x1c4], 0x95010f7a
mov dword [ebp - 0x144], 1
mov dword [ebp - 0x184], 0xfffffffd
mov dword [ebp - 0x154], 0xffffffff
mov dword [ebp - 0x1c0], 0xa23fe5e8
mov dword [ebp - 0x15c], 0xd94e8fe7
mov dword [ebp - 0x18c], 0xb0ad8ea5
mov dword [ebp - 0x164], 0xc266d8ff
mov dword [ebp - 0xdc], 5
mov dword [ebp - 0x54], 0
jmp 0x1001a293
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 3
jge 0x1001a2a9
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0x1d0], 1
jmp 0x1001a28c
push 0xcaa
push 1
push 0x6724
push 1
lea eax, [ebp - 0xdc]
push eax
call fcn.1000eb15
add esp, 0x14
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x10], 0
jne 0x1001a6f3
mov dword [ebp - 0x30], 0xf6af1124
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x70], 0x35e6
mov dword [ebp - 0xe4], 0x10008c90
cmp dword [ebp - 0x70], 0x38f0
jle 0x1001a391
and dword [ebp - 0x3c], 0
jmp 0x1001a30f
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x16aa
jge 0x1001a381
and dword [ebp - 0x48], 0
jmp 0x1001a325
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x43e5
jge 0x1001a37f
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x48]
cdq
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
push dword [ebp - 0x114]
push dword [ebp - 0x118]
lea ecx, [ebp - 0x1e8]
call fcn.1000cd20
pop ecx
pop ecx
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x104]
call fcn.1002a5a1
push eax
call fcn.100480d6
pop ecx
lea ecx, [ebp - 0x1e8]
call fcn.1002a597
jmp 0x1001a31e
jmp 0x1001a308
push 0x11d1
push 0x25c0
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [ebp - 0x16c], 1
and dword [ebp - 4], 0
cmp dword [ebp - 0x70], 0x34d8
jge 0x1001a3b4
push dword [ebp - 0xe4]
call fcn.100480d6
pop ecx
jmp 0x1001a3d0
or dword [ebp - 4], 0xffffffff
jmp 0x1001a3da
mov dword [ebp - 0x19c], 0xffffffff
mov dword [ebp - 0x174], 0xe8ce6fc2
mov dword [ebp - 0x1a0], 0xffffffff
push 1
lea ecx, [ebp - 0x198]
call fcn.1002a6d6
mov dword [ebp - 4], 2
lea eax, [ebp - 0x17c]
push eax
push 0
push 0x6ad2
lea eax, [ebp - 0x198]
push eax
call fcn.10015fd6
add esp, 0x10
mov dword [ebp - 0x30], 0
jmp 0x1001a439
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
je 0x1001a602
mov dword [ebp - 0xac], 1
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x148], 0xc326874b
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x90], 8
mov dword [ebp - 0x20], 0
jmp 0x1001a482
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x1001a498
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x140], 0xfa75c19c
jmp 0x1001a47b
mov dword [ebp - 0x20], 0
jmp 0x1001a4a8
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x1001a4bb
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1c], 1
jmp 0x1001a4a1
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x1c], 0
jmp 0x1001a4e0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1c]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x1c], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x1c], 2
jg 0x1001a5da
mov dword [ebp - 0x150], 0xfffffff6
mov dword [ebp - 0x158], 0x3ec93cc2
mov dword [ebp - 0x160], 1
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1c]
imul eax, dword [ebp + eax*4 - 0x140], 0x3989
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x1c]
jge 0x1001a561
mov dword [ebp - 0x78], 1
jmp 0x1001a565
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x168], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1c]
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x1c]
mov ecx, dword [ebp + ecx*4 - 0x140]
cmp dword [ebp + eax*4 - 0x140], ecx
jg 0x1001a59b
mov dword [ebp - 0x80], 1
jmp 0x1001a59f
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x80]
jle 0x1001a5b3
mov dword [ebp - 0x88], 1
jmp 0x1001a5ba
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x88]
neg eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x90]
dec eax
mov dword [ebp - 0x90], eax
jmp 0x1001a4cb
mov dword [ebp - 0x34], 0
jmp 0x1001a5ea
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 1
jge 0x1001a5fd
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x1c], 1
jmp 0x1001a5e3
jmp 0x1001a432
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x198]
call fcn.1002a758
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x18]
push dword [ebp - 0xa8]
push dword [ebp - 0xa0]
push 0
push 0x3fa5
call fcn.1001c8a1
add esp, 0x18
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x98], 0x7597a61e
mov dword [ebp - 0xd0], 0xef7d2668
mov dword [ebp - 0xd8], 0xdd8e181f
push 1
lea eax, [ebp - 0x98]
push eax
push 0x3893
push 1
push 0x434
lea eax, [ebp - 0x28]
push eax
push 0x3d94
call fcn.1000ec8d
add esp, 0x1c
mov dword [ebp - 0x28], 0xfffffff4
jmp 0x1001a68e
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x2e
jge 0x1001a6ee
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xc8], 5
push 1
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xc8]
push eax
push 0x2bac
push 0x4fbd
lea eax, [ebp - 0xd0]
push eax
push 0x734d
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xe0]
push eax
push 1
lea eax, [ebp - 0x98]
push eax
push 1
call fcn.1000eead
add esp, 0x30
jmp 0x1001a687
jmp 0x1001a1df
mov dword [ebp - 0xbc], 0xa5d6c05b
mov dword [ebp - 0xb8], 0xa5d6c05b
mov dword [ebp - 0xb4], 0xa5d6c05b
mov dword [ebp - 0xb0], 0xa5d6c05b
mov dword [ebp - 0xf0], 0xc891c553
push 2
lea ecx, [ebp - 0x134]
call fcn.1002a6d6
mov dword [ebp - 4], 3
mov dword [ebp - 0x50], 0
jmp 0x1001a749
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 2
jge 0x1001a762
push dword [ebp - 0x50]
lea ecx, [ebp - 0x134]
call fcn.1002a774
or dword [eax], 0xffffffff
jmp 0x1001a742
push 4
pop eax
imul eax, eax, 3
mov dword [ebp + eax - 0xbc], 0
jmp 0x1001a790
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0xbc]
dec eax
push 4
pop ecx
imul ecx, ecx, 3
mov dword [ebp + ecx - 0xbc], eax
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0xbc], 0xffffffe8
jl 0x1001a804
mov dword [ebp - 0xe8], 0x6e6f7fbf
push 0x1f4a
lea eax, [ebp - 0x134]
push eax
push 0x3e09
lea eax, [ebp - 0xe8]
push eax
push 0x2ac6
push 0x15e7
push 1
push 0x4864
push 0x3c8
lea eax, [ebp - 0xf0]
push eax
push 0x679c
push 0x7855
push 0x51c9
push 0
push 1
push 0x7454
call fcn.100121af
add esp, 0x40
jmp 0x1001a775
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x134]
call fcn.1002a758
push 4
push 0x1000
mov eax, dword [ebp - 0x18]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xa0]
add ecx, dword [eax + 0xc]
push ecx
push 0x155d
push 0x1ab1
call fcn.1003d2da
pop ecx
pop ecx
call eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x18]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xf8]
add ecx, dword [eax + 0x14]
push ecx
push dword [ebp - 0x68]
call fcn.1003d4aa
add esp, 0xc
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x128], 0xa0e60f95
mov dword [ebp - 0x124], 0xa0e60f95
mov dword [ebp - 0x120], 0xa0e60f95
mov dword [ebp - 0x11c], 0xa0e60f95
mov dword [ebp - 0x14], 0
jmp 0x1001a8a0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xc
jle 0x1001a8f4
mov dword [ebp - 0x58], 0x48708ef6
mov dword [ebp - 0x58], 3
jmp 0x1001a8bd
mov eax, dword [ebp - 0x58]
dec eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jl 0x1001a8f2
mov dword [ebp - 0x38], 0xfffffffa
mov dword [ebp - 0x38], 0
jmp 0x1001a8da
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 4
jge 0x1001a8f0
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x128], 0xd29729cf
jmp 0x1001a8d3
jmp 0x1001a8b6
jmp 0x1001a899
mov dword [ebp - 0x14], 0
jmp 0x1001a904
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1001a91a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x128], 0x6b16b471
jmp 0x1001a8fd
push 0x2bad
lea eax, [ebp - 0x68]
push eax
push 0x283b
push 0
push 0x5181
push 0
push 1
push 0x612e
push 0xb6a
push 0xfcd
push 0x3aac
push 0x1a4b
push 0x310c
push 0x2e44
lea eax, [ebp - 0x18]
push eax
push 0x1567
push 0x58eb
push 0x6a09
call fcn.100126c3
add esp, 0x48
jmp 0x1001a1df
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret