Function at 0x402dc8
Capabilities:
Get number of processors
Parse pe header

Disassembly:
or al, 0
add byte [ebx + 0x47], ah
je 0x402e3f
dec esp
insd dword es:[edi], dx
jbe 0x402e36
xor ah, byte [ebx + 0x76]
pop edx
xor edx, dword [edx + 0x7a]
arpl word [edx + 0x45], bp
ja 0x402e38
add eax, 0x414d06be
dec ebx
inc edi
dec edx
inc edi
push 0x486430
add al, 0
add byte [ecx + 0x36], al
dec esp
jns 0x402e2f
ja 0x402e59
xor ch, byte [ebx + 0x75]
pop edx
xor bh, byte [ecx]
jbe 0x402e5a
jns 0x402e3b
jns 0x402e5e
pop eax
inc edx
cmp byte [edx], al
dec esi
insb byte es:[edi], dx
arpl word [esi + 0x52], bp
jp 0x402e5b
xor ah, byte [eax + esi]
add byte [eax + 0x49336300], ah
js 0x402e67
insd dword es:[edi], dx
push edx
insb byte es:[edi], dx
fmul dword [ecx]
xor dl, bl
or dword [edx + 0x38], edx
inc ebp
dec esp
push esp
inc ecx
jb 0x402e78
inc ebx
insd dword es:[edi], dx
dec edx
inc ecx
insb byte es:[edi], dx
push 0x646f4e69
dec eax
dec eax
add dword [edx], 0x77520000
add byte [edx + 0x77], dl
dec edi
imul edi, dword [eax], 0x4a335976
jae 0x402e93
outsb dx, byte [esi]
inc edx
jb 0x402eac
push ebx
xor eax, 0x3932626e
outsb dx, byte [esi]
inc byte [ecx]
xor bh, byte [0x62794e02]
bound eax, qword [edx + eax*2 + 0x4e]
inc esp
inc edx
dec esi
cmp al, byte [edx]
or byte [eax], al
add al, 0
add cl, byte [eax]
add byte [eax + eax], al
push ebx
inc ecx
inc ebp
push edx
push 0x42
inc ebp
dec ebp
inc esp
inc edi
inc ebx
imul ebx, dword [ecx], 0x3142510b
outsb dx, byte [esi]
imul eax, dword [ebx + 0x42], 0x51
inc edx
push ecx
dec ebp
ja 0x402ec8
push 0x41
outsd dx, dword [esi]
pop ds
pop es
inc ebx
inc ecx
push edx
add byte [eax], al
add byte [ecx + ebx*2], ah
arpl word [edx], bx
pop es
dec eax
dec ebp
jg 0x402e96
cmp esp, dword [ebx + 0x32]
insb byte es:[edi], dx
xor byte [edx + 0x33], ah
xor ch, byte [eax + esi + 0x62]
xor ecx, dword [edx + 0x35]
dec esp
jp 0x402ede
bound esi, qword [ebx]
dec edx
xor eax, 0x49417a4c
dec ecx
inc edx
pop edx
outsb dx, byte [esi]
push ecx
ja 0x402ee8
inc ecx
inc ebp
ja 0x402eef
push ecx
add byte [eax], al
add byte [eax], al
pop ecx
dec edx
dec ebx
outsd dx, dword [esi]
pop edx
dec ecx
push 0x414e6376
push ecx
inc ebp
dec esp
inc edx
push ecx
inc ecx
inc esp
dec ecx
inc edx
inc ecx
inc edi
js 0x402f34
dec edx
sub esi, dword [edx + ebp*2]
xor ebp, dword [ebx]
add byte [eax], al
add byte [eax], al
push esi
push ebx
popal
inc ebp
xor al, byte [edx + 0x5a]
jo 0x402f24
inc esi
xor esi, dword [ebx]
xor dword [ebp + esi + 0x56], ebp
jae 0x402f19
dec ebp
push ecx
insd dword es:[di], dx
jae 0x402f53
insd dword es:[edi], dx
jb 0x402f27
js 0x402f6c
add byte [bx + si], al
add byte [eax], al
inc edi
xor eax, 0x642b6272
sub esp, dword [esp + 0x2f]
pop edx
push edx
dec eax
pop ecx
js 0x402f59
je 0x402f54
outsd dx, dword [esi]
pop eax
jne 0x402f76
xor dword [ecx], edi
dec esi
outsd dx, dword [esi]
xor eax, 0x69505155
aaa
add byte [eax], al
add byte [eax], al
outsd dx, dword [esi]
xor dh, byte [ebx]
push ebp
dec ebx
add byte [eax], al
add byte [edi + 0x32], ch
xor edx, dword [ebp + 0x4b]
inc ebx
cmp dword fs:[ebx + 0x4e], ecx
dec ebx
dec esi
xor esp, dword [esi + 0x55]
push bp
das
sub ebp, dword [ebx]
jbe 0x402f77
inc edx
xor eax, 0x6c375469
jb 0x402f87
je 0x402f8c
xor esp, dword [ebp + 0x53]
js 0x402f3d
add byte [eax], al
add byte [edi + 0x74], dh
push 0x45
xor esi, dword [ebx + 0x66]
outsd dx, dword [esi]
js 0x402f81
das
imul esi, dword [0x43662f41], 0x30
jae 0x402f85
xor dword [ebx + 0x43], ebp
inc ebp
inc esi
imul eax, dword [ebx + 0x45], 0x46
inc esi
arpl word [eax + edi], si
inc ecx
jb 0x402f8e
bound eax, qword [eax]
add byte [eax], al
add byte [ebx + 0x47], ah
push ebx
inc esi
inc esi
sub eax, dword [ebx + 0x56]
xor al, 0x2f
inc esp
cmp dword [ecx + 0x6e], edi
das
jo 0x402fdb
outsb dx, byte [esi]
arpl word gs:[ebp + 0x4f], dx
arpl word [ebp + 0x4f], dx
push edx
dec ecx
insb byte es:[edi], dx
xor al, 0x78
push edi
insb byte es:[edi], dx
pop edx
dec ebx
popal
add byte [eax], al
add byte [eax], al
inc ebx
popal
add byte [eax], al
add byte [ebx + 0x61], al
dec edi
imul esp, dword [edi + 0x32], 0x4b
xor cl, byte [bp + di + 0x61]
dec ebx
popal
popal
push ebp
imul esi, dword [ecx], 0x55
je 0x40300c
inc ebp
xor dword gs:[esi], esi
pop edx
popal
xor dword [esi + 0x77], ebp
dec si
jo 0x403015
jae 0x402fd1
dec ebp
outsd dx, dword [esi]
add byte [eax], al
add byte [eax], al
jb 0x402fef
push 0x7746506f
push ebp
dec eax
dec ecx
outsb dx, byte [esi]
jns 0x402ff1
xor dword [edx + 0x67], ebp
xor eax, dword [ecx + 0x42]
xor esi, dword [edx + 0x68]
jb 0x403011
insb byte es:[edi], dx
insb byte es:[edi], dx
je 0x40302b
jne 0x403015
jo 0x403005
add byte [eax], al
add byte [eax], al
xor dword [eax + 0x32], edi
js 0x403005
inc edi
inc esi
insb byte es:[edi], dx
dec edi
pop ecx
push ebx
jae 0x403028
push 0x37
xor esp, dword [ebp + 0x6a]
bound edi, qword [eax + 0x56]
jo 0x40301e
pop eax
jno 0x40303d
inc esi
je 0x403042
jo 0x403030
outsb dx, byte [esi]
xor bh, byte [edx]
jp 0x402ff1
add byte [eax], al
add byte [edx + 0x71], dh
pop ecx
inc ecx
dec ebp
pop ecx
ja 0x403071
jo 0x403063
inc edi
cmp byte [eax + 0x54], cl
inc edx
pop eax
jp 0x403055
jns 0x403072
insb byte es:[edi], dx
inc edi
popal
push edx
jne 0x403048
pop cx
jp 0x40306b
add byte [eax], al
add byte [eax], al
dec edi
jns 0x403081
add byte [eax], al
add byte [edi + 0x79], cl
jae 0x40306e
jae 0x40306e
jb 0x403062
inc ebx
pop eax
push edi
dec edx
xor dh, byte [ebp + eax*2 + 0x38]
dec esp
outsb dx, byte [esi]
dec edx
push eax
dec esi
push 0x6b6e6871
push esp
push ecx
jp 0x40308e
jne 0x4030a3
dec ecx
ja 0x403039
add byte [eax], al
add byte [edi + 0x2f], ah
das
insb byte es:[edi], dx
inc edi
outsb dx, byte [esi]
outsb dx, byte [esi]
insb byte es:[edi], dx
jno 0x4030b2
cmp dword [edi + 0x6d], esi
insd dword es:[edi], dx
push ebp
jb 0x4030a2
xor dword [edx], esi
pop eax
push ebx
push 0x70523057
insd dword es:[edi], dx
push ebp
push esi
inc ebp
dec eax
cmp dword gs:[eax], eax
add byte [eax], al
and byte [ecx + edi], dh
rol byte [ebx], 0x76
dec ebp
add esi, dword [esi + 0x4d]
dec eax
outsd dx, dword [esi]
imul ecx, dword [edx + 0x36], 0x34
jae 0x4030a3
xor al, 0x73
xor al, 0x62
xor dl, byte [ebx + 0x2f]
bound esi, qword [edx]
push ebx
das
ja 0x4030ea
push ebp
das
das
jp 0x4030ee
bound esi, qword [0x71386a39]
add byte [eax], al
add byte [eax], al
dec edx
ja 0x4030ef
push eax
inc ebx
push esp
xor al, 0x6a
push edi
jae 0x4030f6
push 0x51
imul esi, dword [ecx], 0x51754e36
cmp dword [ebp + 0x4a], ebp
pop edx
dec edi
pop edx
push 0x71
xor byte [esp + esi*2 + 0x6a], ah
je 0x40310f
je 0x40310f
add byte [eax], al
add byte [eax], al
dec ebx
jne 0x403120
xor al, 0x43
bound eax, qword [esi + 0x4f]
dec ecx
bound ecx, qword [edi + 0x4f]
je 0x4030ef
xor al, 0x2b
imul esi, dword [esi + 0x47], 0x56
pop eax
dec ebx
push ecx
xor eax, 0x72414d30
jns 0x40310d
dec ebp
push esi
add byte [eax], al
add byte [eax], al
cmp dword [ecx + ecx*2 + 0x76], esp
jae 0x403104
inc edi
inc edi
pop edx
imul ecx, dword [eax + 0x63], 0x33
inc ebx
jo 0x403143
je 0x40315a
push edx
ja 0x40314a
cmp dword [esi + 0x42], ecx
bound esi, qword [esi]
push edx
pop eax
push 0
add byte [eax], al
add byte [esi], dh
dec ecx
add byte [eax], al
dec ecx
dec edx
jns 0x403139
inc edx
push eax
pop eax
inc ebp
xor eax, dword [edx + 0x6c]
jbe 0x40312e
jne 0x40314a
insd dword es:[edi], dx
xor dword [edi + 0x6c], ebp
insb byte es:[edi], dx
jbe 0x403175
arpl word [edx + 0x34], cx
popal
jno 0x403162
push esp
push 0x3146
add byte [eax], al
jne 0x403169
inc esi
xor dword [eax], eax
add byte [eax], al
add byte [ebp + 0x52], dh
xor eax, 0x4151384e
bound esp, qword [ecx + 0x6d]
pop edx
xor eax, 0x754e736a
xor al, byte [edi + 0x32]
imul ecx, dword [ecx + 0x71], 0x6642744a
jae 0x4031a4
jae 0x4031a4
cmp byte [esi + 0x46], dh
push ecx
add byte [eax], al
add byte [esi + 0x32524461], al
xor eax, 0x32524461
mov eax, 0x78666623
ja 0x4031b6
xor dword [ebx + 0x71], ebp
inc ecx
jbe 0x403192
inc edi
sub esi, dword [ebx + 0x4e]
push eax
js 0x40317c
dec ebp
xor byte [ebx + 0x75], dl
push edi
outsd dx, dword [esi]
insb byte es:[edi], dx
imul eax, dword [esi], 0
add byte [eax], al
add byte [eax], al
jbe 0x4031ca
push 0x396d4453
jb 0x4031b4
inc esp
insd dword es:[edi], dx
cmp dword [edx + esi*2 + 0x4c], esp
push ecx
inc edx
ja 0x4031c6
dec esi
inc ebx
inc ecx
inc esp
pop ecx
pop eax
xor byte ss:[edi + 0x50], ah
xor byte [edi + 0x50], ah
push ebx