Function at 0x201e5d40
Capabilities:
Parse credit card information

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x160], 0xfffffffffffffffe
mov rbx, r9
mov rsi, rcx
mov eax, dword [rbp + 0x1e0]
mov r13, qword [rbp + 0x1d8]
mov r12, qword [rbp + 0x1d0]
mov ecx, dword [0x205b41a8]
lea r9d, [rcx - 1]
imul r9d, ecx
test r9b, 1
jne 0x201e5dc6
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov dword [rsi + 0x18], r8d
mov qword [rsi + 0x20], 0xffffffffffffffff
mov rdi, qword [rdx]
xor r14d, r14d
cmp eax, 0xffffffff
cmovne r14d, eax
mov ecx, dword [0x205b41ac]
cmp ecx, 0x17
jle 0x201e5de2
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov dword [rsi + 0x18], r8d
mov qword [rsi + 0x20], 0xffffffffffffffff
jmp 0x201e5d94
cmp r8d, 0xc0000000
jg 0x201e5e0f
cmp r8d, 0x80000000
je 0x201e5e25
cmp r8d, 0xc0000000
jne 0x201e5ef7
mov r8d, 4
mov r15d, 2
jmp 0x201e5e3f
cmp r8d, 0xc0000001
je 0x201e5e33
cmp r8d, 0xc0000002
jne 0x201e5ef7
mov r8d, 2
mov r15d, 4
jmp 0x201e5e3f
mov r8d, 8
mov r15d, 1
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rdi
xor edx, edx
xor r9d, r9d
call fcn.201f1c20
mov qword [rbp + 0x158], rax
test rax, rax
je 0x201e5eda
mov rcx, qword [0x205b41b0]
test rcx, rcx
jne 0x201e5e87
lea rcx, [rbp + 0x108]
call fcn.2017deb0
mov ecx, dword [rbp + 0x130]
mov dword [rbp + 0x154], r15d
mov rax, rbx
or rax, rcx
shr rax, 0x20
mov qword [rbp + 0x148], rbx
je 0x201e5eae
mov rax, rbx
cqo
idiv rcx
mov r15, rdx
jmp 0x201e5eb7
mov eax, ebx
xor edx, edx
div ecx
mov r15d, edx
mov rax, r13
sub r13, r15
test rax, rax
cmove r13, rax
test r12, r12
jne 0x201e6090
mov eax, dword [0x205b41ac]
cmp eax, 0xf
jle 0x201e5f2f
jmp 0x201e5f46
call fcn.201eb2c0
mov dword [rbp + 0x108], eax
mov ecx, eax
call fcn.201f0f30
mov dword [rbp + 0x10c], eax
mov rsi, rbp
jmp 0x201e5f0e
movabs rax, 0x1100000000
mov qword [rbp + 0x108], rax
lea rsi, [rbp - 0x40]
jmp 0x201e5f0e
lea rdx, [rbp + 0x108]
mov rcx, rsi
xor r8d, r8d
call fcn.201e6920
lea rdx, [0x204ed9b0]
mov rcx, rsi
call fcn.2045024c
mov eax, dword [0x205b4230]
mov ecx, dword [0x205b41a8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x201e5f4e
mov eax, dword [0x205b4230]
jmp 0x201e5f2f
cmp eax, 1
jg 0x201e6044
lea r12, [0x201f4050]
xor ebx, ebx
jmp 0x201e5f7b
inc ebx
cmp eax, 2
jge 0x201e6044
xor eax, eax
mov ecx, 1
lock cmpxchg dword [0x205b4230], ecx
je 0x201e602c
test bl, 1
je 0x201e5fa0
call fcn.201eb8e0
test eax, eax
jne 0x201e5fe5
xor ecx, ecx
xor eax, eax
test al, al
jne 0x201e5fd0
nop word cs:[rax + rax]
mov eax, dword [0x205b41a8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x201e5fe0
nop word cs:[rax + rax]
mov eax, dword [0x205b41ac]
cmp eax, 0x2b
jge 0x201e5fd0
jmp 0x201e5fb0
call fcn.20056b20
xor eax, eax
test al, al
jne 0x201e600b
nop dword [rax + rax]
mov eax, dword [0x205b4230]
mov ecx, dword [0x205b41a8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x201e5f70
mov eax, dword [0x205b4230]
mov ecx, 0x1b
call fcn.20407ac4
mov qword [0x205b4198], rax
mov rcx, r12
call fcn.20427ec0
jmp 0x201e5ff0
mov ecx, 4
call fcn.201eb7e0
mov qword [0x205b4260], rax
lock inc dword [0x205b4230]
mov rax, qword [0x205b4260]
mov r10, qword [case.0x2010e313.0]
mov qword [rsp + 0x20], 0
lea r8, [rbp + 0x108]
mov rcx, qword [rbp + 0x158]
xor edx, edx
mov r9d, 0x18
call r10
test eax, eax
jne 0x201e6147
mov r12, qword [rbp + 0x118]
sub r12, qword [rbp + 0x148]
jl 0x201e6188
or r14d, dword [rbp + 0x154]
lea rax, [r12 + r15]
mov r9, qword [rbp + 0x148]
sub r9, r15
mov r8, r9
shr r8, 0x20
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0x158]
mov edx, r14d
call fcn.201f1ce0
lea rbx, [rsi + 0x20]
mov ecx, dword [0x205b41ac]
cmp ecx, 0x24
nop word cs:[rax + rax]
mov ecx, dword [0x205b41ac]
cmp ecx, 0x5e
jg 0x201e60e0
test rax, rax
je 0x201e6104
mov ecx, dword [0x205b41ac]
cmp ecx, 0x22
jle 0x201e6200
jmp 0x201e621a
call fcn.201eb390
mov dword [rbp + 0x108], eax
mov ecx, eax
call fcn.201f0f30
mov dword [rbp + 0x10c], eax
lea rcx, [rbp + 0xc0]
lea rdx, [rbp + 0x108]
xor r8d, r8d
call fcn.201e6920
lea rdx, [0x204ed9b0]
lea rcx, [rbp + 0xc0]
call fcn.2045024c
jmp 0x201e6188
call fcn.201eb390
mov dword [rbp + 0x108], eax
mov ecx, eax
call fcn.201f0f30
mov dword [rbp + 0x10c], eax
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x108]
xor r8d, r8d
call fcn.201e6920
lea rdx, [0x204ed9b0]
lea rcx, [rbp + 0x80]
call fcn.2045024c
movabs rax, 0x1200000000
mov qword [rbp + 0x100], rax
lea rcx, [rbp + 0x108]
lea rdx, [rbp + 0x100]
xor r8d, r8d
call fcn.201e6920
mov eax, dword [0x205b41a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201e61e0
mov eax, dword [0x205b41a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x201e61ed
nop word cs:[rax + rax]
mov eax, dword [0x205b41ac]
cmp eax, 0x25
jge 0x201e61e0
jmp 0x201e61c0
lea rdx, [0x204ed9b0]
lea rcx, [rbp + 0x108]
call fcn.2045024c
lea rcx, [rax + r15]
mov qword [rsi], rcx
mov qword [rsi + 0x10], r15
mov qword [rsi + 8], r12
mov ecx, dword [0x205b41ac]
cmp ecx, 0x3f
jle 0x201e622b
lea rcx, [rax + r15]
mov qword [rsi], rcx
mov qword [rsi + 0x10], r15
mov qword [rsi + 8], r12
jmp 0x201e6200
mov rcx, qword [rbp + 0x158]
call fcn.201eb490
mov eax, dword [0x205b41ac]
cmp eax, 0x5e
jle 0x201e6278
call fcn.20101bd0
mov r14, rax
call fcn.20101bd0
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rax
mov rdx, rdi
mov r8, r14
mov r9, rbx
call fcn.20101a30
call fcn.20101bd0
mov r14, rax
call fcn.20101bd0
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rax
mov rdx, rdi
mov r8, r14
mov r9, rbx
call fcn.20101a30
test eax, eax
je 0x201e62c9
mov rax, rsi
add rsp, 0x1e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.201eb2c0
mov dword [rbp + 0x108], eax
mov ecx, eax
call fcn.201f0f30
mov dword [rbp + 0x10c], eax
mov rcx, rsi
call fcn.201f1be0
lea rsi, [rbp + 0x40]
jmp 0x201e5f0e