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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov al, byte [esp + 0xa8]
mov byte [esp + 0x37], al
mov dword [esp + 0x54], sym.___gxx_personality_sj0
mov dword [esp + 0x58], 0x4726f8
lea edx, [esp + 0x80]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], 0x40b3b2
mov dword [esp + 0x64], esp
lea eax, [esp + 0x3c]
mov dword [esp], eax
call dbg._Unwind_SjLj_Register
mov dword [esp + 8], 1
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
lea eax, [esp + 0x7f]
mov dword [esp], eax
mov dword [esp + 0x40], 0xffffffff
call sym.std::istream::sentry::sentry_std::istream__bool_
cmp byte [esp + 0x7f], 0
jne 0x40b0ec
mov eax, 4
mov ecx, dword [esp + 0xa0]
mov edx, dword [ecx]
mov edx, dword [edx - 0xc]
add edx, ecx
or eax, dword [edx + 0x14]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x40], 0xffffffff
call method.std::basic_ios_char__std::char_traits_char___.clear_std::_Ios_Iostate_
lea eax, [esp + 0x3c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
mov eax, dword [esp + 0xa0]
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0xa4]
mov eax, dword [edx]
mov eax, dword [eax - 0xc]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 0x40], 4
call method.std::string._M_mutate_unsigned_int__unsigned_int__unsigned_int_
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx]
mov eax, dword [eax - 0xc]
mov eax, dword [ecx + eax + 0x78]
mov dword [esp + 0x18], eax
mov edx, eax
mov eax, dword [eax + 8]
cmp eax, dword [edx + 0xc]
jae 0x40b254
movzx eax, byte [eax]
mov dword [esp + 0x24], eax
movzx ecx, byte [esp + 0x37]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], 0
cmp ecx, eax
je 0x40b340
movsx edx, byte [esp + 0x37]
mov dword [esp + 0x28], edx
jmp 0x40b189
cmp dword [esp + 0x24], 0xffffffff
je 0x40b278
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x24], eax
je 0x40b340
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0xc]
sub edx, ecx
mov eax, 0x3ffffffc
sub eax, dword [esp + 0x1c]
cmp eax, edx
jle 0x40b1ac
mov eax, edx
cmp eax, 1
jle 0x40b298
mov dword [esp + 0x14], eax
mov dword [esp + 8], eax
mov edx, dword [esp + 0x28]
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x20]
mov dword [esp], ecx
call sym._memchr
test eax, eax
je 0x40b1dd
sub eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x20]
mov dword [esp + 4], edx
mov ecx, dword [esp + 0xa4]
mov dword [esp], ecx
mov dword [esp + 0x40], 1
call method.std::string.append_char_const__unsigned_int_
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add eax, dword [edx + 8]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0x14]
add dword [esp + 0x1c], ecx
cmp eax, dword [edx + 0xc]
jae 0x40b324
movzx eax, byte [eax]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x1c], 0x3ffffffb
jbe 0x40b170
cmp dword [esp + 0x24], 0xffffffff
je 0x40b278
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x30], eax
je 0x40b340
mov eax, 4
jmp 0x40b27d
mov dword [esp + 0x40], 5
mov eax, dword [esp + 0x18]
call method.std::basic_streambuf_char__std::char_traits_char___.sgetc____clone_.part.24_
mov dword [esp + 0x24], eax
inc eax
jne 0x40b145
mov dword [esp + 0x1c], 0
mov eax, 2
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x40b38d
test eax, eax
je 0x40b0cc
jmp 0x40b0a7
mov edx, dword [esp + 0xa4]
mov eax, dword [edx]
mov edx, dword [eax - 0xc]
lea ecx, [edx + 1]
mov dword [esp + 0x2c], ecx
cmp ecx, dword [eax - 8]
ja 0x40b2b7
mov esi, dword [eax - 4]
test esi, esi
jle 0x40b2e2
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov edx, dword [esp + 0xa4]
mov dword [esp], edx
mov dword [esp + 0x40], 1
call method.std::string.reserve_unsigned_int_
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx]
mov edx, dword [eax - 0xc]
mov cl, byte [esp + 0x24]
mov byte [eax + edx], cl
mov edx, dword [esp + 0xa4]
mov eax, dword [edx]
mov dword [eax - 4], 0
mov ecx, dword [esp + 0x2c]
mov dword [eax - 0xc], ecx
mov byte [eax + ecx], 0
inc dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
mov ecx, edx
mov edx, dword [edx + 0xc]
cmp eax, edx
jae 0x40b35b
inc eax
mov dword [ecx + 8], eax
cmp edx, eax
ja 0x40b223
mov dword [esp + 0x40], 1
mov eax, dword [esp + 0x18]
call method.std::basic_streambuf_char__std::char_traits_char___.sgetc____clone_.part.24_
mov dword [esp + 0x24], eax
jmp 0x40b22a
inc dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
cmp eax, dword [edx + 0xc]
jae 0x40b395
inc eax
mov dword [edx + 8], eax
xor eax, eax
jmp 0x40b27d
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov dword [esp], edx
mov eax, dword [eax + 0x28]
mov dword [esp + 0x40], 1
call eax
inc eax
je 0x40b380
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
jmp 0x40b31c
mov dword [esp + 0x24], 0xffffffff
jmp 0x40b22a
or eax, 4
jmp 0x40b0a7
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov dword [esp], ecx
mov eax, dword [eax + 0x28]
mov dword [esp + 0x40], 1
call eax
xor eax, eax
jmp 0x40b27d