Function at 0x6596fc90
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 0x6596fd30
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 0x6596ff60
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 0x6596ffb4
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 0x659700b8
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 0x6596fff0
movzx ecx, byte [esp + 0x34]
cmp byte [esp + 0x31], cl
je 0x659702ce
cmp byte [esp + 0x35], 0
jne 0x659700f8
test dl, dl
jne 0x6596fdef
mov eax, dword [ebp + 0x1c]
cmp word [eax + edi*2], si
sete byte [esp + 0x30]
cmp byte [esp + 0x30], 0
jne 0x65970070
cmp byte [esp + 0x24], 0
jne 0x659702da
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 0x659702e1
movzx eax, byte [esp + 0x30]
or al, byte [esp + 0x28]
mov esi, eax
je 0x6596ffb4
mov eax, dword [ebx + 8]
add edi, 1
cmp eax, dword [ebx + 0xc]
jae 0x659701c0
add eax, 2
mov dword [ebx + 8], eax
mov eax, 0xffffffff
cmp byte [esp + 0x30], 0
mov word [esp + 0x74], ax
je 0x65970080
cmp edi, dword [ebp + 0x20]
setae dl
cmp byte [esp + 0x28], 0
jne 0x65970082
movzx ecx, byte [esp + 0x30]
mov eax, edx
mov byte [esp + 0x24], cl
test al, al
jne 0x659702ed
cmp byte [esp + 0x36], 0
mov esi, 0xffffffff
jne 0x6596fd84
mov esi, edi
mov ecx, ebx
movzx edi, byte [esp + 0x28]
movzx ebx, byte [esp + 0x30]
jmp 0x6596ff16
cmp byte [esp + 0x24], 0
jne 0x65970210
mov edi, dword [ebp + 0x14]
cmp word [edi + esi*2], ax
sete al
mov edi, eax
mov eax, edi
cmp al, 1
je 0x6596fecd
test dl, dl
jne 0x6596ffa8
mov eax, edi
or al, bl
mov byte [esp + 0x28], al
je 0x6596ffb4
mov eax, dword [ecx + 8]
add esi, 1
cmp eax, dword [ecx + 0xc]
jae 0x659700a0
add eax, 2
mov dword [ecx + 8], eax
test bl, bl
je 0x6596ffd0
cmp esi, dword [ebp + 0x20]
mov eax, edi
setae dl
test al, al
jne 0x659702fb
mov byte [esp + 0x24], bl
mov eax, edx
test al, al
jne 0x65970230
test ecx, ecx
jne 0x65970020
cmp word [esp + 0x32], 0xffff
je 0x65970138
xor ecx, ecx
mov eax, 0xffffffff
test dl, dl
jne 0x6596ff3f
mov ebx, dword [ebp + 0x1c]
cmp word [ebx + esi*2], ax
sete bl
test bl, bl
je 0x6596fea8
cmp byte [esp + 0x24], 0
jne 0x6596febf
jmp 0x6596feb3
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 0x6596fd1d
mov eax, dword [esp + 0x84]
or dword [eax], 2
jmp 0x6596fd1d
mov edi, ebx
mov eax, edi
test al, al
jne 0x65970268
mov eax, dword [esp + 0x88]
mov byte [eax], 0
mov eax, dword [esp + 0x84]
mov dword [eax], 4
jmp 0x6596fd1d
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 0x6596ff0e
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + 0xc]
jae 0x659701a8
movzx eax, word [eax]
cmp ax, 0xffff
je 0x65970198
cmp ax, 0xffff
sete byte [esp + 0x34]
jmp 0x6596fdc5
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x659701d0
movzx eax, word [eax]
cmp ax, 0xffff
je 0x65970120
cmp word [esp + 0x32], 0xffff
jne 0x65970138
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x659701f0
movzx eax, word [eax]
cmp ax, 0xffff
jne 0x6596ff31
mov dword [esp + 0x70], 0
xor ecx, ecx
jmp 0x6596ff31
cmp byte [esp + 0x24], 0
jne 0x6596fe11
jmp 0x6596fe05
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 0x6596fe7c
mov eax, dword [ecx]
mov dword [esp + 0x24], ecx
call dword [eax + 0x28]
mov ecx, dword [esp + 0x24]
jmp 0x6596fef0
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0xc]
jae 0x659702a2
movzx eax, word [eax]
mov byte [esp + 0x31], 0
cmp ax, 0xffff
jne 0x6596fda3
movzx eax, byte [esp + 0x35]
mov dword [esp + 0x70], 0
xor ebx, ebx
mov byte [esp + 0x35], 0
mov byte [esp + 0x31], al
jmp 0x6596fda3
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0xc]
jae 0x659702b7
movzx esi, word [eax]
cmp si, 0xffff
jne 0x6596fddf
mov dword [esp + 0x70], 0
xor ebx, ebx
jmp 0x6596fddf
cmp word [esp + 0x32], 0xffff
mov dword [esp + 0x70], 0
jne 0x6596ff2a
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 0x65970159
cmp esi, dword [ebp + 0x20]
je 0x65970240
cmp byte [esp + 0x28], 0
je 0x6597016d
cmp dword [ebp + 0x18], esi
jne 0x6597016d
test esi, esi
jne 0x65970296
mov eax, dword [esp + 0x88]
cmp byte [esp + 0x31], 0
mov byte [eax], 0
je 0x6596ffbe
mov eax, dword [esp + 0x84]
mov dword [eax], 6
jmp 0x6596fd1d
mov dword [esp + 0x78], 0
jmp 0x65970011
mov eax, dword [ecx]
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x34], dl
call dword [eax + 0x24]
movzx edx, byte [esp + 0x34]
jmp 0x65970007
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x28]
jmp 0x6596fe4b
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 0x6597002f
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 0x65970054
mov eax, edi
mov byte [esp + 0x28], al
xor eax, eax
cmp byte [esp + 0x28], 0
mov byte [esp + 0x31], 0
jne 0x65970160
jmp 0x6596ffb4
mov eax, edi
mov edi, ebx
mov byte [esp + 0x28], al
xor eax, eax
jmp 0x6597014a
test esi, esi
je 0x6597016d
mov edi, dword [esp + 0x88]
cmp byte [esp + 0x28], 0
mov byte [edi], 0
je 0x65970288
cmp esi, dword [ebp + 0x18]
jne 0x65970288
jmp 0x6596ffbe
cmp esi, dword [ebp + 0x20]
jne 0x6596ffb4
test esi, esi
je 0x6596ffb4
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 0x6596fd1d
mov esi, dword [esp + 0x88]
mov byte [esi], 1
jmp 0x65970288
mov eax, dword [ebx]
mov byte [esp + 0x31], dl
mov ecx, ebx
call dword [eax + 0x24]
movzx edx, byte [esp + 0x31]
jmp 0x659700c7
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 0x65970107
mov esi, edi
movzx edi, byte [esp + 0x30]
jmp 0x65970140
mov esi, edi
jmp 0x65970216
mov esi, edi
movzx edi, byte [esp + 0x30]
jmp 0x6596ffaa
mov esi, edi
xor eax, eax
movzx edi, byte [esp + 0x30]
jmp 0x6597014a
movzx edi, byte [esp + 0x28]
jmp 0x6596ffd7