Function at 0x4ae270
Capabilities:
Parse credit card information

Disassembly:
mov rax, qword [rcx + 0xb8]
cmp qword [rcx + 0xb0], rax
je 0x4ae0f0
mov eax, dword [rcx + 0x88]
test eax, eax
je 0x4ae0d5
cmp eax, 2
je 0x4ae0e0
cmp eax, 1
je 0x4ae0e5
ret
jmp 0x4ae270
jmp 0x4aef40
jmp 0x4ae680
mov dword [rcx + 0x90], 0x1b
ret
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 0xb0]
mov rdi, qword [rcx + 0xc0]
lea rdx, [rax + 1]
mov rbx, rcx
mov qword [rcx + 0xb0], rdx
movsx r12d, byte [rax]
movzx ebp, r12b
mov esi, r12d
movsx edx, byte [rdi + rbp + 0x139]
test dl, dl
jne 0x4ae2d5
mov rax, qword [rdi]
lea rcx, [0x0042c120]
mov edx, r12d
mov r9, qword [rax + 0x40]
mov eax, r12d
cmp r9, rcx
jne 0x4ae505
cmp al, 0x20
je 0x4ae2d5
mov byte [rdi + rbp + 0x139], al
mov rcx, qword [rbx + 0xa0]
call sub.msvcrt.dll_strchr
test rax, rax
je 0x4ae555
cmp sil, 0x5c
je 0x4ae3d0
cmp sil, 0x28
je 0x4ae3a0
cmp sil, 0x29
je 0x4ae4f0
cmp sil, 0x5b
je 0x4ae520
cmp sil, 0x7b
je 0x4ae4a1
mov eax, esi
movsx edx, sil
and eax, 0xffffffdf
cmp al, 0x5d
je 0x4ae5c0
mov rbp, qword [rbx + 0xc0]
movzx r12d, sil
mov rdi, rbx
movzx ecx, byte [rbp + r12 + 0x139]
test cl, cl
jne 0x4ae373
mov rax, qword [rbp]
lea rcx, [0x0042c120]
mov rax, qword [rax + 0x40]
cmp rax, rcx
jne 0x4ae5b0
test sil, sil
je 0x4ae5a0
mov byte [rbp + r12 + 0x139], sil
mov ecx, esi
movzx eax, byte [rbx]
test al, al
je 0x4ae3bb
cmp cl, al
je 0x4ae38f
nop
add rdi, 8
movzx eax, byte [rdi]
test al, al
je 0x4ae3bb
cmp al, cl
jne 0x4ae380
mov eax, dword [rdi + 4]
mov dword [rbx + 0x90], eax
jmp 0x4ae3bb
mov eax, dword [rbx + 0x8c]
test al, 0x10
jne 0x4ae420
test al, 2
setne al
movzx eax, al
add eax, 5
mov dword [rbx + 0x90], eax
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4ae647
test dword [rbx + 0x8c], 0x120
je 0x4ae4c0
movzx edx, byte [rax]
lea ecx, [rdx - 0x28]
cmp cl, 1
jbe 0x4ae408
cmp dl, 0x7b
jne 0x4ae4c0
lea rdx, [rax + 1]
mov qword [rbx + 0xb0], rdx
movzx esi, byte [rax]
jmp 0x4ae2f4
mov rdx, qword [rbx + 0xb0]
cmp byte [rdx], 0x3f
jne 0x4ae3aa
lea rax, [rdx + 1]
cmp rax, qword [rbx + 0xb8]
mov qword [rbx + 0xb0], rax
je 0x4ae669
movzx eax, byte [rdx + 1]
cmp al, 0x3a
je 0x4ae5f0
cmp al, 0x3d
je 0x4ae60a
cmp al, 0x21
jne 0x4ae658
mov r8, qword [rbx + 0xd0]
add rdx, 2
mov dword [rbx + 0x90], 7
mov r9d, 1
mov qword [rbx + 0xb0], rdx
lea rcx, [rbx + 0xc8]
xor edx, edx
mov dword [rsp + 0x20], 0x6e
call fcn.00497850
jmp 0x4ae3bb
mov dword [rbx + 0x88], 1
mov dword [rbx + 0x90], 0xc
jmp 0x4ae3bb
mov rcx, qword [rbx + 0xf0]
mov rax, qword [rbx + 0xe8]
add rcx, rbx
test al, 1
je 0x4ae4dd
mov rdx, qword [rcx]
mov rax, qword [rdx + rax - 1]
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp rax
mov dword [rbx + 0x90], 8
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r8d, 0x20
mov rcx, rdi
call r9
movsx edx, al
jmp 0x4ae2ca
mov rax, qword [rbx + 0xb0]
mov byte [rbx + 0xa8], 1
cmp rax, qword [rbx + 0xb8]
mov dword [rbx + 0x88], 2
je 0x4ae546
cmp byte [rax], 0x5e
je 0x4ae584
mov dword [rbx + 0x90], 9
jmp 0x4ae3bb
mov r8, qword [rbx + 0xd0]
lea rcx, [rbx + 0xc8]
mov dword [rsp + 0x20], r12d
xor edx, edx
mov dword [rbx + 0x90], 1
mov r9d, 1
call fcn.00497850
jmp 0x4ae3bb
mov dword [rbx + 0x90], 0xa
add rax, 1
mov qword [rbx + 0xb0], rax
jmp 0x4ae3bb
cmp byte [rbx], 0
je 0x4ae3bb
xor ecx, ecx
jmp 0x4ae380
xor r8d, r8d
mov rcx, rbp
call rax
mov esi, eax
jmp 0x4ae360
mov r8, qword [rbx + 0xd0]
mov dword [rsp + 0x20], edx
xor edx, edx
mov r9d, 1
mov dword [rbx + 0x90], 1
lea rcx, [rbx + 0xc8]
call fcn.00497850
jmp 0x4ae3bb
mov dword [rbx + 0x90], 6
add rdx, 2
mov qword [rbx + 0xb0], rdx
jmp 0x4ae3bb
mov r8, qword [rbx + 0xd0]
add rdx, 2
mov dword [rbx + 0x90], 7
mov r9d, 1
mov qword [rbx + 0xb0], rdx
lea rcx, [rbx + 0xc8]
xor edx, edx
mov dword [rsp + 0x20], 0x70
call fcn.00497850
jmp 0x4ae3bb
lea rdx, str.Unexpected_end_of_regex_when_escaping.
mov ecx, 2
call fcn.004bcda0
lea rdx, str.Invalid_special_open_parenthesis.
mov ecx, 5
call fcn.004bcda0
lea rdx, str.Unexpected_end_of_regex_when_in_an_open_parenthesis.
mov ecx, 5
call fcn.004bcda0
nop
nop
nop
nop
nop
nop
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [rcx + 0xb0]
mov r8, qword [rcx + 0xb8]
mov rbx, rcx
cmp rax, r8
je 0x4ae898
mov r9, qword [rbx + 0xc0]
lea rcx, [rax + 1]
mov qword [rbx + 0xb0], rcx
movzx r10d, byte [rax]
mov r9, qword [r9 + 0x30]
test byte [r9 + r10*2], 8
jne 0x4ae750
cmp r10b, 0x2c
je 0x4ae730
test dword [rbx + 0x8c], 0x120
je 0x4ae860
cmp r8, rcx
je 0x4ae887
cmp r10b, 0x5c
jne 0x4ae887
cmp byte [rax + 1], 0x7d
jne 0x4ae887
mov dword [rbx + 0x88], 0
add rax, 2
mov dword [rbx + 0x90], 0xd
mov qword [rbx + 0xb0], rax
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov dword [rbx + 0x90], 0x19
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov r8, qword [rbx + 0xd0]
movsx edx, r10b
mov dword [rbx + 0x90], 0x1a
mov r9d, 1
lea r12, [rbx + 0xc8]
mov dword [rsp + 0x20], edx
xor edx, edx
mov rcx, r12
call fcn.00497850
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4ae71d
mov rdx, qword [rbx + 0xc0]
movzx ecx, byte [rax]
mov rdx, qword [rdx + 0x30]
test byte [rdx + rcx*2], 8
je 0x4ae71d
lea r13, [rbx + 0xd8]
jmp 0x4ae7f4
mov byte [rax + rsi], bpl
mov rax, qword [rbx + 0xc8]
mov qword [rbx + 0xd0], rdi
mov byte [rax + rsi + 1], 0
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4ae71d
mov rdx, qword [rbx + 0xc0]
movzx ecx, byte [rax]
mov rdx, qword [rdx + 0x30]
test byte [rdx + rcx*2], 8
je 0x4ae71d
lea rdx, [rax + 1]
mov rsi, qword [rbx + 0xd0]
mov qword [rbx + 0xb0], rdx
movzx ebp, byte [rax]
mov rax, qword [rbx + 0xc8]
lea rdi, [rsi + 1]
cmp rax, r13
je 0x4ae850
mov rdx, qword [rbx + 0xd8]
cmp rdi, rdx
jbe 0x4ae7b1
mov qword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, r12
call fcn.00498eb0
mov rax, qword [rbx + 0xc8]
jmp 0x4ae7b1
mov edx, 0xf
jmp 0x4ae820
cmp r10b, 0x7d
jne 0x4ae887
mov dword [rbx + 0x88], 0
mov dword [rbx + 0x90], 0xd
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea rdx, str.Unexpected_character_in_brace_expression.
mov ecx, 7
call fcn.004bcda0
lea rdx, str.Unexpected_end_of_regex_when_in_brace_expression.
mov ecx, 6
call fcn.004bcda0
nop
nop
nop
nop
nop
nop
nop
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 0xb0]
mov rsi, qword [rcx + 0xc0]
lea rdx, [rax + 1]
mov rbx, rcx
mov qword [rcx + 0xb0], rdx
movsx r12d, byte [rax]
movzx ebp, r12b
mov eax, r12d
mov edi, r12d
movzx ecx, byte [rsi + rbp + 0x139]
test cl, cl
jne 0x4ae91c
mov rdx, qword [rsi]
mov r9, qword [rdx + 0x40]
lea rdx, [0x0042c120]
cmp r9, rdx
jne 0x4aeaf0
test al, al
je 0x4aea80
mov byte [rsi + rbp + 0x139], al
mov ecx, eax
mov rax, qword [rbx + 0x98]
movzx edx, byte [rax]
test dl, dl
je 0x4ae946
cmp dl, cl
jne 0x4ae93b
jmp 0x4aea40
cmp cl, dl
je 0x4aea40
add rax, 2
movzx edx, byte [rax]
test dl, dl
jne 0x4ae933
mov rdx, qword [rbx + 0xc0]
movzx eax, dil
mov rdx, qword [rdx + 0x30]
test byte [rdx + rax*2], 8
je 0x4aeb01
sub edi, 0x38
cmp dil, 1
jbe 0x4aeb01
mov r8, qword [rbx + 0xd0]
lea rbp, [rbx + 0xc8]
mov dword [rsp + 0x20], r12d
xor edx, edx
mov r9d, 1
mov rcx, rbp
mov r12d, 2
lea r13, [rbx + 0xd8]
call fcn.00497850
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4aea24
mov rcx, qword [rbx + 0xc0]
movzx r8d, byte [rax]
mov rcx, qword [rcx + 0x30]
mov rdx, r8
test byte [rcx + r8*2], 8
je 0x4aea24
sub edx, 0x38
cmp dl, 1
jbe 0x4aea24
lea rdx, [rax + 1]
mov rsi, qword [rbx + 0xd0]
mov qword [rbx + 0xb0], rdx
movzx r14d, byte [rax]
mov rax, qword [rbx + 0xc8]
lea rdi, [rsi + 1]
cmp rax, r13
je 0x4aeae0
mov rdx, qword [rbx + 0xd8]
cmp rdi, rdx
ja 0x4aeab0
mov byte [rax + rsi], r14b
mov rax, qword [rbx + 0xc8]
cmp r12d, 1
mov qword [rbx + 0xd0], rdi
mov byte [rax + rsi + 1], 0
jne 0x4aeaa0
mov dword [rbx + 0x90], 2
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r8, qword [rbx + 0xd0]
lea rcx, [rbx + 0xc8]
mov r9d, 1
xor edx, edx
mov dword [rbx + 0x90], 1
movsx eax, byte [rax + 1]
mov dword [rsp + 0x20], eax
call fcn.00497850
nop
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rax, qword [rbx + 0x98]
cmp byte [rax], 0
je 0x4ae946
xor ecx, ecx
jmp 0x4ae93b
mov r12d, 1
jmp 0x4ae99c
mov qword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call fcn.00498eb0
mov rax, qword [rbx + 0xc8]
jmp 0x4aea07
mov edx, 0xf
jmp 0x4ae9fe
xor r8d, r8d
mov edx, r12d
mov rcx, rsi
call r9
jmp 0x4ae90b
lea rdx, str.Unexpected_escape_character.
mov ecx, 2
call fcn.004bcda0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [rcx + 0xb0]
cmp rax, qword [rcx + 0xb8]
mov rbx, rcx
je 0x4aef0f
lea rdx, [rax + 1]
mov rdi, qword [rcx + 0xc0]
mov qword [rcx + 0xb0], rdx
movsx r12d, byte [rax]
movzx ebp, r12b
mov esi, r12d
movzx eax, byte [rdi + rbp + 0x139]
test al, al
jne 0x4aeb99
mov rax, qword [rdi]
lea rdx, [0x0042c120]
mov r9, qword [rax + 0x40]
mov eax, r12d
cmp r9, rdx
jne 0x4aeda0
test al, al
je 0x4aed10
mov byte [rdi + rbp + 0x139], al
mov rdx, qword [rbx + 0x98]
movzx ecx, byte [rdx]
test cl, cl
je 0x4aebc3
cmp al, cl
jne 0x4aebb8
jmp 0x4aec90
cmp cl, al
je 0x4aec90
add rdx, 2
movzx ecx, byte [rdx]
test cl, cl
jne 0x4aebb0
cmp sil, 0x62
je 0x4aec9f
cmp sil, 0x42
je 0x4aed64
lea eax, [rsi - 0x44]
cmp al, 0x33
jbe 0x4aed25
lea rbp, [rbx + 0xc8]
cmp sil, 0x78
je 0x4aee17
cmp sil, 0x75
je 0x4aee17
mov rax, qword [rbx + 0xc0]
movzx esi, sil
mov r8, qword [rbx + 0xd0]
mov rax, qword [rax + 0x30]
test byte [rax + rsi*2], 8
je 0x4aedf3
xor edx, edx
mov dword [rsp + 0x20], r12d
mov r9d, 1
mov rcx, rbp
call fcn.00497850
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
jne 0x4aec6a
jmp 0x4aec7e
lea rdx, [rax + 1]
mov rcx, rbp
mov qword [rbx + 0xb0], rdx
movsx edx, byte [rax]
call fcn.00499020
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4aec7e
mov rdx, qword [rbx + 0xc0]
movzx ecx, byte [rax]
mov rdx, qword [rdx + 0x30]
test byte [rdx + rcx*2], 8
jne 0x4aec44
mov dword [rbx + 0x90], 4
jmp 0x4aeccd
cmp sil, 0x62
jne 0x4aece0
cmp dword [rbx + 0x88], 2
je 0x4aece0
mov r8, qword [rbx + 0xd0]
mov r9d, 1
xor edx, edx
mov dword [rbx + 0x90], 0x18
lea rcx, [rbx + 0xc8]
mov dword [rsp + 0x20], 0x70
call fcn.00497850
nop
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rbx + 0x90], 1
movsx eax, byte [rdx + 1]
lea rcx, [rbx + 0xc8]
mov r8, qword [rbx + 0xd0]
mov dword [rsp + 0x20], eax
mov r9d, 1
xor edx, edx
call fcn.00497850
jmp 0x4aeccd
mov rdx, qword [rbx + 0x98]
cmp byte [rdx], 0
jne 0x4aebb8
jmp 0x4aebc3
movabs rdx, 0x8800100088001
bt rdx, rax
jae 0x4aedb1
mov r8, qword [rbx + 0xd0]
lea rcx, [rbx + 0xc8]
mov dword [rsp + 0x20], r12d
xor edx, edx
mov dword [rbx + 0x90], 0xe
mov r9d, 1
call fcn.00497850
jmp 0x4aeccd
mov r8, qword [rbx + 0xd0]
mov r9d, 1
xor edx, edx
mov dword [rbx + 0x90], 0x18
lea rcx, [rbx + 0xc8]
mov dword [rsp + 0x20], 0x6e
call fcn.00497850
jmp 0x4aeccd
xor r8d, r8d
mov edx, r12d
mov rcx, rdi
call r9
jmp 0x4aeb8a
cmp sil, 0x63
jne 0x4aebe2
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4aef20
mov dword [rbx + 0x90], 1
lea rdx, [rax + 1]
mov qword [rbx + 0xb0], rdx
lea rcx, [rbx + 0xc8]
movsx eax, byte [rax]
jmp 0x4aecf5
mov dword [rsp + 0x20], r12d
mov r9d, 1
xor edx, edx
mov rcx, rbp
mov dword [rbx + 0x90], 1
call fcn.00497850
jmp 0x4aeccd
mov rax, qword [rbx + 0xc8]
lea r12, [rbx + 0xd8]
mov qword [rbx + 0xd0], 0
mov byte [rax], 0
xor eax, eax
cmp sil, 0x78
setne al
xor edi, edi
lea r13d, [rax + rax + 2]
jmp 0x4aee68
mov byte [rax + rsi], r15b
mov rax, qword [rbx + 0xc8]
add edi, 1
cmp r13d, edi
mov qword [rbx + 0xd0], r14
mov byte [rax + rsi + 1], 0
je 0x4aeeef
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4aeefe
mov rdx, qword [rbx + 0xc0]
movzx ecx, byte [rax]
mov rdx, qword [rdx + 0x30]
test byte [rdx + rcx*2], 0x10
je 0x4aeefe
lea rdx, [rax + 1]
mov rsi, qword [rbx + 0xd0]
mov qword [rbx + 0xb0], rdx
movzx r15d, byte [rax]
mov rax, qword [rbx + 0xc8]
lea r14, [rsi + 1]
cmp rax, r12
je 0x4aeee8
mov rdx, qword [rbx + 0xd8]
cmp r14, rdx
jbe 0x4aee45
mov qword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call fcn.00498eb0
mov rax, qword [rbx + 0xc8]
jmp 0x4aee45
mov edx, 0xf
jmp 0x4aeebd
mov dword [rbx + 0x90], 3
jmp 0x4aeccd
lea rdx, str.Unexpected_end_of_regex_when_ascii_character.
mov ecx, 2
call fcn.004bcda0
lea rdx, str.Unexpected_end_of_regex_when_escaping.
mov ecx, 2
call fcn.004bcda0
lea rdx, str.Unexpected_end_of_regex_when_reading_control_code.
mov ecx, 2
call fcn.004bcda0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 0xb0]
mov rbx, rcx
mov rcx, qword [rcx + 0xb8]
cmp rax, rcx
je 0x4af10c
lea r8, [rax + 1]
mov qword [rbx + 0xb0], r8
movsx edx, byte [rax]
cmp dl, 0x2d
je 0x4af080
cmp dl, 0x5b
je 0x4aefd0
cmp dl, 0x5d
je 0x4af030
cmp dl, 0x5c
jne 0x4af042
test byte [rbx + 0x8c], 0x90
je 0x4af042
mov rcx, qword [rbx + 0xf0]
mov rax, qword [rbx + 0xe8]
add rcx, rbx
test al, 1
je 0x4aefb7
mov rdx, qword [rcx]
mov rax, qword [rdx + rax - 1]
call rax
mov byte [rbx + 0xa8], 0
add rsp, 0x30
pop rbx
ret
cmp rcx, r8
je 0x4af11d
movzx edx, byte [rax + 1]
cmp dl, 0x2e
je 0x4af0c1
cmp dl, 0x3a
je 0x4af100
cmp dl, 0x3d
je 0x4af0f0
mov r8, qword [rbx + 0xd0]
mov r9d, 1
xor edx, edx
mov dword [rbx + 0x90], 1
lea rcx, [rbx + 0xc8]
mov dword [rsp + 0x20], 0x5b
call fcn.00497850
jmp 0x4af06b
test byte [rbx + 0x8c], 0x10
jne 0x4af0a0
cmp byte [rbx + 0xa8], 0
je 0x4af0a0
mov r8, qword [rbx + 0xd0]
mov dword [rsp + 0x20], edx
xor edx, edx
mov r9d, 1
mov dword [rbx + 0x90], 1
lea rcx, [rbx + 0xc8]
call fcn.00497850
mov byte [rbx + 0xa8], 0
add rsp, 0x30
pop rbx
ret
mov dword [rbx + 0x90], 0x1c
mov byte [rbx + 0xa8], 0
add rsp, 0x30
pop rbx
ret
mov dword [rbx + 0x90], 0xb
mov dword [rbx + 0x88], 0
mov byte [rbx + 0xa8], 0
add rsp, 0x30
pop rbx
ret
mov dword [rbx + 0x90], 0x10
lea rdx, [rax + 2]
mov rcx, rbx
mov qword [rbx + 0xb0], rdx
movsx edx, byte [rax + 1]
call fcn.004ae100
mov byte [rbx + 0xa8], 0
add rsp, 0x30
pop rbx
ret
mov dword [rbx + 0x90], 0x11
jmp 0x4af0cb
mov dword [rbx + 0x90], 0xf
jmp 0x4af0cb
lea rdx, str.Unexpected_end_of_regex_when_in_bracket_expression.
mov ecx, 4
call fcn.004bcda0
lea rdx, str.Unexpected_character_class_open_bracket.
mov ecx, 4
call fcn.004bcda0
nop
nop
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 0xb0]
cmp rax, qword [rcx + 0xb8]
mov rbx, rcx
je 0x4af293
movsx ebp, byte [rax]
mov rdi, qword [rcx + 0xc0]
movzx r12d, bpl
mov esi, ebp
movsx edx, byte [rdi + r12 + 0x139]
test dl, dl
jne 0x4af195
mov rax, qword [rdi]
lea rcx, [0x0042c120]
mov edx, ebp
mov r9, qword [rax + 0x40]
mov eax, ebp
cmp r9, rcx
jne 0x4af282
test al, al
je 0x4af195
mov byte [rdi + r12 + 0x139], al
mov rcx, qword [rbx + 0xa0]
call sub.msvcrt.dll_strchr
test rax, rax
je 0x4af1ab
cmp byte [rax], 0
jne 0x4af220
mov eax, dword [rbx + 0x8c]
test al, 0x80
jne 0x4af270
test eax, 0x120
mov r8, qword [rbx + 0xd0]
lea rcx, [rbx + 0xc8]
je 0x4af1e9
mov rdx, qword [rbx + 0xc0]
movzx eax, sil
mov rdx, qword [rdx + 0x30]
test byte [rdx + rax*2], 8
je 0x4af1e9
cmp sil, 0x30
jne 0x4af250
mov dword [rsp + 0x20], ebp
mov r9d, 1
xor edx, edx
mov dword [rbx + 0x90], 1
call fcn.00497850
add qword [rbx + 0xb0], 1
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r8, qword [rbx + 0xd0]
mov dword [rsp + 0x20], ebp
mov r9d, 1
xor edx, edx
mov dword [rbx + 0x90], 1
lea rcx, [rbx + 0xc8]
call fcn.00497850
jmp 0x4af204
mov dword [rsp + 0x20], ebp
mov r9d, 1
xor edx, edx
mov dword [rbx + 0x90], 4
call fcn.00497850
jmp 0x4af204
mov rcx, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp 0x4ae8b0
xor r8d, r8d
mov rcx, rdi
call r9
movsx edx, al
jmp 0x4af189
lea rdx, str.Unexpected_end_of_regex_when_escaping.
mov ecx, 2
call fcn.004bcda0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop