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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x80]
test byte [eax + 0xc], 1
jne 0x46f690
lea edx, [esp + 0x4c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x84]
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 0x4c], 0xffffffff
call method.std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t____std::num_get_wchar_t__std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t_____._M_extract_int_long__std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t_____std::istreambuf_
sub esp, 0x1c
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x70], eax
movzx eax, word [esp + 0x3c]
mov word [esp + 0x74], ax
mov eax, dword [esp + 0x4c]
cmp eax, 1
ja 0x46f8c0
mov esi, dword [esp + 0x88]
mov byte [esi], al
and byte [esi], 1
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
add eax, 0x6c
call method.std::__use_cache_std::__numpunct_cache_wchar_t___.operator___std::locale_const__const__clone_.isra.0_
mov ebp, eax
mov eax, dword [eax + 0x20]
mov ecx, dword [ebp + 0x18]
test eax, eax
sete dl
test ecx, ecx
sete byte [esp + 0x24]
or eax, ecx
je 0x46f914
movzx eax, word [esp + 0x7c]
movzx ecx, word [esp + 0x74]
mov byte [esp + 0x28], 1
mov ebx, dword [esp + 0x70]
cmp ax, 0xffff
mov word [esp + 0x32], ax
mov eax, 1
mov byte [esp + 0x30], al
sete byte [esp + 0x37]
xor esi, esi
mov edi, esi
mov esi, ecx
cmp si, 0xffff
sete byte [esp + 0x31]
test ebx, ebx
movzx ecx, byte [esp + 0x31]
setne al
and al, cl
mov byte [esp + 0x35], al
jne 0x46fa18
mov eax, dword [esp + 0x78]
movzx ecx, byte [esp + 0x37]
test eax, eax
mov dword [esp + 0x2c], eax
setne al
mov byte [esp + 0x34], cl
and al, cl
mov byte [esp + 0x36], al
jne 0x46f950
movzx ecx, byte [esp + 0x34]
cmp byte [esp + 0x31], cl
je 0x46fc2e
cmp byte [esp + 0x35], 0
jne 0x46fa58
test dl, dl
jne 0x46f74f
mov eax, dword [ebp + 0x1c]
cmp word [eax + edi*2], si
sete byte [esp + 0x30]
cmp byte [esp + 0x30], 0
jne 0x46f9d0
cmp byte [esp + 0x24], 0
jne 0x46fc3a
mov eax, dword [ebp + 0x14]
cmp word [eax + edi*2], si
sete byte [esp + 0x28]
movzx eax, byte [esp + 0x28]
xor eax, 1
and al, dl
mov byte [esp + 0x31], al
jne 0x46fc41
movzx eax, byte [esp + 0x30]
or al, byte [esp + 0x28]
mov esi, eax
je 0x46f914
mov eax, dword [ebx + 8]
add edi, 1
cmp eax, dword [ebx + 0xc]
jae 0x46fb20
add eax, 2
mov dword [ebx + 8], eax
mov eax, 0xffffffff
cmp byte [esp + 0x30], 0
mov word [esp + 0x74], ax
je 0x46f9e0
cmp edi, dword [ebp + 0x20]
setae dl
cmp byte [esp + 0x28], 0
jne 0x46f9e2
movzx ecx, byte [esp + 0x30]
mov eax, edx
mov byte [esp + 0x24], cl
test al, al
jne 0x46fc4d
cmp byte [esp + 0x36], 0
mov esi, 0xffffffff
jne 0x46f6e4
mov esi, edi
mov ecx, ebx
movzx edi, byte [esp + 0x28]
movzx ebx, byte [esp + 0x30]
jmp 0x46f876
cmp byte [esp + 0x24], 0
jne 0x46fb70
mov edi, dword [ebp + 0x14]
cmp word [edi + esi*2], ax
sete al
mov edi, eax
mov eax, edi
cmp al, 1
je 0x46f82d
test dl, dl
jne 0x46f908
mov eax, edi
or al, bl
mov byte [esp + 0x28], al
je 0x46f914
mov eax, dword [ecx + 8]
add esi, 1
cmp eax, dword [ecx + 0xc]
jae 0x46fa00
add eax, 2
mov dword [ecx + 8], eax
test bl, bl
je 0x46f930
cmp esi, dword [ebp + 0x20]
mov eax, edi
setae dl
test al, al
jne 0x46fc5b
mov byte [esp + 0x24], bl
mov eax, edx
test al, al
jne 0x46fb90
test ecx, ecx
jne 0x46f980
cmp word [esp + 0x32], 0xffff
je 0x46fa98
xor ecx, ecx
mov eax, 0xffffffff
test dl, dl
jne 0x46f89f
mov ebx, dword [ebp + 0x1c]
cmp word [ebx + esi*2], ax
sete bl
test bl, bl
je 0x46f808
cmp byte [esp + 0x24], 0
jne 0x46f81f
jmp 0x46f813
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0x70]
mov byte [eax], 1
mov eax, dword [esp + 0x84]
mov dword [eax], 4
lea eax, [esp + 0x78]
mov dword [esp], eax
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 0x46f67d
mov eax, dword [esp + 0x84]
or dword [eax], 2
jmp 0x46f67d
mov edi, ebx
mov eax, edi
test al, al
jne 0x46fbc8
mov eax, dword [esp + 0x88]
mov byte [eax], 0
mov eax, dword [esp + 0x84]
mov dword [eax], 4
jmp 0x46f67d
movzx edx, byte [esp + 0x28]
mov edi, edx
cmp esi, dword [ebp + 0x18]
setae byte [esp + 0x24]
movzx eax, byte [esp + 0x24]
and eax, edx
jmp 0x46f86e
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + 0xc]
jae 0x46fb08
movzx eax, word [eax]
cmp ax, 0xffff
je 0x46faf8
cmp ax, 0xffff
sete byte [esp + 0x34]
jmp 0x46f725
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x46fb30
movzx eax, word [eax]
cmp ax, 0xffff
je 0x46fa80
cmp word [esp + 0x32], 0xffff
jne 0x46fa98
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x46fb50
movzx eax, word [eax]
cmp ax, 0xffff
jne 0x46f891
mov dword [esp + 0x70], 0
xor ecx, ecx
jmp 0x46f891
cmp byte [esp + 0x24], 0
jne 0x46f771
jmp 0x46f765
mov edx, esi
cmp edi, dword [ebp + 0x18]
mov ecx, esi
setae byte [esp + 0x24]
movzx eax, byte [esp + 0x24]
mov byte [esp + 0x28], cl
and eax, edx
jmp 0x46f7dc
mov eax, dword [ecx]
mov dword [esp + 0x24], ecx
call dword [eax + 0x28]
mov ecx, dword [esp + 0x24]
jmp 0x46f850
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0xc]
jae 0x46fc02
movzx eax, word [eax]
mov byte [esp + 0x31], 0
cmp ax, 0xffff
jne 0x46f703
movzx eax, byte [esp + 0x35]
mov dword [esp + 0x70], 0
xor ebx, ebx
mov byte [esp + 0x35], 0
mov byte [esp + 0x31], al
jmp 0x46f703
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0xc]
jae 0x46fc17
movzx esi, word [eax]
cmp si, 0xffff
jne 0x46f73f
mov dword [esp + 0x70], 0
xor ebx, ebx
jmp 0x46f73f
cmp word [esp + 0x32], 0xffff
mov dword [esp + 0x70], 0
jne 0x46f88a
lea esi, [esi]
mov eax, edi
mov edi, ebx
mov byte [esp + 0x28], al
mov byte [esp + 0x31], 1
mov eax, 2
mov edx, edi
test dl, dl
je 0x46fab9
cmp esi, dword [ebp + 0x20]
je 0x46fba0
cmp byte [esp + 0x28], 0
je 0x46facd
cmp dword [ebp + 0x18], esi
jne 0x46facd
test esi, esi
jne 0x46fbf6
mov eax, dword [esp + 0x88]
cmp byte [esp + 0x31], 0
mov byte [eax], 0
je 0x46f91e
mov eax, dword [esp + 0x84]
mov dword [eax], 6
jmp 0x46f67d
mov dword [esp + 0x78], 0
jmp 0x46f971
mov eax, dword [ecx]
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x34], dl
call dword [eax + 0x24]
movzx edx, byte [esp + 0x34]
jmp 0x46f967
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x28]
jmp 0x46f7ab
mov eax, dword [ecx]
mov byte [esp + 0x30], dl
mov dword [esp + 0x28], ecx
call dword [eax + 0x24]
movzx edx, byte [esp + 0x30]
mov ecx, dword [esp + 0x28]
jmp 0x46f98f
mov eax, dword [ecx]
mov byte [esp + 0x30], dl
mov dword [esp + 0x28], ecx
call dword [eax + 0x24]
movzx edx, byte [esp + 0x30]
mov ecx, dword [esp + 0x28]
jmp 0x46f9b4
mov eax, edi
mov byte [esp + 0x28], al
xor eax, eax
cmp byte [esp + 0x28], 0
mov byte [esp + 0x31], 0
jne 0x46fac0
jmp 0x46f914
mov eax, edi
mov edi, ebx
mov byte [esp + 0x28], al
xor eax, eax
jmp 0x46faaa
test esi, esi
je 0x46facd
mov edi, dword [esp + 0x88]
cmp byte [esp + 0x28], 0
mov byte [edi], 0
je 0x46fbe8
cmp esi, dword [ebp + 0x18]
jne 0x46fbe8
jmp 0x46f91e
cmp esi, dword [ebp + 0x20]
jne 0x46f914
test esi, esi
je 0x46f914
mov eax, dword [esp + 0x88]
mov byte [eax], 0
xor eax, eax
lea esi, [esi]
mov esi, dword [esp + 0x84]
mov dword [esi], eax
jmp 0x46f67d
mov esi, dword [esp + 0x88]
mov byte [esi], 1
jmp 0x46fbe8
mov eax, dword [ebx]
mov byte [esp + 0x31], dl
mov ecx, ebx
call dword [eax + 0x24]
movzx edx, byte [esp + 0x31]
jmp 0x46fa27
mov eax, dword [ebx]
mov byte [esp + 0x31], dl
mov ecx, ebx
call dword [eax + 0x24]
movzx edx, byte [esp + 0x31]
mov esi, eax
jmp 0x46fa67
mov esi, edi
movzx edi, byte [esp + 0x30]
jmp 0x46faa0
mov esi, edi
jmp 0x46fb76
mov esi, edi
movzx edi, byte [esp + 0x30]
jmp 0x46f90a
mov esi, edi
xor eax, eax
movzx edi, byte [esp + 0x30]
jmp 0x46faaa
movzx edi, byte [esp + 0x28]
jmp 0x46f937