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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
mov ecx, 0x4c8764
sub esp, 0x5c
mov eax, dword [esp + 0x88]
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x48], 0
mov esi, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov eax, dword [0x5140ec]
mov dword [esp + 0x4c], eax
xor eax, eax
call method.std::locale::id._M_id___const
mov ecx, eax
mov eax, dword [ebp + 0x6c]
mov eax, dword [eax + 4]
mov edi, dword [eax + ecx*4]
test edi, edi
je 0x46ae49
lea eax, [esp + 0x48]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x20], ebp
mov ecx, ebx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x1c], 2
mov dword [esp + 0x18], 0x63
mov dword [esp + 0x14], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call method.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__unsi
sub esp, 0x28
mov ebx, eax
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x46ac50
or dword [esi], 4
cmp dx, 0xffff
sete al
mov edi, eax
test ebx, ebx
je 0x46abfb
mov eax, edi
test al, al
jne 0x46acf0
cmp word [esp + 0x7c], 0xffff
mov ecx, dword [esp + 0x78]
sete al
mov ebp, eax
test ecx, ecx
je 0x46ac16
test al, al
jne 0x46aca8
mov eax, edi
mov ecx, ebp
cmp al, cl
jne 0x46ac21
or dword [esi], 2
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x70]
mov word [esp + 0x74], dx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x4c]
sub ecx, dword [0x5140ec]
jne 0x46ae55
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
lea eax, [esp + 0x78]
lea ecx, [esp + 0x70]
mov dword [esp + 0x70], ebx
mov dword [esp], eax
mov word [esp + 0x74], dx
call method.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 0x46ad20
mov ebx, dword [esp + 0x70]
movzx edx, word [esp + 0x74]
cmp dx, 0xffff
mov eax, dword [esp + 0x44]
sete cl
mov edi, ecx
cmp eax, 0x44
jg 0x46ac96
add eax, 0x64
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x38]
mov dword [ecx + 0x14], eax
jmp 0x46abed
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x46ade0
movzx eax, word [eax]
cmp ax, 0xffff
sete al
mov ebp, eax
jmp 0x46ac16
mov ecx, ebx
call method.std::basic_streambuf_wchar_t__std::char_traits_wchar_t___.sbumpc____clone_.isra.0_
mov eax, dword [esp + 0x44]
mov edx, edi
movsx edi, dl
mov edx, 0xffffffff
lea eax, [eax + eax*4]
lea eax, [edi + eax*2 - 0x79c]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x44], eax
mov dword [edi + 0x14], eax
nop
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0xc]
jae 0x46adc8
movzx eax, word [eax]
xor edi, edi
cmp ax, 0xffff
jne 0x46abfb
mov edi, 1
xor ebx, ebx
jmp 0x46abfb
lea ecx, [esp + 0x70]
call method.std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t___._M_get___const
movzx edx, word [esp + 0x74]
mov ebx, dword [esp + 0x70]
movzx ecx, ax
mov eax, dword [edi]
mov dword [esp + 4], 0x2a
mov dword [esp + 0x3c], edx
mov dword [esp], ecx
mov ecx, edi
call dword [eax + 0x30]
lea ecx, [eax - 0x30]
sub esp, 8
cmp cl, 9
mov edx, dword [esp + 0x3c]
ja 0x46ac7d
mov ecx, ebx
mov byte [esp + 0x3c], al
call method.std::basic_streambuf_wchar_t__std::char_traits_wchar_t___.sbumpc____clone_.isra.0_
mov edx, dword [esp + 0x44]
movsx eax, byte [esp + 0x3c]
lea ecx, [esp + 0x70]
lea edx, [edx + edx*4]
lea eax, [eax + edx*2 - 0x30]
mov dword [esp + 0x44], eax
mov eax, 0xffffffff
mov word [esp + 0x74], ax
lea eax, [esp + 0x78]
mov dword [esp], eax
call method.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 0x46adf8
movzx edx, word [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x44]
cmp dx, 0xffff
sete cl
mov edi, ecx
sub eax, 0x76c
mov dword [esp + 0x44], eax
jmp 0x46ac96
mov eax, dword [ebx]
mov dword [esp + 0x38], edx
mov ecx, ebx
call dword [eax + 0x24]
mov edx, dword [esp + 0x38]
jmp 0x46acff
mov eax, dword [ecx]
mov dword [esp + 0x38], edx
call dword [eax + 0x24]
mov edx, dword [esp + 0x38]
jmp 0x46acb7
lea ecx, [esp + 0x70]
call method.std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t___._M_get___const
movzx edx, word [esp + 0x74]
mov ebx, dword [esp + 0x70]
movzx ecx, ax
mov eax, dword [edi]
mov dword [esp + 4], 0x2a
mov dword [esp], ecx
mov ecx, edi
mov dword [esp + 0x3c], edx
call dword [eax + 0x30]
mov edi, eax
sub esp, 8
lea eax, [edi - 0x30]
cmp al, 9
jbe 0x46acc5
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
cmp dx, 0xffff
sete cl
mov edi, ecx
jmp 0x46adb4
mov eax, dword [esp + 0x4c]
sub eax, dword [0x5140ec]
je 0x46ae5a
call dbg.__stack_chk_fail
call method.std.__throw_bad_cast__
nop