Function at 0x180020760
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rsi, rcx
mov r15, r9
mov ecx, dword [rsp + 0xb8]
mov r12, r8
mov rdi, rdx
lea eax, [rcx + 0x870]
mov dword [rsp + 0x28], eax
cmp ecx, eax
jae 0x180020ea8
mov r14, qword [rsp + 0xb0]
mov ebp, dword [rsp + 0xb8]
movzx r13d, byte [rsp + 0xb8]
nop
cmp ecx, 0x20b
ja 0x1800209e2
je 0x18002096e
cmp ecx, 0x127
ja 0x180020888
je 0x180020879
mov eax, ecx
sub eax, 0xa3
je 0x180020857
sub eax, 0xc
je 0x18002082d
sub eax, 0x60
je 0x180020820
cmp eax, 0xc
jne 0x180020b4c
cmp dword [rdi], 0
jne 0x180020b4c
cmp dword [r15], 0
jne 0x180020b4c
mov dword [rsp + 0x30], 0
jmp 0x180020ea8
mov dword [rsp + 0x24], 1
jmp 0x180020b4c
mov r8, rsi
mov dword [rsp + 0x38], 6
lea rdx, [rsp + 0x38]
mov ecx, 0x133
call fcn.180026250
mov ecx, dword [r15]
mov qword [rsp + 0x40], rax
mov dword [rax + 0x28], ecx
jmp 0x180020b45
xor ebp, ebp
cmp dword [rdi], 0xffffffff
je 0x18002086e
mov rdx, qword [rsp + 0xc0]
and dword [rdx], 0xffffffef
jmp 0x180020b4c
mov dword [rdi], 1
jmp 0x180020b4c
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
jmp 0x180020b4c
mov eax, ecx
sub eax, 0x187
je 0x18002093c
sub eax, 0xc
je 0x1800208c0
sub eax, 0xc
je 0x180020ea8
cmp eax, 0x60
jne 0x180020b4c
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x30], eax
jmp 0x180020b4c
mov ebx, 0x4f
mov eax, ebx
sub eax, 0x4e
je 0x18002091e
cmp eax, 1
jne 0x18002092a
mov eax, dword [r15]
xor edx, edx
div dword [r12]
mov rax, qword [rsp + 0xa0]
mov rcx, rsi
movzx edx, byte [rdx + rax]
call qword [rsi + 0x28]
test eax, eax
je 0x18002091a
mov ecx, 0x56
mov eax, ecx
sub eax, 0x56
je 0x180020907
cmp eax, 0x75
je 0x180020ea8
jmp 0x18002090f
mov dword [rsp + 0x30], 1
add ecx, 0x75
cmp ecx, 0x140
jb 0x1800208f5
inc ebp
jmp 0x18002092a
mov eax, dword [r15]
xor edx, edx
div dword [r12]
mov dword [r15], eax
dec ebx
cmp ebx, 0x4d
ja 0x1800208c5
cmp dword [r15], 0
jne 0x1800208c0
jmp 0x180020b45
mov ebx, dword [rsp + 0x24]
mov r8, rsi
mov edx, 0x11c
xor ecx, ecx
call fcn.180022720
mov r8, rsi
mov edx, 0x11c
xor ecx, ecx
lea ebx, [rax + rbx*2]
call fcn.180022720
test eax, eax
jne 0x180020940
mov dword [rsp + 0x24], ebx
jmp 0x180020b45
mov eax, dword [rdi]
sub eax, ebp
test eax, eax
jle 0x1800209d9
nop word [rax + rax]
dec eax
mov ebx, 0x1e
mov dword [rdi], eax
nop dword [rax]
cmp ebx, 0x1e
je 0x18002099e
cmp ebx, 0x51
jne 0x1800209c1
inc ebp
jmp 0x1800209c1
mov dl, 0x30
mov rcx, rsi
call qword [rsi + 0x28]
test eax, eax
je 0x1800209c1
mov eax, PathMakeUniqueName
nop
cmp eax, 0x2c
je 0x180020ea0
add eax, 0x36
cmp eax, 0x62
jb 0x1800209b0
add ebx, 0x33
cmp ebx, 0x84
jb 0x180020990
mov eax, dword [rdi]
test eax, eax
jg 0x180020980
mov ecx, dword [rsp + 0xb8]
dec eax
mov dword [rdi], eax
jmp 0x180020b4c
movsxd r10, ebp
cmp ecx, 0x3eb
ja 0x180020d46
je 0x180020cb8
mov eax, ecx
sub eax, 0x277
je 0x180020ea8
sub eax, 0xc
je 0x180020c8b
sub eax, 0x78
je 0x180020ba3
cmp eax, 0x78
jne 0x180020b4c
mov rdx, qword [rsp + 0xc0]
test byte [rdx], 8
je 0x180020ace
mov eax, dword [r12]
sub eax, 8
test eax, 0xfffffff7
jne 0x180020ace
mov ebx, 0x32
cmp ebx, 0x32
jne 0x180020ab7
cmp dword [r12], 0x10
jne 0x180020a8c
mov rax, qword [rsp + 0xa0]
mov rcx, rsi
movzx edx, byte [rax + 0xa]
add dl, 0x17
call qword [rsi + 0x28]
test eax, eax
je 0x180020a8c
mov ecx, 0x5c
mov eax, ecx
sub eax, 0x5b
je 0x180020ea8
cmp eax, 1
jne 0x180020a85
mov dword [rsp + 0x30], eax
dec ecx
cmp ecx, 0x5a
ja 0x180020a71
mov dl, 0x30
mov rcx, rsi
call qword [rsi + 0x28]
test eax, eax
je 0x180020ab7
mov eax, 0xa1
nop dword [rax]
cmp eax, 0xa1
je 0x180020ea0
add eax, 0x448d
cmp eax, 0x448d
jbe 0x180020aa0
add ebx, 0x10
cmp ebx, 0x42
jb 0x180020a47
mov ecx, dword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xa8]
cmp dword [rax], 0
je 0x180020b2d
mov ebx, 0x3d
cmp ebx, 0x3d
je 0x180020af1
cmp ebx, 0x7a0
jne 0x180020b1d
inc ebp
jmp 0x180020b1d
mov dl, 0x2d
mov rcx, rsi
call qword [rsi + 0x28]
test eax, eax
je 0x180020b1d
mov ecx, 0x68
mov eax, ecx
sub eax, 0x67
je 0x180020ea8
cmp eax, 1
jne 0x180020b16
mov dword [rsp + 0x30], eax
dec ecx
cmp ecx, 0x66
ja 0x180020b02
add ebx, 0x763
cmp ebx, 0xec6
jbe 0x180020ae0
jmp 0x180020b45
mov eax, dword [rdx]
test al, 2
je 0x180020b65
mov dl, 0x2b
mov rcx, rsi
call qword [rsi + 0x28]
test eax, eax
jne 0x180020ea0
inc ebp
mov ecx, dword [rsp + 0xb8]
add ecx, 0x78
mov dword [rsp + 0xb8], ecx
cmp ecx, dword [rsp + 0x28]
jb 0x1800207c0
jmp 0x180020ea8
test al, 4
je 0x180020b4c
mov dl, 0x20
mov rcx, rsi
call qword [rsi + 0x28]
test eax, eax
je 0x180020b43
mov ecx, 0x21
nop word [rax + rax]
mov eax, ecx
sub eax, 0x21
je 0x180020b92
cmp eax, 1
je 0x180020ea8
jmp 0x180020b9a
mov dword [rsp + 0x30], 1
inc ecx
cmp ecx, 0x23
jb 0x180020b80
jmp 0x180020b43
mov rdx, qword [rsp + 0xc0]
test byte [rdx], 0x10
je 0x180020b4c
mov edi, 0x1d
cmp edi, 0x1d
je 0x180020c4d
cmp edi, 0x80b
jne 0x180020c6c
mov eax, dword [r14]
test eax, eax
jle 0x180020c67
nop word [rax + rax]
dec eax
mov ebx, 0x34
mov dword [r14], eax
nop word [rax + rax]
mov eax, ebx
sub eax, 0x33
je 0x180020c33
cmp eax, 1
jne 0x180020c35
mov dl, 0x30
mov rcx, rsi
call qword [rsi + 0x28]
test eax, eax
je 0x180020c35
mov ecx, 0x5c
nop dword [rax]
mov eax, ecx
sub eax, 0x5c
je 0x180020c22
cmp eax, 1
je 0x180020ea8
jmp 0x180020c2a
mov dword [rsp + 0x30], 1
inc ecx
cmp ecx, 0x5e
jb 0x180020c10
jmp 0x180020c35
inc ebp
dec ebx
cmp ebx, 0x32
ja 0x180020bf0
mov eax, dword [r14]
test eax, eax
jg 0x180020be0
mov rdx, qword [rsp + 0xc0]
jmp 0x180020c67
mov eax, dword [r14]
mov rcx, qword [rsp + 0xa8]
sub eax, ebp
mov dword [r14], eax
cmp dword [rcx], 0
jne 0x180020c67
test byte [rdx], 6
je 0x180020c6c
dec eax
mov dword [r14], eax
add edi, 0x7ee
cmp edi, 0xfdc
jbe 0x180020bb5
mov rdi, qword [rsp + 0x88]
jmp 0x180020b45
mov rax, qword [rsp + 0xc0]
test byte [rax], 8
je 0x180020b4c
mov ecx, dword [r12]
lea eax, [rcx - 8]
test eax, 0xfffffff7
jne 0x180020b45
shr ecx, 3
add ebp, ecx
jmp 0x180020b45
mov rax, qword [rsp + 0xc0]
test byte [rax], 1
je 0x180020b4c
mov eax, ebp
xor r9d, r9d
cdq
sub eax, edx
sar eax, 1
movsxd r11, eax
test eax, eax
jle 0x180020b4c
neg r10
nop dword [rax]
nop word [rax + rax]
mov r8d, 0xd3
mov eax, r8d
sub eax, 0xd2
je 0x180020d22
cmp eax, 1
jne 0x180020d2d
mov rcx, qword [rsi + 8]
lea rax, [r10 + r9]
mov rdx, r9
not rdx
add rdx, rcx
movzx ecx, byte [rax + rcx]
movzx r13d, byte [rdx]
mov byte [rdx], cl
jmp 0x180020d2d
mov rcx, qword [rsi + 8]
add rcx, r10
mov byte [rcx + r9], r13b
dec r8d
cmp r8d, 0xd1
ja 0x180020cf6
inc r9
cmp r9, r11
jl 0x180020cf0
jmp 0x180020b45
mov eax, ecx
sub eax, 0x463
je 0x180020e12
sub eax, 0x78
je 0x180020d66
cmp eax, 0x78
je 0x180020ea8
jmp 0x180020b4c
mov rax, qword [rsp + 0xc0]
test byte [rax], 1
jne 0x180020e05
mov eax, ebp
xor r9d, r9d
cdq
sub eax, edx
sar eax, 1
movsxd r11, eax
test eax, eax
jle 0x180020e05
movzx r14d, byte [rsp + 0x20]
neg r10
nop dword [rax]
nop word [rax + rax]
mov r8d, 0xdd
mov eax, r8d
sub eax, 0xdd
je 0x180020dc2
cmp eax, 1
jne 0x180020ddd
mov rcx, qword [rsi + 8]
add rcx, r10
mov byte [rcx + r9], r14b
jmp 0x180020ddd
mov rcx, qword [rsi + 8]
lea rax, [r10 + r9]
mov rdx, r9
not rdx
add rdx, rcx
movzx ecx, byte [rax + rcx]
movzx r14d, byte [rdx]
mov byte [rdx], cl
inc r8d
cmp r8d, 0xdf
jb 0x180020da6
inc r9
mov byte [rsp + 0x20], r14b
cmp r9, r11
jl 0x180020da0
mov r14, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0x30], 0
jmp 0x180020b4c
mov eax, dword [r14]
sub eax, ebp
test eax, eax
jle 0x180020e92
nop dword [rax + rax]
dec eax
mov ebx, ILFree
mov dword [r14], eax
nop word [rax + rax]
cmp ebx, 0x97
jne 0x180020e76
mov dl, 0x20
mov rcx, rsi
call qword [rsi + 0x28]
test eax, eax
je 0x180020e74
mov eax, 0x122
nop dword [rax]
cmp eax, 0x122
je 0x180020e60
cmp eax, 0x76f2
je 0x180020ea8
jmp 0x180020e68
mov dword [rsp + 0x30], 1
add eax, 0x75d0
cmp eax, 0xeba0
jbe 0x180020e50
inc ebp
add ebx, 0x4179
cmp ebx, 0x4179
jbe 0x180020e30
mov eax, dword [r14]
test eax, eax
jg 0x180020e20
mov ecx, dword [rsp + 0xb8]
dec eax
mov dword [r14], eax
jmp 0x180020b4c
mov dword [rsp + 0x30], 1
mov rax, qword [rsp + 0x30]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret