Function at 0x4a9215d6
Capabilities:
Get number of processors

Disassembly:
jmp 0x4a9215d6
push 0xffffffffffffffff
push 0x4a9f15bd
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x4aa98440]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4aa98440]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x30], esi
mov eax, dword [sym.imp.icuuc58.dll_const_icu_58::UnicodeString::vftable]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0x88]
push 2
mov dword [esp + 0x38], eax
pop eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edi
mov word [esp + 0x38], ax
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], eax
lea eax, [esp + 0x34]
push eax
push edx
call sym.icuin58.dll_private:_static_class_icu_58::UnicodeString____cdecl_icu_58::DecimalFormat::trimMarksFromAffix_class_icu_58::UnicodeString_const___class_icu_58::UnicodeString__
pop ecx
pop ecx
push 0
lea ecx, [esp + 0x38]
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::char32At_int_const]
lea ecx, [esp + 0x34]
mov dword [esp + 0x18], eax
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
mov ebp, eax
mov ecx, ebx
mov dword [esp + 0x20], ebp
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
mov edx, dword [esp + 0x18]
xor ecx, ecx
cmp edx, 0xffff
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x180]
seta cl
inc ecx
cmp byte [esp + 0x94], 0
jne 0x4a921870
mov esi, dword [eax + 0x1c]
cmp ecx, ebp
jne 0x4a921726
mov eax, dword [esi]
mov ecx, esi
push edx
call dword [eax + 0x18]
test al, al
je 0x4a921726
push edi
mov ecx, ebx
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::char32At_int_const]
mov edx, dword [esi]
mov ecx, esi
push eax
mov dword [esp + 0x28], eax
call dword [edx + 0x18]
test al, al
je 0x4a921726
xor ecx, ecx
cmp dword [esp + 0x24], 0xffff
seta cl
inc edi
add ecx, edi
push ecx
push ebx
call sym.icuin58.dll_private:_static_int___cdecl_icu_58::DecimalFormat::skipBidiMarks_class_icu_58::UnicodeString_const___int_
pop ecx
pop ecx
mov edi, eax
sub edi, dword [esp + 0x28]
or dword [esp + 0x80], 0xffffffff
lea ecx, [esp + 0x34]
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
mov eax, edi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.4a9ebf20
add esp, 0x70
ret 0x10
xor esi, esi
test ebp, ebp
jle 0x4a9216ed
push esi
lea ecx, [esp + 0x38]
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::char32At_int_const]
xor ebx, ebx
mov dword [esp + 0x18], eax
cmp eax, 0xffff
push eax
seta bl
inc ebx
call dword [sym.imp.icuuc58.dll_public:_static_signed_char___cdecl_icu_58::PatternProps::isWhiteSpace_int_]
mov byte [esp + 0x1b], 0
pop ecx
test al, al
jne 0x4a9217f3
cmp edi, dword [esp + 0x1c]
jge 0x4a92195d
mov ebp, dword [esp + 0x2c]
push edi
mov ecx, ebp
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::char32At_int_const]
mov cl, byte [esp + 0x17]
test cl, cl
jne 0x4a921837
cmp eax, dword [esp + 0x18]
jne 0x4a921837
add esi, ebx
add edi, ebx
inc cl
mov byte [esp + 0x17], cl
jmp 0x4a92184d
mov ecx, dword [esp + 0x2c]
push edi
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::char32At_int_const]
cmp eax, dword [esp + 0x18]
jne 0x4a9217dd
add esi, ebx
mov byte [esp + 0x17], 1
add edi, ebx
cmp esi, ebp
je 0x4a9217f9
push esi
lea ecx, [esp + 0x38]
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::char32At_int_const]
xor ebx, ebx
mov dword [esp + 0x18], eax
cmp eax, 0xffff
push eax
seta bl
inc ebx
call dword [sym.imp.icuuc58.dll_public:_static_signed_char___cdecl_icu_58::PatternProps::isWhiteSpace_int_]
pop ecx
test al, al
je 0x4a9217f9
jmp 0x4a9217f3
cmp eax, 0x200e
je 0x4a9217f2
cmp eax, 0x200f
je 0x4a9217f2
cmp eax, 0x61c
jne 0x4a9217f9
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x4a921797
lea eax, [esp + 0x34]
push esi
push eax
call sym.icuin58.dll_private:_static_int___cdecl_icu_58::DecimalFormat::skipPatternWhiteSpace_class_icu_58::UnicodeString_const___int_
push edi
push dword [esp + 0x38]
mov ebx, eax
mov esi, edi
call sym.icuin58.dll_private:_static_int___cdecl_icu_58::DecimalFormat::skipUWhiteSpace_class_icu_58::UnicodeString_const___int_
mov edi, eax
add esp, 0x10
cmp edi, esi
jne 0x4a921826
cmp byte [esp + 0x17], 0
je 0x4a92195d
lea eax, [esp + 0x34]
push ebx
push eax
call sym.icuin58.dll_private:_static_int___cdecl_icu_58::DecimalFormat::skipUWhiteSpace_class_icu_58::UnicodeString_const___int_
pop ecx
pop ecx
mov esi, eax
jmp 0x4a921863
cmp eax, 0x200e
je 0x4a92184c
cmp eax, 0x200f
je 0x4a92184c
cmp eax, 0x61c
jne 0x4a921857
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x4a921769
mov ebp, dword [esp + 0x20]
test cl, cl
je 0x4a92195d
cmp esi, ebp
jl 0x4a92172c
jmp 0x4a9216ed
mov esi, dword [eax + 0xc]
cmp ecx, ebp
jne 0x4a9218ba
mov eax, dword [esi]
mov ecx, esi
push edx
call dword [eax + 0x18]
test al, al
je 0x4a9218ba
push edi
push ebx
call sym.icuin58.dll_private:_static_int___cdecl_icu_58::DecimalFormat::skipUWhiteSpaceAndMarks_class_icu_58::UnicodeString_const___int_
pop ecx
pop ecx
mov edi, eax
mov ecx, ebx
push edi
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::char32At_int_const]
mov edx, dword [esi]
mov ecx, esi
push eax
mov dword [esp + 0x24], eax
call dword [edx + 0x18]
test al, al
je 0x4a9218ba
xor ecx, ecx
cmp dword [esp + 0x20], 0xffff
seta cl
inc ecx
jmp 0x4a9216e0
xor esi, esi
test ebp, ebp
jle 0x4a9216ed
lea eax, [esp + 0x34]
push esi
push eax
call sym.icuin58.dll_private:_static_int___cdecl_icu_58::DecimalFormat::skipUWhiteSpace_class_icu_58::UnicodeString_const___int_
push edi
push ebx
mov esi, eax
call sym.icuin58.dll_private:_static_int___cdecl_icu_58::DecimalFormat::skipUWhiteSpaceAndMarks_class_icu_58::UnicodeString_const___int_
add esp, 0x10
mov edi, eax
cmp esi, ebp
jge 0x4a92194a
cmp edi, dword [esp + 0x1c]
jge 0x4a92194a
push esi
lea ecx, [esp + 0x38]
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::char32At_int_const]
push edi
mov ecx, ebx
mov dword [esp + 0x1c], eax
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::char32At_int_const]
push dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
push eax
mov dword [esp + 0x28], eax
call sym.icuin58.dll_private:_signed_char___thiscall_icu_58::DecimalFormat::equalWithSignCompatibility_int__int_const
test al, al
je 0x4a92195d
xor ecx, ecx
mov byte [esp + 0x24], 1
mov edx, 0xffff
cmp dword [esp + 0x18], edx
seta cl
xor eax, eax
inc ecx
add esi, ecx
cmp dword [esp + 0x20], edx
seta al
inc eax
add eax, edi
push eax
push ebx
call sym.icuin58.dll_private:_static_int___cdecl_icu_58::DecimalFormat::skipBidiMarks_class_icu_58::UnicodeString_const___int_
mov edi, eax
pop ecx
pop ecx
cmp esi, ebp
jl 0x4a9218c4
test ebp, ebp
jle 0x4a9216ed
cmp byte [esp + 0x24], 0
jne 0x4a9216ed
or edi, 0xffffffff
jmp 0x4a9216f1