Function at 0x1000fad0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor al, al
push edi
mov ecx, dword [esi + 0x4c]
cmp ecx, 0xffffffff
je 0x1000fb8e
cmp ecx, 0x7c
je 0x1000fb8e
cmp ecx, 0x29
jne 0x1000fb95
cmp dword [esi + 0x10], 0
jne 0x1000fb8e
cmp ecx, ecx
jne 0x1000fb95
test dword [esi + 0x50], 0x10000000
je 0x1001003f
lea edi, [esi + 0x50]
cmp ecx, 0x5d
jne 0x1000fb2c
test dword [edi], 0x10000000
je 0x10010046
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10011c90
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000fb72
cmp byte [eax], 0x5c
jne 0x1000fb70
inc eax
cmp eax, ecx
je 0x1000fb70
mov edx, dword [edi]
test dl, 8
jne 0x1000fb5f
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000fb6e
cmp cl, 0x29
je 0x1000fb6e
test dl, 0x10
jne 0x1000fb70
mov al, byte [eax]
cmp al, 0x7b
je 0x1000fb6e
cmp al, 0x7d
jne 0x1000fb70
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.1000e850
mov ecx, esi
call fcn.10011a60
mov ecx, dword [esi + 0x4c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x1000fae7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x2e
jne 0x1000fc51
push 0x14
call fcn.10013f70
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1000fbeb
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 edx, dword [esi + 8]
cmp eax, edx
je 0x1000fb72
cmp byte [eax], 0x5c
jne 0x1000fc49
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x1000fc47
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000fc27
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x1000fc3c
cmp cl, 0x29
je 0x1000fc3c
mov ecx, eax
test bl, 0x10
jne 0x1000fc47
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x1000fc3c
mov edx, ecx
cmp bl, 0x7d
jne 0x1000fc47
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x1000fb72
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1000fb72
cmp ecx, 0x5c
jne 0x1000fdfe
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x1000fca7
cmp byte [eax], cl
jne 0x1000fca4
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x1000fca2
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000fc88
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x1000fc9d
cmp cl, 0x29
je 0x1000fc9d
mov ecx, eax
test bl, 0x10
jne 0x1000fca2
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x1000fc9d
mov edx, ecx
cmp bl, 0x7d
jne 0x1000fca2
lea eax, [edx + 1]
jmp 0x1000fca4
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1000e850
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x1000fd87
cmp byte [esi + 0x48], 0x62
jne 0x1000fd87
push 0x14
call fcn.10013f70
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1000fd13
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 edx, dword [esi + 8]
cmp eax, edx
je 0x1000fff7
cmp byte [eax], 0x5c
jne 0x1000fd78
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x1000fd76
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000fd4f
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x1000fd64
cmp cl, 0x29
je 0x1000fd64
mov ecx, eax
test bl, 0x10
jne 0x1000fd76
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x1000fd64
mov edx, ecx
cmp bl, 0x7d
jne 0x1000fd76
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.1000e850
jmp 0x1000fb80
mov eax, ecx
inc eax
mov ecx, esi
mov dword [esi], eax
call fcn.1000e850
jmp 0x1000fb80
test eax, eax
je 0x1000fdf2
cmp byte [esi + 0x48], 0x42
jne 0x1000fdf2
push 0x14
call fcn.10013f70
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1000fdde
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 eax, ecx
mov dword [esi + 0x28], ecx
xor dword [eax + 8], 1
jmp 0x1000ffbd
mov ecx, esi
call fcn.100116c0
jmp 0x1000fb79
cmp ecx, 0x5b
jne 0x1000fe9c
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000fe41
cmp byte [eax], 0x5c
jne 0x1000fe3f
inc eax
cmp eax, ecx
je 0x1000fe3f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1000fe2e
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000fe3d
cmp cl, 0x29
je 0x1000fe3d
test dl, 0x10
jne 0x1000fe3f
mov al, byte [eax]
cmp al, 0x7b
je 0x1000fe3d
cmp al, 0x7d
jne 0x1000fe3f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.1000e850
mov ecx, esi
call fcn.10011580
cmp dword [esi + 0x4c], 0x5d
jne 0x10010046
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000fb72
cmp byte [eax], 0x5c
jne 0x1000fb70
inc eax
cmp eax, ecx
je 0x1000fb70
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000fe94
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000fb6e
cmp dl, 0x29
je 0x1000fb6e
test cl, 0x10
jmp 0x1000fb62
cmp ecx, 0x28
jne 0x1000ff47
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000fedf
cmp byte [eax], 0x5c
jne 0x1000fedd
inc eax
cmp eax, ecx
je 0x1000fedd
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000fecc
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000fedb
cmp dl, 0x29
je 0x1000fedb
test cl, 0x10
jne 0x1000fedd
mov al, byte [eax]
cmp al, 0x7b
je 0x1000fedb
cmp al, 0x7d
jne 0x1000fedd
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.1000e850
mov ecx, esi
call fcn.10011810
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1001003f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1000ff33
cmp byte [eax], 0x5c
jne 0x1000ff31
inc eax
cmp eax, ecx
je 0x1000ff31
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000ff20
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000ff2f
cmp dl, 0x29
je 0x1000ff2f
test cl, 0x10
jne 0x1000ff31
mov al, byte [eax]
cmp al, 0x7b
je 0x1000ff2f
cmp al, 0x7d
jne 0x1000ff31
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.1000e850
test bl, bl
je 0x1000fb80
jmp 0x1000fb79
cmp ecx, 0x5e
jne 0x1000ff5e
push 0x14
call fcn.10013f70
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x1000ff77
cmp ecx, 0x24
jne 0x10010003
push 0x14
call fcn.10013f70
mov ecx, eax
mov dword [ecx + 4], 3
mov dword [ecx], vtable.std::_Node_base.0
add esp, 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1000ffb4
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 ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x1000fff7
cmp byte [eax], 0x5c
jne 0x1000fff5
inc eax
cmp eax, ecx
je 0x1000fff5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1000ffe4
mov dl, byte [eax]
cmp dl, 0x28
je 0x1000fff3
cmp dl, 0x29
je 0x1000fff3
test cl, 0x10
jne 0x1000fff5
mov al, byte [eax]
cmp al, 0x7b
je 0x1000fff3
cmp al, 0x7d
jne 0x1000fff5
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.1000e850
jmp 0x1000fb80
cmp ecx, 0x2a
je 0x10010031
cmp ecx, 0x2b
je 0x10010031
cmp ecx, 0x3f
je 0x10010031
cmp ecx, 0x7b
je 0x10010031
cmp ecx, 0x7d
jne 0x1000fb18
test dword [esi + 0x50], 0x10000000
lea edi, [esi + 0x50]
je 0x10010038
jmp 0x1000fb2c
push 0xa
call fcn.1000e840
push 6
call fcn.1000e840
push 5
call fcn.1000e840
push 4
call fcn.1000e840
int3