Function at 0x140246e50
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, qword [rcx + 0x40]
xor r12d, r12d
movzx esi, byte [rdx]
mov r14, rdx
mov rbp, rcx
mov edi, r12d
movsx r8d, byte [rbx + 0x3cd]
test r8d, r8d
je 0x140246f43
sub r8d, 1
je 0x140246f1d
cmp r8d, 1
jne 0x140246ee4
movzx ecx, sil
call fcn.14023f070
test al, al
js 0x140247088
movzx ecx, byte [rbx + 0x3ce]
call fcn.14023f070
movzx edi, al
movzx ecx, sil
shl dil, 4
call fcn.14023f070
movzx esi, al
or sil, dil
lea edi, [r12 + 1]
mov byte [r14], sil
mov byte [rbx + 0x3cd], r12b
test sil, sil
jne 0x140246f57
cmp byte [rbx + 0x374], r12b
je 0x140246efb
cmp byte [rbx + 0x3cf], r12b
jne 0x140246f57
lea r8, str.lws_parse_urldecode
mov ecx, 2
lea rdx, str._s:_saw_NUL_outside_of_uri_args_n
call fcn.14023ac50
mov eax, 0xffffffff
jmp 0x140246fbb
movzx ecx, sil
call fcn.14023f070
test al, al
js 0x140247088
mov byte [rbx + 0x3ce], sil
mov eax, 1
mov byte [rbx + 0x3cd], 2
jmp 0x140246fbb
cmp sil, 0x25
jne 0x140246ee4
mov byte [rbx + 0x3cd], 1
mov eax, 1
jmp 0x140246fbb
movsx ecx, byte [rbx + 0x3cc]
mov r15d, 0xffff
test ecx, ecx
je 0x14024710c
sub ecx, 1
je 0x1402470df
sub ecx, 1
je 0x140247092
cmp ecx, 1
jne 0x14024705c
lea eax, [rsi - 0x2f]
test al, 0xef
je 0x140246fda
mov dl, reloc.WLDAP32.dll_Ordinal_46
mov rcx, rbp
call fcn.140246010
test eax, eax
js 0x140246f13
mov dl, reloc.WLDAP32.dll_Ordinal_46
mov rcx, rbp
call fcn.140246010
test eax, eax
js 0x140246f13
mov byte [rbx + 0x3cc], r12b
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
movzx r8d, byte [rbx + 0x3cb]
cmp word [rbx + r8*8 + 0x20], 2
lea rax, [rbx + r8*8]
jbe 0x140247045
dec dword [rbx + 0x3ac]
add word [rax + 0x20], r15w
movzx edx, byte [rbx + 0x3cb]
mov ecx, dword [rbx + 0x3ac]
add rdx, 4
lea rdx, [rbx + rdx*8]
nop
lea eax, [rcx - 1]
mov dword [rbx + 0x3ac], eax
add word [rdx], r15w
lea rdx, [rbx + 0x20]
movzx r8d, byte [rbx + 0x3cb]
cmp word [rdx + r8*8], 1
lea rdx, [rdx + r8*8]
jbe 0x140247045
mov ecx, dword [rbx + 0x3ac]
mov rax, qword [rbx + 0x10]
cmp byte [rcx + rax], 0x2f
jne 0x140247010
movzx eax, r8b
mov byte [rbx + 0x3cc], 1
cmp word [rbx + rax*8 + 0x20], 1
jbe 0x140247293
cmp sil, 0x3f
jne 0x140246fb9
test edi, edi
jne 0x140246fb9
cmp byte [rbx + 0x374], r12b
jne 0x140246fb9
cmp byte [rbx + 0x3cd], r12b
je 0x140247211
mov eax, 2
jmp 0x140246fbb
cmp sil, 0x2e
jne 0x1402470a9
mov byte [rbx + 0x3cc], 3
mov eax, 1
jmp 0x140246fbb
cmp sil, 0x2f
jne 0x1402470c0
mov byte [rbx + 0x3cc], 1
mov eax, 1
jmp 0x140246fbb
mov dl, reloc.WLDAP32.dll_Ordinal_46
mov byte [rbx + 0x3cc], r12b
mov rcx, rbp
call fcn.140246010
test eax, eax
jns 0x14024705c
mov eax, 0xffffffff
jmp 0x140246fbb
cmp sil, 0x2f
je 0x140247293
cmp sil, 0x2e
jne 0x140247100
mov byte [rbx + 0x3cc], 2
mov eax, 1
jmp 0x140246fbb
mov byte [rbx + 0x3cc], r12b
jmp 0x14024705c
cmp sil, 0x26
je 0x14024711c
cmp sil, 0x3b
jne 0x14024719e
test edi, edi
jne 0x14024719e
xor edx, edx
mov rcx, rbp
call fcn.140246010
test eax, eax
js 0x140246f13
mov rcx, qword [rbp + 0x40]
movzx eax, byte [rcx + 0x3cb]
add word [rcx + rax*8 + 0x20], r15w
movzx ecx, byte [rbx + 0x3cb]
lea eax, [rcx + 1]
mov byte [rbx + rcx*8 + 0x22], al
inc byte [rbx + 0x3cb]
movzx eax, byte [rbx + 0x3cb]
cmp al, 0x60
jae 0x140247245
inc dword [rbx + 0x3ac]
mov ecx, dword [rbx + 0x3ac]
mov byte [rbx + 0x3cf], r12b
mov dword [rbx + rax*8 + 0x1c], ecx
movzx eax, byte [rbx + 0x3cb]
mov word [rbx + rax*8 + 0x20], r12w
movzx eax, byte [rbx + 0x3cb]
mov byte [rbx + rax*8 + 0x22], r12b
lea eax, [rdi + 1]
jmp 0x140246fbb
cmp sil, 0x3d
jne 0x1402471d7
test edi, edi
je 0x1402471cb
cmp byte [rbx + 0x374], r12b
je 0x140246fb9
cmp byte [rbx + 0x3cf], r12b
jne 0x140246fb9
mov byte [r14], 0x5f
jmp 0x140246fb9
mov byte [rbx + 0x3cf], 1
jmp 0x140246fb9
cmp sil, 0x2b
jne 0x1402471ee
test edi, edi
jne 0x140246fb9
mov byte [r14], 0x20
jmp 0x140246fb9
cmp sil, 0x2f
jne 0x14024705c
cmp byte [rbx + 0x374], r12b
jne 0x140246fb9
mov byte [rbx + 0x3cc], 1
jmp 0x140246fb9
xor edx, edx
mov rcx, rbp
call fcn.140246010
test eax, eax
js 0x140246f13
mov rcx, qword [rbp + 0x40]
movzx eax, byte [rcx + 0x3cb]
add word [rcx + rax*8 + 0x20], r15w
inc byte [rbx + 0x3cb]
movzx eax, byte [rbx + 0x3cb]
cmp al, 0x60
jb 0x14024724f
mov eax, 3
jmp 0x140246fbb
inc dword [rbx + 0x3ac]
mov edx, dword [rbx + 0x3ac]
mov dword [rbx + rax*8 + 0x1c], edx
movzx ecx, byte [rbx + 0x3cb]
mov word [rbx + rcx*8 + 0x20], r12w
movzx ecx, byte [rbx + 0x3cb]
mov byte [rbx + rcx*8 + 0x22], r12b
movzx ecx, byte [rbx + 0x3cb]
mov byte [rbx + 0x374], cl
mov byte [rbx + 0x3cf], r12b
mov byte [rbx + 0x3cc], r12b
mov eax, 1
jmp 0x140246fbb