Function at 0x41a3c0
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 0x41a69a
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x41a69a
cmp ecx, 0x29
jne 0x41a408
cmp dword [edi + 0x10], ebp
jne 0x41a69a
test dword [edi + 0x44], edx
jne 0x41a408
push 5
call fcn.004b7975
add esp, 4
jmp 0x41a687
cmp ecx, 0x2e
jne 0x41a4a5
push 0x14
call fcn.0047cbd4
add esp, 4
cmp eax, ebp
je 0x41a437
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 0x41a439
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 0x41a455
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 0x41a499
cmp byte [eax], 0x5c
jne 0x41a497
inc eax
cmp eax, ecx
je 0x41a483
test byte [edi + 0x44], 8
jne 0x41a483
mov cl, byte [eax]
cmp cl, 0x28
je 0x41a495
cmp cl, 0x29
je 0x41a495
test byte [edi + 0x44], 0x10
jne 0x41a497
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41a495
cmp cl, 0x7d
jne 0x41a497
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00418d30
jmp 0x41a687
cmp ecx, 0x5c
jne 0x41a583
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41a4e9
cmp byte [eax], 0x5c
jne 0x41a4e7
inc eax
cmp eax, ecx
je 0x41a4d3
test byte [edi + 0x44], 8
jne 0x41a4d3
mov cl, byte [eax]
cmp cl, 0x28
je 0x41a4e5
cmp cl, 0x29
je 0x41a4e5
test byte [edi + 0x44], 0x10
jne 0x41a4e7
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41a4e5
cmp cl, 0x7d
jne 0x41a4e7
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00418d30
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x41a54f
cmp byte [edi + 0x3e], 0x62
jne 0x41a54f
lea esi, [edi + 0x18]
call fcn.0041b7f0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41a543
cmp byte [eax], 0x5c
jne 0x41a541
inc eax
cmp eax, ecx
je 0x41a52d
test byte [edi + 0x44], 8
jne 0x41a52d
mov cl, byte [eax]
cmp cl, 0x28
je 0x41a53f
cmp cl, 0x29
je 0x41a53f
test byte [edi + 0x44], 0x10
jne 0x41a541
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41a53f
cmp cl, 0x7d
jne 0x41a541
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00418d30
jmp 0x41a68e
cmp eax, ebp
je 0x41a577
cmp byte [edi + 0x3e], 0x42
jne 0x41a577
lea esi, [edi + 0x18]
call fcn.0041b7f0
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
add eax, 8
mov eax, edi
call fcn.0041a370
jmp 0x41a68e
mov eax, edi
call fcn.0041b4c0
jmp 0x41a687
cmp ecx, 0x5b
jne 0x41a625
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41a5c7
cmp byte [eax], 0x5c
jne 0x41a5c5
inc eax
cmp eax, ecx
je 0x41a5b1
test byte [edi + 0x44], 8
jne 0x41a5b1
mov cl, byte [eax]
cmp cl, 0x28
je 0x41a5c3
cmp cl, 0x29
je 0x41a5c3
test byte [edi + 0x44], 0x10
jne 0x41a5c5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41a5c3
cmp cl, 0x7d
jne 0x41a5c5
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00418d30
call fcn.0041b410
cmp dword [edi + 0x40], 0x5d
je 0x41a5e3
push 4
call fcn.004b7975
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41a61e
cmp byte [eax], 0x5c
jne 0x41a61c
inc eax
cmp eax, ecx
je 0x41a608
test byte [edi + 0x44], 8
jne 0x41a608
mov cl, byte [eax]
cmp cl, 0x28
je 0x41a61a
cmp cl, 0x29
je 0x41a61a
test byte [edi + 0x44], 0x10
jne 0x41a61c
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41a61a
cmp cl, 0x7d
jne 0x41a61c
mov dword [edi], eax
inc dword [edi]
call fcn.00418d30
jmp 0x41a687
cmp ecx, 0x28
jne 0x41a6a0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x41a665
cmp byte [eax], 0x5c
jne 0x41a663
inc eax
cmp eax, ecx
je 0x41a64f
test byte [edi + 0x44], 8
jne 0x41a64f
mov cl, byte [eax]
cmp cl, 0x28
je 0x41a661
cmp cl, 0x29
je 0x41a661
test byte [edi + 0x44], 0x10
jne 0x41a663
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41a661
cmp cl, 0x7d
jne 0x41a663
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00418d30
mov eax, edi
call fcn.0041b570
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.0041b3b0
test bl, bl
je 0x41a68e
mov eax, edi
call fcn.0041b620
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x41a3d5
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp ecx, 0x5e
jne 0x41a6b6
lea esi, [edi + 0x18]
call fcn.0041b750
mov eax, edi
call fcn.0041a370
jmp 0x41a68e
cmp ecx, 0x24
jne 0x41a6cc
lea esi, [edi + 0x18]
call fcn.0041b7a0
mov eax, edi
call fcn.0041a370
jmp 0x41a68e
cmp ecx, 0x2a
je 0x41a728
cmp ecx, 0x2b
je 0x41a728
cmp ecx, 0x3f
je 0x41a728
cmp ecx, 0x7b
je 0x41a728
cmp ecx, 0x7d
jne 0x41a6f6
test dword [edi + 0x44], edx
jne 0x41a6f6
push 6
call fcn.004b7975
add esp, 4
jmp 0x41a687
cmp ecx, 0x5d
jne 0x41a70f
test dword [edi + 0x44], edx
jne 0x41a70f
push 4
call fcn.004b7975
add esp, 4
jmp 0x41a687
movzx edx, byte [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.0041b840
mov eax, edi
call fcn.0041a370
jmp 0x41a687
push 0xa
call fcn.004b7975
add esp, 4
jmp 0x41a687