Function at 0x4136a0
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 0x41397a
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x41397a
cmp ecx, 0x29
jne 0x4136e8
cmp dword [edi + 0x10], ebp
jne 0x41397a
test dword [edi + 0x44], edx
jne 0x4136e8
push 5
call fcn.00438d62
add esp, 4
jmp 0x413967
cmp ecx, 0x2e
jne 0x413785
push 0x14
call fcn.0043af92
add esp, 4
cmp eax, ebp
je 0x413717
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 0x413719
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 0x413735
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 0x413779
cmp byte [eax], 0x5c
jne 0x413777
inc eax
cmp eax, ecx
je 0x413763
test byte [edi + 0x44], 8
jne 0x413763
mov cl, byte [eax]
cmp cl, 0x28
je 0x413775
cmp cl, 0x29
je 0x413775
test byte [edi + 0x44], 0x10
jne 0x413777
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413775
cmp cl, 0x7d
jne 0x413777
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00411b10
jmp 0x413967
cmp ecx, 0x5c
jne 0x413863
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4137c9
cmp byte [eax], 0x5c
jne 0x4137c7
inc eax
cmp eax, ecx
je 0x4137b3
test byte [edi + 0x44], 8
jne 0x4137b3
mov cl, byte [eax]
cmp cl, 0x28
je 0x4137c5
cmp cl, 0x29
je 0x4137c5
test byte [edi + 0x44], 0x10
jne 0x4137c7
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4137c5
cmp cl, 0x7d
jne 0x4137c7
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00411b10
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x41382f
cmp byte [edi + 0x3e], 0x62
jne 0x41382f
lea esi, [edi + 0x18]
call fcn.00415190
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413823
cmp byte [eax], 0x5c
jne 0x413821
inc eax
cmp eax, ecx
je 0x41380d
test byte [edi + 0x44], 8
jne 0x41380d
mov cl, byte [eax]
cmp cl, 0x28
je 0x41381f
cmp cl, 0x29
je 0x41381f
test byte [edi + 0x44], 0x10
jne 0x413821
mov cl, byte [eax]
cmp cl, 0x7b
je 0x41381f
cmp cl, 0x7d
jne 0x413821
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00411b10
jmp 0x41396e
cmp eax, ebp
je 0x413857
cmp byte [edi + 0x3e], 0x42
jne 0x413857
lea esi, [edi + 0x18]
call fcn.00415190
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
add eax, 8
mov eax, edi
call fcn.00413650
jmp 0x41396e
mov eax, edi
call fcn.00414e60
jmp 0x413967
cmp ecx, 0x5b
jne 0x413905
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4138a7
cmp byte [eax], 0x5c
jne 0x4138a5
inc eax
cmp eax, ecx
je 0x413891
test byte [edi + 0x44], 8
jne 0x413891
mov cl, byte [eax]
cmp cl, 0x28
je 0x4138a3
cmp cl, 0x29
je 0x4138a3
test byte [edi + 0x44], 0x10
jne 0x4138a5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4138a3
cmp cl, 0x7d
jne 0x4138a5
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00411b10
call fcn.00414db0
cmp dword [edi + 0x40], 0x5d
je 0x4138c3
push 4
call fcn.00438d62
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4138fe
cmp byte [eax], 0x5c
jne 0x4138fc
inc eax
cmp eax, ecx
je 0x4138e8
test byte [edi + 0x44], 8
jne 0x4138e8
mov cl, byte [eax]
cmp cl, 0x28
je 0x4138fa
cmp cl, 0x29
je 0x4138fa
test byte [edi + 0x44], 0x10
jne 0x4138fc
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4138fa
cmp cl, 0x7d
jne 0x4138fc
mov dword [edi], eax
inc dword [edi]
call fcn.00411b10
jmp 0x413967
cmp ecx, 0x28
jne 0x413980
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413945
cmp byte [eax], 0x5c
jne 0x413943
inc eax
cmp eax, ecx
je 0x41392f
test byte [edi + 0x44], 8
jne 0x41392f
mov cl, byte [eax]
cmp cl, 0x28
je 0x413941
cmp cl, 0x29
je 0x413941
test byte [edi + 0x44], 0x10
jne 0x413943
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413941
cmp cl, 0x7d
jne 0x413943
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00411b10
mov eax, edi
call fcn.00414f10
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.00414d50
test bl, bl
je 0x41396e
mov eax, edi
call fcn.00414fc0
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x4136b5
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp ecx, 0x5e
jne 0x413996
lea esi, [edi + 0x18]
call fcn.004150f0
mov eax, edi
call fcn.00413650
jmp 0x41396e
cmp ecx, 0x24
jne 0x4139ac
lea esi, [edi + 0x18]
call fcn.00415140
mov eax, edi
call fcn.00413650
jmp 0x41396e
cmp ecx, 0x2a
je 0x413a08
cmp ecx, 0x2b
je 0x413a08
cmp ecx, 0x3f
je 0x413a08
cmp ecx, 0x7b
je 0x413a08
cmp ecx, 0x7d
jne 0x4139d6
test dword [edi + 0x44], edx
jne 0x4139d6
push 6
call fcn.00438d62
add esp, 4
jmp 0x413967
cmp ecx, 0x5d
jne 0x4139ef
test dword [edi + 0x44], edx
jne 0x4139ef
push 4
call fcn.00438d62
add esp, 4
jmp 0x413967
movzx edx, byte [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.004151e0
mov eax, edi
call fcn.00413650
jmp 0x413967
push 0xa
call fcn.00438d62
add esp, 4
jmp 0x413967