Function at 0x1400040dc
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
xor r9d, r9d
mov r10, r8
movzx r8d, byte [0x140090152]
mov edi, edx
mov qword [rsp + 0x28], r8
mov rbx, rcx
lea rdx, [0x140000000]
lea ebp, [r9 + 2]
test r8, r8
je 0x14000414f
mov ecx, 0x2140
mov rax, qword [rdx + r9*8 + 0x90120]
cmp byte [rax], bpl
jne 0x140004147
cmp byte [rax + 1], 1
jne 0x140004147
mov eax, dword [rax + 4]
and eax, ecx
cmp eax, ecx
je 0x1400041d4
inc r9
cmp r9, r8
jb 0x140004127
mov r11d, dword [r10]
xor r8b, r8b
and dword [0x140090154], 0
mov r13, qword [0x140090120]
mov dword [rsp + 0x20], r11d
test r11d, r11d
je 0x140004281
mov rbx, qword [rsp + 0x28]
movzx eax, byte [0x14008fdee]
mov esi, eax
mov dword [rsp + 0xb8], eax
mov rax, qword [0x140090148]
mov r9, rax
mov qword [rsp + 0x30], rax
mov r10, rax
add rax, 0x10
mov qword [rsp + 0x40], rax
mov al, byte [r9 + 8]
and al, 7
cmp byte [0x140090152], al
jne 0x14000423f
movzx edx, byte [r9 + 0xd]
mov ecx, edx
shr ecx, 3
and ecx, 3
je 0x140004201
sub ecx, 1
je 0x1400041e3
cmp ecx, 1
jne 0x140004207
test r11b, 8
jne 0x140004207
jmp 0x140004238
mov dword [0x140090154], 0x816
jmp 0x140004c05
mov al, byte [r10 + 9]
cmp al, 0xf8
jae 0x140004201
test r11b, 6
je 0x140004238
test r11b, 4
jne 0x140004207
test al, al
jne 0x140004238
test dl, dl
jns 0x140004207
jmp 0x140004238
test r11b, 1
je 0x140004238
xor r11b, r11b
mov byte [0x140090113], r11b
test edi, 0xe00
je 0x1400042b5
mov al, byte [r9 + 0xe]
bt edi, 0xc
jae 0x14000422b
test al, 0x10
jmp 0x14000422d
test al, 8
jne 0x1400042d2
mov r11d, dword [rsp + 0x20]
lea rdx, [0x140000000]
mov rax, qword [rsp + 0x40]
add esi, 0xffffffff
mov dword [rsp + 0xb8], esi
jne 0x14000418d
mov r10, qword [rsp + 0xb0]
add r10, 4
mov qword [rsp + 0xb0], r10
mov r11d, dword [r10]
mov dword [rsp + 0x20], r11d
test r11d, r11d
jne 0x140004176
mov rbx, qword [rsp + 0xa0]
mov dword [0x140090154], 0x816
test r8b, 1
jne 0x140004b7a
test r13, r13
je 0x140004c05
movzx eax, byte [r13]
mov eax, dword [rdx + rax*4 + 0x41850]
mov dword [0x140090154], eax
jmp 0x140004c05
test byte [r10 + 0xf], 4
jne 0x140004233
bt edi, 0xc
jae 0x1400042d2
and dl, 0x18
cmp dl, 0x10
jne 0x140004233
mov eax, edi
and eax, 0xe000
je 0x140004303
cmp eax, 0xa000
jne 0x1400042ee
cmp byte [r9 + 0xe], r11b
jge 0x140004233
jmp 0x1400042f9
test byte [r9 + 0xe], 0x40
je 0x140004233
mov r11b, 0x40
mov byte [0x140090113], r11b
xor r12b, r12b
bt edi, 0x10
jae 0x140004343
test byte [r10 + 0xe], 0x20
je 0x140004233
movzx ecx, byte [r10 + 0xe]
mov r9d, 2
and ecx, 7
sub ecx, r9d
je 0x14000433e
sub ecx, 1
je 0x140004339
sub ecx, 3
je 0x14000433e
cmp ecx, 1
jne 0x140004349
mov r12b, 8
jmp 0x140004349
mov r12b, 4
jmp 0x140004349
mov r9d, 2
cmp byte [0x140090152], 0
je 0x140004b72
xor r15d, r15d
test rbx, rbx
je 0x140004455
mov rax, qword [r10]
mov qword [rsp + 0x38], rax
lea rdx, [0x140000000]
mov rbx, qword [rdx + r15*8 + 0x90120]
lea rcx, [rax + r15*2]
movzx edi, byte [r15 + rcx]
mov sil, byte [r15 + rcx + 1]
mov r14b, sil
movzx ebp, byte [rbx]
and r14b, 7
movzx eax, word [rdx + rdi*2 + 0x41800]
test word [rdx + rbp*2 + 0x41830], ax
je 0x140004b16
mov dl, byte [rbx + 1]
or r8b, 1
xor r10b, r10b
movzx r9d, r8b
mov eax, 0x800
test word [rbx + 2], ax
je 0x1400043c8
cmp dl, r12b
jmp 0x1400049cc
movzx ecx, byte [r15 + rcx + 2]
cmp ecx, 0x1d
ja 0x1400047e8
je 0x1400047bd
cmp ecx, 0xe
ja 0x14000462e
je 0x140004617
cmp ecx, 7
ja 0x140004511
je 0x140004507
test ecx, ecx
je 0x1400044fe
sub ecx, 1
je 0x1400044e6
sub ecx, 1
je 0x1400044db
sub ecx, 1
je 0x1400044d8
sub ecx, 1
je 0x1400044c6
sub ecx, 1
je 0x1400044c3
cmp ecx, 1
je 0x14000450a
or r8b, 8
mov esi, dword [rsp + 0xb8]
mov edi, dword [rsp + 0xa8]
mov rbx, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
lea rdx, [0x140000000]
cmp r15, rbx
jne 0x140004b63
mov ecx, dword [0x140090114]
lea eax, [rcx - 5]
test eax, 0xfffffffa
jne 0x140004b72
cmp ecx, 6
je 0x140004b72
mov rax, qword [0x140085e00]
lea rcx, [0x14006ce00]
cmp rcx, qword [rax]
je 0x140004b72
mov rax, qword [r10]
mov ebp, 2
mov cl, byte [rax]
cmp cl, bpl
je 0x140004b72
cmp cl, 0xf
je 0x140004b36
cmp cl, 0xe
jne 0x140004b59
jmp 0x140004b4a
mov r10b, 1
dec dl
cmp dl, 1
ja 0x140004439
mov cl, 1
jmp 0x1400049d7
mov r10b, 1
cmp dl, 1
jne 0x140004439
jmp 0x1400044d1
cmp qword [rbx + 8], 0xf
ja 0x140004439
test dword [rbx + 4], 0x8000
jne 0x140004439
or r8b, 4
jmp 0x140004a04
mov r10b, 1
dec dl
cmp dl, 3
jmp 0x1400044cb
sub ecx, 8
je 0x140004607
sub ecx, 1
je 0x1400045c3
sub ecx, 1
je 0x14000458a
sub ecx, 1
je 0x14000455a
sub ecx, 1
je 0x140004542
cmp ecx, 1
jne 0x140004439
cmp dl, cl
jmp 0x1400049cc
test dl, dl
sete cl
or r8b, 6
test dl, dl
movzx r8d, r8b
cmove r8d, r9d
jmp 0x1400049cf
test dword [rbx + 4], 0x8000
je 0x140004576
mov rax, qword [rbx + 8]
mov rcx, 0xffffffff80000000
and rax, rcx
cmp rax, rcx
jmp 0x14000457e
test qword [rbx + 8], 0xffffffff80000000
sete al
dec dl
xor ecx, ecx
cmp dl, 3
jmp 0x1400045b8
test dword [rbx + 4], 0x8000
je 0x1400045a6
mov rax, qword [rbx + 8]
mov rcx, 0xffffffffffff8000
and rax, rcx
cmp rax, rcx
jmp 0x1400045ae
test qword [rbx + 8], 0xffffffffffff8000
sete al
dec dl
xor ecx, ecx
cmp dl, 1
movzx eax, al
cmovbe ecx, eax
jmp 0x1400049cf
mov edx, dword [rbx + 4]
or r8b, 4
bt edx, 8
jb 0x140004439
test r15, r15
je 0x1400045df
mov al, byte [r13 + 1]
jmp 0x1400045fd
mov rax, qword [rsp + 0x30]
mov cl, byte [rax + 0xc]
and cl, 7
jne 0x1400045f0
mov al, 4
jmp 0x1400045fd
mov eax, 4
cmp cl, al
lea ecx, [rax - 2]
cmove eax, ecx
shr edx, 0x1c
test al, dl
jmp 0x1400049fe
dec dl
cmp dl, 7
ja 0x140004439
jmp 0x1400044fe
test dl, 0xf6
jne 0x140004439
cmp dl, 9
je 0x140004439
jmp 0x1400044fe
cmp ecx, 0x16
ja 0x14000471b
je 0x140004700
sub ecx, 0xf
je 0x1400046ef
sub ecx, 1
je 0x1400046de
sub ecx, 1
je 0x1400046cd
sub ecx, 1
je 0x1400046a4
sub ecx, 1
je 0x140004680
sub ecx, 1
je 0x140004674
cmp ecx, 1
jne 0x140004439
test dl, 0xfd
jmp 0x1400044f8
mov ecx, 2
cmp dl, cl
jmp 0x1400049cc
mov r9d, 2
cmp dl, r9b
jb 0x1400046c6
test r11b, r11b
jne 0x14000469c
lea eax, [rdx - 0x10]
test al, 0xcf
jne 0x14000469c
cmp dl, 0x30
jne 0x1400046bb
cmp dl, r11b
jmp 0x1400049cc
mov r9d, 2
cmp dl, r9b
jb 0x1400046c6
test r11b, r11b
jne 0x14000469c
lea eax, [rdx - 0x10]
test al, 0xef
jne 0x14000469c
mov r11b, dl
mov byte [0x140090113], dl
jmp 0x140004712
mov cl, 1
jmp 0x1400049cf
test dl, 0xbe
jne 0x140004439
cmp dl, 0x41
jmp 0x140004623
test dl, 0xde
jne 0x140004439
cmp dl, 0x21
jmp 0x140004623
test dl, 0xee
jne 0x140004439
cmp dl, 0x11
jmp 0x140004623
mov r9d, 2
sub dl, r9b
test dl, 0xfd
jne 0x140004439
or r8b, 4
jmp 0x140004a0a
sub ecx, 0x17
je 0x1400047ac
sub ecx, 1
je 0x14000479b
sub ecx, 1
je 0x14000478a
sub ecx, 1
je 0x140004779
sub ecx, 1
je 0x140004768
cmp ecx, 1
jne 0x140004439
test dl, 0xfd
je 0x1400046c6
test r11b, r11b
jne 0x14000469c
lea eax, [rdx - 0x10]
test al, 0xef
jne 0x14000469c
mov r11b, dl
mov byte [0x140090113], dl
jmp 0x1400044fe
test dl, 0xbd
jne 0x140004439
cmp dl, 0x42
jmp 0x140004623
test dl, 0xdd
jne 0x140004439
cmp dl, 0x22
jmp 0x140004623
test dl, 0xed
jne 0x140004439
cmp dl, 0x12
jmp 0x140004623
test dl, 0xf5
jne 0x140004439
cmp dl, 0xa
jmp 0x140004623
test dl, 0xf9
jne 0x140004439
cmp dl, 6
jmp 0x140004623
test dl, 0xfd
je 0x1400046c6
test r11b, r11b
jne 0x14000469c
lea eax, [rdx - 0x10]
test al, 0xcf
jne 0x14000469c
cmp dl, 0x30
je 0x14000469c
jmp 0x14000475a
cmp ecx, 0x2c
ja 0x1400048fc
je 0x1400048eb
cmp ecx, 0x25
ja 0x140004888
je 0x140004880
sub ecx, 0x1e
je 0x140004878
sub ecx, 1
je 0x140004870
sub ecx, 1
je 0x14000486d
sub ecx, 1
je 0x14000485c
sub ecx, 1
je 0x14000484b
sub ecx, 1
je 0x14000483a
cmp ecx, 1
jne 0x140004439
test dl, 0xbb
jne 0x140004439
cmp dl, 0x44
jmp 0x140004623
test dl, 0xdb
jne 0x140004439
cmp dl, 0x24
jmp 0x140004623
test dl, 0xeb
jne 0x140004439
cmp dl, 0x14
jmp 0x140004623
test dl, 0xf3
jne 0x140004439
cmp dl, 0xc
jmp 0x140004623
sub dl, 4
test dl, 0xfb
jmp 0x1400044f8
cmp dl, 4
jmp 0x1400049cc
test dl, 0xfb
jmp 0x140004744
sub ecx, 0x26
je 0x1400048e3
sub ecx, 1
je 0x1400048db
sub ecx, 1
je 0x1400048cb
sub ecx, 1
je 0x1400048c3
sub ecx, 1
je 0x1400048bb
cmp ecx, 1
jne 0x140004439
test dl, 0xe7
jne 0x140004439
cmp dl, 0x18
jmp 0x140004623
test dl, 0xf7
jmp 0x1400044f8
cmp dl, 8
jmp 0x1400049cc
cmp dl, 6
je 0x1400044fe
test dl, dl
jmp 0x1400044f8
cmp dl, 6
jmp 0x1400049cc
test dl, 0xfb
jmp 0x1400047c0
test dl, 0xd7
jne 0x140004439
cmp dl, 0x28
jmp 0x140004623
cmp ecx, 0x33
ja 0x140004967
je 0x140004956
sub ecx, 0x2d
je 0x140004945
sub ecx, 1
je 0x14000493d
sub ecx, 1
je 0x140004935
sub ecx, 1
je 0x14000492d
sub ecx, 1
je 0x140004925
cmp ecx, 1
jne 0x140004439
cmp dl, 0x10
jmp 0x1400049cc
cmp dl, 0xa
jmp 0x1400049cc
test dl, 0xf7
jmp 0x1400047c0
test dl, 0xf7
jmp 0x140004744
test dl, 0xb7
jne 0x140004439
cmp dl, 0x48
jmp 0x140004623
test dl, 0xcf
jne 0x140004439
cmp dl, 0x30
jmp 0x140004623
sub ecx, 0x34
je 0x1400049c9
sub ecx, 1
je 0x1400049c9
sub ecx, 1
je 0x1400049b0
sub ecx, 1
je 0x1400049b0
sub ecx, 1
je 0x1400049ab
cmp ecx, 1
jne 0x140004439
test r11b, r11b
jne 0x14000469c
lea eax, [rdx - 0x10]
test al, 0xcf
jne 0x140004439
cmp dl, 0x30
je 0x140004439
jmp 0x14000475a
cmp dl, 0x40
jmp 0x1400049cc
test r11b, r11b
jne 0x14000469c
lea eax, [rdx - 0x10]
test al, 0xef
jne 0x140004439
jmp 0x14000475a
cmp dl, 0x20
sete cl
test cl, cl
je 0x140004439
or r8b, 4
test r10b, r10b
je 0x1400049fc
mov eax, dword [rbx + 4]
and eax, 0x4100
cmp eax, 0x100
je 0x1400049fc
test dword [rbx + 4], 0x2000
je 0x140004439
test cl, cl
je 0x140004439
mov r9d, 2
test sil, 8
je 0x140004a60
cmp dil, 3
jne 0x140004a34
mov r14d, 0x600
test word [rbx + 2], r14w
jne 0x140004a2c
test dword [rbx + 4], 0x8000
je 0x140004a66
or r8b, r9b
jmp 0x14000443d
cmp bpl, r9b
jne 0x140004a3e
mov al, byte [rbx + 8]
jmp 0x140004a5b
cmp dil, 4
jne 0x140004a56
mov eax, dword [rbx + 4]
and al, 3
cmp al, 1
jne 0x140004a52
mov al, byte [rbx + 0x18]
jmp 0x140004a5b
xor al, al
jmp 0x140004a5b
mov al, byte [rbx + 2]
and al, 7
cmp al, r14b
jne 0x140004a2c
mov r14d, 0x600
mov eax, dword [rbx + 4]
mov ecx, 0x180000
and eax, ecx
je 0x140004aa2
cmp eax, 0x80000
je 0x140004a96
cmp eax, 0x100000
je 0x140004a90
cmp eax, ecx
jne 0x140004aaa
cmp dil, 0x12
jne 0x14000443d
jmp 0x140004af5
cmp dil, 0x11
jmp 0x140004a88
cmp dil, 0x10
jne 0x14000443d
jmp 0x140004aaa
lea eax, [rdi - 0x10]
cmp al, r9b
jbe 0x140004b0d
cmp dil, r9b
je 0x140004abb
cmp dil, 0xf
je 0x140004abb
cmp dil, 0xe
jne 0x140004af5
test word [rbx + 2], r14w
jne 0x140004af5
test dword [rbx + 4], 0x8000
jne 0x140004a2c
mov rax, qword [rbx + 8]
movabs rcx, 0xffffffff00000000
test rcx, rax
je 0x140004af5
mov r14, 0xffffffff80000000
and rax, r14
cmp rax, r14
jne 0x140004a2c
inc r15
cmp r15, qword [rsp + 0x28]
jae 0x14000443d
mov rax, qword [rsp + 0x38]
jmp 0x14000436a
or r8b, 0x16
jmp 0x14000443d
mov r10, qword [rsp + 0x30]
or r8b, r9b
mov rbx, qword [rsp + 0x28]
mov edi, dword [rsp + 0xa8]
mov esi, dword [rsp + 0xb8]
jmp 0x14000445c
movzx eax, byte [r13]
cmp word [rdx + rax*2 + 0x41830], bp
jne 0x140004b59
cmp cl, 0xe
jne 0x140004b72
movzx eax, byte [r13]
cmp word [rdx + rax*2 + 0x41830], bp
je 0x140004b72
mov r11d, dword [rsp + 0x20]
jmp 0x14000423f
mov r11d, dword [rsp + 0x20]
mov ebp, 2
jmp 0x14000423f
mov rax, r10
jmp 0x140004c07
movzx eax, byte [0x140090152]
mov rcx, qword [rdx + rax*8 + 0x90118]
mov dl, byte [0x140091ac7]
test r8b, 4
je 0x140004b99
test dl, dl
je 0x140004c05
test bpl, r8b
jne 0x140004bab
mov rcx, r13
mov dword [0x140090154], 0x7e8
cmp byte [rcx + 1], 0
je 0x140004bfb
cmp byte [rcx], bpl
jne 0x140004c05
mov eax, dword [rcx + 4]
bt eax, 0xd
jb 0x140004c05
cmp byte [r13 + 1], 0
jne 0x140004c05
test dl, dl
je 0x140004bfb
movzx edx, byte [0x1400a1fa3]
shr eax, 0x1c
test eax, eax
je 0x140004bdc
test al, dl
je 0x140004bfb
mov ecx, edx
call fcn.14003bff8
mov rcx, r13
mov qword [r13 + 0x20], rax
call fcn.14001f750
xor edx, edx
mov rcx, rbx
call fcn.140004c18
jmp 0x140004c07
mov dword [0x140090154], 0x7e7
xor eax, eax
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret