Function at 0x180027ae0
Capabilities:
Parse credit card information

Disassembly:
push rdi
sub rsp, 0x20
mov rdi, rcx
xor cl, cl
cmp dword [rdi + 0x60], 0xffff
je 0x180027f1a
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rsi
xor esi, esi
mov qword [rsp + 0x30], rbx
lea rbp, [0x18010a088]
mov eax, dword [rdi + 0x60]
cmp eax, 0x7c
je 0x180027f02
cmp eax, 0x29
jne 0x180027b3b
cmp dword [rdi + 0x1c], esi
jne 0x180027f02
test dword [rdi + 0x64], 0x10000000
jne 0x180027b3b
lea ecx, [rax - 0x24]
jmp 0x180027ee6
cmp eax, 0x2e
jne 0x180027bf6
lea ecx, [rax - 0xe]
call fcn.18005f544
mov r11, rax
test rax, rax
je 0x180027b69
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x180027b6c
mov r11, rsi
mov rax, qword [rdi + 0x30]
mov qword [r11 + 0x18], rax
mov rax, qword [rdi + 0x30]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x180027b91
mov qword [r11 + 0x10], rcx
mov rax, qword [rdi + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x18], r11
mov rax, qword [rdi + 0x30]
mov qword [rax + 0x10], r11
mov qword [rdi + 0x30], r11
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x180027be9
cmp word [rax], 0x5c
jne 0x180027be5
add rax, 2
cmp rax, rcx
je 0x180027bcd
test byte [rdi + 0x64], 8
jne 0x180027bcd
movzx ecx, word [rax]
cmp cx, 0x28
je 0x180027be2
cmp cx, 0x29
je 0x180027be2
test byte [rdi + 0x64], 0x10
jne 0x180027be5
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x180027be2
cmp cx, 0x7d
jne 0x180027be5
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180063f80
jmp 0x180027eeb
cmp eax, 0x5c
jne 0x180027d07
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x180027c4b
cmp word [rax], 0x5c
jne 0x180027c47
add rax, 2
cmp rax, rcx
je 0x180027c2f
test byte [rdi + 0x64], 8
jne 0x180027c2f
movzx ecx, word [rax]
cmp cx, 0x28
je 0x180027c44
cmp cx, 0x29
je 0x180027c44
test byte [rdi + 0x64], 0x10
jne 0x180027c47
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x180027c44
cmp cx, 0x7d
jne 0x180027c47
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180063f80
mov eax, dword [rdi + 0x64]
and eax, 0x80
je 0x180027ccb
cmp word [rdi + 0x5e], 0x62
jne 0x180027ccb
lea rcx, [rdi + 0x28]
mov edx, 4
call fcn.180028820
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x180027cbe
cmp word [rax], 0x5c
jne 0x180027cba
add rax, 2
cmp rax, rcx
je 0x180027ca2
test byte [rdi + 0x64], 8
jne 0x180027ca2
movzx ecx, word [rax]
cmp cx, 0x28
je 0x180027cb7
cmp cx, 0x29
je 0x180027cb7
test byte [rdi + 0x64], 0x10
jne 0x180027cba
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x180027cb7
cmp cx, 0x7d
jne 0x180027cba
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180063f80
jmp 0x180027ef3
test eax, eax
je 0x180027cfa
cmp word [rdi + 0x5e], 0x42
jne 0x180027cfa
lea rcx, [rdi + 0x28]
mov edx, 4
call fcn.180028820
mov r11, qword [rdi + 0x30]
mov rcx, rdi
xor dword [r11 + 0xc], 1
call fcn.180031be0
jmp 0x180027ef3
mov rcx, rdi
call fcn.180015880
jmp 0x180027eeb
cmp eax, 0x5b
jne 0x180027dd5
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x180027d5c
cmp word [rax], 0x5c
jne 0x180027d58
add rax, 2
cmp rax, rcx
je 0x180027d40
test byte [rdi + 0x64], 8
jne 0x180027d40
movzx ecx, word [rax]
cmp cx, 0x28
je 0x180027d55
cmp cx, 0x29
je 0x180027d55
test byte [rdi + 0x64], 0x10
jne 0x180027d58
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x180027d55
cmp cx, 0x7d
jne 0x180027d58
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180063f80
mov rcx, rdi
call fcn.180009e60
cmp dword [rdi + 0x60], 0x5d
je 0x180027d7c
mov ecx, 4
call fcn.180051808
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x180027dc8
cmp word [rax], 0x5c
jne 0x180027dc4
add rax, 2
cmp rax, rcx
je 0x180027dac
test byte [rdi + 0x64], 8
jne 0x180027dac
movzx ecx, word [rax]
cmp cx, 0x28
je 0x180027dc1
cmp cx, 0x29
je 0x180027dc1
test byte [rdi + 0x64], 0x10
jne 0x180027dc4
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x180027dc1
cmp cx, 0x7d
jne 0x180027dc4
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180063f80
jmp 0x180027eeb
cmp eax, 0x28
jne 0x180027e57
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rax, rcx
je 0x180027e26
cmp word [rax], 0x5c
jne 0x180027e22
add rax, 2
cmp rax, rcx
je 0x180027e0a
test byte [rdi + 0x64], 8
jne 0x180027e0a
movzx ecx, word [rax]
cmp cx, 0x28
je 0x180027e1f
cmp cx, 0x29
je 0x180027e1f
test byte [rdi + 0x64], 0x10
jne 0x180027e22
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x180027e1f
cmp cx, 0x7d
jne 0x180027e22
mov qword [rdi], rax
add qword [rdi], 2
mov rcx, rdi
call fcn.180063f80
mov rcx, rdi
call fcn.180001660
mov edx, 0x29
mov rcx, rdi
lea r8d, [rdx - 0x24]
movzx ebx, al
call fcn.18003a230
test bl, bl
je 0x180027ef3
jmp 0x180027eeb
cmp eax, 0x5e
jne 0x180027e75
lea rcx, [rdi + 0x28]
lea edx, [rax - 0x5c]
call fcn.180028820
mov rcx, rdi
call fcn.180031be0
jmp 0x180027ef3
cmp eax, 0x24
jne 0x180027e90
lea rcx, [rdi + 0x28]
lea edx, [rax - 0x21]
call fcn.180028820
mov rcx, rdi
call fcn.180031be0
jmp 0x180027ef3
cmp eax, 0x2a
je 0x180027ee1
cmp eax, 0x2b
je 0x180027ee1
cmp eax, 0x3f
je 0x180027ee1
cmp eax, 0x7b
je 0x180027ee1
cmp eax, 0x7d
jne 0x180027eb7
test dword [rdi + 0x64], 0x10000000
jne 0x180027eb7
lea ecx, [rax - 0x77]
jmp 0x180027ee6
cmp eax, 0x5d
jne 0x180027eca
test dword [rdi + 0x64], 0x10000000
jne 0x180027eca
lea ecx, [rax - 0x59]
jmp 0x180027ee6
movzx edx, word [rdi + 0x5e]
lea rcx, [rdi + 0x28]
call fcn.18001a570
mov rcx, rdi
call fcn.180031be0
jmp 0x180027eeb
mov ecx, 0xa
call fcn.180051808
mov rcx, rdi
call fcn.18001f9b0
cmp dword [rdi + 0x60], 0xffff
mov cl, 1
jne 0x180027b10
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
movzx eax, cl
add rsp, 0x20
pop rdi
ret
movzx eax, cl
add rsp, 0x20
pop rdi
ret