Function at 0x407840
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
add esp, 4
pop esi
cmp dword [ebp - 0xda8], 0
jne 0x4071dc
mov dword [ebp - 0x7cc], 0
jmp 0x407427
mov edx, dword [ebp - 0xda8]
mov dword [ebp - 0x554], edx
push esi
add esi, 0x41df
xor esi, 0x14ad2
and esi, 0x12af5
sub esi, 0x12d78
pop esi
push edi
push ecx
add esp, 4
and edi, 0x4ba5
sub edi, 0x9031
and edi, 0x87ab
pop edi
lea eax, [ebp - 0x18f4]
mov dword [ebp - 0xda4], eax
mov ecx, dword [ebp - 0x554]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xda0], edx
xor eax, eax
mov word [ebp - 0x238], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ecx
push edx
add esp, 4
add ecx, 0xa537
pop ecx
push ebx
xor ebx, 0xd023
pop ebx
push esi
push eax
add esp, 4
or esi, 0x152c7
jmp 0x407269
sub esi, 0x13415
or esi, 0xace6
pop esi
mov edx, dword [ebp - 0xda0]
mov ax, word [edx]
mov word [ebp - 0x1146], ax
mov ecx, dword [ebp - 0xda0]
add ecx, 2
mov dword [ebp - 0xda0], ecx
mov dx, word [ebp - 0x1146]
mov word [ebp - 0x238], dx
mov eax, dword [ebp - 0xda4]
mov cx, word [eax]
mov word [ebp - 0x1148], cx
mov edx, dword [ebp - 0xda4]
add edx, 2
mov dword [ebp - 0xda4], edx
mov ax, word [ebp - 0x1148]
mov word [ebp - 0x3c], ax
push eax
add eax, 0x9d29
pop eax
push ebx
add ebx, 0x2b4e
add ebx, 0x113b
xor ebx, 0x16abc
pop ebx
push ecx
push edx
add esp, 4
jmp 0x4072f3
xor ecx, 0x860f
jmp 0x4072fe
pop ecx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x40731c
movzx edx, word [ebp - 0x238]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x17a4], edx
jmp 0x407376
movzx ecx, word [ebp - 0x238]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x407244
movzx eax, word [ebp - 0x238]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x407244
movzx edx, word [ebp - 0x238]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x407360
mov dword [ebp - 0x1760], 0xffffffff
jmp 0x40736a
mov dword [ebp - 0x1760], 1
mov ecx, dword [ebp - 0x1760]
mov dword [ebp - 0x17a4], ecx
cmp dword [ebp - 0x17a4], 0
jne 0x4073bf
push edx
call 0x40738e
add byte [edi], dh
dec ebp
xor eax, 0x503f3f3c
dec ecx
add esp, 4
and edx, 0xd11c
or edx, 0xf4a5
or edx, 0x16339
pop edx
push ebx
push edi
add esp, 4
jmp 0x4073b0
pop ebx
mov edx, dword [ebp - 0x554]
mov dword [ebp - 0x7cc], edx
jmp 0x407427
push ecx
xor ecx, 0x380b
jmp 0x4073cf
pop ecx
push esi
push edi
add esp, 4
jmp 0x4073de
and esi, 0x12662
xor esi, 0x3da
and esi, 0x2576
pop esi
mov eax, dword [ebp - 0x554]
mov ecx, dword [eax]
mov dword [ebp - 0x554], ecx
mov edx, dword [ebp - 0x554]
cmp edx, dword [ebp - 0xda8]
je 0x40741d
mov eax, dword [ebp - 0x554]
cmp dword [eax + 0x30], 0
jne 0x4071e8
mov dword [ebp - 0x7cc], 0
push esi
push esi
add esp, 4
xor esi, 0x15a2c
jmp 0x407437
or esi, 0x73c4
and esi, 0x12629
pop esi
push eax
push ecx
add esp, 4
jmp 0x407452
add eax, 0x183e3
pop eax
cmp dword [ebp - 0x7cc], 0
jne 0x4074a3
push ebx
sub ebx, 0xceef
pop ebx
push esi
and esi, 0xdb7b
pop esi
push edi
call 0x407482
add byte [esi + 0x45], al
aas
dec ebp
dec edx
xor eax, 0x8350504b
les eax, [ecx + eax*4]
invalid
push eax
call 0x4074b1
add byte [esp + edi + 0x4c], al
cmp dword [edi + 0x33], ecx
cmp eax, dword [ebx + 0x565804c4]
push edx
add esp, 4
jmp 0x4074c1
xor esi, 0x14f03
and esi, 0x5c64
jmp 0x4074d4
pop esi
mov ecx, dword [ebp - 0x7cc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3cc], edx
mov dword [ebp - 0x7dc], 0
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x17a8], eax
cmp dword [ebp - 0x17a8], 0
jne 0x407514
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], ecx
jmp 0x407805
mov edx, dword [ebp - 0x17a8]
mov eax, dword [ebp - 0x3cc]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x17ac], eax
jne 0x40753c
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], ecx
jmp 0x407805
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x17ac]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x17b0], edx
cmp dword [ebp - 0x17b0], 0
jne 0x40756e
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], eax
jmp 0x407805
mov ecx, dword [ebp - 0x3cc]
add ecx, dword [ebp - 0x17b0]
mov dword [ebp - 0x7d0], ecx
jne 0x407593
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], edx
jmp 0x407805
mov eax, dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x3cc]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1b08], ecx
mov edx, dword [ebp - 0x7d0]
mov eax, dword [ebp - 0x3cc]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1b0c], eax
mov ecx, dword [ebp - 0x7d0]
mov edx, dword [ebp - 0x3cc]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1b10], edx
mov dword [ebp - 0x7d4], 0
jmp 0x4075ed
mov eax, dword [ebp - 0x7d4]
add eax, 1
mov dword [ebp - 0x7d4], eax
mov ecx, dword [ebp - 0x7d0]
mov edx, dword [ebp - 0x7d4]
cmp edx, dword [ecx + 0x18]
jae 0x4077f9
mov eax, dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x1b08]
mov edx, dword [ebp - 0x3cc]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x1b0c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1b10]
mov ecx, dword [ebp - 0x3cc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1b14], ecx
mov dword [ebp - 0x1b4], 0
jmp 0x40765d
mov edx, dword [ebp - 0x1b4]
add edx, 1
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x7d8]
add eax, dword [ebp - 0x1b4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40770f
mov edx, dword [ebp - 0x1b4]
movsx eax, byte [ebp + edx - 0x914]
test eax, eax
je 0x40770f
push ecx
push edi
add esp, 4
jmp 0x407695
xor ecx, 0xe50d
pop ecx
push edx
and edx, 0x59e2
sub edx, 0x13fcf
xor edx, 0x14cc3
pop edx
push ebx
push esi
add esp, 4
add ebx, 0x12bc2
pop ebx
mov ecx, dword [ebp - 0x7d8]
add ecx, dword [ebp - 0x1b4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1b4]
movsx ecx, byte [ebp + eax - 0x914]
cmp edx, ecx
je 0x407701
mov edx, dword [ebp - 0x7d8]
add edx, dword [ebp - 0x1b4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1b4]
movsx edx, byte [ebp + ecx - 0x914]
cmp eax, edx
jne 0x407708
jmp 0x40764e
jmp 0x40770f
push ebx
and ebx, 0x12ce8
xor ebx, 0x14e39
sub ebx, 0x91a7
pop ebx
push edx
push esi
add esp, 4
sub edx, 0x1465
or edx, 0xc5f7
or edx, 0x63b5
and edx, 0x1483d
pop edx
mov eax, dword [ebp - 0x7d8]
add eax, dword [ebp - 0x1b4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1b4]
movsx eax, byte [ebp + edx - 0x914]
cmp ecx, eax
jne 0x40776e
mov dword [ebp - 0xdac], 0
jmp 0x4077dd
push ebx
push eax
add esp, 4
call 0x407781
add byte [ebx], bh
dec eax
dec edi
dec edi
dec ecx
cmp dword [esi + 0x46], eax
add esp, 4
add ebx, 0x2499
add ebx, 0x9051
call 0x40779c
add byte [ebx + 0x4a], cl
cmp dword [edi], esi
inc ebp
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x7d8]
add ecx, dword [ebp - 0x1b4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1b4]
movsx ecx, byte [ebp + eax - 0x914]
or ecx, 0x20
cmp edx, ecx
jge 0x4077d3
mov dword [ebp - 0xdac], 0xffffffff
jmp 0x4077dd
mov dword [ebp - 0xdac], 1
cmp dword [ebp - 0xdac], 0
jne 0x4077f4
mov edx, dword [ebp - 0x1b14]
mov dword [ebp - 0x428], edx
jmp 0x407805
jmp 0x4075de
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 0
je 0x4078e0
push esi
call 0x407823
add byte [esi + 0x3f], cl
xor eax, 0x4c4a3b4d
inc edi
inc eax
dec eax
add esp, 4
add esi, 0x5c8e
pop esi
push ebx
add ebx, 0x156ca
call 0x407840
add byte [eax + eax*2 + 0x37], al
inc esp
inc edi
inc ebx
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x1b18], ecx
push edi
push ebx
add esp, 4
add edi, 0x14c1f
add edi, 0x17d81
call 0x407871
add byte [edi + 0x48], cl
dec ecx
dec eax
aaa
inc edx
cmp cl, byte [ebp + 0x41]
inc ecx
add esp, 4
pop edi
push ebx
push ecx
add esp, 4
jmp 0x407881
pop ebx
mov edx, dword [ebp - 0x1b18]
mov dword [ebp - 0x1b1c], edx
lea eax, [ebp - 0x1884]
push eax
call dword [ebp - 0x1b1c]
test eax, eax
jne 0x4078e0
push edi
call fcn.004078af