Function at 0x4a95f987
Capabilities:
Get number of processors

Disassembly:
jmp 0x4a95f987
push 0xffffffffffffffff
push 0x4a9f7bd1
mov eax, dword fs:[0]
push eax
sub esp, 0x148
mov eax, dword [0x4aa98440]
xor eax, esp
mov dword [esp + 0x144], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4aa98440]
xor eax, esp
push eax
lea eax, [esp + 0x15c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x170]
lea ecx, [esp + 0x38]
mov ebp, dword [esp + 0x16c]
mov esi, dword [esp + 0x174]
mov edi, dword [esp + 0x178]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x17c]
push ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_class_icu_58::UnicodeString_const__]
xor eax, eax
lea ecx, [esp + 0x78]
push eax
push eax
push eax
push 0x4aa097f8
mov dword [esp + 0x174], eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::Locale::constructor_char_const___char_const___char_const___char_const__]
xor ebx, ebx
lea eax, [esp + 0x78]
inc ebx
lea ecx, [esp + 0x38]
push eax
mov byte [esp + 0x168], bl
call dword [sym.imp.icuuc58.dll_public:_class_icu_58::UnicodeString____thiscall_icu_58::UnicodeString::toUpper_class_icu_58::Locale_const__]
lea ecx, [esp + 0x78]
mov byte [esp + 0x164], 0
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::Locale::destructor_void_]
mov ecx, ebp
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
cmp eax, 3
jle 0x4a95fd29
push 3
push 0x4aa0de3c
lea ecx, [esp + 0x40]
call dword [sym.imp.icuuc58.dll_public:_signed_char___thiscall_icu_58::UnicodeString::startsWith_wchar_t_const___int_const]
test al, al
je 0x4a95fd29
mov eax, dword [sym.imp.icuuc58.dll_const_icu_58::ParsePosition::vftable]
or dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 3
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov byte [esp + 0x164], 2
mov dword [eax], ebx
mov eax, dword [esp + 0x2c]
mov dword [esi], ecx
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, ebp
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
mov edi, 0xffff
cmp eax, 3
jbe 0x4a95fac0
mov ecx, ebp
call dword [sym.imp.icuuc58.dll_private:_wchar_t_const____thiscall_icu_58::UnicodeString::getArrayStart_void_const]
movzx eax, word [eax + 6]
jmp 0x4a95fac2
mov eax, edi
cmp ax, 0x2d
jne 0x4a95fad1
mov eax, dword [esp + 0x14]
or dword [eax], 0xffffffff
jmp 0x4a95fb01
mov eax, dword [esp + 0x20]
mov ecx, ebp
mov dword [esp + 0x14], eax
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
cmp dword [esp + 0x14], eax
jae 0x4a95faf7
mov ecx, ebp
call dword [sym.imp.icuuc58.dll_private:_wchar_t_const____thiscall_icu_58::UnicodeString::getArrayStart_void_const]
mov ecx, dword [esp + 0x14]
movzx edi, word [eax + ecx*2]
cmp di, 0x2b
jne 0x4a95fd13
inc dword [esp + 0x20]
lea eax, [esp + 0x34]
and dword [esp + 0x34], 0
push eax
call sym.icuin58.dll_public:_static_class_icu_58::NumberFormat____cdecl_icu_58::NumberFormat::createInstance_enum_UErrorCode__
cmp dword [esp + 0x38], 0
mov edi, eax
pop ecx
jg 0x4a95fd13
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x58]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x78]
push 0xfffe7961
mov dword [esp + 0x18], eax
call sym.icuin58.dll_public:_void___thiscall_icu_58::Formattable::constructor_int_
mov eax, dword [edi]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0x168], 3
push ecx
push ebp
mov ecx, edi
call dword [eax + 0x50]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
je 0x4a95fcf7
mov eax, dword [esp + 0x80]
mov ecx, ebp
mov dword [esi], eax
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
cmp dword [esp + 0x28], eax
jge 0x4a95fca3
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x14]
cmp eax, 2
jg 0x4a95fcf7
push dword [esp + 0x20]
mov ecx, ebp
call dword [sym.imp.icuuc58.dll_private:_wchar_t___thiscall_icu_58::UnicodeString::doCharAt_int_const]
push 0x3a
pop ecx
cmp ax, cx
jne 0x4a95fcf7
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x78]
inc esi
push 0xfffe7961
mov dword [esp + 0x24], esi
call sym.icuin58.dll_public:_void___thiscall_icu_58::Formattable::setLong_int_
mov eax, dword [edi]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x7c]
push ecx
push ebp
mov ecx, edi
call dword [eax + 0x50]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
sub eax, esi
cmp eax, 2
jne 0x4a95fcf7
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
mov dword [ecx], eax
mov ecx, ebp
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
cmp dword [esp + 0x28], eax
jge 0x4a95fc7e
push dword [esp + 0x20]
mov ecx, ebp
call dword [sym.imp.icuuc58.dll_private:_wchar_t___thiscall_icu_58::UnicodeString::doCharAt_int_const]
push 0x3a
pop ecx
cmp ax, cx
jne 0x4a95fcf7
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x78]
inc eax
push 0xfffe7961
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
call sym.icuin58.dll_public:_void___thiscall_icu_58::Formattable::setLong_int_
mov eax, dword [edi]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x7c]
push ecx
push ebp
mov ecx, edi
call dword [eax + 0x50]
mov esi, dword [esp + 0x20]
mov ecx, ebp
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
cmp esi, eax
jne 0x4a95fcf7
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
cmp eax, 2
jne 0x4a95fcf7
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x80]
mov dword [ecx], eax
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax]
cmp dword [esi], 0x17
jg 0x4a95fcfe
cmp dword [ebp], 0x3b
jg 0x4a95fcfe
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0x3b
jg 0x4a95fcfe
jmp 0x4a95fd00
mov ecx, dword [esp + 0x20]
sub ecx, dword [esp + 0x14]
lea eax, [ecx - 1]
cmp eax, 5
ja 0x4a95fcf7
cmp ecx, 3
jl 0x4a95fc82
mov ebp, dword [esp + 0x18]
cmp ecx, 4
jle 0x4a95fced
cmp ecx, 6
jg 0x4a95fc86
mov eax, dword [esi]
cdq
push 0x64
pop ecx
idiv ecx
mov eax, dword [esp + 0x2c]
mov dword [eax], edx
mov eax, dword [esi]
cdq
idiv ecx
cdq
idiv ecx
mov ecx, 0x2710
mov dword [ebp], edx
mov eax, dword [esi]
cdq
idiv ecx
mov dword [esi], eax
jmp 0x4a95fc86
mov eax, dword [esi]
push 0x64
cdq
pop ecx
idiv ecx
jmp 0x4a95fce1
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax]
xor bl, bl
lea ecx, [esp + 0x78]
mov byte [esp + 0x164], 2
call sym.icuin58.dll_public_virtual:_void___thiscall_icu_58::Formattable::destructor_void_
jmp 0x4a95fd15
xor bl, bl
lea ecx, [esp + 0x1c]
mov byte [esp + 0x164], 0
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::ParsePosition::destructor_void_]
jmp 0x4a95fd2b
xor bl, bl
or dword [esp + 0x164], 0xffffffff
lea ecx, [esp + 0x38]
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
mov al, bl
mov ecx, dword [esp + 0x15c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x144]
xor ecx, esp
call fcn.4a9ebf20
add esp, 0x154
ret