Function at 0x1000d5b0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
push edi
je 0x1000d970
mov edi, dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
jmp 0x1000d5d0
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x1000d970
cmp eax, 0x29
jne 0x1000d5f8
cmp dword [esi + 0x10], 0
jne 0x1000d970
test dword [esi + 0x50], 0x10000000
je 0x1000d976
cmp eax, 0x2e
jne 0x1000d6a7
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x1000d632
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x1000d634
xor ecx, ecx
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1000d650
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000d69b
cmp word [eax], 0x5c
jne 0x1000d698
add eax, 2
cmp eax, ecx
je 0x1000d698
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000d684
movzx edx, word [eax]
cmp edx, 0x28
je 0x1000d696
cmp edx, 0x29
je 0x1000d696
test cl, 0x10
jne 0x1000d698
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1000d696
cmp ecx, 0x7d
jne 0x1000d698
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1000d010
jmp 0x1000d95d
cmp eax, 0x5c
jne 0x1000d7d4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000d6f2
cmp word [eax], 0x5c
jne 0x1000d6ef
add eax, 2
cmp eax, ecx
je 0x1000d6ef
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000d6db
movzx edx, word [eax]
cmp edx, 0x28
je 0x1000d6ed
cmp edx, 0x29
je 0x1000d6ed
test cl, 0x10
jne 0x1000d6ef
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1000d6ed
cmp ecx, 0x7d
jne 0x1000d6ef
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1000d010
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x1000d760
cmp word [esi + 0x48], 0x62
jne 0x1000d760
lea ecx, [esi + 0x24]
call fcn.1000e5e0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000d754
cmp word [eax], 0x5c
jne 0x1000d751
add eax, 2
cmp eax, ecx
je 0x1000d751
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000d73d
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1000d74f
cmp ecx, 0x29
je 0x1000d74f
test dl, 0x10
jne 0x1000d751
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1000d74f
cmp ecx, 0x7d
jne 0x1000d751
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1000d010
jmp 0x1000d964
test eax, eax
je 0x1000d7c8
cmp word [esi + 0x48], 0x42
jne 0x1000d7c8
lea ecx, [esi + 0x24]
call fcn.1000e5e0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000d7bc
cmp word [eax], 0x5c
jne 0x1000d7b9
add eax, 2
cmp eax, ecx
je 0x1000d7b9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000d7a5
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1000d7b7
cmp ecx, 0x29
je 0x1000d7b7
test dl, 0x10
jne 0x1000d7b9
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1000d7b7
cmp ecx, 0x7d
jne 0x1000d7b9
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1000d010
jmp 0x1000d964
mov ecx, esi
call fcn.1000e240
jmp 0x1000d95d
cmp eax, 0x5b
jne 0x1000d885
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000d81f
cmp word [eax], 0x5c
jne 0x1000d81c
add eax, 2
cmp eax, ecx
je 0x1000d81c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000d808
movzx edx, word [eax]
cmp edx, 0x28
je 0x1000d81a
cmp edx, 0x29
je 0x1000d81a
test cl, 0x10
jne 0x1000d81c
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1000d81a
cmp ecx, 0x7d
jne 0x1000d81c
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1000d010
mov ecx, esi
call fcn.1000e190
cmp dword [esi + 0x4c], 0x5d
jne 0x1000d97e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000d879
cmp word [eax], 0x5c
jne 0x1000d876
add eax, 2
cmp eax, ecx
je 0x1000d876
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000d862
movzx edx, word [eax]
cmp edx, 0x28
je 0x1000d874
cmp edx, 0x29
je 0x1000d874
test cl, 0x10
jne 0x1000d876
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1000d874
cmp ecx, 0x7d
jne 0x1000d876
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1000d010
jmp 0x1000d95d
cmp eax, 0x28
jne 0x1000d8ed
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000d8cc
cmp word [eax], 0x5c
jne 0x1000d8c9
add eax, 2
cmp eax, ecx
je 0x1000d8c9
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000d8b5
movzx edx, word [eax]
cmp edx, 0x28
je 0x1000d8c7
cmp edx, 0x29
je 0x1000d8c7
test cl, 0x10
jne 0x1000d8c9
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1000d8c7
cmp ecx, 0x7d
jne 0x1000d8c9
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1000d010
mov ecx, esi
call fcn.1000e320
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.1000e120
test bl, bl
je 0x1000d964
jmp 0x1000d95d
cmp eax, 0x5e
jne 0x1000d903
lea ecx, [esi + 0x24]
call fcn.1000e500
mov ecx, esi
call fcn.1000d560
jmp 0x1000d964
cmp eax, 0x24
jne 0x1000d919
lea ecx, [esi + 0x24]
call fcn.1000e570
mov ecx, esi
call fcn.1000d560
jmp 0x1000d964
cmp eax, 0x2a
je 0x1000d98e
cmp eax, 0x2b
je 0x1000d98e
cmp eax, 0x3f
je 0x1000d98e
cmp eax, 0x7b
je 0x1000d98e
cmp eax, 0x7d
jne 0x1000d93b
test dword [esi + 0x50], 0x10000000
je 0x1000d986
cmp eax, 0x5d
jne 0x1000d949
test dword [esi + 0x50], 0x10000000
je 0x1000d97e
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1000e650
mov ecx, esi
call fcn.1000d560
mov ecx, esi
call fcn.1000e3d0
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x1000d5d0
pop edi
pop esi
mov al, cl
pop ebx
ret
push 5
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 4
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 6
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 0xa
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3