Function at 0x140044480
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x14004482d
cmp ecx, 0x7c
je 0x14004482d
cmp ecx, 0x29
jne 0x1400444d2
cmp dword [rbx + 0x1c], 0
jne 0x14004482d
test dword [rbx + 0x80], 0x10000000
je 0x140044850
jmp 0x140044741
cmp ecx, 0x2e
jne 0x1400444ea
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.1400267c0
jmp 0x14004474e
cmp ecx, 0x5c
jne 0x14004455f
mov rcx, rbx
call fcn.140046c50
test byte [rbx + 0x80], 0x80
je 0x140044552
movzx eax, word [rbx + 0x78]
cmp ax, 0x62
jne 0x140044525
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.1400267c0
mov rcx, rbx
call fcn.140046c50
jmp 0x14004481f
cmp ax, 0x42
jne 0x140044552
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.1400267c0
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.140046c50
jmp 0x14004481f
mov rcx, rbx
call fcn.1400448a0
jmp 0x140044756
cmp ecx, 0x5b
jne 0x140044583
mov rcx, rbx
call fcn.140046c50
mov rcx, rbx
call fcn.140044b10
cmp dword [rbx + 0x7c], 0x5d
jne 0x14004485e
jmp 0x14004474e
cmp ecx, 0x28
jne 0x1400446b7
mov rcx, rbx
call fcn.140046c50
inc dword [rbx + 0x1c]
mov eax, dword [rbx + 0x80]
bt eax, 0x1b
jb 0x1400445ad
cmp dword [rbx + 0x7c], 0x29
je 0x140044850
test al, 0x20
je 0x14004460e
cmp dword [rbx + 0x7c], 0x3f
jne 0x14004460e
mov rcx, rbx
call fcn.140046c50
mov edi, dword [rbx + 0x7c]
mov rcx, rbx
call fcn.140046c50
mov rcx, rbx
cmp edi, 0x3a
jne 0x1400445dc
call fcn.140045dd0
jmp 0x140044691
cmp edi, 0x21
jne 0x1400445f3
mov dl, 1
call fcn.140045620
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x140044697
cmp edi, 0x3d
jne 0x140044888
xor edx, edx
call fcn.140045620
dec dword [rbx + 0x1c]
xor dil, dil
jmp 0x140044697
test dword [rbx + 0x70], 0x200
lea rcx, [rbx + 0x40]
je 0x14004463e
mov edx, 8
call fcn.1400267c0
mov rcx, rbx
mov rdi, rax
call fcn.1400452e0
mov rdx, rdi
lea rcx, [rbx + 0x40]
call fcn.140024d60
jmp 0x140044691
inc dword [rbx + 0x18]
mov edx, dword [rbx + 0x18]
call fcn.140022cd0
mov rcx, rbx
mov rsi, rax
call fcn.1400452e0
mov rdx, rsi
lea rcx, [rbx + 0x40]
call fcn.140024d60
mov edx, dword [rbx + 0x18]
lea rcx, [rbx + 0x20]
inc edx
xor r8d, r8d
call fcn.140028fb0
mov r8d, dword [rsi + 0x20]
mov rax, qword [rbx + 0x20]
mov ecx, r8d
shr rcx, 5
and r8d, 0x1f
lea rdx, [rax + rcx*4]
mov eax, dword [rax + rcx*4]
bts eax, r8d
mov dword [rdx], eax
dec dword [rbx + 0x1c]
mov dil, 1
cmp dword [rbx + 0x7c], 0x29
jne 0x140044850
mov rcx, rbx
call fcn.140046c50
test dil, dil
je 0x14004481f
jmp 0x140044756
cmp ecx, 0x5e
jne 0x1400446d7
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.1400267c0
mov rcx, rbx
call fcn.140046c50
jmp 0x14004481f
cmp ecx, 0x24
jne 0x1400446f7
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.1400267c0
mov rcx, rbx
call fcn.140046c50
jmp 0x14004481f
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x14004487a
cmp ecx, 0x3f
je 0x14004487a
cmp ecx, 0x7b
je 0x14004487a
cmp ecx, 0x7d
jne 0x14004472c
test dword [rbx + 0x80], 0x10000000
je 0x14004486c
jmp 0x140044741
cmp ecx, 0x5d
jne 0x140044741
test dword [rbx + 0x80], 0x10000000
je 0x14004485e
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.1400439b0
mov rcx, rbx
call fcn.140046c50
mov eax, dword [rbx + 0x7c]
xor esi, esi
lea edi, [rsi - 1]
cmp eax, 0x2a
je 0x1400447d7
cmp eax, 0x2b
jne 0x14004476d
lea esi, [rdi + 2]
jmp 0x1400447d7
cmp eax, 0x3f
jne 0x140044777
lea edi, [rax - 0x3e]
jmp 0x1400447d7
cmp eax, 0x7b
jne 0x14004481f
mov rcx, rbx
call fcn.140046c50
mov rcx, rbx
call fcn.140045210
test al, al
je 0x140044842
mov eax, dword [rbx + 0x7c]
mov esi, dword [rbx + 0x74]
cmp eax, 0x2c
je 0x1400447a7
mov edi, esi
jmp 0x1400447c9
mov rcx, rbx
call fcn.140046c50
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
je 0x1400447ce
mov rcx, rbx
call fcn.140045210
test al, al
je 0x140044842
mov edi, dword [rbx + 0x74]
mov eax, dword [rbx + 0x7c]
cmp eax, 0x7d
jne 0x140044842
cmp edi, 0xffffffff
je 0x1400447d7
cmp edi, esi
jl 0x140044842
mov rax, qword [rbx + 0x48]
mov rcx, rbx
or dword [rax + 0xc], 4
add rax, 0xc
call fcn.140046c50
test dword [rbx + 0x80], 0x400
je 0x14004480a
cmp dword [rbx + 0x7c], 0x3f
jne 0x14004480a
xor bpl, bpl
mov rcx, rbx
call fcn.140046c50
jmp 0x14004480d
mov bpl, 1
lea rcx, [rbx + 0x40]
movzx r9d, bpl
mov r8d, edi
mov edx, esi
call fcn.140044140
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x1400444a5
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov edx, 7
mov rcx, rbx
call fcn.140024e20
int3
mov edx, 5
mov rcx, rbx
call fcn.140024e20
int3
mov edx, 4
mov rcx, rbx
call fcn.140024e20
int3
mov edx, 6
mov rcx, rbx
call fcn.140024e20
int3
mov edx, 0xa
mov rcx, rbx
call fcn.140024e20
int3
mov edx, SafeArrayDestroy
call fcn.140024e20
int3