Function at 0x14009e5c0
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rdx
mov rbx, rcx
mov rdi, qword [rdx + 8]
mov r14, qword [rdi + 0xc8]
mov eax, dword [rdi + 0x40]
cmp byte [rcx + 0x59], 0
je 0x14009e600
mov ecx, eax
and ecx, 0x20
je 0x14009e600
cmp byte [rdi + 0x44], 0x2f
jne 0x14009e600
cmp byte [r14 + 0x44], 0x32
jne 0x14009e700
test al, 8
jne 0x14009e60b
mov al, byte [rdi + 0x44]
cmp al, 0x1d
jne 0x14009e61f
mov bpl, 1
mov eax, ebp
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rcx, qword [rsi + 0x28]
test byte [rcx - 4], 2
jne 0x14009e72e
movzx r9d, word [r14 + 0x10]
cmp r9w, 0x3e
jne 0x14009e63f
cmp byte [rsi + 0x10], 0
jne 0x14009e60b
mov r8b, byte [rbx + 0x1a3]
cmp r8b, 5
jne 0x14009e6c8
cmp byte [rbx + 0x1f5], 0
je 0x14009e6c8
cmp dword [rdi + 0x88], 2
jb 0x14009e6c8
mov rcx, rdi
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rax, rcx
cmp word [rcx + 0x10], 4
jne 0x14009e686
mov rcx, qword [rax + 0xd0]
test rcx, rcx
jne 0x14009e670
cmp byte [rax + 0x44], 0x44
jne 0x14009e6c8
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x14009e6c8
movzx ecx, word [rax + 0x10]
cmp cx, 4
je 0x14009e68c
cmp cx, 0x3d
jne 0x14009e6c8
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x14009e6c8
movzx ecx, word [rax + 0x10]
cmp cx, 4
je 0x14009e6a8
cmp cx, 0x37
je 0x14009e60b
mov rbp, qword [rsi + 0x28]
mov dl, byte [rbp - 3]
test dl, 0x40
je 0x14009e6df
cmp byte [r14 + 0x44], 0x5c
jne 0x14009eb44
mov rcx, qword [rdi + 0xc8]
mov al, byte [rdi + 0x44]
cmp al, 0x10
jne 0x14009e784
cmp byte [rbx + 0x61], 1
jne 0x14009e792
jmp 0x14009e82b
lea rdx, [rsi + 0x20]
mov rcx, rdi
call fcn.14009efe0
mov ecx, dword [rbx + 0x64]
mov rdx, qword [rsi + 0x40]
xor ebp, ebp
cmp byte [rdx + 0x38], 0
sete bpl
lea ecx, [rcx + rbp*2]
add ecx, 0xfffffffe
cmp eax, ecx
seta bpl
jmp 0x14009e60e
cmp al, 0x4b
jne 0x14009e75f
cmp qword [rdi + 0x20], 0
je 0x14009e746
mov rax, qword [rdi + 0x18]
cmp byte [rax], 0x7d
je 0x14009e60b
movzx eax, word [rdi + 0x10]
cmp rax, 0x18
ja 0x14009e75f
mov ecx, 0x1500000
bt rcx, rax
jb 0x14009e60b
mov rcx, qword [rdi + 0xc0]
test rcx, rcx
je 0x14009e62d
mov rdx, rbx
call fcn.140095e80
test al, al
jne 0x14009e60b
jmp 0x14009e62d
cmp al, 0x44
jne 0x14009e792
cmp r8b, 6
je 0x14009e82b
cmp word [rcx + 0x10], 0x41
jne 0x14009e7b7
cmp word [rdi + 0x10], 4
jne 0x14009e7f7
cmp al, 0x32
je 0x14009e7b7
mov r10, qword [rdi + 0xd0]
test r10, r10
je 0x14009e7b7
cmp dword [r10 + 0x48], 0
je 0x14009e7f7
cmp r9w, 0x3e
je 0x14009e82b
mov r10b, byte [r14 + 0x44]
cmp al, 0x45
jne 0x14009e7e4
cmp r10b, 0x49
jne 0x14009e7e4
mov ecx, r8d
and cl, 0xfb
cmp cl, 1
jne 0x14009e7e4
cmp dword [r14 + 0x78], 1
je 0x14009e82b
cmp byte [rbx + 0x4a], 0
jne 0x14009e82b
cmp byte [rbx + 0x60], 0
je 0x14009e813
cmp r9w, 0x3c
je 0x14009e831
cmp al, 0xa
je 0x14009e82b
jmp 0x14009e831
mov cl, byte [rcx + 0x44]
cmp cl, 0x1b
je 0x14009e81b
cmp cl, 0x10
jne 0x14009e82b
cmp r9w, 0x3e
je 0x14009e82b
cmp byte [rbx + 0x61], 1
je 0x14009e7be
jmp 0x14009e82b
cmp r10b, 0xa
je 0x14009e82b
jmp 0x14009e831
cmp r9w, 0x3e
je 0x14009e82b
cmp byte [rbx + 0x88], 1
je 0x14009e7be
test byte [rbp - 4], 8
jne 0x14009e84a
test dl, dl
js 0x14009e87f
mov al, byte [r14 + 0x44]
test al, al
je 0x14009e89a
cmp al, 0x13
jne 0x14009e8a1
cmp r9w, 0x17
jne 0x14009e8a1
jmp 0x14009e8bf
movzx ecx, word [rdi + 0x10]
cmp cx, 0x18
je 0x14009e831
cmp cx, 0x16
je 0x14009e831
cmp cx, 4
jne 0x14009e60b
cmp al, 0x32
je 0x14009e831
mov rcx, qword [rdi + 0xd0]
test rcx, rcx
je 0x14009e831
cmp dword [rcx + 0x48], 0
jne 0x14009e831
jmp 0x14009e60b
cmp byte [rbx + 0x60], 0
je 0x14009eb4b
cmp al, 0xa
jne 0x14009e835
cmp word [rdi + 0x10], 0x3d
je 0x14009e60b
jmp 0x14009e835
cmp dword [r14 + 0x5c], 1
ja 0x14009e8bf
cmp r9w, 0x2e
jne 0x14009e8f6
cmp r8b, 8
je 0x14009e8bf
cmp r8b, 6
jne 0x14009e8f6
cmp dword [r14 + 0x78], 0
je 0x14009ebd6
cmp dword [rbx + 0x64], 0
je 0x14009e8f6
lea rdx, [rsi + 0x20]
mov rcx, r14
call fcn.14009efe0
mov ecx, dword [rsi]
add eax, ecx
add eax, 0xffffffff
mov rcx, qword [rsi + 0x40]
xor edx, edx
cmp byte [rcx + 0x38], 0
mov ecx, dword [rbx + 0x64]
sete dl
lea ecx, [rcx + rdx*2]
add ecx, 0xfffffffe
cmp eax, ecx
ja 0x14009e60b
mov al, byte [rbx + 0x61]
cmp al, 2
mov rcx, rdi
cmove rcx, r14
cmp byte [rcx + 0x44], 0xf
jne 0x14009e954
mov rcx, qword [rsi + 0x40]
mov rdx, qword [rcx + 8]
mov edx, dword [rdx + 0x68]
add edx, dword [rsi]
sub edx, dword [r14 + 0x68]
xor ebp, ebp
cmp byte [rcx + 0x38], 0
mov ecx, dword [rbx + 0x64]
sete bpl
lea ebp, [rcx + rbp*2]
add ebp, 0xfffffffe
cmp edx, ebp
ja 0x14009e93a
mov rdx, qword [rsi + 0x28]
test byte [rdx - 4], 8
je 0x14009e954
test ecx, ecx
jne 0x14009e60b
test al, al
jne 0x14009e60b
cmp byte [rbx + 0x21], 4
jne 0x14009e60b
mov al, byte [rdi + 0x44]
cmp al, 0x44
je 0x14009e994
cmp al, 0x3a
jne 0x14009e9b0
cmp byte [r14 + 0x44], 0x44
je 0x14009e9b0
mov rax, qword [rsi + 0x40]
mov rax, qword [rax]
test rax, rax
je 0x14009e9b0
mov rcx, rax
cmp word [rax + 0x10], 4
jne 0x14009e988
mov rax, qword [rcx + 0xd0]
test rax, rax
jne 0x14009e972
cmp byte [rcx + 0x44], 0x3b
je 0x14009e60b
jmp 0x14009e9b0
cmp word [r14 + 0x10], 0x48
je 0x14009e9b0
mov rax, qword [rsi + 0x28]
test byte [rax - 3], 4
je 0x14009e9b0
test byte [rax - 4], 8
jne 0x14009ebf6
mov rcx, rbx
mov rdx, rsi
call fcn.14009f140
mov ecx, dword [rdi + 0x10]
lea edx, [rcx - 0x19]
cmp dx, 0x2d
ja 0x14009ea27
movzx edx, dx
movabs r8, 0x200000000801
bt r8, rdx
jae 0x14009ea27
mov dl, byte [rdi + 0x44]
add dl, 0xee
movzx r12d, dl
movabs r9, 0x1000000090000001
cmp r12b, 0x3c
ja 0x14009eb66
bt r9, r12
jae 0x14009eb66
add ecx, 0xffffffe7
cmp cx, 0x2d
ja 0x14009ea27
movzx ecx, cx
bt r8, rcx
jae 0x14009ea27
cmp dl, 0x3c
ja 0x14009eb93
bt r9, r12
jae 0x14009eb93
test byte [r14 + 0x40], 0x40
je 0x14009ea42
mov rcx, qword [rsi + 0x28]
test byte [rcx - 4], 8
je 0x14009ea42
test byte [rdi + 0x40], 0x20
jne 0x14009e60b
mov rcx, qword [rsi + 0x40]
mov rcx, qword [rcx]
cmp word [rcx + 0x10], 0x56
je 0x14009ea58
cmp dword [rsi], eax
jbe 0x14009eb44
cmp byte [rbx + 0x27], 0
je 0x14009eaaa
mov edx, dword [rbx + 0x90]
add edx, dword [rsi + 0x3c]
movzx ecx, word [r14 + 0x10]
cmp eax, edx
je 0x14009ea84
mov dx, 0x41
cmp cx, 0x41
je 0x14009ec9e
cmp dword [rdi + 0x78], 1
ja 0x14009eaaa
lea eax, [rcx - 0x2f]
cmp ax, 0x33
ja 0x14009ec9c
movzx eax, ax
movabs rdx, 0x8000002000001
bt rdx, rax
mov edx, ecx
jae 0x14009ec9e
mov bpl, byte [r14 + 0x44]
cmp bpl, 6
jne 0x14009ecdf
test byte [rdi + 0x40], 0x20
je 0x14009ecdf
movzx ecx, word [r14 + 0x10]
mov dl, 1
mov r8b, 1
call fcn.14015b120
cmp eax, 0xa
je 0x14009eafe
movzx ecx, word [r14 + 0x10]
mov dl, 1
mov r8b, 1
call fcn.14015b120
cmp eax, 9
je 0x14009eafe
movzx ecx, word [r14 + 0x10]
mov dl, 1
mov r8b, 1
call fcn.14015b120
cmp eax, 0xb
jne 0x14009eb1a
mov rax, qword [r14 + 0xc8]
test rax, rax
je 0x14009eb1a
test byte [rax + 0x41], 1
jne 0x14009eb1a
cmp byte [rax + 0x44], 6
jne 0x14009ed4a
cmp word [rdi + 0x10], 4
jne 0x14009ed25
cmp byte [rdi + 0x44], 0x32
jne 0x14009ed13
mov ax, 4
xor ebp, ebp
cmp dword [rdi + 0x78], 0
jne 0x14009ed7d
jmp 0x14009edaa
xor ebp, ebp
jmp 0x14009e60e
cmp r9w, 0x3d
jne 0x14009e835
cmp byte [r14 + 0x44], 0xa
je 0x14009e60b
jmp 0x14009e835
mov r10d, dword [rbx + 0x64]
test r10d, r10d
je 0x14009ea02
mov r11d, dword [rsi]
mov r15, qword [rdi + 0xb8]
test r15, r15
je 0x14009ec73
mov r15d, dword [r15 + 0x68]
sub r15d, dword [rdi + 0x68]
jmp 0x14009ec76
mov rdx, qword [rdi + 0xc8]
test rdx, rdx
je 0x14009ea27
mov cl, byte [rdx + 0x44]
cmp cl, 0x13
je 0x14009ee04
cmp cl, 0x4b
jne 0x14009ee0b
cmp qword [rdx + 0x20], 0
je 0x14009ee0b
mov rbp, qword [rdx + 0x18]
cmp byte [rbp], 0x7d
jne 0x14009ee0b
jmp 0x14009ee28
mov rax, qword [r14 + 0xc8]
test rax, rax
je 0x14009e8f6
cmp word [rax + 0x10], 0x3f
je 0x14009e8bf
jmp 0x14009e8f6
cmp byte [rbx + 0x1f5], 0
jne 0x14009e60b
mov rcx, rdi
mov rax, rcx
cmp word [rcx + 0x10], 4
jne 0x14009ec1c
mov rcx, qword [rax + 0xd0]
test rcx, rcx
jne 0x14009ec06
cmp byte [rax + 0x44], 0x44
jne 0x14009e60b
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x14009e60b
movzx ecx, word [rax + 0x10]
cmp cx, 4
je 0x14009ec26
cmp cx, 0x3d
jne 0x14009e60b
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x14009e60b
movzx ecx, word [rax + 0x10]
cmp cx, 4
je 0x14009ec4a
cmp cx, 0x37
jne 0x14009e60b
jmp 0x14009e9b0
xor r15d, r15d
add r15d, r11d
cmp r15d, r10d
jbe 0x14009ea02
cmp r11d, eax
ja 0x14009e60b
mov ebp, dword [rdi + 0x78]
cmp ebp, dword [rsi + 0x14]
jb 0x14009e60b
jmp 0x14009ea02
mov edx, ecx
mov rax, qword [rbx + 0x290]
mov rax, qword [rax + 0x1a8]
test rax, rax
je 0x14009eccf
xor ecx, ecx
cmp dx, 1
je 0x14009ecc6
add edx, 0xfffffff9
cmp dx, 0xc
jb 0x14009ecc6
mov rcx, qword [r14 + 8]
cmp rcx, rax
je 0x14009eaaa
mov bpl, byte [r14 + 0x44]
cmp bpl, 0xa
je 0x14009ecdf
cmp bpl, 0x1d
jne 0x14009ecfb
cmp byte [rdi + 0x44], 6
jne 0x14009ed4a
test byte [rdi + 0x40], 0x20
je 0x14009ed4a
mov rax, qword [rsi + 0x28]
test byte [rax - 4], 8
jne 0x14009e60b
jmp 0x14009ed4a
mov rcx, rbx
mov rdx, rsi
call fcn.14009f9e0
test al, al
jne 0x14009e60b
jmp 0x14009eaae
mov rax, qword [rdi + 0xd0]
test rax, rax
je 0x14009ed4a
cmp dword [rax + 0x48], 0
jne 0x14009ed4a
movzx ecx, word [r14 + 0x10]
mov bpl, 1
mov dl, 1
mov r8b, 1
call fcn.14015b120
cmp eax, 2
je 0x14009ed4a
mov rax, qword [rsi + 0x28]
test byte [rax - 4], 8
jne 0x14009e60e
movzx eax, word [rdi + 0x10]
cmp ax, 0x2f
jne 0x14009ed75
mov bpl, 1
cmp byte [rdi + 0x44], 0x3e
je 0x14009ed77
mov rcx, qword [rsi + 0x28]
test byte [rcx - 4], 8
je 0x14009ed77
mov bpl, 1
cmp dword [rcx - 0x24], 0
jne 0x14009ed77
jmp 0x14009e60e
xor ebp, ebp
cmp dword [rdi + 0x78], 0
je 0x14009eda4
cmp byte [rdi + 0x44], 0x16
jne 0x14009eeef
cmp byte [rbx + 0x1a3], 2
jne 0x14009ed9a
cmp byte [rbx + 0x26], 0
je 0x14009eeef
movzx ecx, word [r14 + 0x10]
jmp 0x14009ef09
cmp ax, 4
jne 0x14009edce
mov ax, 4
cmp byte [rdi + 0x44], 0x32
je 0x14009ef22
mov rcx, qword [rdi + 0xd0]
mov ax, 4
test rcx, rcx
je 0x14009ed7d
cmp dword [rcx + 0x48], 0
jne 0x14009ed7d
test byte [r14 + 0x40], 0x40
jne 0x14009edf7
mov cl, byte [r14 + 0x44]
cmp cl, 0x15
je 0x14009e60b
cmp cl, 0x31
jne 0x14009ed7d
cmp ax, 0x15
jne 0x14009eee5
mov ax, 0x15
jmp 0x14009ed7d
cmp byte [rbx + 0x28], 0
setne bpl
jmp 0x14009e60e
cmp word [rdx + 0x10], 0x33
je 0x14009ee28
movzx edx, word [rdx + 0x10]
cmp rdx, 0x18
ja 0x14009eed7
mov ebp, 0x1500000
bt rbp, rdx
jae 0x14009eed7
mov rcx, qword [rsi + 0x28]
cmp dword [rcx - 0xc], 0
jne 0x14009ee3c
test byte [rcx - 4], 8
je 0x14009ea27
mov r8d, dword [rsi]
cmp r8d, eax
ja 0x14009ee51
cmp byte [rbx + 0x1a3], 4
je 0x14009ea27
mov r10d, 0x3000
mov ecx, dword [r14 + 0x40]
and ecx, r10d
cmp ecx, 0x1000
jne 0x14009ee74
cmp r8d, eax
ja 0x14009e60b
jmp 0x14009ea27
mov r9d, 0x1500000
mov rcx, r14
jmp 0x14009ee9d
cmp dl, 0x49
jne 0x14009e60b
mov rcx, qword [rcx + 0xc8]
mov edx, dword [rcx + 0x40]
and edx, r10d
cmp edx, 0x1000
je 0x14009ee66
movzx edx, byte [rcx + 0x44]
cmp dl, 0x13
je 0x14009eebe
cmp dl, 0x4b
jne 0x14009eec5
cmp qword [rcx + 0x20], 0
je 0x14009eec5
mov rbp, qword [rcx + 0x18]
cmp byte [rbp], 0x7d
je 0x14009ee88
jmp 0x14009eec5
cmp word [rcx + 0x10], 0x33
je 0x14009ee88
movzx ebp, word [rcx + 0x10]
cmp rbp, 0x18
ja 0x14009ee7f
bt r9, rbp
jb 0x14009ee88
jmp 0x14009ee7f
cmp cl, 0x49
jne 0x14009ea27
jmp 0x14009ee28
cmp byte [rdi + 0x44], 0x31
jne 0x14009e60b
movzx ecx, ax
cmp ecx, 0x8a
jne 0x14009ef22
movzx ecx, word [r14 + 0x10]
mov ax, 0x8a
cmp cx, 0x47
je 0x14009ef22
movzx ecx, cx
cmp ecx, 0x90
je 0x14009ef22
mov rcx, qword [rsi + 0x28]
test byte [rcx - 4], 8
jne 0x14009e60b
cmp dword [rbx + 0x64], 0
je 0x14009ef51
mov ecx, 0x3000
and ecx, dword [r14 + 0x40]
cmp ecx, 0x1000
jne 0x14009ef51
cmp word [r14 + 0x10], 0x17
jne 0x14009ef51
cmp ax, 0x18
je 0x14009ef51
cmp ax, 4
jne 0x14009e60b
test bpl, bpl
je 0x14009efc2
movzx eax, word [r14 + 0x10]
cmp ax, 5
jne 0x14009ef79
cmp qword [r14 + 0x20], 4
jne 0x14009efc2
mov rax, qword [r14 + 0x18]
cmp dword [rax], 0x6c646e65
jne 0x14009efc2
jmp 0x14009e60b
add eax, 0xfffffff9
cmp ax, 0xb
ja 0x14009efc2
mov rax, qword [r14 + 0x20]
cmp rax, 3
jb 0x14009efc2
mov rcx, qword [r14 + 0x18]
movzx edx, word [rcx + rax - 3]
xor edx, 0x6e5c
movzx ecx, byte [rcx + rax - 1]
xor ecx, 0x22
or cx, dx
je 0x14009e60b
cmp rax, 4
jne 0x14009efc2
mov rax, qword [r14 + 0x18]
cmp dword [rax], 0x276e5c27
je 0x14009e60b
cmp byte [r14 + 0x44], 8
jne 0x14009efd7
test byte [r14 + 0x40], 2
mov bpl, 1
jne 0x14009e60e
mov al, byte [rsi + 0x11]
jmp 0x14009e610