Function at 0x14018c624
Capabilities:
Parse credit card information

Disassembly:
mov byte [rsp + 0x10], dl
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x3f]
sub rsp, 0x88
mov qword [rbp - 1], 0xfffffffffffffffe
mov rdi, rcx
mov dword [rcx + 0x24], 1
call fcn.14018d420
xor eax, eax
mov byte [rbp + 0x67], al
cmp dword [rdi + 0x30], eax
jne 0x14018c66b
cmp dword [rdi + 0x34], 0x5e
jne 0x14018c66b
mov byte [rbp + 0x67], 1
mov rcx, rdi
call fcn.14018d420
xor edx, edx
mov rcx, qword [rdi + 0x48]
call fcn.140189a24
mov rbx, rax
mov qword [rbp - 9], rax
mov cl, 1
xor edx, edx
mov eax, dword [rdi + 0x30]
cmp eax, 1
mov dword [rbp - 0x11], eax
mov byte [rbp - 0x19], cl
je 0x14018cb7d
mov byte [rbp + 0x7f], dl
test eax, eax
jne 0x14018c6a8
cmp dword [rdi + 0x34], 0x5d
jne 0x14018c6a8
test cl, cl
je 0x14018cb7d
mov esi, dword [rdi + 0x34]
mov byte [rbp + 0x77], dl
cmp eax, 0xa
jne 0x14018c75a
cmp esi, 0x57
jg 0x14018c6e8
je 0x14018c72c
cmp esi, 0x2d
je 0x14018c6e2
cmp esi, 0x42
jle 0x14018c74d
cmp esi, 0x44
jle 0x14018c72c
cmp esi, 0x49
je 0x14018c72c
cmp esi, 0x50
je 0x14018c706
cmp esi, 0x53
je 0x14018c72c
jmp 0x14018c74d
mov byte [rbp + 0x7f], 1
jmp 0x14018c74d
cmp esi, 0x63
jl 0x14018c74d
cmp esi, 0x64
jle 0x14018c72c
cmp esi, 0x69
je 0x14018c72c
cmp esi, 0x70
je 0x14018c706
lea eax, [rsi - 0x73]
test eax, 0xfffffffb
jmp 0x14018c6de
mov edx, esi
mov rcx, rdi
call fcn.14018d264
test rax, rax
je 0x14018c891
mov r8, qword [rbx]
mov rdx, rax
mov rcx, rbx
call qword [r8 + 0x60]
mov byte [rbp + 0x77], 1
jmp 0x14018c767
mov rbx, qword [rbx]
mov edx, esi
mov rcx, rdi
call fcn.14018c0e0
mov rdx, rax
mov rcx, qword [rbp - 9]
call qword [rbx + 0x60]
mov byte [rbp + 0x77], 1
mov rbx, qword [rbp - 9]
jmp 0x14018c767
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov esi, eax
jmp 0x14018c767
cmp eax, 0xd
jne 0x14018c767
test cl, cl
je 0x14018c8d7
mov rcx, rdi
call fcn.14018d420
xor edx, edx
cmp byte [rbp + 0x77], dl
jne 0x14018c88a
cmp dword [rbp - 0x11], edx
jne 0x14018c7a5
lea eax, [rsi - 0x5b]
test eax, 0xfffffffd
je 0x14018c966
lea eax, [rdx + 0x2d]
cmp esi, eax
jne 0x14018c7c2
cmp dword [rdi + 0x34], 0x5d
jne 0x14018c7ae
cmp byte [rbp - 0x19], dl
jne 0x14018c966
jmp 0x14018c7aa
mov eax, 0x2d
cmp esi, eax
jne 0x14018c7c2
cmp dword [rdi + 0x34], eax
jne 0x14018c7c2
cmp dword [rdi + 0x30], 0xa
je 0x14018c7c2
cmp byte [rbp + 0x7f], dl
je 0x14018c9c6
cmp dword [rdi + 0x30], edx
jne 0x14018c87a
cmp dword [rdi + 0x34], eax
jne 0x14018c87a
mov rcx, rdi
call fcn.14018d420
mov eax, dword [rdi + 0x30]
cmp eax, 1
je 0x14018cb37
xor edx, edx
test eax, eax
jne 0x14018c80c
cmp dword [rdi + 0x34], 0x5d
jne 0x14018c80c
mov rax, qword [rbx]
mov r8d, esi
mov edx, esi
mov rcx, rbx
call qword [rax + 0x58]
mov edx, 0x2d
mov r8d, edx
jmp 0x14018c87f
cmp eax, 0xd
je 0x14018cadd
mov ecx, dword [rdi + 0x34]
mov dword [rbp + 0x77], ecx
mov word [rbp - 0x15], cx
mov word [rbp - 0x13], dx
test eax, eax
jne 0x14018c845
add ecx, 0xffffffd3
cmp ecx, 0x30
ja 0x14018c856
movabs rax, 0x1400000000001
bt rax, rcx
jb 0x14018ca25
jmp 0x14018c856
cmp eax, 0xa
jne 0x14018c856
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov dword [rbp + 0x77], eax
mov rcx, rdi
call fcn.14018d420
mov eax, dword [rbp + 0x77]
cmp esi, eax
jg 0x14018ca7d
mov r9, qword [rbx]
mov r8d, eax
mov edx, esi
mov rcx, rbx
call qword [r9 + 0x58]
jmp 0x14018c888
mov r8d, esi
mov edx, esi
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x58]
xor edx, edx
mov cl, dl
jmp 0x14018c681
mov r9, qword [rdi + 8]
mov r8d, 0x28e
lea rdx, str..........._srcxercescutil_regxRegxParser.cpp
lea rcx, [rbp + 7]
call fcn.14010753c
nop
lea rax, vtable.xercesc_3_1::ParseException.0
mov qword [rbp + 7], rax
mov edx, WSAStartup
lea rcx, [rbp + 7]
call fcn.14010762c
nop
lea rdx, [0x140311740]
lea rcx, [rbp + 7]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov sil, byte [rbp + 0x67]
test sil, sil
je 0x14018c8f8
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0x48]
mov rcx, rbx
call fcn.140188ae4
mov rbx, rax
xor ecx, ecx
mov sil, cl
xor edx, edx
mov rcx, rdi
call fcn.14018c624
mov r8, qword [rbx]
mov rdx, rax
mov rcx, rbx
call qword [r8 + 0x78]
xor edx, edx
cmp dword [rdi + 0x30], edx
jne 0x14018c920
cmp dword [rdi + 0x34], 0x5d
je 0x14018cb81
mov r9, qword [rdi + 8]
mov r8d, 0x2a7
lea rdx, str..........._srcxercescutil_regxRegxParser.cpp
lea rcx, [rbp + 7]
call fcn.14010753c
nop
lea rax, vtable.xercesc_3_1::ParseException.0
mov qword [rbp + 7], rax
mov edx, 0x76
lea rcx, [rbp + 7]
call fcn.14010762c
nop
lea rdx, [0x140311740]
lea rcx, [rbp + 7]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov word [rbp + 0x67], si
mov word [rbp + 0x69], dx
mov r9, qword [rdi + 8]
mov r8d, 0x2b7
lea rdx, str..........._srcxercescutil_regxRegxParser.cpp
lea rcx, [rbp + 7]
call fcn.14010753c
nop
lea rax, vtable.xercesc_3_1::ParseException.0
mov qword [rbp + 7], rax
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x67]
lea r8, [rbp + 0x67]
lea edx, [rcx + 0x77]
lea rcx, [rbp + 7]
call fcn.140107748
nop
lea rdx, [0x140311740]
lea rcx, [rbp + 7]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov dword [rbp + 0x67], 0x2d
mov r9, qword [rdi + 8]
mov r8d, 0x2bb
lea rdx, str..........._srcxercescutil_regxRegxParser.cpp
lea rcx, [rbp + 7]
call fcn.14010753c
nop
lea rax, vtable.xercesc_3_1::ParseException.0
mov qword [rbp + 7], rax
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x67]
lea r8, [rbp + 0x67]
lea edx, [rcx + 0x77]
lea rcx, [rbp + 7]
call fcn.140107748
nop
lea rdx, [0x140311740]
lea rcx, [rbp + 7]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov r9, qword [rdi + 8]
mov r8d, 0x2db
lea rdx, str..........._srcxercescutil_regxRegxParser.cpp
lea rcx, [rbp + 7]
call fcn.14010753c
nop
lea rax, vtable.xercesc_3_1::ParseException.0
mov qword [rbp + 7], rax
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x15]
lea r8, [rbp - 0x15]
lea edx, [rcx + 0x77]
lea rcx, [rbp + 7]
call fcn.140107748
nop
lea rdx, [0x140311740]
lea rcx, [rbp + 7]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov word [rbp + 0x67], si
xor ebx, ebx
mov word [rbp + 0x69], bx
mov r9, qword [rdi + 8]
mov r8d, 0x2e5
lea rdx, str..........._srcxercescutil_regxRegxParser.cpp
lea rcx, [rbp + 7]
call fcn.14010753c
nop
lea rax, vtable.xercesc_3_1::ParseException.0
mov qword [rbp + 7], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x67]
lea r8, [rbp - 0x15]
lea edx, [rbx + 0x7a]
lea rcx, [rbp + 7]
call fcn.140107748
nop
lea rdx, [0x140311740]
lea rcx, [rbp + 7]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov r9, qword [rdi + 8]
mov r8d, 0x2ce
lea rdx, str..........._srcxercescutil_regxRegxParser.cpp
lea rcx, [rbp + 7]
call fcn.14010753c
nop
lea rax, vtable.xercesc_3_1::ParseException.0
mov qword [rbp + 7], rax
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
lea r8, [0x14029017c]
mov r9, r8
lea edx, [rcx + 0x77]
lea rcx, [rbp + 7]
call fcn.140107748
nop
lea rdx, [0x140311740]
lea rcx, [rbp + 7]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov r9, qword [rdi + 8]
mov r8d, 0x2c5
lea rdx, str..........._srcxercescutil_regxRegxParser.cpp
lea rcx, [rbp + 7]
call fcn.14010753c
nop
lea rax, vtable.xercesc_3_1::ParseException.0
mov qword [rbp + 7], rax
mov edx, reloc.WS2_32.dll_WSACleanup
lea rcx, [rbp + 7]
call fcn.14010762c
nop
lea rdx, [0x140311740]
lea rcx, [rbp + 7]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov sil, byte [rbp + 0x67]
cmp dword [rdi + 0x30], 1
jne 0x14018cbcd
mov r9, qword [rdi + 8]
mov r8d, 0x2f0
lea rdx, str..........._srcxercescutil_regxRegxParser.cpp
lea rcx, [rbp + 7]
call fcn.14010753c
nop
lea rax, vtable.xercesc_3_1::ParseException.0
mov qword [rbp + 7], rax
mov edx, reloc.WS2_32.dll_WSACleanup
lea rcx, [rbp + 7]
call fcn.14010762c
nop
lea rdx, [0x140311740]
lea rcx, [rbp + 7]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
test sil, sil
je 0x14018cbf3
cmp byte [rbp + 0x6f], dl
je 0x14018cbe0
mov dword [rbx + 8], 5
jmp 0x14018cbf3
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0x48]
mov rcx, rbx
call fcn.140188ae4
mov rbx, rax
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x70]
mov ecx, dword [rdi + 0x14]
and ecx, dword [0x14027a3a0]
cmp ecx, dword [0x14027a3a0]
jne 0x14018cc22
mov rdx, qword [rdi + 0x48]
mov rcx, rbx
call fcn.140188d48
xor ecx, ecx
mov dword [rdi + 0x24], ecx
mov rcx, rdi
call fcn.14018d420
mov rax, rbx
add rsp, 0x88
pop rdi
pop rsi
pop rbx
pop rbp
ret