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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov edi, 8
mov rsi, qword [rsp + 0x110]
movdqu xmm0, xmmword [r8]
movdqu xmm1, xmmword [r9]
mov qword [rsp + 0xf0], rcx
lea rcx, [rsi + 0xd0]
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm1
call method.std::__use_cache_std::__numpunct_cache_char___.operator___std::locale_const__const__clone_.isra.0_
mov r14d, dword [rsi + 0x18]
mov rbx, rax
and r14d, 0x4a
cmp r14d, 0x40
je 0x14004ab7d
cmp r14d, 8
mov edi, 0x10
mov eax, 0xa
cmovne edi, eax
lea rsi, [rsp + 0x80]
lea rdx, [rsp + 0x70]
mov rcx, rsi
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x28], rsi
call dbg.std::istreambuf_iterator<char, std::char_traits<char> >::equal(std::istreambuf_iterator<char, std::char_traits<char> > const&) const
mov r15d, eax
test al, al
jne 0x14004b2f0
mov rcx, rsi
call dbg.std::istreambuf_iterator<char, std::char_traits<char> >::_M_get() const
cmp byte [rbx + 0x6e], al
mov r13d, eax
sete byte [rsp + 0x68]
je 0x14004abc5
cmp byte [rbx + 0x6f], al
jne 0x14004b3e0
movzx edx, byte [rbx + 0x20]
test dl, dl
jne 0x14004aea0
cmp byte [rbx + 0x48], al
je 0x14004ac16
mov rcx, qword [rsp + 0x80]
call method.std::basic_streambuf_char__std::char_traits_char___.sbumpc____clone_.isra.0_
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x88], 0xffffffff
call dbg.std::istreambuf_iterator<char, std::char_traits<char> >::equal(std::istreambuf_iterator<char, std::char_traits<char> > const&) const
test al, al
jne 0x14004b3ee
mov rcx, qword [rsp + 0x28]
call dbg.std::istreambuf_iterator<char, std::char_traits<char> >::_M_get() const
movzx edx, byte [rbx + 0x20]
mov r13d, eax
xor esi, esi
xor ebp, ebp
test dl, dl
je 0x14004ac28
cmp byte [rbx + 0x49], r13b
je 0x14004b305
cmp byte [rbx + 0x48], r13b
je 0x14004acdb
cmp byte [rbx + 0x72], r13b
je 0x14004aeb0
test sil, sil
je 0x14004af18
cmp byte [rbx + 0x70], r13b
je 0x14004ac55
cmp byte [rbx + 0x71], r13b
jne 0x14004b400
test r14d, r14d
sete al
cmp edi, 0x10
sete cl
or al, cl
je 0x14004b42e
xor esi, esi
xor ebp, ebp
mov edi, 0x10
mov r12, qword [rsp + 0x80]
mov rax, qword [r12 + 0x10]
mov rdx, qword [r12 + 0x18]
cmp rax, rdx
jae 0x14004b060
mov dword [rsp + 0x88], 0xffffffff
add rax, 1
mov qword [r12 + 0x10], rax
cmp rax, rdx
jae 0x14004b090
xor r12d, r12d
mov rcx, qword [rsp + 0x70]
cmp dword [rsp + 0x78], 0xffffffff
sete al
test rcx, rcx
setne dl
and dl, al
jne 0x14004b018
cmp al, r12b
jne 0x14004aee8
movzx edx, byte [rbx + 0x20]
mov r15d, 1
cmp edi, 0x10
je 0x14004af24
movsxd rax, edi
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x50], rax
mov rax, qword [0x1400c4cc0]
mov qword [rsp + 0x60], rax
add rax, 0x18
mov qword [rsp + 0x98], rax
test dl, dl
jne 0x14004b340
movzx eax, byte [rsp + 0x68]
xor edx, edx
add eax, 0x7fffffff
mov dword [rsp + 0x3c], eax
div dword [rsp + 0x38]
mov dword [rsp + 0x24], eax
movzx eax, byte [rbx + 0x88]
mov byte [rsp + 0x6f], al
test al, al
jne 0x14004b170
xor r14d, r14d
test r15b, r15b
jne 0x14004b4a8
movzx eax, byte [rsp + 0x50]
xor r12d, r12d
add eax, 0x30
mov byte [rsp + 0x40], al
movsx eax, r13b
cmp edi, 0xa
jg 0x14004af50
cmp r13b, 0x2f
jle 0x14004af76
cmp byte [rsp + 0x40], r13b
jle 0x14004af76
lea edx, [rax - 0x30]
cmp dword [rsp + 0x24], r12d
jb 0x14004af40
mov eax, dword [rsp + 0x38]
imul r12d, eax
mov eax, dword [rsp + 0x3c]
sub eax, edx
cmp eax, r12d
setb al
add r12d, edx
add ebp, 1
or r14d, eax
mov r13, qword [rsp + 0x80]
mov rax, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
cmp rax, rdx
jae 0x14004b2b8
mov dword [rsp + 0x88], 0xffffffff
add rax, 1
mov qword [r13 + 0x10], rax
mov byte [rsp + 0x28], 0
cmp rax, rdx
jae 0x14004b43b
mov rcx, qword [rsp + 0x70]
cmp dword [rsp + 0x78], 0xffffffff
sete al
test rcx, rcx
je 0x14004adf7
test al, al
jne 0x14004b100
cmp al, byte [rsp + 0x28]
jne 0x14004b030
mov edi, 1
mov rax, qword [rsp + 0x98]
cmp qword [rax - 0x18], 0
jne 0x14004af8b
cmp sil, 1
je 0x14004afd9
test ebp, ebp
jne 0x14004afd9
mov rsi, qword [rsp + 0x120]
mov dword [rsi], 0
mov rsi, qword [rsp + 0x118]
mov dword [rsi], 4
test dil, dil
je 0x14004ae57
mov rsi, qword [rsp + 0x118]
or dword [rsi], 2
mov rsi, qword [rsp + 0xf0]
lea rcx, [rax - 0x18]
movdqa xmm2, xmmword [rsp + 0x80]
movups xmmword [rsi], xmm2
mov rsi, qword [rsp + 0x60]
cmp rcx, rsi
jne 0x14004b40a
mov rax, qword [rsp + 0xf0]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rbx + 0x49], al
jne 0x14004abd1
jmp 0x14004ac16
mov eax, esi
xor eax, 1
cmp edi, 0xa
sete cl
or al, cl
je 0x14004ac45
cmp edi, 8
sete sil
test r14d, r14d
sete dl
or sil, dl
je 0x14004b0f0
xor ebp, ebp
mov edi, 8
jmp 0x14004ac72
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14004b0e0
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
jae 0x14004b0ba
movzx r13d, byte [rax]
movzx edx, byte [rbx + 0x20]
test sil, sil
jne 0x14004ac1a
xor r15d, r15d
cmp edi, 0x10
jne 0x14004ace4
mov dword [rsp + 0x38], 0x10
mov edi, 0x16
mov qword [rsp + 0x50], 0x16
jmp 0x14004acf0
mov r14d, 1
jmp 0x14004ada3
lea edx, [r13 - 0x30]
cmp dl, 9
jbe 0x14004ad78
lea edx, [r13 - 0x61]
cmp dl, 5
ja 0x14004b154
lea edx, [rax - 0x57]
cmp eax, 0x56
jne 0x14004ad7b
mov rax, qword [rsp + 0x98]
xor edi, edi
cmp qword [rax - 0x18], 0
je 0x14004ae19
lea r13, [rsp + 0x98]
movsx edx, bpl
mov rcx, r13
mov qword [rsp + 0x30], r13
call dbg.std::string::push_back(char)
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x10]
mov r8, r13
call dbg.std::__verify_grouping(char const*, unsigned long long, std::string const&)
test al, al
je 0x14004b3a0
mov rax, qword [rsp + 0x98]
test ebp, ebp
jne 0x14004afd9
cmp sil, 1
je 0x14004afd9
cmp qword [rax - 0x18], 0
je 0x14004ae2b
test r15b, r15b
jne 0x14004ae2b
test r14b, r14b
je 0x14004b380
mov edx, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x120]
and edx, 1
add edx, 0x7fffffff
mov dword [rsi], edx
mov rsi, qword [rsp + 0x118]
mov dword [rsi], 4
jmp 0x14004ae47
mov rax, qword [rcx + 0x18]
cmp qword [rcx + 0x10], rax
jae 0x14004b3b8
xor eax, eax
jmp 0x14004acc8
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14004b140
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
jae 0x14004b464
movzx r13d, byte [rax]
jmp 0x14004ad56
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x50]
mov rax, qword [r12 + 0x10]
mov rdx, qword [r12 + 0x18]
mov dword [rsp + 0x88], 0xffffffff
cmp rax, rdx
jb 0x14004acaa
nop dword [rax + rax]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x48]
cmp eax, 0xffffffff
jne 0x14004acaa
mov qword [rsp + 0x80], 0
mov r12d, 1
jmp 0x14004acad
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r13d, eax
cmp eax, 0xffffffff
jne 0x14004af0b
mov qword [rsp + 0x80], 0
nop dword [rax + rax]
mov r13d, 0xffffffff
jmp 0x14004af0b
add ebp, 1
mov esi, eax
jmp 0x14004ac72
mov rdx, qword [rcx + 0x18]
xor eax, eax
cmp qword [rcx + 0x10], rdx
jb 0x14004adf7
mov rax, qword [rcx]
lea rdx, [rsp + 0x98]
mov qword [rsp + 0x30], rdx
call qword [rax + 0x48]
cmp eax, 0xffffffff
sete al
jne 0x14004adf7
mov qword [rsp + 0x70], 0
jmp 0x14004adf7
cmp edi, 0xa
jle 0x14004af76
mov r13d, 0xffffffff
mov eax, 0xffffffff
sub r13d, 0x41
cmp r13b, 5
ja 0x14004af76
lea edx, [rax - 0x37]
jmp 0x14004ad7b
test r15b, r15b
jne 0x14004b4b6
lea rax, [rbx + 0x72]
xor r14d, r14d
xor r12d, r12d
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x48], rax
movzx eax, byte [rbx + 0x20]
test al, al
je 0x14004b1a7
cmp byte [rbx + 0x49], r13b
je 0x14004b27d
cmp byte [rbx + 0x48], r13b
je 0x14004af76
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
movsx edx, r13b
mov rcx, rdi
call sym.memchr
test rax, rax
je 0x14004af76
sub rax, rdi
lea edx, [rax - 6]
cmp eax, 0xf
cmovg eax, edx
cmp dword [rsp + 0x24], r12d
jb 0x14004b2a8
mov edi, dword [rsp + 0x38]
mov edx, dword [rsp + 0x3c]
imul r12d, edi
sub edx, eax
cmp edx, r12d
setb dl
add r12d, eax
add ebp, 1
or r14d, edx
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
jae 0x14004b360
add rax, 1
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov dword [rsp + 0x88], 0xffffffff
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
call dbg.std::istreambuf_iterator<char, std::char_traits<char> >::equal(std::istreambuf_iterator<char, std::char_traits<char> > const&) const
mov edi, eax
test al, al
jne 0x14004ae06
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
call dbg.std::istreambuf_iterator<char, std::char_traits<char> >::_M_get() const
mov r13d, eax
movzx eax, byte [rbx + 0x20]
test al, al
je 0x14004b1a7
cmp byte [rbx + 0x49], r13b
jne 0x14004b1a7
test ebp, ebp
je 0x14004b4c7
lea rax, [rsp + 0x98]
movsx edx, bpl
mov rcx, rax
mov qword [rsp + 0x30], rax
call dbg.std::string::push_back(char)
xor ebp, ebp
jmp 0x14004b204
movzx r14d, byte [rsp + 0x6f]
jmp 0x14004b204
mov rax, qword [r13]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x30], rcx
mov rcx, r13
call qword [rax + 0x50]
mov dword [rsp + 0x88], 0xffffffff
mov rax, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
jmp 0x14004adcf
mov byte [rsp + 0x68], 0
movzx edx, byte [rbx + 0x20]
xor r13d, r13d
xor ebp, ebp
xor esi, esi
jmp 0x14004acdb
cmp edi, 0x10
jne 0x14004ace4
mov rax, qword [0x1400c4cc0]
mov dword [rsp + 0x38], 0x10
mov edi, 0x16
mov qword [rsp + 0x50], 0x16
mov qword [rsp + 0x60], rax
add rax, 0x18
mov qword [rsp + 0x98], rax
nop dword [rax]
lea rax, [rsp + 0x98]
mov edx, 0x20
mov rcx, rax
mov qword [rsp + 0x30], rax
call dbg.std::string::reserve(unsigned long long)
jmp 0x14004ad10
mov rax, qword [rcx]
lea rdi, [rsp + 0x98]
mov qword [rsp + 0x30], rdi
call qword [rax + 0x50]
jmp 0x14004b222
mov edx, r12d
mov rsi, qword [rsp + 0x120]
neg edx
cmp byte [rsp + 0x68], 0
cmove edx, r12d
mov dword [rsi], edx
jmp 0x14004ae47
mov rax, qword [rsp + 0x118]
mov dword [rax], 4
jmp 0x14004afbc
mov rax, qword [rcx]
mov byte [rsp + 0x24], dl
call qword [rax + 0x48]
movzx edx, byte [rsp + 0x24]
cmp eax, 0xffffffff
jne 0x14004b026
mov qword [rsp + 0x70], 0
mov eax, edx
jmp 0x14004acc8
mov byte [rsp + 0x68], 0
movzx edx, byte [rbx + 0x20]
jmp 0x14004ac16
movzx edx, byte [rbx + 0x20]
xor esi, esi
mov r15d, eax
xor ebp, ebp
jmp 0x14004acdb
mov esi, 1
jmp 0x14004acdb
mov edx, 0xffffffff
lock xadd dword [rax - 8], edx
test edx, edx
jg 0x14004ae7d
lea rdx, [rsp + 0x97]
call dbg.std::string::_Rep::_M_destroy(std::allocator<char> const&)
jmp 0x14004ae7d
xor r15d, r15d
mov esi, 1
jmp 0x14004ace4
mov rax, qword [r13]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x30], rcx
mov rcx, r13
call qword [rax + 0x48]
cmp eax, 0xffffffff
je 0x14004b4d1
cmp eax, 0xffffffff
sete byte [rsp + 0x28]
jmp 0x14004addd
mov rax, qword [rcx]
lea rdx, [rsp + 0x98]
mov qword [rsp + 0x30], rdx
call qword [rax + 0x48]
mov r13d, eax
cmp eax, 0xffffffff
jne 0x14004ad56
mov qword [rsp + 0x80], 0
cmp edi, 0xa
jle 0x14004af76
mov r13d, 0xffffffff
jmp 0x14004af5d
mov edi, r15d
xor r12d, r12d
xor r15d, r15d
jmp 0x14004ae06
mov edi, r15d
xor r12d, r12d
xor r14d, r14d
xor r15d, r15d
jmp 0x14004ae06
xor edi, edi
mov r15d, eax
jmp 0x14004ae06
mov qword [rsp + 0x80], 0
jmp 0x14004b457