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

Disassembly:
push esp
ja 0x4030a0
inc esp
push esi
push edx
xor byte [edi + 0x42], ah
inc ebp
ja 0x4030a3
push 0x41
inc edx
jae 0x4030ca
inc edx
inc ebp
inc ebp
inc ecx
bound ecx, qword [ecx + 0x78]
inc ecx
push ecx
dec ecx
inc ebx
inc edx
jp 0x4030a8
jb 0x4030b6
inc ebx
imul eax, dword [edi + 0x43], 0x43
jae 0x4030b7
inc ecx
push ecx
push ebp
inc esi
inc edx
ja 0x4030c0
inc edx
inc esi
push 0x48646f31
push edx
ja 0x4030e4
jp 0x4030f2
jbe 0x4030d1
xor ecx, dword [esi + 0x6c]
pop ecx
xor edx, dword [esi + 0x79]
pop edx
push ebx
xor eax, 0x3132626a
jbe 0x4030ef
inc edi
cmp byte [ebp + 0x59], dh
xor bh, byte [ecx]
je 0x4030e9
xor byte [esi + 0x51], cl
push ebp
jp 0x4030e4
dec ecx
inc edx
pop edx
outsb dx, byte [esi]
push ecx
ja 0x4030ee
inc ecx
inc ebp
ja 0x403107
inc ecx
pop ecx
inc esp
push esi
push edx
xor byte [esi + 0x42], ah
inc dx
inc ebp
xor byte [edi + 0x53], dh
jp 0x403101
dec edx
outsd dx, dword [esi]
inc ebp
push edx
pop ecx
pop edx
inc esp
popal
dec eax
push edx
xor byte [ebx + 0x44], ah
outsd dx, dword [esi]
jbe 0x40311d
xor cl, byte [esi + 0x79]
bound eax, qword [ebx + 0x35]
push 0x62
xor dh, byte [ecx]
jbe 0x403137
inc edi
cmp dword [edx + 0x59], ebp
push ebx
xor eax, 0x3032626a
jbe 0x40313a
bound esi, qword [edx]
xor byte [esi + 0x51], dh
xor byte [ecx], bh
dec esi
push esp
xor byte [edx + 0x50], dl
push edx
push eax
push ebp
insb byte es:[edi], dx
dec esi
inc edx
push edx
inc edi
cmp dword [ecx + ebx*2 + 0x57], esi
insb byte es:[edi], dx
jne 0x403153
insd dword es:[edi], dx
inc esi
jae 0x403162
push edi
push edx
push 0x766c4764
bound ebp, qword [esi + ecx*2 + 0x6c]
jbe 0x40316b
insb byte es:[edi], dx
dec esi
insb byte es:[edi], dx
pop ecx
xor edx, dword [esi + 0x79]
pop edx
push esi
dec esi
insb byte es:[edi], dx
arpl word [esi + 0x5a], bp
insb byte es:[edi], dx
arpl word [ebx + 0x4e], bp
inc edx
dec esp
insd dword es:[edi], dx
dec esi
jns 0x403183
inc esp
inc ebx
inc edx
push 0x4b495951
ja 0x403184
inc edx
inc edx
push ecx
push ebp
dec eax
inc ecx
push ecx
inc ebp
inc ebp
push esp
inc edx
xor ecx, dword [ebp + 0x45]
cmp byte [edi + 0x43], al
inc ebx
jae 0x403187
inc ecx
push ecx
push ebp
inc esi
inc edx
jp 0x403188
inc ebx
push 0x646f4e6b
dec eax
push edx
ja 0x4031a0
imul edi, dword [eax], 0x4a335976
xor byte [ebp + ebp*2 + 0x4e], cl
jbe 0x4031ae
xor ecx, dword [edx + 0x30]
dec esp
insd dword es:[edi], dx
dec esi
jbe 0x4031bf
push edi
cmp dword [ebx + 0x62], ebp
xor cl, byte [esi + 0x68]
dec esp
insd dword es:[edi], dx
dec esi
jbe 0x4031cb
dec esi
push 0x764e6d4c
bound edx, qword [ebx + 0x39]
push ebx
cmp dword [esp + edx*2 + 0x30], eax
xor dword [eax + 0x52], edx
inc esp
push esp
xor byte [ecx], dh
push eax
push edx
inc ebp
cmp dword [ebx + 0x55], edx
xor byte [esi + 0x45], al
bound esi, qword [edx]
xor dword [eax + 0x61], ebp
push edi
xor eax, 0x78575957
jo 0x4031df
pop edx
inc edi
inc esi
xor byte [ecx + 0x57], ah
popal
push edi
cmp dword [ebp + 0x55], esi
xor dl, byte [esi + 0x6a]
pop eax
dec edx
insb byte es:[edi], dx
push ebp
xor dl, byte [esi + 0x79]
insd dword es:[edi], dx
push esi
jns 0x4031ee
xor byte [ebp + 0x75], al
pop ecx
xor ecx, dword [edx + 0x30]
dec ebp
inc ebx
push ecx
inc edi
inc ebx
inc ebx
jae 0x4031f3
inc ecx
push ecx
push ebp
inc esi
inc edx
jp 0x4031f4
inc edx
push 0x646f6868
dec eax
push edx
ja 0x40320c
imul edi, dword [eax], 0x4e326276
jp 0x403228
jbe 0x403223
xor cl, byte [esi + 0x7a]
arpl word [ebx + 0x35], ax
push 0x62
xor dh, byte [ecx]
inc ebx
xor eax, 0x3132626a
jbe 0x403227
inc edi
cmp dword [edx + 0x59], ebp
push ebx
xor eax, 0x3032626a
ja 0x403222
push ecx
pop ecx
inc esp
push esi
push edx
xor byte [edx + 0x42], dl
push edx
inc edx
inc edx
outsd dx, dword [esi]
ja 0x40322c
dec ecx
dec ecx
dec esp
dec ebx
imul esi, dword [0x42336277], 0x34575a77
inc edx
ja 0x40324b
push edi
xor al, 0x75
jne 0x40324f
pop edx
inc edi
push edi
inc ebx
inc ebx
pop eax
inc edx
jbe 0x403260
dec eax
inc edx
insb byte es:[edi], dx
bound ebp, qword [ecx + 0x35]
imul ebx, dword [edx + 0x54], 0x41
dec esi
inc edx
imul esi, dword [bx + di + 0x68], 0x6b
imul eax, dword [edi + 0x39], 0x41423077
push 0x3947696b
ja 0x403243
inc edx
inc ecx
push ecx
jae 0x40325e
inc ecx
inc ecx
dec edi
inc ebx
inc ecx
push ecx
inc ebp
inc ecx
dec edi
js 0x40326c
dec ecx
aaa
push esp
push ebp
dec edx
dec edx
inc ebx
pop edx
inc esp
push edx
outsd dx, dword [esi]
dec eax
jbe 0x4032a8
dec ebx
push 0x31
dec edx
outsb dx, byte [esi]
dec ecx
push 0x656e736e
jne 0x40328a
jp 0x4032a2
je 0x403292
jns 0x4032b1
insd dword es:[edi], dx
inc edx
inc ebp
push edx
xor al, 0x6a
push ebx
jb 0x40329d
das
inc edx
imul eax, dword [ebx + 0x33], 0x74
inc edi
push esi
xor ebx, dword [ecx + 0x68]
inc edx
push 0x77352f6b
inc esp
push ebp
push ebx
imul ebp, dword [edi], 0x41
inc edi
imul esi, dword [edi], 0x4e
push esi
xor esp, dword gs:[edi + 0x68]
xor edx, dword gs:[edx + 0x39]
push 0x39523365
sub ebp, dword [ecx + 0x6f]
push ebx
inc ecx
outsb dx, byte [esi]
push ebx
inc edx
inc esp
imul esp, dword [ebx + 0x51], 0x7a6e6d4b
inc ebx
dec esi
jae 0x4032f3
je 0x4032d0
inc esi
das
push esp
push esp
popal
imul edi, dword [eax], 0x6c757048
jae 0x4032f7
imul ecx, dword [eax + 0x35], 0x5a
inc esp
push ebx
jae 0x403312
je 0x4032ca
sub edx, dword [eax + edi + 0x39]
push esp
cmp byte [ecx], bh
outsb dx, byte [esi]
bound esi, qword [ebx + 0x46]
inc edx
jbe 0x4032f6
push eax
xor ecx, dword [eax + 0x74]
inc esi