Function at 0x413560
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov edi, eax
xor ebp, ebp
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x41383a
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x41383a
cmp ecx, 0x29
jne 0x4135a8
cmp dword [edi + 0x10], ebp
jne 0x41383a
test dword [edi + 0x44], edx
jne 0x4135a8
push 5
call fcn.0043b7c0
add esp, 4
jmp 0x413827
cmp ecx, 0x2e
jne 0x413645
push 0x14
call fcn.0043cb98
add esp, 4
cmp eax, ebp
je 0x4135d7
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebp
jmp 0x4135d9
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, ebp
je 0x4135f5
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 0x413639
cmp byte [eax], 0x5c
jne 0x413637
inc eax
cmp eax, ecx
je 0x413623
test byte [edi + 0x44], 8
jne 0x413623
mov cl, byte [eax]
cmp cl, 0x28
je 0x413635
cmp cl, 0x29
je 0x413635
test byte [edi + 0x44], 0x10
jne 0x413637
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413635
cmp cl, 0x7d
jne 0x413637
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004119d0
jmp 0x413827
cmp ecx, 0x5c
jne 0x413723
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413689
cmp byte [eax], 0x5c
jne 0x413687
inc eax
cmp eax, ecx
je 0x413673
test byte [edi + 0x44], 8
jne 0x413673
mov cl, byte [eax]
cmp cl, 0x28
je 0x413685
cmp cl, 0x29
je 0x413685
test byte [edi + 0x44], 0x10
jne 0x413687
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413685
cmp cl, 0x7d
jne 0x413687
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004119d0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x4136ef
cmp byte [edi + 0x3e], 0x62
jne 0x4136ef
lea esi, [edi + 0x18]
call fcn.00415050
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4136e3
cmp byte [eax], 0x5c
jne 0x4136e1
inc eax
cmp eax, ecx
je 0x4136cd
test byte [edi + 0x44], 8
jne 0x4136cd
mov cl, byte [eax]
cmp cl, 0x28
je 0x4136df
cmp cl, 0x29
je 0x4136df
test byte [edi + 0x44], 0x10
jne 0x4136e1
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4136df
cmp cl, 0x7d
jne 0x4136e1
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004119d0
jmp 0x41382e
cmp eax, ebp
je 0x413717
cmp byte [edi + 0x3e], 0x42
jne 0x413717
lea esi, [edi + 0x18]
call fcn.00415050
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
add eax, 8
mov eax, edi
call fcn.00413510
jmp 0x41382e
mov eax, edi
call fcn.00414d20
jmp 0x413827
cmp ecx, 0x5b
jne 0x4137c5
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413767
cmp byte [eax], 0x5c
jne 0x413765
inc eax
cmp eax, ecx
je 0x413751
test byte [edi + 0x44], 8
jne 0x413751
mov cl, byte [eax]
cmp cl, 0x28
je 0x413763
cmp cl, 0x29
je 0x413763
test byte [edi + 0x44], 0x10
jne 0x413765
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413763
cmp cl, 0x7d
jne 0x413765
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004119d0
call fcn.00414c70
cmp dword [edi + 0x40], 0x5d
je 0x413783
push 4
call fcn.0043b7c0
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4137be
cmp byte [eax], 0x5c
jne 0x4137bc
inc eax
cmp eax, ecx
je 0x4137a8
test byte [edi + 0x44], 8
jne 0x4137a8
mov cl, byte [eax]
cmp cl, 0x28
je 0x4137ba
cmp cl, 0x29
je 0x4137ba
test byte [edi + 0x44], 0x10
jne 0x4137bc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4137ba
cmp cl, 0x7d
jne 0x4137bc
mov dword [edi], eax
inc dword [edi]
call fcn.004119d0
jmp 0x413827
cmp ecx, 0x28
jne 0x413840
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413805
cmp byte [eax], 0x5c
jne 0x413803
inc eax
cmp eax, ecx
je 0x4137ef
test byte [edi + 0x44], 8
jne 0x4137ef
mov cl, byte [eax]
cmp cl, 0x28
je 0x413801
cmp cl, 0x29
je 0x413801
test byte [edi + 0x44], 0x10
jne 0x413803
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413801
cmp cl, 0x7d
jne 0x413803
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.004119d0
mov eax, edi
call fcn.00414dd0
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.00414c10
test bl, bl
je 0x41382e
mov eax, edi
call fcn.00414e80
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x413575
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp ecx, 0x5e
jne 0x413856
lea esi, [edi + 0x18]
call fcn.00414fb0
mov eax, edi
call fcn.00413510
jmp 0x41382e
cmp ecx, 0x24
jne 0x41386c
lea esi, [edi + 0x18]
call fcn.00415000
mov eax, edi
call fcn.00413510
jmp 0x41382e
cmp ecx, 0x2a
je 0x4138c8
cmp ecx, 0x2b
je 0x4138c8
cmp ecx, 0x3f
je 0x4138c8
cmp ecx, 0x7b
je 0x4138c8
cmp ecx, 0x7d
jne 0x413896
test dword [edi + 0x44], edx
jne 0x413896
push 6
call fcn.0043b7c0
add esp, 4
jmp 0x413827
cmp ecx, 0x5d
jne 0x4138af
test dword [edi + 0x44], edx
jne 0x4138af
push 4
call fcn.0043b7c0
add esp, 4
jmp 0x413827
movzx edx, byte [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.004150a0
mov eax, edi
call fcn.00413510
jmp 0x413827
push 0xa
call fcn.0043b7c0
add esp, 4
jmp 0x413827