Function at 0x10009fd0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
push edi
je 0x1000a3ed
mov edi, dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
jmp 0x10009ff0
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x1000a3ed
cmp eax, 0x29
jne 0x1000a018
cmp dword [esi + 0x10], 0
jne 0x1000a3ed
test dword [esi + 0x50], 0x10000000
je 0x1000a3f3
cmp eax, 0x2e
jne 0x1000a0c1
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x1000a052
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 0x1000a054
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 0x1000a070
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 0x1000a0b5
cmp byte [eax], 0x5c
jne 0x1000a0b3
inc eax
cmp eax, ecx
je 0x1000a0b3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000a0a0
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000a0b1
cmp dl, 0x29
je 0x1000a0b1
test cl, 0x10
jne 0x1000a0b3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000a0b1
cmp cl, 0x7d
jne 0x1000a0b3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100072a0
jmp 0x1000a3da
cmp eax, 0x5c
jne 0x1000a1da
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000a106
cmp byte [eax], 0x5c
jne 0x1000a104
inc eax
cmp eax, ecx
je 0x1000a104
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000a0f1
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000a102
cmp dl, 0x29
je 0x1000a102
test cl, 0x10
jne 0x1000a104
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000a102
cmp cl, 0x7d
jne 0x1000a104
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100072a0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x1000a16d
cmp byte [esi + 0x48], 0x62
jne 0x1000a16d
lea ecx, [esi + 0x24]
call fcn.1000c8f0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000a161
cmp byte [eax], 0x5c
jne 0x1000a15f
inc eax
cmp eax, ecx
je 0x1000a15f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000a14c
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000a15d
cmp cl, 0x29
je 0x1000a15d
test dl, 0x10
jne 0x1000a15f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000a15d
cmp cl, 0x7d
jne 0x1000a15f
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100072a0
jmp 0x1000a3e1
test eax, eax
je 0x1000a1ce
cmp byte [esi + 0x48], 0x42
jne 0x1000a1ce
lea ecx, [esi + 0x24]
call fcn.1000c8f0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000a1c2
cmp byte [eax], 0x5c
jne 0x1000a1c0
inc eax
cmp eax, ecx
je 0x1000a1c0
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000a1ad
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000a1be
cmp cl, 0x29
je 0x1000a1be
test dl, 0x10
jne 0x1000a1c0
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000a1be
cmp cl, 0x7d
jne 0x1000a1c0
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100072a0
jmp 0x1000a3e1
mov ecx, esi
call fcn.1000c570
jmp 0x1000a3da
cmp eax, 0x5b
jne 0x1000a27f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000a21f
cmp byte [eax], 0x5c
jne 0x1000a21d
inc eax
cmp eax, ecx
je 0x1000a21d
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000a20a
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000a21b
cmp dl, 0x29
je 0x1000a21b
test cl, 0x10
jne 0x1000a21d
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000a21b
cmp cl, 0x7d
jne 0x1000a21d
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100072a0
mov ecx, esi
call fcn.1000c490
cmp dword [esi + 0x4c], 0x5d
jne 0x1000a3fb
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000a273
cmp byte [eax], 0x5c
jne 0x1000a271
inc eax
cmp eax, ecx
je 0x1000a271
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000a25e
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000a26f
cmp dl, 0x29
je 0x1000a26f
test cl, 0x10
jne 0x1000a271
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000a26f
cmp cl, 0x7d
jne 0x1000a271
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100072a0
jmp 0x1000a3da
cmp eax, 0x28
jne 0x1000a32e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000a2c4
cmp byte [eax], 0x5c
jne 0x1000a2c2
inc eax
cmp eax, ecx
je 0x1000a2c2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000a2af
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000a2c0
cmp dl, 0x29
je 0x1000a2c0
test cl, 0x10
jne 0x1000a2c2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000a2c0
cmp cl, 0x7d
jne 0x1000a2c2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100072a0
mov ecx, esi
call fcn.1000c640
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1000a3f3
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000a31a
cmp byte [eax], 0x5c
jne 0x1000a318
inc eax
cmp eax, ecx
je 0x1000a318
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000a305
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000a316
cmp dl, 0x29
je 0x1000a316
test cl, 0x10
jne 0x1000a318
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000a316
cmp cl, 0x7d
jne 0x1000a318
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100072a0
test bl, bl
je 0x1000a3e1
jmp 0x1000a3da
cmp eax, 0x5e
jne 0x1000a380
lea ecx, [esi + 0x24]
call fcn.1000c810
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000a377
cmp byte [eax], 0x5c
jne 0x1000a375
inc eax
cmp eax, ecx
je 0x1000a375
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000a362
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000a373
cmp dl, 0x29
je 0x1000a373
test cl, 0x10
jne 0x1000a375
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000a373
cmp cl, 0x7d
jne 0x1000a375
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100072a0
jmp 0x1000a3e1
cmp eax, 0x24
jne 0x1000a396
lea ecx, [esi + 0x24]
call fcn.1000c880
mov ecx, esi
call fcn.10009f80
jmp 0x1000a3e1
cmp eax, 0x2a
je 0x1000a40b
cmp eax, 0x2b
je 0x1000a40b
cmp eax, 0x3f
je 0x1000a40b
cmp eax, 0x7b
je 0x1000a40b
cmp eax, 0x7d
jne 0x1000a3b8
test dword [esi + 0x50], 0x10000000
je 0x1000a403
cmp eax, 0x5d
jne 0x1000a3c6
test dword [esi + 0x50], 0x10000000
je 0x1000a3fb
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1000c960
mov ecx, esi
call fcn.10009f80
mov ecx, esi
call fcn.1000c6e0
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x10009ff0
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