Function at 0x434350
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48e544
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x4b74b0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor eax, eax
fld1
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
cmp byte [ecx + 0x30], al
je 0x4343a1
fld qword [ecx + 0x28]
fcompi st(1)
jbe 0x4343a1
fld qword [0x49a648]
jmp 0x4343a3
fld st(0)
mov bl, byte [ebp + 0x18]
fst qword [ebp - 0x3c]
test bl, bl
jne 0x4343df
cmp byte [ebp + 0x14], al
je 0x4343df
fstp st(1)
fld qword [0x49a698]
fmul st(1)
call fcn.00488290
fmul qword [0x49a690]
mov edi, eax
call fcn.00488290
mov edx, dword [ebp + 0x10]
mov ecx, eax
mov eax, dword [ebp + 0xc]
add edx, ecx
add eax, edi
jmp 0x43447d
mov edx, dword [ebp + 0xc]
test bl, bl
mov edi, dword [ebp + 0x10]
mov eax, 0x100
mov ecx, dword [0x4bfae4]
cmovne edx, eax
mov eax, 0x64
mov dword [ebp - 0x40], 0x8c
cmovne edi, eax
mov dword [ebp - 0x2c], edx
mov eax, dword fs:[0x2c]
fstp st(0)
mov dword [ebp - 0x30], edi
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x4be368]
cmp eax, dword [ecx + 4]
jg 0x434624
jmp 0x43442d
mov edx, dword [ebp - 0x2c]
fld1
cmp byte [0x4be364], 0
je 0x4344a8
test bl, bl
jne 0x4344ac
mov dword [ebp - 0x40], 0x78
mov ebx, dword [ebp - 0x2c]
fstp st(0)
fld qword [ebp - 0x3c]
fld qword [0x49a670]
fmul st(1)
call fcn.00488290
fild dword [ebp - 0x40]
mov edi, eax
mov eax, dword [ebp - 0x40]
test eax, eax
jns 0x434468
fadd qword [0x49a6a0]
fstp qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
call fcn.00488290
mov edx, dword [ebp - 0x30]
mov ecx, eax
add edx, ecx
lea eax, [edi + ebx]
mov dword [esi], edi
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
mov eax, esi
mov dword [esi + 0xc], edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00487877
mov esp, ebp
pop ebp
ret 0x14
test bl, bl
je 0x434441
mov eax, dword [ebp + 0xc]
fild dword [ebp + 0xc]
test eax, eax
jns 0x4344bc
fadd qword [0x49a6a0]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
mov dword [ebp - 0x30], edx
fild dword [ebp - 0x30]
test edx, edx
jns 0x4344d2
fadd qword [0x49a6a0]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fdiv st(1)
fnstcw word [ebp - 0x2a]
movzx eax, word [ebp - 0x2a]
or eax, 0xc00
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x10]
fmul st(1), st(0)
fxch st(1)
fldcw word [ebp - 0x30]
fistp qword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
fldcw word [ebp - 0x2a]
fild dword [ebp + 0x10]
test eax, eax
jns 0x434509
fadd qword [0x49a6a0]
fstp qword [ebp - 0x34]
fmul qword [ebp - 0x34]
fnstcw word [ebp - 0x2a]
movzx eax, word [ebp - 0x2a]
or eax, 0xc00
mov dword [ebp - 0x30], eax
fldcw word [ebp - 0x30]
fistp qword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
fldcw word [ebp - 0x2a]
fild dword [ebp - 0x34]
test edx, edx
jns 0x434537
fadd qword [0x49a6a0]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
mov dword [ebp - 0x30], edi
fild dword [ebp - 0x30]
test edi, edi
jns 0x43454d
fadd qword [0x49a6a0]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fdiv st(1)
fxch st(2)
fcompi st(2)
jbe 0x4345ad
mov dword [ebp - 0x30], ecx
fild dword [ebp - 0x30]
test ecx, ecx
jns 0x43456b
fadd qword [0x49a6a0]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fnstcw word [ebp - 0x2a]
movzx eax, word [ebp - 0x2a]
or eax, 0xc00
mov dword [ebp - 0x30], eax
fmul st(2)
fldcw word [ebp - 0x30]
fistp qword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
fldcw word [ebp - 0x2a]
fnstcw word [ebp - 0x2a]
movzx eax, word [ebp - 0x2a]
or eax, 0xc00
mov dword [ebp - 0x30], eax
fmulp st(1)
fldcw word [ebp - 0x30]
fistp qword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
fldcw word [ebp - 0x2a]
jmp 0x4345b1
fstp st(0)
fstp st(0)
mov dword [ebp - 0x30], ecx
fild dword [ebp - 0x30]
test ecx, ecx
jns 0x4345c1
fadd qword [0x49a6a0]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fld qword [ebp - 0x3c]
fnstcw word [ebp - 0x2a]
movzx eax, word [ebp - 0x2a]
or eax, 0xc00
mov dword [ebp - 0x30], eax
fmul st(1), st(0)
fxch st(1)
fldcw word [ebp - 0x30]
mov dword [ebp - 0x30], edx
fistp qword [ebp - 0x3c]
mov ebx, dword [ebp - 0x3c]
fldcw word [ebp - 0x2a]
fild dword [ebp - 0x30]
test edx, edx
jns 0x4345f9
fadd qword [0x49a6a0]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fnstcw word [ebp - 0x2a]
movzx eax, word [ebp - 0x2a]
or eax, 0xc00
mov dword [ebp - 0x30], eax
fmul st(1)
fldcw word [ebp - 0x30]
fistp qword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
fldcw word [ebp - 0x2a]
jmp 0x434449
push 0x4be368
fstp st(0)
call fcn.00487d52
add esp, 4
cmp dword [0x4be368], 0xffffffff
jne 0x434428
push 0xe
xor eax, eax
mov dword [ebp - 4], 0
push str.WPSPlusVersion
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.00404550
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 1
push eax
call fcn.0047f430
mov edx, dword [ebp - 0x14]
add esp, 4
mov byte [0x4be364], al
cmp edx, 8
jb 0x4346bd
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4346b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4346b1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00487869
add esp, 8
jmp 0x4346bd
xor eax, eax
mov dword [ebp - 0x18], 0
push 0x4be368
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.00487d08
add esp, 4
jmp 0x434428