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

Disassembly:
mov rax, rsp
sub rsp, 0xf8
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov qword [rax - 8], rsi
mov qword [rax - 0x10], rdi
mov rax, qword [0x00454a00]
xor rax, rsp
mov qword [rsp + 0xd0], rax
movsxd rsi, edx
mov rbx, rcx
mov qword [rsp + 0x20], rcx
call fcn.004125e0
movsxd rbp, eax
mov dword [rsp + 0x28], ebp
mov rdi, rsi
mov qword [rsp + 0x68], rsi
add rbx, 0x58
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x4126e1
mov rcx, qword [rbx + 0x10]
sub rcx, rdx
sar rcx, 5
cmp rsi, rcx
jb 0x4126e6
call fcn.00421ac0
shl rdi, 5
add rdi, qword [rbx + 8]
mov qword [rsp + 0x30], rbp
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x41270c
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412711
call fcn.00421ac0
mov rdx, rbp
shl rdx, 5
mov rcx, qword [rbx + 8]
mov eax, dword [rdi + 8]
mov dword [rdx + rcx], eax
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x41273b
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412740
call fcn.00421ac0
mov rcx, rbp
shl rcx, 5
mov rax, qword [rbx + 8]
mov dword [rcx + rax + 0x14], esi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412768
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x41276d
call fcn.00421ac0
mov rcx, rbp
shl rcx, 5
mov rax, qword [rbx + 8]
xor edi, edi
mov qword [rsp + 0x70], rdi
mov dword [rcx + rax + 0x18], edi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x41279c
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x4127a1
call fcn.00421ac0
mov rcx, rbp
shl rcx, 5
mov rax, qword [rbx + 8]
mov dword [rcx + rax + 0x1c], edi
mov rcx, qword [rsp + 0x20]
add rcx, 8
mov qword [rsp + 0x60], rcx
cmp qword [rcx + 0x20], 0x10
jb 0x4127cb
mov rsi, qword [rcx + 8]
jmp 0x4127cf
lea rsi, [rcx + 8]
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x3c], 0xffffffff
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x48], rsi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412805
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
mov rdi, qword [rsp + 0x68]
cmp rdi, rax
jb 0x41280f
jmp 0x41280a
mov rdi, qword [rsp + 0x68]
call fcn.00421ac0
mov rcx, rdi
shl rcx, 5
mov rax, qword [rbx + 8]
mov edi, dword [rcx + rax + 8]
mov qword [rsp + 0xc8], 0xf
mov qword [rsp + 0xc0], 0
mov byte [rsp + 0xb0], 0
mov rax, rbp
shl rax, 5
mov qword [rsp + 0x58], rax
nop
nop
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412869
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x41286e
call fcn.00421ac0
mov rax, qword [rbx + 8]
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rax], edi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412893
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412898
call fcn.00421ac0
mov rdx, rbp
shl rdx, 5
add rdx, qword [rbx + 8]
mov r8b, 0x3c
mov rcx, rsi
call fcn.004107f0
test al, al
je 0x4130cc
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x4128cf
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x4128d4
call fcn.00421ac0
mov rdi, qword [rbx + 8]
mov rcx, rdi
test rdi, rdi
je 0x4128f7
mov rax, qword [rbx + 0x10]
sub rax, rdi
sar rax, 5
mov rsi, qword [rsp + 0x68]
cmp rsi, rax
jb 0x412901
jmp 0x4128fc
mov rsi, qword [rsp + 0x68]
call fcn.00421ac0
mov rdx, rsi
shl rdx, 5
mov rcx, qword [rbx + 8]
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsi + rdi]
mov dword [rdx + rcx + 8], eax
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412931
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412936
call fcn.00421ac0
mov rax, qword [rbx + 8]
mov ecx, dword [rsi + rax]
add ecx, 1
mov dword [rsp + 0x40], ecx
lea rcx, [rsp + 0x38]
call fcn.00410880
test al, al
je 0x41309a
cmp byte [rsp + 0x50], 0
jne 0x413068
movsxd rdi, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
cmp rdi, qword [rsi + 0x18]
jbe 0x412976
call fcn.00421ac0
cmp qword [rsi + 0x20], 0x10
jb 0x412983
mov rax, qword [rsi + 8]
jmp 0x412987
lea rax, [rsi + 8]
movzx eax, byte [rax + rdi]
cmp al, 0x3f
je 0x412a01
cmp al, 0x21
je 0x412a01
cmp al, 0x2f
je 0x412a95
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x80]
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call fcn.00411a50
nop
mov r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.00402c70
nop
cmp qword [rsp + 0xa0], 0x10
jb 0x4129e9
mov rcx, qword [rsp + 0x88]
call fcn.004135ec
mov r8b, 0x3e
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
call fcn.004107f0
test al, al
je 0x412a62
jmp 0x412a49
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412a1a
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412a1f
call fcn.00421ac0
mov rax, qword [rbx + 8]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + rax]
mov dword [rsp + 0x40], ecx
lea rdx, [rsp + 0x38]
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call fcn.00410980
test eax, eax
je 0x413035
cmp qword [rsp + 0xc0], 0
jne 0x412ac0
mov rsi, qword [rsp + 0x48]
mov edi, dword [rsp + 0x40]
jmp 0x412850
xor r8d, r8d
lea rdx, str.End_of_tag_not_found
mov rcx, rdi
call fcn.004118b0
mov ebx, eax
cmp qword [rsp + 0xc8], 0x10
jb 0x412a8e
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, ebx
jmp 0x4130fc
mov rcx, qword [rsp + 0x20]
call fcn.004107e0
mov ebx, eax
cmp qword [rsp + 0xc8], 0x10
jb 0x412ab9
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, ebx
jmp 0x4130fc
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412ad9
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412ade
call fcn.00421ac0
mov rdx, rbp
shl rdx, 5
mov rcx, qword [rbx + 8]
mov eax, dword [rsp + 0x40]
mov dword [rdx + rcx + 4], eax
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412b0a
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412b0f
call fcn.00421ac0
mov rax, rbp
shl rax, 5
add rax, qword [rbx + 8]
mov eax, dword [rax + 4]
sub eax, 1
movsxd rdi, eax
cmp rdi, qword [rsi + 0x18]
jbe 0x412b2e
call fcn.00421ac0
cmp qword [rsi + 0x20], 0x10
jb 0x412b3b
mov rax, qword [rsi + 8]
jmp 0x412b3f
lea rax, [rsi + 8]
cmp byte [rax + rdi], 0x2f
jne 0x412c00
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412b62
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412b67
call fcn.00421ac0
mov rdi, rbp
shl rdi, 5
add rdi, qword [rbx + 8]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412b8b
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412b90
call fcn.00421ac0
mov edx, dword [rdi + 4]
sub edx, 1
mov rcx, rbp
shl rcx, 5
mov rax, qword [rbx + 8]
mov dword [rcx + rax + 8], edx
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412bbe
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412bc3
call fcn.00421ac0
mov rdi, rbp
shl rdi, 5
add rdi, qword [rbx + 8]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412be7
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x412bec
call fcn.00421ac0
shl rbp, 5
mov rcx, qword [rbx + 8]
mov eax, dword [rdi + 4]
mov dword [rcx + rbp + 0xc], eax
jmp 0x412fc8
xor ebp, ebp
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412c22
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
mov rdi, qword [rsp + 0x30]
cmp rdi, rax
jb 0x412c2c
jmp 0x412c27
mov rdi, qword [rsp + 0x30]
call fcn.00421ac0
mov rsi, rdi
shl rsi, 5
add rsi, qword [rbx + 8]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412c50
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rdi, rax
jb 0x412c55
call fcn.00421ac0
mov edx, dword [rsi + 4]
add edx, 1
mov rcx, rdi
shl rcx, 5
mov rax, qword [rbx + 8]
mov dword [rcx + rax + 8], edx
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
call fcn.00412670
mov esi, eax
test eax, eax
jle 0x412d5b
test ebp, ebp
je 0x412cb5
movsxd rdi, ebp
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412ca2
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rdi, rax
jb 0x412ca7
call fcn.00421ac0
shl rdi, 5
mov rax, qword [rbx + 8]
mov dword [rdi + rax + 0x1c], esi
jmp 0x412ce0
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412cce
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rdi, rax
jb 0x412cd3
call fcn.00421ac0
mov rax, qword [rbx + 8]
mov rcx, qword [rsp + 0x58]
mov dword [rcx + rax + 0x18], esi
mov ebp, esi
movsxd rdi, esi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412cfe
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp rdi, rax
jb 0x412d03
call fcn.00421ac0
shl rdi, 5
add rdi, qword [rbx + 8]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x412d26
mov rax, qword [rbx + 0x10]
sub rax, rcx
sar rax, 5
cmp qword [rsp + 0x30], rax
jb 0x412d2b
call fcn.00421ac0
mov ecx, dword [rdi + 0xc]
add ecx, 1
mov rax, qword [rbx + 8]
mov rdx, qword [rsp + 0x58]
mov dword [rdx + rax + 8], ecx
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
call fcn.00412670
mov esi, eax
test eax, eax
mov rdi, qword [rsp + 0x30]
jg 0x412c82
cmp esi, 0xffffffff
jne 0x412d82
cmp qword [rsp + 0xc8], 0x10
jb 0x412d78
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, 0xffffffff
jmp 0x4130fc
mov rdx, rdi
mov rcx, rbx
call fcn.00410b40
mov r8b, 0x3c
lea rdx, [rax + 8]
mov rcx, qword [rsp + 0x48]
call fcn.004107f0
test al, al
jne 0x412dee
lea r8, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae r8, qword [rsp + 0xb0]
lea rdx, str.End_tag_of__s_element_not_found
mov rcx, qword [rsp + 0x20]
call fcn.004118b0
mov ebx, eax
cmp qword [rsp + 0xc8], 0x10
jb 0x412de7
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, ebx
jmp 0x4130fc
mov rdx, rdi
mov rcx, rbx
call fcn.00410b40
mov ecx, dword [rax + 8]
add ecx, 1
mov dword [rsp + 0x40], ecx
lea rcx, [rsp + 0x38]
call fcn.00410880
test al, al
je 0x412f9f
nop
nop
nop
mov rax, qword [rsp + 0x70]
add eax, 1
mov qword [rsp + 0x70], rax
cmp byte [rsp + 0x50], 0
jne 0x412ef0
movsxd rdi, dword [rsp + 0x38]
cmp eax, 1
jne 0x412e5a
mov rdx, rdi
mov rcx, qword [rsp + 0x60]
call fcn.00410be0
cmp byte [rax], 0x2f
jne 0x412f07
jmp 0x412ec0
cmp eax, 2
jne 0x412ec0
lea rsi, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae rsi, qword [rsp + 0xb0]
mov eax, dword [rsp + 0x3c]
sub eax, edi
add eax, 1
movsxd rbp, eax
mov rcx, rdi
add rcx, qword [rsp + 0x48]
mov r8, rbp
mov rdx, rsi
call fcn.00422d80
test eax, eax
jne 0x412f53
movzx eax, byte [rsi + rbp]
test al, al
je 0x412ec0
movsx edx, al
lea rcx, [0x0043ad68]
call fcn.00422d40
test rax, rax
je 0x412f53
mov rax, qword [rsp + 0x60]
cmp rdi, qword [rax + 0x18]
jbe 0x412ed5
call fcn.00421ac0
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x20], 0x10
jb 0x412ee2
mov rax, qword [rax + 8]
jmp 0x412ee6
add rax, 8
cmp byte [rdi + rax], 0x3e
je 0x412fa3
lea rcx, [rsp + 0x38]
call fcn.00410880
test al, al
je 0x412f9f
jmp 0x412e20
lea r8, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae r8, qword [rsp + 0xb0]
lea rdx, str.Expecting_end_tag_of_element__s
mov rcx, qword [rsp + 0x20]
call fcn.004118b0
mov ebx, eax
cmp qword [rsp + 0xc8], 0x10
jb 0x412f4c
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, ebx
jmp 0x4130fc
lea r8, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae r8, qword [rsp + 0xb0]
lea rdx, str.End_tag_does_not_correspond_to__s
mov rcx, qword [rsp + 0x20]
call fcn.004118b0
mov ebx, eax
cmp qword [rsp + 0xc8], 0x10
jb 0x412f98
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, ebx
jmp 0x4130fc
mov edi, dword [rsp + 0x38]
movsxd rax, edi
mov rcx, qword [rsp + 0x48]
cmp byte [rax + rcx], 0
je 0x412fe9
cmp dword [rsp + 0x70], 2
jl 0x412fe9
mov rdx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.00410b40
mov dword [rax + 0xc], edi
cmp qword [rsp + 0xc8], 0x10
jb 0x412fe0
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, dword [rsp + 0x28]
jmp 0x4130fc
lea r8, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae r8, qword [rsp + 0xb0]
lea rdx, str.End_tag_not_completed_for_element__s
mov rcx, qword [rsp + 0x20]
call fcn.004118b0
mov ebx, eax
cmp qword [rsp + 0xc8], 0x10
jb 0x41302e
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, ebx
jmp 0x4130fc
xor r8d, r8d
lea rdx, str.Invalid_node
mov rcx, rdi
call fcn.004118b0
mov ebx, eax
cmp qword [rsp + 0xc8], 0x10
jb 0x413061
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, ebx
jmp 0x4130fc
xor r8d, r8d
lea rdx, str.Tag_starts_with_quote
mov rcx, qword [rsp + 0x20]
call fcn.004118b0
mov ebx, eax
cmp qword [rsp + 0xc8], 0x10
jb 0x413096
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, ebx
jmp 0x4130fc
xor r8d, r8d
lea rdx, str.Abrupt_end_within_tag
mov rcx, qword [rsp + 0x20]
call fcn.004118b0
mov ebx, eax
cmp qword [rsp + 0xc8], 0x10
jb 0x4130c8
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, ebx
jmp 0x4130fc
xor r8d, r8d
lea rdx, str.Element_tag_not_found
mov rcx, qword [rsp + 0x20]
call fcn.004118b0
mov ebx, eax
cmp qword [rsp + 0xc8], 0x10
jb 0x4130fa
mov rcx, qword [rsp + 0xb0]
call fcn.004135ec
mov eax, ebx
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.00420600
mov rbx, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x118]
mov rsi, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xe8]
add rsp, 0xf8
ret