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

Disassembly:
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x3c0], eax
push eax
push ecx
add esp, 4
xor eax, 0x17bc7
and eax, 0x17416
or eax, 0x23c9
pop eax
push edx
sub edx, 0x3fad
pop edx
push esi
push edi
add esp, 4
add esi, 0x618b
sub esi, 0x3911
pop esi
mov ecx, dword [ebp - 0x1fa0]
mov dword [ebp - 0x14b8], ecx
push ecx
or ecx, 0x13cb2
jmp 0x4049d7
call 0x4049e4
add byte [edi], bh
xor eax, 0x4a3d4544
inc ebp
add esp, 4
add ecx, 0x11b95
pop ecx
push edx
push edx
add esp, 4
jmp 0x4049f9
pop edx
mov edx, dword [ebp - 0x14]
add edx, 0x138
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x14b8], edx
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x1ef8], edx
mov eax, dword [ebp - 0x1ef8]
add eax, dword [ebp - 0x14b8]
mov dword [ebp - 0x3c0], eax
push edi
or edi, 0xfd4c
or edi, 0x31bb
pop edi
push ebx
push ebx
add esp, 4
jmp 0x404a5b
xor ebx, 0x16c3d
xor ebx, 0x636c
pop ebx
push ebx
push eax
add esp, 4
sub ebx, 0x176fb
pop ebx
mov byte [ebp - 0xb78], 0x52
mov byte [ebp - 0xb77], 0xb9
mov byte [ebp - 0xb76], 0x10
mov byte [ebp - 0xb75], 0x10
mov byte [ebp - 0xb74], 0x10
mov byte [ebp - 0xb73], 0x10
mov byte [ebp - 0xb72], 0x5a
push ebx
push edx
add esp, 4
add ebx, 0x6b62
pop ebx
push edx
or edx, 0x13951
call 0x404ac7
add byte [ecx], bh
xor al, byte [ebx + 0x3e]
cmp al, 0x3b
xor ecx, dword [ecx + 0x4d]
add esp, 4
sub edx, 0xa46d
and edx, 0xc573
pop edx
mov byte [ebp - 0xb80], 0x52
mov byte [ebp - 0xb7f], 0xb9
mov byte [ebp - 0xb7e], 0x20
mov byte [ebp - 0xb7d], 0x20
mov byte [ebp - 0xb7c], 0x20
mov byte [ebp - 0xb7b], 0x20
mov byte [ebp - 0xb7a], 0x5a
push eax
and eax, 0x111d0
pop eax
push edx
push edi
add esp, 4
xor edx, 0x4d1
sub edx, 0x6bfc
add edx, 0x13030
xor edx, 0xf94e
pop edx
push edx
push esi
add esp, 4
and edx, 0x976
pop edx
mov dword [ebp - 0x1fa4], 0xe
push edx
sub edx, 0x1709e
jmp 0x404b54
add edx, 0x9b3d
pop edx
push eax
jmp 0x404b63
sub eax, 0xddce
add eax, 0x114a6
add eax, 0xdc8b
pop eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb78]
mov dword [ebp - 0x14bc], eax
push ebx
push esi
add esp, 4
xor ebx, 0x2875
xor ebx, 0x56fb
sub ebx, 0x11a53
pop ebx
push ebx
sub ebx, 0x12946
add ebx, 0xa4ae
pop ebx
push edx
push edi
add esp, 4
or edx, 0x851a
pop edx
mov dword [ebp - 0x1fa8], 0xffffffff
push ecx
push eax
add esp, 4
or ecx, 0x7ad1
and ecx, 0x10a8c
jmp 0x404bdd
call 0x404be9
add byte [0x4538364a], bh
cmp byte [ebx + 0x565904c4], al
push ecx
add esp, 4
or esi, 0x16697
pop esi
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4cc], ecx
jmp 0x404c16
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
push ebx
push esi
add esp, 4
and ebx, 0x1623
xor ebx, 0x823f
add ebx, 0xf6b8
pop ebx
push edi
add edi, 0xd09d
pop edi
push esi
push eax
add esp, 4
add esi, 0x135cf
sub esi, 0xd319
pop esi
mov eax, dword [ebp - 0x4cc]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x404c90
push edx
push ecx
add esp, 4
sub edx, 0xd435
and edx, 0x10c32
sub edx, 0x16592
pop edx
push edx
xor edx, 0x140be
or edx, 0x115e2
pop edx
push ebx
push ebx
add esp, 4
or ebx, 0x15a54
pop ebx
jmp 0x404ebe
mov dword [ebp - 0xc08], 7
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa68], ecx
push edi
push edx
add esp, 4
jmp 0x404cb1
pop edi
push ecx
push ebx
add esp, 4
and ecx, 0x14550
pop ecx
push edx
and edx, 0x17f95
or edx, 0x13706
sub edx, 0x3daf
add edx, 0xadce
pop edx
mov edx, dword [ebp - 0x14bc]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x14bc]
jne 0x404d3f
push esi
xor esi, 0x142ff
call 0x404d12
add byte [ecx + 0x4a], al
inc ebx
dec ecx
dec ebp
dec eax
aas
aas
inc esi
add esp, 4
or esi, 0x4e52
or esi, 0x1751d
pop esi
push ebx
push edi
add esp, 4
or ebx, 0x32e7
pop ebx
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], ecx
jmp 0x404e70
cmp dword [ebp - 0xc08], 0
jle 0x404e64
push edx
jmp 0x404d56
call 0x404d65
add byte [ebx + edi + 0x3a], cl
cmp dword [eax + 0x50], eax
cmp ecx, dword [edi + 0x50]
add esp, 4
sub edx, 0xf94c
pop edx
push edx
and edx, 0x15de2
jmp 0x404d7d
pop edx
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x404e00
push ecx
call 0x404da1
add byte [edx + edi + 0x47], cl
cmp al, 0x4f
dec ebx
add esp, 4
call 0x404db3
add byte [esi], dh
inc edi
inc ecx
push eax
inc eax
xor eax, 0x833a3b33
les eax, [ecx + eax*4]
leave
sbb byte [ebp + 1], 0
jmp 0x404dc5
pop ecx
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x404de8
mov dword [ebp - 0x14c0], 1
jmp 0x404df2
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x404e64
push edi
push esi
add esp, 4
and edi, 0xe299
sub edi, 0x5c99
or edi, 0x3c6b
pop edi
push ebx
call 0x404e28
add byte [ecx], bh
dec ebp
inc edx
inc esi
xor ecx, dword [esi + 0x37]
cmp dword [ebx - 0xc7efb3c], eax
inc ebp
aam 0
add byte [ebx - 0x75], bl
xchg ebp, eax
clc
invalid
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x404eb9
push edi
add edi, 0x173d2
call 0x404e8e
add byte [esi + 0x41], al
inc esp
dec ecx
inc esi
cmp dword [esp + eax*2 - 0x7d], eax
les eax, [ecx + eax*4]
test dword [eax + 0x5f0000fc], 0xc5f78157
cmp eax, dword [ecx]
add byte [edi + 0x51], bl
jmp 0x404eaa
pop ecx
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x404efa
jmp 0x404c07
push ecx
push edx
add esp, 4
or ecx, 0x10706
pop ecx
push esi
sub esi, 0x58af
pop esi
push ecx
push edx
add esp, 4
xor ecx, 0x937b
sub ecx, 0x11e11
xor ecx, 0x2ca5
sub ecx, 0xb89e
pop ecx
mov dword [ebp - 0x3cc], 0
push eax
and eax, 0x14594
xor eax, 0x9c7
or eax, 0x161c8
xor eax, 0x14026
pop eax
push eax
push edx
add esp, 4
and eax, 0x1e7b
pop eax
push eax
push ecx
add esp, 4
sub eax, 0xdc1d
pop eax
push esi
push edi
add esp, 4
jmp 0x404f37
or esi, 0x1608e
pop esi
push ecx
push edx
add esp, 4
sub ecx, 0x11710
or ecx, 0x71a8
jmp 0x404f57
or ecx, 0x6a05
pop ecx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push ecx
or ecx, 0x5804
and ecx, 0x51bb
pop ecx
push ecx
push edi
add esp, 4
jmp 0x404f8b
xor ecx, 0x111f
add ecx, 0x2e26
jmp 0x404f9c
pop ecx
push edi
add edi, 0x8daa
pop edi
mov dword [ebp - 0x1fac], 0xffffffff
push ecx
call 0x404fc0
add byte [ebx], dh
inc eax
inc edi
inc esp
inc esi
xor al, 0x4f
dec ebp
xor al, byte ss:[ebx + 0x9e804c4]
add byte [eax], al
add byte [eax], al
inc esi
xor eax, 0x3a3c3944
cmp dword [edx], esi
add esp, 4
xor ecx, 0x11548
and ecx, 0x15916
pop ecx
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x404ffe
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push edx
push ebx
add esp, 4
sub edx, 0x134a2
pop edx
push esi
call 0x40501a
add byte [esi + 0x34], al
cmp al, byte [edi + esi + 0x38]
dec ebx
xor edi, dword [0x8104c483]
out 0x64, al
js 0x405023
add byte [ecx + 0xf02ac6], al
add byte [ecx + 0x95c8f6], al
add byte [esi - 0x75], bl
test dword [eax], esi
sti
invalid
add esi, 0xf02a
xor esi, 0x95c8
pop esi
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x405078
push edi
xor edi, 0xaef1
sub edi, 0x15ee
add edi, 0x2d12
or edi, 0x49ab
pop edi
push edx
push eax
add esp, 4
add edx, 0x313a
jmp 0x40506c
add edx, 0x6622
pop edx
jmp 0x4052a6
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push ecx
push ebx
add esp, 4
and ecx, 0x2849
jmp 0x4050a0
pop ecx
push eax
push eax
add esp, 4
xor eax, 0x114b8
call 0x4050bc
add byte [esi], bh
inc ebp
dec esi
xor al, 0x4e
cmp al, 0x3d
inc ebx
inc ebx
dec ebp
add esp, 4
pop eax
mov edx, dword [ebp - 0x14c8]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0xc14], 0
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x14c8]
jne 0x405127
push esi
and esi, 0x16c8d
and esi, 0xdcf
xor esi, 0x125c5
pop esi
push eax
add eax, 0xf21
or eax, 0x115c
call 0x405112
add byte [ecx + 0x3b], al
cmp byte [eax], bh
cmp eax, 0xc4834c46
add al, 0x58
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x405258
cmp dword [ebp - 0xc10], 0
jle 0x40524c
push eax
push edi
add esp, 4
call 0x405145
add byte [eax + 0x48], dl
dec ebx
dec esi
inc ebp
add esp, 4
or eax, 0x5b2a
add eax, 0x1a35
call 0x405162
add byte [edi], bh
xor al, 0x42
xor bh, byte [esi]
cmp byte [edx + ecx*2], dh
add esp, 4
pop eax
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x4051e8
push edi
push ebx
add esp, 4
xor edi, 0x6b7e
sub edi, 0x177c8
xor edi, 0x12959
pop edi
push ecx
add ecx, 0x6e43
add ecx, 0xe4a7
sub ecx, 0xfad8
or ecx, 0x5825
pop ecx
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x4051d0
mov dword [ebp - 0x14cc], 1
jmp 0x4051da
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x40524c
push eax
push ebx
add esp, 4
add eax, 0x4891
add eax, 0x17cf7
and eax, 0x8324
pop eax
push edi
and edi, 0x3979
xor edi, 0x135e7
add edi, 0x107d7
or edi, 0x1514d
pop edi
mov edx, dword [ebp - 0xc10]
sub edx, 1
mov dword [ebp - 0xc10], edx
mov eax, dword [ebp - 0xa60]
add eax, 1
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, 1
mov dword [ebp - 0x9f0], ecx
jmp 0x405127
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x4052a1
push ecx
push ebx
add esp, 4
and ecx, 0x14766
jmp 0x405273
call 0x405283
add byte [ecx + 0x45], al
cmp al, 0x36
xor dh, byte [esi]
inc esp
cmp dword [edx], edi
xor al, byte [ebx + 0x565904c4]
push ebx
add esp, 4
add esi, 0xaea3
pop esi
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x4052e2
jmp 0x404fef
push ecx
sub ecx, 0xe722
pop ecx
push ebx
xor ebx, 0x12177
xor ebx, 0x1438b
or ebx, 0xace2
pop ebx
push eax
xor eax, 0x426e
pop eax
push eax
and eax, 0xf003
and eax, 0xc34c
pop eax
mov dword [ebp - 0xa5c], 0
push ecx
push ecx
add esp, 4
jmp 0x4052ed
add ecx, 0x12d6d
jmp 0x4052f9
pop ecx
push edx
add edx, 0xdc99
and edx, 0x14f85
and edx, 0x150de
and edx, 0x8551
pop edx
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50
mov byte [ebp - 0x7ff], 0x72
mov byte [ebp - 0x7fe], 0x6f
mov byte [ebp - 0x7fd], 0x63
mov byte [ebp - 0x7fc], 0x65
mov byte [ebp - 0x7fb], 0x73
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push ebx
push ebx
add esp, 4
jmp 0x405375
cmp dword [ecx + 0x6b77e3], eax
add al, ch
or byte [eax], al
add byte [eax], al
and ebx, 0x6b77
call 0x405388
add byte [ebx + 0x34], al
inc ecx
xor eax, 0xc4834a4b
add al, 0x81
jecxz 0x405374
mov dword [0x535b0000], eax
add ebx, 0x7b07
pop ebx
mov ecx, 0x6b
mov word [ebp - 0x1628], cx
mov edx, 0x65
mov word [ebp - 0x1626], dx
mov eax, 0x72
mov word [ebp - 0x1624], ax
mov ecx, 0x6e
mov word [ebp - 0x1622], cx
mov edx, 0x65
mov word [ebp - 0x1620], dx
mov eax, 0x6c
mov word [ebp - 0x161e], ax
mov ecx, 0x33
mov word [ebp - 0x161c], cx
mov edx, 0x32
mov word [ebp - 0x161a], dx
mov eax, 0x2e
mov word [ebp - 0x1618], ax
mov ecx, 0x64
mov word [ebp - 0x1616], cx
mov edx, 0x6c
mov word [ebp - 0x1614], dx
mov eax, 0x6c
mov word [ebp - 0x1612], ax
xor ecx, ecx
mov word [ebp - 0x1610], cx
push esi
jmp 0x405439
pop esi
push eax
xor eax, 0x1451e
call 0x40544f
add byte [ecx], bh
cmp edi, dword [edi + ecx*2]
dec ebx
inc ebp
cmp al, 0x32
add esp, 4
pop eax
push ebx
push esi
add esp, 4
sub ebx, 0x714d
xor ebx, 0xbfdd
pop ebx
push ecx
push ecx
add esp, 4
jmp 0x40546f
or ecx, 0x17ca5
sub ecx, 0x63a5
pop ecx
push ecx
call 0x40548d
add byte [esi + 0x4a], cl
cmp eax, dword ds:[ebx + 0x33]
dec esi
inc eax
add esp, 4
add ecx, 0x11329
pop ecx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push edi
and edi, 0xe690
and edi, 0x1ec7
pop edi
push edx
add edx, 0x7b96
or edx, 0x147fe
pop edx
push edi
push edx
add esp, 4
jmp 0x4054e8
pop edi
push ebx
add ebx, 0xfb17
pop ebx
cmp dword [ebp - 0x14d4], 0
jne 0x405509
mov dword [ebp - 0x2e0], 0
jmp 0x4057c5
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push ecx
call 0x40552a
add byte [0x4c3f493b], dh
cmp byte [edx + 0x46], cl
add esp, 4
pop ecx
push edx
push edx
add esp, 4
or edx, 0x47a9
pop edx
push eax
jmp 0x405540
or eax, 0x3255
sub eax, 0x16da
pop eax
cmp dword [ebp - 0xc20], 0
jne 0x405565
mov dword [ebp - 0x2e0], 0
jmp 0x4057c5
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push edx
push eax
add esp, 4
call 0x405584
add byte [ebp + 0x43], cl
cmp byte [esi + 0x33], al
xor ecx, dword [esi + 0x33]
add esp, 4
or edx, 0x84fd
sub edx, 0x15368
call 0x40559f
add byte [edx], bh
inc ebp
dec edx
inc esi
cmp byte [ebx - 0x72a5fb3c], al
invalid
push edx
push edx
add esp, 4
xor edx, 0x61ac
pop edx
push edi
call 0x4057e1
add byte [esi + 0x3f], al
inc edi
xor al, 0x48
inc esi
xor eax, 0xc4834a4c
add al, 0x81
iretd