Function at 0x4128f0
Capabilities:
Parse credit card information

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
cmp cx, 0xffff
mov ebx, ecx
mov edi, edx
je 0x412ed0
xor esi, esi
test ch, 0x10
jne 0x412d40
test bh, 0x40
jne 0x412d00
test bx, bx
js 0x412d90
test bh, 0x20
je 0x412963
test edi, edi
jne 0x412dd0
mov edx, 9
mov rcx, rsi
call fcn.0040f430
mov rdx, qword [0x00437c50]
mov rsi, rax
mov rax, qword [rax]
lea rax, [rsi + rax + 0x10]
mov qword [rax], rdx
movzx edx, word [0x00437c58]
mov word [rax + 8], dx
add qword [rsi], 9
mov ecx, ebx
and cx, 0xfff
cmp cx, 0x16
je 0x413280
jbe 0x412ac0
cmp cx, 0x25
je 0x413100
jbe 0x412bd0
cmp cx, 0x44
je 0x413340
ja 0x412a20
cmp cx, 0x41
je 0x413200
jbe 0x412a90
cmp cx, 0x42
je 0x413020
cmp cx, 0x43
jne 0x413220
lea rcx, [0x00437760]
call fcn.00411520
mov rdi, rax
nop dword [rax]
test rdi, rdi
je 0x412eb0
mov rdx, qword [rdi]
mov rcx, rsi
call fcn.0040f430
lea rdx, [rdi + 0x10]
mov rbx, rax
mov rax, qword [rax]
lea rcx, [rbx + rax + 0x10]
mov rax, qword [rdi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
add qword [rbx], rax
mov rax, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
cmp cx, 0x47
je 0x4132a0
jbe 0x412a60
cmp cx, 0x48
je 0x413060
cmp cx, 0xfff
jne 0x413220
lea rcx, [0x00437660]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 0x45
je 0x413040
cmp cx, 0x46
jne 0x413220
lea rcx, [0x004376c0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 0x26
je 0x413000
cmp cx, 0x40
jne 0x413220
lea rcx, [0x004377c0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 0xa
je 0x413120
ja 0x412b20
cmp cx, 4
je 0x413260
jbe 0x412c80
cmp cx, 7
je 0x413240
jbe 0x412ba0
cmp cx, 8
je 0x412fa0
cmp cx, 9
jne 0x413220
lea rcx, [0x00437ae0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 0x10
je 0x413160
jbe 0x412cc0
cmp cx, 0x13
je 0x413140
jbe 0x412b70
cmp cx, 0x14
je 0x412fe0
cmp cx, 0x15
jne 0x413220
lea rcx, [0x00437980]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 0x11
je 0x412fc0
cmp cx, 0x12
jne 0x413220
lea rcx, [0x004379e0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 5
je 0x412f80
cmp cx, 6
jne 0x413220
lea rcx, [0x00437b40]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 0x1b
je 0x4131e0
jbe 0x412c40
cmp cx, 0x1e
je 0x4131c0
jbe 0x412c10
cmp cx, 0x1f
je 0x412f60
cmp cx, 0x24
jne 0x413220
lea rcx, [0x00437820]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 0x1c
je 0x412f40
cmp cx, 0x1d
jne 0x413220
lea rcx, [0x00437880]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 0x18
je 0x4131a0
jb 0x413180
cmp cx, 0x19
je 0x4130c0
cmp cx, 0x1a
jne 0x413220
lea rcx, [0x004378e0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 1
je 0x413320
test cx, cx
je 0x413300
cmp cx, 2
je 0x4130a0
cmp cx, 3
jne 0x413220
lea rcx, [0x00437ba0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
cmp cx, 0xc
je 0x4132e0
jb 0x4132c0
cmp cx, 0xd
je 0x413080
cmp cx, 0xe
jne 0x413220
lea rcx, [0x00437a40]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
mov edx, 9
mov rcx, rsi
call fcn.0040f430
mov rdx, qword [0x00437c90]
mov rsi, rax
mov rax, qword [rax]
lea rax, [rsi + rax + 0x10]
mov qword [rax], rdx
movzx edx, word [0x00437c98]
mov word [rax + 8], dx
add qword [rsi], 9
test bx, bx
jns 0x412925
jmp 0x412d90
mov ecx, 0x1b
call fcn.00405f80
mov rdx, qword [0x00437cb0]
test bh, 0x40
mov rsi, rax
mov qword [rax + 8], 0xa
mov qword [rax], 0xa
mov qword [rax + 0x10], rdx
movzx edx, word [0x00437cb8]
mov word [rax + 0x18], dx
movzx edx, byte [0x00437cba]
mov byte [rax + 0x1a], dl
je 0x41291c
jmp 0x412d00
mov edx, 0xc
mov rcx, rsi
call fcn.0040f430
mov rdx, qword [0x00437c70]
mov rsi, rax
mov rax, qword [rax]
lea rax, [rsi + rax + 0x10]
mov qword [rax], rdx
mov edx, dword [0x00437c78]
mov dword [rax + 8], edx
movzx edx, byte [0x00437c7c]
mov byte [rax + 0xc], dl
add qword [rsi], 0xc
jmp 0x412925
lea rcx, [rsp + 0x28]
movsxd rdx, edi
mov qword [rsp + 0x28], 0
call fcn.004123d0
mov rbp, qword [rsp + 0x28]
test rbp, rbp
je 0x412ef0
mov rdx, qword [rbp]
lea r12, [rdx + 0xc]
cmp r12, 6
jg 0x4130e0
mov rcx, qword [0x00438a30]
mov edx, 0x18
call fcn.00411920
mov rdi, rax
mov qword [rax + 8], 7
mov rax, qword [0x00437c30]
lea r12, [rdi + 0x10]
lea rdx, [rbp + 0x10]
lea rcx, [rdi + 0x19]
mov qword [rdi + 0x10], rax
movzx eax, word [0x00437c38]
mov word [r12 + 8], ax
mov qword [rdi], 9
mov rax, qword [rbp]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rbp]
lea rax, [rdx + 9]
mov qword [rdi], rax
lea rax, [rdx + 0x19]
add rdx, 0xc
mov rcx, rsi
mov dword [rdi + rax], 0x7c2944
mov qword [rdi], rdx
call fcn.0040f430
mov r8, qword [rdi]
mov rdx, r12
mov rsi, rax
mov rax, qword [rax]
add r8, 1
lea rcx, [rsi + rax + 0x10]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
add qword [rsi], rax
jmp 0x412963
xor edx, edx
mov rcx, rsi
call fcn.0040f430
mov rbx, rax
mov rax, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rcx, [0x00437cc0]
call fcn.00411370
mov rbx, rax
mov rax, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, qword [0x00438a30]
mov edx, 0x1d
call fcn.00411920
mov edx, 0xc
mov qword [rax + 8], 0xc
lea r12, [rax + 0x10]
mov rdi, rax
mov rax, qword [0x00437c30]
mov qword [rdi + 0x10], rax
movzx eax, word [0x00437c38]
mov word [r12 + 8], ax
mov eax, 0x19
mov qword [rdi], 9
jmp 0x412e6d
lea rcx, [0x004378a0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437840]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437b60]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437b00]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437a00]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x004379a0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x004377e0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437780]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x004376e0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437680]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437a60]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437bc0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437900]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
mov rcx, qword [0x00438a30]
add rdx, 0x1d
call fcn.00411920
mov rdi, rax
mov qword [rax + 8], r12
jmp 0x412e22
lea rcx, [0x00437800]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437ac0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x004379c0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437a20]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437940]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437920]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437860]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x004378c0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x004377a0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437cc0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437b20]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437b80]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437960]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x004376a0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437aa0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437a80]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437c00]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437be0]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0
lea rcx, [0x00437720]
call fcn.00411520
mov rdi, rax
jmp 0x4129d0