Function at 0x410d70
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 0x411049
jmp 0x410d87
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x411049
cmp ecx, 0x29
jne 0x410dba
cmp dword [edi + 0x10], ebx
jne 0x411049
test dword [edi + 0x44], edx
jne 0x410dba
push 5
call fcn.00475434
add esp, 4
jmp 0x411036
cmp ecx, 0x2e
jne 0x410e57
push 0x14
call fcn.004765f6
add esp, 4
cmp eax, ebx
je 0x410de9
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 0x410deb
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 0x410e07
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 0x410e4b
cmp byte [eax], 0x5c
jne 0x410e49
inc eax
cmp eax, ecx
je 0x410e35
test byte [edi + 0x44], 8
jne 0x410e35
mov cl, byte [eax]
cmp cl, 0x28
je 0x410e47
cmp cl, 0x29
je 0x410e47
test byte [edi + 0x44], 0x10
jne 0x410e49
mov cl, byte [eax]
cmp cl, 0x7b
je 0x410e47
cmp cl, 0x7d
jne 0x410e49
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0040fd10
jmp 0x411036
cmp ecx, 0x5c
jne 0x410f32
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410e9b
cmp byte [eax], 0x5c
jne 0x410e99
inc eax
cmp eax, ecx
je 0x410e85
test byte [edi + 0x44], 8
jne 0x410e85
mov cl, byte [eax]
cmp cl, 0x28
je 0x410e97
cmp cl, 0x29
je 0x410e97
test byte [edi + 0x44], 0x10
jne 0x410e99
mov cl, byte [eax]
cmp cl, 0x7b
je 0x410e97
cmp cl, 0x7d
jne 0x410e99
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0040fd10
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x410f01
cmp byte [edi + 0x3e], 0x62
jne 0x410f01
lea esi, [edi + 0x18]
call fcn.00412050
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410ef5
cmp byte [eax], 0x5c
jne 0x410ef3
inc eax
cmp eax, ecx
je 0x410edf
test byte [edi + 0x44], 8
jne 0x410edf
mov cl, byte [eax]
cmp cl, 0x28
je 0x410ef1
cmp cl, 0x29
je 0x410ef1
test byte [edi + 0x44], 0x10
jne 0x410ef3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x410ef1
cmp cl, 0x7d
jne 0x410ef3
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0040fd10
jmp 0x41103d
cmp eax, ebx
je 0x410f26
cmp byte [edi + 0x3e], 0x42
jne 0x410f26
lea esi, [edi + 0x18]
call fcn.00412050
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.00410d20
jmp 0x41103d
mov eax, edi
call fcn.00411d20
jmp 0x411036
cmp ecx, 0x5b
jne 0x410fd4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410f76
cmp byte [eax], 0x5c
jne 0x410f74
inc eax
cmp eax, ecx
je 0x410f60
test byte [edi + 0x44], 8
jne 0x410f60
mov cl, byte [eax]
cmp cl, 0x28
je 0x410f72
cmp cl, 0x29
je 0x410f72
test byte [edi + 0x44], 0x10
jne 0x410f74
mov cl, byte [eax]
cmp cl, 0x7b
je 0x410f72
cmp cl, 0x7d
jne 0x410f74
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0040fd10
call fcn.00411c70
cmp dword [edi + 0x40], 0x5d
je 0x410f92
push 4
call fcn.00475434
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x410fcd
cmp byte [eax], 0x5c
jne 0x410fcb
inc eax
cmp eax, ecx
je 0x410fb7
test byte [edi + 0x44], 8
jne 0x410fb7
mov cl, byte [eax]
cmp cl, 0x28
je 0x410fc9
cmp cl, 0x29
je 0x410fc9
test byte [edi + 0x44], 0x10
jne 0x410fcb
mov cl, byte [eax]
cmp cl, 0x7b
je 0x410fc9
cmp cl, 0x7d
jne 0x410fcb
mov dword [edi], eax
inc dword [edi]
call fcn.0040fd10
jmp 0x411036
cmp ecx, 0x28
jne 0x41104d
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x411014
cmp byte [eax], 0x5c
jne 0x411012
inc eax
cmp eax, ecx
je 0x410ffe
test byte [edi + 0x44], 8
jne 0x410ffe
mov cl, byte [eax]
cmp cl, 0x28
je 0x411010
cmp cl, 0x29
je 0x411010
test byte [edi + 0x44], 0x10
jne 0x411012
mov cl, byte [eax]
cmp cl, 0x7b
je 0x411010
cmp cl, 0x7d
jne 0x411012
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.0040fd10
mov eax, edi
call fcn.00411dd0
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.00411c10
test bl, bl
je 0x41103d
mov eax, edi
call fcn.00411e80
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x410d85
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x411063
lea esi, [edi + 0x18]
call fcn.00411fb0
mov eax, edi
call fcn.00410d20
jmp 0x41103d
cmp ecx, 0x24
jne 0x411079
lea esi, [edi + 0x18]
call fcn.00412000
mov eax, edi
call fcn.00410d20
jmp 0x41103d
cmp ecx, 0x2a
je 0x4110d5
cmp ecx, 0x2b
je 0x4110d5
cmp ecx, 0x3f
je 0x4110d5
cmp ecx, 0x7b
je 0x4110d5
cmp ecx, 0x7d
jne 0x4110a3
test dword [edi + 0x44], edx
jne 0x4110a3
push 6
call fcn.00475434
add esp, 4
jmp 0x411036
cmp ecx, 0x5d
jne 0x4110bc
test dword [edi + 0x44], edx
jne 0x4110bc
push 4
call fcn.00475434
add esp, 4
jmp 0x411036
movzx edx, byte [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.004120a0
mov eax, edi
call fcn.00410d20
jmp 0x411036
push 0xa
call fcn.00475434
add esp, 4
jmp 0x411036