Function at 0x1000d470
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor ebx, ebx
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x1000d7cb
jmp 0x1000d487
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x1000d7cb
cmp ecx, 0x29
jne 0x1000d4ba
cmp dword [edi + 0x10], ebx
jne 0x1000d7cb
test dword [edi + 0x44], edx
jne 0x1000d4ba
push 5
call fcn.100b0e13
add esp, 4
jmp 0x1000d7b8
cmp ecx, 0x2e
jne 0x1000d557
push 0x14
call fcn.100b39fb
add esp, 4
cmp eax, ebx
je 0x1000d4e9
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
jmp 0x1000d4eb
xor eax, eax
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebx
je 0x1000d507
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [edi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x1c], eax
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000d54b
cmp byte [eax], 0x5c
jne 0x1000d549
inc eax
cmp eax, ecx
je 0x1000d535
test byte [edi + 0x44], 8
jne 0x1000d535
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000d547
cmp cl, 0x29
je 0x1000d547
test byte [edi + 0x44], 0x10
jne 0x1000d549
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000d547
cmp cl, 0x7d
jne 0x1000d549
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000c4b0
jmp 0x1000d7b8
cmp ecx, 0x5c
jne 0x1000d66d
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000d59b
cmp byte [eax], 0x5c
jne 0x1000d599
inc eax
cmp eax, ecx
je 0x1000d585
test byte [edi + 0x44], 8
jne 0x1000d585
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000d597
cmp cl, 0x29
je 0x1000d597
test byte [edi + 0x44], 0x10
jne 0x1000d599
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000d597
cmp cl, 0x7d
jne 0x1000d599
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000c4b0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x1000d601
cmp byte [edi + 0x3e], 0x62
jne 0x1000d601
lea esi, [edi + 0x18]
call fcn.1000e920
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000d5f5
cmp byte [eax], 0x5c
jne 0x1000d5f3
inc eax
cmp eax, ecx
je 0x1000d5df
test byte [edi + 0x44], 8
jne 0x1000d5df
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000d5f1
cmp cl, 0x29
je 0x1000d5f1
test byte [edi + 0x44], 0x10
jne 0x1000d5f3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000d5f1
cmp cl, 0x7d
jne 0x1000d5f3
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000c4b0
jmp 0x1000d7bf
cmp eax, ebx
je 0x1000d661
cmp byte [edi + 0x3e], 0x42
jne 0x1000d661
lea esi, [edi + 0x18]
call fcn.1000e920
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000d655
cmp byte [eax], 0x5c
jne 0x1000d653
inc eax
cmp eax, ecx
je 0x1000d63f
test byte [edi + 0x44], 8
jne 0x1000d63f
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000d651
cmp cl, 0x29
je 0x1000d651
test byte [edi + 0x44], 0x10
jne 0x1000d653
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000d651
cmp cl, 0x7d
jne 0x1000d653
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000c4b0
jmp 0x1000d7bf
mov eax, edi
call fcn.1000e5f0
jmp 0x1000d7b8
cmp ecx, 0x5b
jne 0x1000d712
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000d6b1
cmp byte [eax], 0x5c
jne 0x1000d6af
inc eax
cmp eax, ecx
je 0x1000d69b
test byte [edi + 0x44], 8
jne 0x1000d69b
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000d6ad
cmp cl, 0x29
je 0x1000d6ad
test byte [edi + 0x44], 0x10
jne 0x1000d6af
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000d6ad
cmp cl, 0x7d
jne 0x1000d6af
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000c4b0
call fcn.1000e540
cmp dword [edi + 0x40], 0x5d
je 0x1000d6cd
push 4
call fcn.100b0e13
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000d708
cmp byte [eax], 0x5c
jne 0x1000d706
inc eax
cmp eax, ecx
je 0x1000d6f2
test byte [edi + 0x44], 8
jne 0x1000d6f2
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000d704
cmp cl, 0x29
je 0x1000d704
test byte [edi + 0x44], 0x10
jne 0x1000d706
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000d704
cmp cl, 0x7d
jne 0x1000d706
mov dword [edi], eax
inc dword [edi]
call fcn.1000c4b0
jmp 0x1000d7b8
cmp ecx, 0x28
jne 0x1000d7cf
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000d756
cmp byte [eax], 0x5c
jne 0x1000d754
inc eax
cmp eax, ecx
je 0x1000d740
test byte [edi + 0x44], 8
jne 0x1000d740
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000d752
cmp cl, 0x29
je 0x1000d752
test byte [edi + 0x44], 0x10
jne 0x1000d754
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000d752
cmp cl, 0x7d
jne 0x1000d754
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000c4b0
call fcn.1000e6a0
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x1000d774
push 5
call fcn.100b0e13
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1000d7af
cmp byte [eax], 0x5c
jne 0x1000d7ad
inc eax
cmp eax, ecx
je 0x1000d799
test byte [edi + 0x44], 8
jne 0x1000d799
mov cl, byte [eax]
cmp cl, 0x28
je 0x1000d7ab
cmp cl, 0x29
je 0x1000d7ab
test byte [edi + 0x44], 0x10
jne 0x1000d7ad
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1000d7ab
cmp cl, 0x7d
jne 0x1000d7ad
mov dword [edi], eax
inc dword [edi]
call fcn.1000c4b0
test bl, bl
je 0x1000d7bf
mov eax, edi
call fcn.1000e750
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x1000d485
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x1000d7e5
lea esi, [edi + 0x18]
call fcn.1000e880
mov eax, edi
call fcn.1000d420
jmp 0x1000d7bf
cmp ecx, 0x24
jne 0x1000d7fb
lea esi, [edi + 0x18]
call fcn.1000e8d0
mov eax, edi
call fcn.1000d420
jmp 0x1000d7bf
cmp ecx, 0x2a
je 0x1000d857
cmp ecx, 0x2b
je 0x1000d857
cmp ecx, 0x3f
je 0x1000d857
cmp ecx, 0x7b
je 0x1000d857
cmp ecx, 0x7d
jne 0x1000d825
test dword [edi + 0x44], edx
jne 0x1000d825
push 6
call fcn.100b0e13
add esp, 4
jmp 0x1000d7b8
cmp ecx, 0x5d
jne 0x1000d83e
test dword [edi + 0x44], edx
jne 0x1000d83e
push 4
call fcn.100b0e13
add esp, 4
jmp 0x1000d7b8
movzx edx, byte [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.1000e970
mov eax, edi
call fcn.1000d420
jmp 0x1000d7b8
push 0xa
call fcn.100b0e13
add esp, 4
jmp 0x1000d7b8