Function at 0x140048960
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r15
mov rbp, rsp
sub rsp, 0x30
and dword [rbp + 0x38], 0
mov esi, r8d
and dword [rbp + 0x3c], 0
mov rbx, rdx
mov rdi, rcx
mov r15d, 9
cmp esi, 5
jg 0x140048b59
je 0x140048b22
mov ecx, esi
test esi, esi
je 0x1400489ff
sub ecx, 1
je 0x140048a64
sub ecx, 1
je 0x140048aac
sub ecx, 1
je 0x140048ae8
cmp ecx, 1
jne 0x140048f28
cmp dword [rdi + 4], 0x5e
jne 0x140048b22
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 5
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
mov eax, dword [rbp + 0x38]
xor dword [rbx], eax
jmp 0x140048baa
cmp dword [rdi + 4], 0x3f
jne 0x140048a64
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.14004891c
cmp dword [rdi + 4], 0x3a
mov rcx, rdi
jne 0x140048f3b
call fcn.140049624
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.140049550
xor r8d, r8d
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.140048960
cmp dword [rbx], 0
mov eax, dword [rbp - 0x10]
cmovne eax, dword [rbp + 0x38]
mov dword [rbx], eax
mov eax, dword [rbp - 0xc]
cmp dword [rbp + 0x3c], eax
cmova eax, dword [rbp + 0x3c]
mov dword [rbx + 4], eax
jmp 0x14004898c
cmp dword [rdi + 4], 0x104
jne 0x140048aac
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 2
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
cmp dword [rbx], 0
je 0x140048ae0
mov eax, 1
mov dword [rbx], eax
mov dword [rbx + 4], r15d
jmp 0x14004898c
xor eax, eax
jmp 0x140048a9d
cmp dword [rdi + 4], 0x105
jne 0x140048ae8
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 3
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
cmp dword [rbx], 0
je 0x140048aa8
cmp dword [rbp + 0x38], 0
je 0x140048aa8
jmp 0x140048a98
cmp dword [rdi + 4], 0x7c
jne 0x1400489c5
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 4
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
mov eax, dword [rbp + 0x38]
or dword [rbx], eax
jmp 0x140048baa
cmp dword [rdi + 4], 0x26
jne 0x140048bbb
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 6
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
mov eax, dword [rbp + 0x38]
and dword [rbx], eax
jmp 0x140048baa
mov ecx, esi
sub ecx, 6
je 0x140048bbb
sub ecx, 1
je 0x140048c36
sub ecx, 1
je 0x140048d91
sub ecx, 1
je 0x140048e0a
cmp ecx, 1
jne 0x140048f28
cmp dword [rdi + 4], 0x2a
jne 0x140048e7a
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov eax, dword [rbx]
imul eax, dword [rbp + 0x38]
mov dword [rbx], eax
mov eax, dword [rbp + 0x3c]
cmp eax, dword [rbx + 4]
jbe 0x14004898c
jmp 0x140048a5c
cmp dword [rdi + 4], 0x106
jne 0x140048bfb
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 7
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rbx], eax
sete cl
mov dword [rbx], ecx
jmp 0x140048a9f
cmp dword [rdi + 4], 0x107
jne 0x140048c36
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 7
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rbx], eax
setne cl
jmp 0x140048bf4
mov eax, dword [rdi + 4]
cmp eax, 0x3c
jne 0x140048c8e
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
cmp dword [rbx + 4], r15d
jne 0x140048c7f
cmp dword [rbp + 0x3c], r15d
jne 0x140048c7f
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rbx], eax
setl cl
jmp 0x140048bf4
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rbx], eax
setb cl
jmp 0x140048bf4
cmp eax, 0x3e
jne 0x140048ce3
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
cmp dword [rbx + 4], r15d
jne 0x140048cd4
cmp dword [rbp + 0x3c], r15d
jne 0x140048cd4
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rbx], eax
setg cl
jmp 0x140048bf4
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rbx], eax
seta cl
jmp 0x140048bf4
cmp eax, 0x108
jne 0x140048d3a
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
cmp dword [rbx + 4], r15d
jne 0x140048d2b
cmp dword [rbp + 0x3c], r15d
jne 0x140048d2b
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rbx], eax
setle cl
jmp 0x140048bf4
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rbx], eax
setbe cl
jmp 0x140048bf4
cmp eax, 0x109
jne 0x140048d91
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
cmp dword [rbx + 4], r15d
jne 0x140048d82
cmp dword [rbp + 0x3c], r15d
jne 0x140048d82
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rbx], eax
setge cl
jmp 0x140048bf4
mov eax, dword [rbp + 0x38]
xor ecx, ecx
cmp dword [rbx], eax
setae cl
jmp 0x140048bf4
cmp dword [rdi + 4], 0x10a
jne 0x140048dc7
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, r15d
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
mov ecx, dword [rbp + 0x38]
shl dword [rbx], cl
jmp 0x14004898c
cmp dword [rdi + 4], 0x10b
jne 0x140048e0a
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, r15d
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
mov ecx, dword [rbp + 0x38]
cmp dword [rbx + 4], r15d
jne 0x140048e03
sar dword [rbx], cl
jmp 0x14004898c
shr dword [rbx], cl
jmp 0x14004898c
cmp dword [rdi + 4], 0x2b
jne 0x140048e40
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 0xa
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
mov eax, dword [rbp + 0x38]
add dword [rbx], eax
jmp 0x140048baa
cmp dword [rdi + 4], 0x2d
jne 0x140048b84
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov r8d, 0xa
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140048960
mov eax, dword [rbp + 0x38]
sub dword [rbx], eax
jmp 0x140048baa
cmp dword [rdi + 4], 0x2f
jne 0x140048ed5
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov eax, dword [rbp + 0x3c]
cmp eax, dword [rbx + 4]
jbe 0x140048e9f
mov dword [rbx + 4], eax
mov ecx, dword [rbp + 0x38]
test ecx, ecx
je 0x140048f46
cmp dword [rbx + 4], r15d
jne 0x140048ec8
cmp dword [rbx], 0x80000000
jne 0x140048ec1
cmp ecx, 0xffffffff
je 0x140048f46
mov eax, dword [rbx]
cdq
idiv ecx
jmp 0x140048ece
mov eax, dword [rbx]
xor edx, edx
div ecx
mov dword [rbx], eax
jmp 0x14004898c
cmp dword [rdi + 4], 0x25
jne 0x140048f28
mov rcx, rdi
call fcn.140049624
lea rdx, [rbp + 0x38]
mov rcx, rdi
call fcn.140049550
mov eax, dword [rbp + 0x3c]
cmp eax, dword [rbx + 4]
jbe 0x140048efa
mov dword [rbx + 4], eax
mov ecx, dword [rbp + 0x38]
test ecx, ecx
je 0x140048f46
cmp dword [rbx + 4], r15d
jne 0x140048f1b
cmp dword [rbx], 0x80000000
jne 0x140048f14
cmp ecx, 0xffffffff
je 0x140048f46
mov eax, dword [rbx]
cdq
idiv ecx
jmp 0x140048f21
mov eax, dword [rbx]
xor edx, edx
div ecx
mov dword [rbx], edx
jmp 0x14004898c
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop r15
pop rdi
pop rbp
ret
mov edx, 0x3a
call fcn.1400487c0
int3
mov edx, 0x219
mov rcx, rdi
call fcn.140048764
int3