Function at 0x100049d64
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
xor r10d, r10d
mov r15, r8
mov rdi, rdx
mov r12, rcx
cmp rcx, r10
jne 0x100049d99
mov ecx, 0x80004005
call fcn.1000242ec
int3
cmp rdx, r10
jne 0x100049da9
mov ecx, 0x80004005
call fcn.1000242ec
int3
cmp rcx, rdx
jne 0x100049db9
mov ecx, 0x80004005
call fcn.1000242ec
int3
mov bl, byte [rcx]
mov r11d, 1
mov r9, rdx
mov qword [rsp + 0x50], rdx
add rdx, 0x823
mov ebp, r10d
mov dword [rsp + 0x40], r10d
mov esi, r11d
mov r8d, r10d
mov dword [rsp + 0x44], r10d
mov r14d, r10d
lea r13d, [r11 + 0x1f]
mov qword [rsp + 0x48], rdx
cmp bl, r10b
je 0x10004a1ea
add r12, r11
cmp ebp, 0x823
cmove esi, r10d
mov qword [rsp + 0xa0], r12
cmp bl, 0x3a
jne 0x100049ec5
test r13b, r13b
jns 0x100049fc6
cmp r14d, r10d
jne 0x100049f99
cmp esi, r10d
je 0x100049ebc
mov eax, ebp
mov rcx, rdi
mov byte [rdi], r10b
sub rcx, rax
cmp rcx, r9
jb 0x10004a1ac
cmp rcx, rdx
ja 0x10004a1ac
sub rdx, rcx
add rdx, r11
call sub.msvcrt.dll__strlwr_s
xor r10d, r10d
cmp eax, r10d
je 0x100049e85
cmp eax, 0xc
je 0x10004a1a1
cmp eax, 0x16
je 0x10004a196
cmp eax, 0x22
je 0x10004a196
cmp eax, 0x50
jne 0x10004a18b
cmp ebp, 4
jne 0x100049eb7
lea rdx, [rdi - 4]
lea rcx, [0x100072028]
mov r8d, ebp
call qword [sym.imp.msvcrt.dll_strncmp]
mov r8d, dword [rsp + 0x44]
xor r10d, r10d
cmp eax, r10d
lea eax, [rbp - 3]
cmove r8d, eax
mov dword [rsp + 0x44], r8d
jmp 0x100049ebc
mov r8d, dword [rsp + 0x44]
lea r14d, [rbp + 1]
jmp 0x100049f99
cmp bl, 0x25
jne 0x100049f85
test r13b, 4
je 0x100049f99
mov al, byte [r12]
cmp al, r10b
je 0x10004a1dd
add r12, r11
cmp al, 0x30
jb 0x100049ef9
cmp al, 0x39
ja 0x100049ef9
movzx ebx, al
sub bx, 0x30
jmp 0x100049f1e
cmp al, 0x41
jb 0x100049f0a
cmp al, 0x46
ja 0x100049f0a
movzx ebx, al
sub bx, 0x37
jmp 0x100049f1e
cmp al, 0x61
jb 0x100049f1b
cmp al, 0x66
ja 0x100049f1b
movzx ebx, al
sub bx, 0x57
jmp 0x100049f1e
or ebx, 0xffffffff
shl bl, 4
cmp bl, r10b
jl 0x10004a1b7
mov al, byte [r12]
cmp al, r10b
je 0x10004a1dd
add r12, r11
mov qword [rsp + 0xa0], r12
cmp al, 0x30
jb 0x100049f53
cmp al, 0x39
ja 0x100049f53
movzx ecx, al
sub cx, 0x30
jmp 0x100049f78
cmp al, 0x41
jb 0x100049f64
cmp al, 0x46
ja 0x100049f64
movzx ecx, al
sub cx, 0x37
jmp 0x100049f78
cmp al, 0x61
jb 0x100049f75
cmp al, 0x66
ja 0x100049f75
movzx ecx, al
sub cx, 0x57
jmp 0x100049f78
or ecx, 0xffffffff
cmp cl, r10b
jl 0x10004a1b7
add bl, cl
jmp 0x100049f99
cmp bl, 0x3f
je 0x100049f8f
cmp bl, 0x23
jne 0x100049f99
test r13b, 0x20
je 0x100049f99
or r13d, 2
test r13b, r13b
jns 0x100049fc6
test r13b, 2
jne 0x100049fc6
cmp bl, 0x5c
jne 0x10004a00d
cmp r14d, r10d
jne 0x100049fb5
bt r13d, 8
jae 0x100049fc6
cmp esi, r10d
je 0x100049fc6
cmp r8d, r10d
je 0x100049fc4
cmp ebp, 7
jae 0x100049fc6
mov bl, 0x2f
movzx ecx, bl
cmp ecx, 0x40
jg 0x10004a076
cmp ecx, 0x3b
jge 0x10004a09b
cmp ecx, 0x20
je 0x10004a09b
cmp ecx, 0x21
jle 0x10004a08d
cmp ecx, 0x26
jle 0x10004a09b
cmp ecx, 0x2a
jle 0x10004a08d
cmp ecx, 0x2c
jle 0x10004a09b
jmp 0x10004a08d
cmp bl, 0x2e
jne 0x100049fc6
cmp ebp, r10d
jbe 0x100049fc6
test r13b, 8
jne 0x100049fc6
lea rax, [rsp + 0x40]
mov dword [rsp + 0x30], r14d
lea rdx, [rdi - 1]
lea r9, [rsp + 0xa0]
lea rcx, [rsp + 0xa8]
mov r8d, ebp
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rax
call fcn.100049c44
mov rdi, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
mov ebp, dword [rsp + 0x40]
xor r10d, r10d
cmp eax, r10d
je 0x100049fc6
lea r11d, [r10 + 1]
jmp 0x10004a15e
cmp ecx, 0x5b
jl 0x10004a08d
cmp ecx, 0x5e
jle 0x10004a09b
cmp ecx, 0x60
je 0x10004a09b
lea eax, [rcx - 0x7b]
cmp eax, 2
jbe 0x10004a09b
cmp bl, 0x20
jb 0x10004a09b
cmp bl, 0x7e
jbe 0x10004a17b
test r13b, 2
jne 0x10004a17b
test r13b, 0x10
je 0x10004a0b0
cmp bl, 0x20
jne 0x10004a0c6
test r13b, 8
je 0x10004a0bb
cmp bl, 0x2e
je 0x10004a0c6
test r13b, 0x40
jne 0x10004a0e4
cmp bl, 0x25
jne 0x10004a0e4
mov r11d, 1
cmp esi, r10d
je 0x10004a157
mov byte [rdi], bl
add rdi, r11
mov qword [rsp + 0xa8], rdi
jmp 0x10004a157
cmp ebp, 0x820
sbb eax, eax
and eax, esi
mov esi, eax
cmp eax, r10d
je 0x10004a14e
mov byte [rdi], 0x25
lea rdx, [rdi + 1]
cmp bl, 0x10
jae 0x10004a107
mov byte [rdx], 0x30
inc rdx
mov r8, qword [rsp + 0x48]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
sub r8, rdx
call sub.msvcrt.dll__ultoa_s
xor r10d, r10d
cmp eax, r10d
je 0x10004a142
cmp eax, 0xc
je 0x10004a1d2
cmp eax, 0x16
je 0x10004a1c7
cmp eax, 0x22
je 0x10004a1c7
cmp eax, 0x50
jne 0x10004a1bc
add rdi, 3
mov qword [rsp + 0xa8], rdi
add ebp, 2
mov r11d, 1
add ebp, r11d
mov dword [rsp + 0x40], ebp
mov bl, byte [r12]
cmp bl, r10b
je 0x10004a1dd
mov rdx, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x50]
jmp 0x100049df8
cmp esi, r10d
je 0x10004a151
mov r11d, 1
jmp 0x10004a0d5
mov ecx, 0x80004005
call fcn.1000242ec
int3
mov ecx, 0x80070057
call fcn.1000242ec
int3
mov ecx, 0x8007000e
call fcn.1000242ec
int3
mov ecx, 0x80004005
call fcn.1000242ec
int3
mov esi, r10d
jmp 0x10004a1ed
mov ecx, 0x80004005
call fcn.1000242ec
int3
mov ecx, 0x80070057
call fcn.1000242ec
int3
mov ecx, 0x8007000e
call fcn.1000242ec
int3
cmp esi, r10d
je 0x10004a1ed
cmp ebp, 0x823
jae 0x10004a1ed
mov byte [rdi], r10b
cmp r15, r10
je 0x10004a1f8
lea ecx, [rbp + 1]
mov dword [r15], ecx
mov rbx, qword [rsp + 0xb0]
lea ecx, [rbp + 1]
cmp ecx, 0x823
cmova esi, r10d
mov eax, esi
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret