Function at 0x47a680
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ecx, 0x51e264
push edi
push esi
push ebx
sub esp, 0x4c
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x3c], 0
call dbg.std::locale::id::_M_id() const
mov edx, eax
mov eax, dword [esi + 0x6c]
mov eax, dword [eax + 4]
mov edi, dword [eax + edx*4]
test edi, edi
je 0x47a883
lea eax, [esp + 0x3c]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
lea eax, [esp + 0x38]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x64]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x10], 0x63
mov dword [esp + 0xc], 0
call sym.std::time_get_wchar_t__std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t_____::_M_extract_num_std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t_____std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t_____int__int__int__unsigned_int__std::ios_base__std::_Ios_Iostate__const__clone_.constp_
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], ecx
movzx eax, word [esp + 0x2c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x60], edx
mov word [esp + 0x64], ax
test esi, esi
je 0x47a758
or dword [ebx], 4
lea esi, [esp + 0x68]
mov dword [esp], esi
lea ecx, [esp + 0x60]
call dbg.std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >::equal(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > const&) const
sub esp, 4
test al, al
je 0x47a73f
or dword [ebx], 2
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
lea esi, [esp + 0x68]
lea ecx, [esp + 0x60]
mov dword [esp], esi
call dbg.std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >::equal(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > const&) const
sub esp, 4
test al, al
je 0x47a788
mov eax, dword [esp + 0x38]
lea edx, [eax + 0x64]
cmp eax, 0x45
cmovl eax, edx
mov edx, dword [esp + 0x78]
mov dword [edx + 0x14], eax
jmp 0x47a729
lea ecx, [esp + 0x60]
call dbg.std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >::_M_get() const
mov edx, dword [edi]
mov ecx, edi
mov dword [esp + 4], 0x2a
movzx eax, ax
mov dword [esp], eax
call dword [edx + 0x30]
lea edx, [eax - 0x30]
sub esp, 8
cmp dl, 9
ja 0x47a76f
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 8]
cmp edx, dword [ecx + 0xc]
jae 0x47a860
add edx, 2
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x38]
mov dword [esp], esi
mov ecx, 0xffffffff
movsx eax, al
mov word [esp + 0x64], cx
lea ecx, [esp + 0x60]
lea edx, [edx + edx*4]
lea ebp, [eax + edx*2 - 0x30]
mov dword [esp + 0x38], ebp
call fcn.00431750
sub esp, 4
test al, al
je 0x47a808
lea eax, [ebp - 0x76c]
jmp 0x47a77c
lea ecx, [esp + 0x60]
call dbg.std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >::_M_get() const
mov edx, dword [edi]
mov ecx, edi
mov dword [esp + 4], 0x2a
movzx eax, ax
mov dword [esp], eax
call dword [edx + 0x30]
lea edx, [eax - 0x30]
sub esp, 8
cmp dl, 9
ja 0x47a7f6
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 8]
cmp edx, dword [ecx + 0xc]
jae 0x47a873
add edx, 2
mov dword [ecx + 8], edx
mov edx, 0xffffffff
movsx eax, al
mov word [esp + 0x64], dx
lea edx, [ebp + ebp*4]
lea ebp, [eax + edx*2 - 0x30]
jmp 0x47a7f6
mov byte [esp + 0x20], al
call method.std::basic_streambuf_wchar_t__std::char_traits_wchar_t___.sbumpc____clone_.part.0___clone_.isra.0_
movzx eax, byte [esp + 0x20]
jmp 0x47a7c7
mov byte [esp + 0x20], al
call method.std::basic_streambuf_wchar_t__std::char_traits_wchar_t___.sbumpc____clone_.part.0___clone_.isra.0_
movzx eax, byte [esp + 0x20]
jmp 0x47a843
call dbg.std::__throw_bad_cast()
nop
nop
nop
nop
nop
nop
nop
nop