Function at 0x4032f0
Capabilities:
Check os version
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x41a044
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc4
push ebx
push ebp
push esi
push edi
push 0
push 0
lea ecx, [esp + 0x48]
call fcn.004051b0
push 0
push 0
lea ecx, [esp + 0x58]
mov dword [esp + 0xe4], 0
call fcn.004022c0
mov dword [esp + 0x40], 0x41b294
push 0xffffffffffffffff
push str.export
lea ecx, [esp + 0x18]
mov dword [esp + 0xe4], 1
call fcn.00402500
mov ebp, 0x41b248
mov dword [esp + 0x10], ebp
push 1
lea eax, [esp + 0x44]
push 0
push eax
lea ecx, [esp + 0x1c]
push 0x408cd0
lea edx, [esp + 0x30]
push ecx
mov ecx, dword [0x422abc]
push edx
mov byte [esp + 0xf4], 2
call fcn.00406420
lea ecx, [esp + 0x20]
call fcn.00402b70
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 1
call fcn.00402b70
mov eax, dword [esp + 0x48]
xor edi, edi
test eax, eax
jle 0x4033ed
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
push eax
lea ecx, [esp + 0x54]
call dword [edx + 4]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
push 0x3d
mov esi, dword [eax + edi*4]
add esi, ecx
push esi
call fcn.0040d9d0
add esp, 8
test eax, eax
je 0x4033e4
push esi
call fcn.00419060
add esp, 4
mov eax, dword [esp + 0x48]
inc edi
cmp edi, eax
jl 0x4033af
mov edx, dword [esp + 0x40]
push 0
lea ecx, [esp + 0x44]
call dword [edx + 4]
mov eax, dword [esp + 0x50]
push 0
lea ecx, [esp + 0x54]
call dword [eax + 4]
push 0xffffffffffffffff
push str.option
lea ecx, [esp + 0x18]
call fcn.00402500
mov dword [esp + 0x10], ebp
push 1
lea ecx, [esp + 0x44]
push 0
push ecx
mov ecx, dword [0x422abc]
lea edx, [esp + 0x1c]
push 0x408cd0
lea eax, [esp + 0x30]
push edx
push eax
mov byte [esp + 0xf4], 3
call fcn.00406420
lea ecx, [esp + 0x20]
call fcn.00402b70
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 1
call fcn.00402b70
mov eax, dword [esp + 0x48]
xor esi, esi
test eax, eax
jle 0x40349c
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
push ecx
lea ecx, [esp + 0x54]
call dword [edx + 4]
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x54]
mov ecx, dword [eax + esi*4]
add ecx, edi
push ecx
mov ecx, dword [0x422ac0]
call fcn.004010a0
mov eax, dword [esp + 0x48]
inc esi
cmp esi, eax
jl 0x40346a
mov edx, dword [esp + 0x40]
push 0
lea ecx, [esp + 0x44]
call dword [edx + 4]
mov eax, dword [esp + 0x50]
push 0
lea ecx, [esp + 0x54]
call dword [eax + 4]
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [0x422abc]
call fcn.00408420
push eax
lea edx, [esp + 0x14]
push str._Djava.class.path
push edx
mov byte [esp + 0xe8], 4
call fcn.00402ba0
add esp, 0xc
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [esi]
push ecx
mov ecx, esi
mov byte [esp + 0xe0], 5
call dword [eax + 4]
mov esi, dword [esi + 4]
mov ecx, dword [0x422ac0]
push esi
call fcn.004010a0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 4
call fcn.00402b70
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 1
call fcn.00402b70
mov ecx, dword [0x422abc]
lea edx, [esp + 0x20]
push edx
call fcn.004056a0
push eax
lea eax, [esp + 0x14]
push str._Dj2e.app.path
push eax
mov byte [esp + 0xe8], 6
call fcn.00402ba0
add esp, 0xc
mov esi, eax
mov eax, dword [esi + 8]
mov edx, dword [esi]
push eax
mov ecx, esi
mov byte [esp + 0xe0], 7
call dword [edx + 4]
mov esi, dword [esi + 4]
mov ecx, dword [0x422ac0]
push esi
call fcn.004010a0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 6
call fcn.00402b70
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 1
call fcn.00402b70
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [0x422abc]
call fcn.00405760
push eax
lea edx, [esp + 0x14]
mov bl, 8
push str._Dapplication.home
push edx
mov byte [esp + 0xe8], bl
call fcn.00402ba0
add esp, 0xc
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [esi]
push ecx
mov ecx, esi
mov byte [esp + 0xe0], 9
call dword [eax + 4]
mov esi, dword [esi + 4]
mov ecx, dword [0x422ac0]
push esi
call fcn.004010a0
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], bl
call fcn.00402b70
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 1
call fcn.00402b70
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x68]
call fcn.00402500
mov dword [esp + 0x60], ebp
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x78]
mov byte [esp + 0xe4], 0xa
call fcn.00402500
mov dword [esp + 0x70], ebp
mov ecx, dword [0x422abc]
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0xe0], 0xb
call fcn.00406d80
mov eax, dword [esp + 0x28]
mov bl, 0xc
test eax, eax
mov byte [esp + 0xdc], bl
je 0x403b97
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x24]
call dword [eax + 4]
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [0x422ac0]
call fcn.00401180
mov esi, eax
test esi, esi
jne 0x403bb7
push 0xffffffffffffffff
push str.property
lea ecx, [esp + 0x38]
call fcn.00402500
mov dword [esp + 0x30], ebp
push esi
lea edx, [esp + 0x44]
push esi
push edx
lea eax, [esp + 0x3c]
push 0x408e50
lea ecx, [esp + 0xd4]
push eax
push ecx
mov ecx, dword [0x422abc]
mov byte [esp + 0xf4], 0xd
call fcn.00406420
lea ecx, [esp + 0xc4]
call fcn.00402b70
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], bl
call fcn.00402b70
mov eax, dword [esp + 0x48]
test eax, eax
jle 0x403723
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
push edx
lea ecx, [esp + 0x54]
call dword [eax + 4]
mov ecx, dword [0x422ac0]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x54]
mov eax, dword [ecx + 0x28]
mov ecx, dword [edx + esi*4]
add ecx, edi
push ecx
push eax
call fcn.004040a0
mov eax, dword [esp + 0x50]
add esp, 8
inc esi
cmp esi, eax
jl 0x4036ea
mov edx, dword [esp + 0x40]
push 0
lea ecx, [esp + 0x44]
call dword [edx + 4]
mov eax, dword [esp + 0x50]
push 0
lea ecx, [esp + 0x54]
call dword [eax + 4]
lea ecx, [esp + 0xc4]
push ecx
mov ecx, dword [0x422abc]
call fcn.004050b0
mov esi, eax
mov edx, dword [esp + 0x60]
push 0
lea ecx, [esp + 0x64]
mov byte [esp + 0xe0], 0xe
call dword [edx + 4]
mov eax, dword [esi + 8]
mov esi, dword [esi + 4]
push eax
push esi
lea ecx, [esp + 0x68]
call fcn.00402460
lea ecx, [esp + 0xc4]
mov byte [esp + 0xdc], bl
call fcn.00402b70
push 0x422acc
lea ecx, [esp + 0x64]
call fcn.00404cd0
test eax, eax
je 0x4038c0
mov ecx, dword [0x422ac0]
lea eax, [esp + 0x70]
push eax
call fcn.00401470
test eax, eax
je 0x403bd7
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
push ecx
lea ecx, [esp + 0x64]
call dword [edx + 4]
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x9c]
push eax
lea edx, [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x9c]
push edx
push eax
push str._d._d._d__d
push ecx
call fcn.0040cf66
mov edx, dword [esp + 0x90]
add esp, 0x18
mov esi, eax
mov eax, dword [esp + 0x70]
push edx
lea ecx, [esp + 0x74]
call dword [eax + 4]
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x88]
push ecx
lea eax, [esp + 0x88]
push edx
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 0x88]
push eax
push ecx
push str._d._d._d__d
push edx
call fcn.0040cf66
add esp, 0x18
cmp esi, eax
jge 0x403848
mov eax, esi
cmp eax, 1
jl 0x4038c0
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x94]
cmp ecx, edx
jl 0x403bf7
cmp eax, 2
jl 0x4038c0
cmp ecx, edx
jne 0x4038c0
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x98]
cmp ecx, edx
jl 0x403bf7
cmp eax, 3
jl 0x4038c0
cmp ecx, edx
jne 0x4038c0
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jl 0x403bf7
cmp eax, 4
jl 0x4038c0
cmp ecx, edx
jne 0x4038c0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
jl 0x403bf7
mov eax, dword [esp + 0xec]
test eax, eax
je 0x4038cd
call eax
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [0x422abc]
call fcn.00404db0
push 0xffffffffffffffff
push str.true
lea ecx, [esp + 0x38]
mov byte [esp + 0xe4], 0xf
call fcn.00402630
lea edx, [esp + 0x30]
lea ecx, [esp + 0x10]
push edx
mov byte [esp + 0xe0], 0x10
call fcn.004059f0
xor ecx, ecx
mov byte [esp + 0xdc], 0xf
test eax, eax
sete cl
mov edi, ecx
test edi, edi
je 0x403932
mov edx, dword [0x422ac0]
mov eax, dword [edx + 0x28]
push eax
call fcn.004043c0
add esp, 4
push 0
push 0
lea ecx, [esp + 0xac]
call fcn.004051b0
push 0
push 0
lea ecx, [esp + 0xbc]
mov byte [esp + 0xe4], 0x11
call fcn.004022c0
mov dword [esp + 0xa4], 0x41b294
mov esi, dword [0x422abc]
mov bl, 0x12
push str.argv
lea ecx, [esp + 0x34]
mov byte [esp + 0xe0], bl
call fcn.004042f0
push 1
lea eax, [esp + 0xa8]
push 0
lea ecx, [esp + 0x38]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0xec], 0x13
call fcn.00405820
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], bl
call fcn.00402b70
mov ecx, dword [0x422abc]
lea edx, [esp + 0x30]
push edx
call fcn.00404fb0
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [esi]
push ecx
mov ecx, esi
mov byte [esp + 0xe0], 0x14
call dword [eax + 4]
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xe8]
mov esi, dword [esi + 4]
push edx
mov edx, dword [esp + 0xe8]
push eax
push ecx
mov ecx, dword [0x422ac0]
lea eax, [esp + 0xb0]
push edx
push eax
push esi
call fcn.00401780
mov esi, eax
mov dword [esp + 0x30], 0x41b238
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 0x15
call fcn.0040a4e0
mov ecx, dword [0x422ae8]
mov byte [esp + 0xdc], bl
test ecx, ecx
je 0x403a57
mov eax, dword [ecx + 0x14]
test eax, eax
jne 0x403a57
neg edi
sbb edi, edi
and edi, 0x7242
add edi, 0x2ee
push edi
call fcn.0040ada0
lea ecx, [esp + 0xb4]
mov ebx, 0x41b238
mov dword [esp + 0x90], ecx
mov dword [esp + 0xb4], ebx
lea ecx, [esp + 0xb4]
mov byte [esp + 0xdc], 0x17
call fcn.0040a4e0
mov edi, 0x41b27c
lea ecx, [esp + 0xa4]
mov dword [esp + 0xb4], edi
mov byte [esp + 0xdc], 0xf
call fcn.00402670
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0x18
call fcn.0040a4e0
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x19
call fcn.0040a4e0
mov byte [esp + 0xdc], 0xb
test esi, esi
je 0x403d26
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x38]
call fcn.00402500
mov dword [esp + 0x30], ebp
cmp esi, 6
mov byte [esp + 0xdc], 0x1a
jne 0x403c17
lea edx, [esp + 0x10]
push esi
push edx
call fcn.00404500
add esp, 8
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0xe0], 0x1b
call dword [edx + 4]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x64]
push eax
lea ecx, [esp + 0x74]
call dword [edx + 4]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x74]
push eax
lea ecx, [esp + 0x14]
call dword [edx + 4]
mov eax, dword [esp + 0x14]
push edi
push ebx
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.00404c60
add esp, 0x10
mov dword [esp + 0x10], 0x41b238
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0x1c
call fcn.0040a4e0
mov byte [esp + 0xdc], 0x1a
mov ebx, 0x41b238
mov ebp, 0x41b27c
jmp 0x403c73
lea ecx, [esp + 0x20]
mov esi, 1
mov byte [esp + 0xdc], 0xb
call fcn.00402b70
mov ebx, 0x41b238
jmp 0x403ae3
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0xb
call fcn.00402b70
mov ebx, 0x41b238
mov edi, 0x41b27c
jmp 0x403adb
lea ecx, [esp + 0x20]
mov esi, 5
mov byte [esp + 0xdc], 0xb
call fcn.00402b70
mov ebx, 0x41b238
jmp 0x403ae3
lea ecx, [esp + 0x20]
mov esi, 6
mov byte [esp + 0xdc], 0xb
call fcn.00402b70
mov ebx, 0x41b238
jmp 0x403ae3
lea edx, [esp + 0x10]
push esi
push edx
call fcn.00404500
add esp, 8
mov edi, eax
mov eax, dword [esp + 0x30]
push 0
lea ecx, [esp + 0x34]
mov byte [esp + 0xe0], 0x1d
call dword [eax + 4]
mov eax, dword [edi + 8]
mov edi, dword [edi + 4]
push eax
push edi
lea ecx, [esp + 0x38]
call fcn.00402460
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0xdc], 0x1e
call fcn.0040a4e0
mov ebp, 0x41b27c
mov byte [esp + 0xdc], 0x1a
mov dword [esp + 0x10], ebp
lea ecx, [esp + 0x20]
push 0xa
push ecx
call fcn.00404500
add esp, 8
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
push edx
lea ecx, [esp + 0x24]
mov byte [esp + 0xe0], 0x1f
call dword [eax + 4]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x34]
call dword [edx + 4]
mov eax, dword [esp + 0x34]
mov ecx, dword [0x422ae8]
push 0x30
push edi
push eax
call fcn.0040ade0
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [0x422ae8]
push 0x64
call fcn.0040ada0
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0x20]
mov byte [esp + 0xdc], 0x20
call fcn.00405b10
test eax, eax
je 0x403cf7
push eax
call fcn.0040c2f0
add esp, 4
mov dword [esp + 0x20], ebp
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x30]
mov byte [esp + 0xdc], 0x21
call fcn.00405b10
test eax, eax
je 0x403d1d
push eax
call fcn.0040c2f0
add esp, 4
mov dword [esp + 0x30], ebp
mov edi, 0x41b27c
mov dword [esp + 0x70], ebx
lea ecx, [esp + 0x70]
mov byte [esp + 0xdc], 0x22
call fcn.00405b10
test eax, eax
je 0x403d48
push eax
call fcn.0040c2f0
add esp, 4
mov dword [esp + 0x70], edi
mov dword [esp + 0x60], ebx
lea ecx, [esp + 0x60]
mov byte [esp + 0xdc], 0x23
call fcn.00405b10
test eax, eax
je 0x403d6e
push eax
call fcn.0040c2f0
add esp, 4
mov dword [esp + 0x60], edi
lea ecx, [esp + 0x50]
mov dword [esp + 0xdc], 0x24
mov dword [esp + 0x90], ecx
mov dword [esp + 0x50], ebx
lea ecx, [esp + 0x50]
mov byte [esp + 0xdc], 0x25
call fcn.0040a4e0
lea ecx, [esp + 0x40]
mov dword [esp + 0x50], edi
mov dword [esp + 0xdc], 0xffffffff
call fcn.00402670
mov ecx, dword [esp + 0xd4]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xd0
ret