Function at 0x46b1fd
Capabilities:
Print debug messages

Disassembly:
push 0x3c
mov eax, 0x4710da
call fcn.0046fc0c
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
and dword [ebp - 4], 0
and dword [ebp - 0x40], 0
mov byte [ebp - 0x2d], 0
mov ecx, dword [ebp - 0x44]
mov eax, ebx
call fcn.0046a571
push dword [ebx + 0x148]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.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__::append_char_const__]
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x38], eax
xor esi, esi
lea eax, [esi + 1]
cmp eax, dword [ebp - 0x38]
jae 0x46b284
mov dword [ebp - 0x34], eax
push esi
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
cmp byte [eax], 0xd
jne 0x46b278
push dword [ebp - 0x34]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
cmp byte [eax], 0xa
je 0x46b284
inc esi
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x38]
jb 0x46b258
lea eax, [esi + 1]
cmp eax, dword [ebp - 0x38]
jae 0x46b354
inc esi
inc esi
mov dword [ebp - 0x34], esi
sub dword [ebp - 0x34], edi
cmp dword [ebp - 0x34], 5
mov dword [ebp - 0x3c], esi
jb 0x46b307
push edi
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
movsx eax, byte [eax]
mov esi, dword [sym.imp.MSVCR90.dll_isdigit]
push eax
call esi
pop ecx
test eax, eax
je 0x46b304
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
movsx eax, byte [eax]
push eax
call esi
pop ecx
test eax, eax
je 0x46b304
lea eax, [edi + 2]
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
movsx eax, byte [eax]
push eax
call esi
pop ecx
test eax, eax
je 0x46b304
cmp dword [ebp - 0x34], 5
je 0x46b30e
lea eax, [edi + 3]
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
cmp byte [eax], 0x20
je 0x46b30e
mov esi, dword [ebp - 0x3c]
mov edi, esi
jmp 0x46b24d
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
movsx ebx, byte [eax]
push edi
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
movsx esi, byte [eax]
imul esi, esi, 0xa
add edi, 2
add esi, ebx
push edi
imul esi, esi, 0xa
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_char____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator___unsigned_int_]
movsx eax, byte [eax]
mov ebx, dword [ebp - 0x48]
lea eax, [eax + esi - 0x14d0]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x2d], 1
cmp byte [ebp - 0x2d], 0
je 0x46b22a
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
jae 0x46b36a
lea eax, [ebp - 0x28]
push eax
push 0x2800
push dword [ebx + 0x148]
call dword [sym.imp.MSVCR90.dll_sprintf_s]
add esp, 0xc
push dword [ebx + 0x148]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, dword [eax + 0xc]
je 0x46b3aa
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x3c], eax
push 0x49ab24
lea eax, [ebp - 0x3c]
push eax
call sub.MSVCR90.dll__CxxThrowException
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
call fcn.0046fc8f
ret 8