Function at 0x4138e0
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 0x413bba
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x413bba
cmp ecx, 0x29
jne 0x413928
cmp dword [edi + 0x10], ebp
jne 0x413bba
test dword [edi + 0x44], edx
jne 0x413928
push 5
call fcn.004370a4
add esp, 4
jmp 0x413ba7
cmp ecx, 0x2e
jne 0x4139c5
push 0x14
call fcn.004392d4
add esp, 4
cmp eax, ebp
je 0x413957
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 0x413959
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 0x413975
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 0x4139b9
cmp byte [eax], 0x5c
jne 0x4139b7
inc eax
cmp eax, ecx
je 0x4139a3
test byte [edi + 0x44], 8
jne 0x4139a3
mov cl, byte [eax]
cmp cl, 0x28
je 0x4139b5
cmp cl, 0x29
je 0x4139b5
test byte [edi + 0x44], 0x10
jne 0x4139b7
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4139b5
cmp cl, 0x7d
jne 0x4139b7
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00411d50
jmp 0x413ba7
cmp ecx, 0x5c
jne 0x413aa3
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413a09
cmp byte [eax], 0x5c
jne 0x413a07
inc eax
cmp eax, ecx
je 0x4139f3
test byte [edi + 0x44], 8
jne 0x4139f3
mov cl, byte [eax]
cmp cl, 0x28
je 0x413a05
cmp cl, 0x29
je 0x413a05
test byte [edi + 0x44], 0x10
jne 0x413a07
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413a05
cmp cl, 0x7d
jne 0x413a07
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00411d50
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x413a6f
cmp byte [edi + 0x3e], 0x62
jne 0x413a6f
lea esi, [edi + 0x18]
call fcn.004153d0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413a63
cmp byte [eax], 0x5c
jne 0x413a61
inc eax
cmp eax, ecx
je 0x413a4d
test byte [edi + 0x44], 8
jne 0x413a4d
mov cl, byte [eax]
cmp cl, 0x28
je 0x413a5f
cmp cl, 0x29
je 0x413a5f
test byte [edi + 0x44], 0x10
jne 0x413a61
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413a5f
cmp cl, 0x7d
jne 0x413a61
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00411d50
jmp 0x413bae
cmp eax, ebp
je 0x413a97
cmp byte [edi + 0x3e], 0x42
jne 0x413a97
lea esi, [edi + 0x18]
call fcn.004153d0
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
add eax, 8
mov eax, edi
call fcn.00413890
jmp 0x413bae
mov eax, edi
call fcn.004150a0
jmp 0x413ba7
cmp ecx, 0x5b
jne 0x413b45
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413ae7
cmp byte [eax], 0x5c
jne 0x413ae5
inc eax
cmp eax, ecx
je 0x413ad1
test byte [edi + 0x44], 8
jne 0x413ad1
mov cl, byte [eax]
cmp cl, 0x28
je 0x413ae3
cmp cl, 0x29
je 0x413ae3
test byte [edi + 0x44], 0x10
jne 0x413ae5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413ae3
cmp cl, 0x7d
jne 0x413ae5
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00411d50
call fcn.00414ff0
cmp dword [edi + 0x40], 0x5d
je 0x413b03
push 4
call fcn.004370a4
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413b3e
cmp byte [eax], 0x5c
jne 0x413b3c
inc eax
cmp eax, ecx
je 0x413b28
test byte [edi + 0x44], 8
jne 0x413b28
mov cl, byte [eax]
cmp cl, 0x28
je 0x413b3a
cmp cl, 0x29
je 0x413b3a
test byte [edi + 0x44], 0x10
jne 0x413b3c
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413b3a
cmp cl, 0x7d
jne 0x413b3c
mov dword [edi], eax
inc dword [edi]
call fcn.00411d50
jmp 0x413ba7
cmp ecx, 0x28
jne 0x413bc0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x413b85
cmp byte [eax], 0x5c
jne 0x413b83
inc eax
cmp eax, ecx
je 0x413b6f
test byte [edi + 0x44], 8
jne 0x413b6f
mov cl, byte [eax]
cmp cl, 0x28
je 0x413b81
cmp cl, 0x29
je 0x413b81
test byte [edi + 0x44], 0x10
jne 0x413b83
mov cl, byte [eax]
cmp cl, 0x7b
je 0x413b81
cmp cl, 0x7d
jne 0x413b83
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00411d50
mov eax, edi
call fcn.00415150
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.00414f90
test bl, bl
je 0x413bae
mov eax, edi
call fcn.00415200
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x4138f5
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp ecx, 0x5e
jne 0x413bd6
lea esi, [edi + 0x18]
call fcn.00415330
mov eax, edi
call fcn.00413890
jmp 0x413bae
cmp ecx, 0x24
jne 0x413bec
lea esi, [edi + 0x18]
call fcn.00415380
mov eax, edi
call fcn.00413890
jmp 0x413bae
cmp ecx, 0x2a
je 0x413c48
cmp ecx, 0x2b
je 0x413c48
cmp ecx, 0x3f
je 0x413c48
cmp ecx, 0x7b
je 0x413c48
cmp ecx, 0x7d
jne 0x413c16
test dword [edi + 0x44], edx
jne 0x413c16
push 6
call fcn.004370a4
add esp, 4
jmp 0x413ba7
cmp ecx, 0x5d
jne 0x413c2f
test dword [edi + 0x44], edx
jne 0x413c2f
push 4
call fcn.004370a4
add esp, 4
jmp 0x413ba7
movzx edx, byte [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.00415420
mov eax, edi
call fcn.00413890
jmp 0x413ba7
push 0xa
call fcn.004370a4
add esp, 4
jmp 0x413ba7