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

Disassembly:
push 0xffffffffffffffff
push 0x4adc62
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esp + 0x44]
push edi
mov dword [esi + 0x100], eax
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x40]
mov dword [esi + 0x104], ecx
mov dword [esi + 0xe0], edx
mov dword [esi + 0xe4], eax
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
xor ebx, ebx
mov edx, dword [ecx]
lea ecx, [esi + 0x44]
push edx
push ebx
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_int__unsigned_int_]
mov al, byte [edi]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x50], esp
mov byte [ecx], al
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov eax, dword [edx]
push eax
push ebx
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_int__unsigned_int_]
lea ecx, [esp + 0x30]
push ecx
call fcn.00464340
add esp, 0x14
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov dword [esp + 0x38], ebx
mov ecx, dword [edx]
push ecx
push ebx
push eax
lea ecx, [esi + 0x1fc]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], 0xffffffff
cmp eax, ebx
je 0x46fe7c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x46fe73
cmp al, 0xff
je 0x46fe73
dec al
mov byte [ecx], al
jmp 0x46fe7c
push ecx
call fcn.00442ac0
add esp, 4
lea ebp, [esi + 0x34]
push ebp
push edi
call fcn.0046ef50
add esp, 8
test eax, eax
jne 0x46fea1
push ebx
push 0x4e85
mov ecx, esi
call fcn.00470010
xor eax, eax
jmp 0x46ffee
lea edx, [esi + 0xe8]
lea eax, [esi + 0x64]
lea edi, [esi + 0x54]
push edx
push eax
push edi
push ebp
call fcn.0046f2d0
add esp, 0x10
test eax, eax
jne 0x46fed1
push ebx
push 0x4e85
mov ecx, esi
call fcn.00470010
xor eax, eax
jmp 0x46ffee
mov dl, byte [edi]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x50], esp
mov byte [ecx], dl
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [eax]
push edx
push ebx
push edi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
lea eax, [esp + 0x20]
push eax
call fcn.00464210
add esp, 0x14
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov dword [esp + 0x38], 1
mov edx, dword [ecx]
lea ecx, [esi + 0x84]
push edx
push ebx
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_int__unsigned_int_]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], 0xffffffff
cmp ecx, ebx
je 0x46ff51
mov al, byte [ecx - 1]
cmp al, bl
je 0x46ff45
cmp al, 0xff
je 0x46ff45
dec al
mov byte [ecx - 1], al
jmp 0x46ff51
add ecx, 0xfffffffe
push ecx
call fcn.00442ac0
add esp, 4
push ebx
mov ecx, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
call fcn.00472f50
push ebx
push 0x3f
push 1
push ebx
push esi
mov ecx, 0x4d22d0
call fcn.004542c0
test eax, eax
jne 0x46ff8b
push ebx
push 0x4e86
mov ecx, esi
call fcn.00470010
xor eax, eax
jmp 0x46ffee
push 0xffff
lea eax, [esp + 0x54]
push 4
push eax
push 0x80
mov ecx, esi
mov word [esp + 0x60], bx
mov word [esp + 0x62], bx
mov dword [esp + 0x5c], ebx
call fcn.00469900
call fcn.00463bc0
cmp eax, ebx
je 0x46ffc9
cmp eax, 0x20000
mov dword [esp + 0x4c], 0x1000
jl 0x46ffd1
mov dword [esp + 0x4c], 0x20000
push 0xffff
lea ecx, [esp + 0x50]
push 4
push ecx
push 0x1002
mov ecx, esi
call fcn.00469900
mov eax, 1
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2c
ret 0x14