Function at 0x416a70
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor al, al
cmp dword [edi + 0x40], 0xffff
je 0x416cf4
mov ecx, dword [edi + 0x40]
cmp ecx, 0x7c
je 0x416cf4
xor ebx, ebx
cmp ecx, 0x29
jne 0x416ab9
cmp dword [edi + 0x10], ebx
jne 0x416cf4
mov eax, 0x10000000
test dword [edi + 0x44], eax
jne 0x416abe
push 5
call fcn.0047ed9a
add esp, 4
jmp 0x416cde
mov eax, 0x10000000
cmp ecx, 0x2e
jne 0x416b61
push 0x14
call fcn.0047f786
add esp, 4
cmp eax, ebx
je 0x416aed
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 0x416aef
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 0x416b0b
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 0x416b55
cmp word [eax], 0x5c
jne 0x416b52
add eax, 2
cmp eax, ecx
je 0x416b3d
test byte [edi + 0x44], 8
jne 0x416b3d
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x416b50
cmp ecx, 0x29
je 0x416b50
test byte [edi + 0x44], 0x10
jne 0x416b52
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x416b50
cmp ecx, 0x7d
jne 0x416b52
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00416370
jmp 0x416cde
cmp ecx, 0x5c
jne 0x416c09
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x416bab
cmp word [eax], 0x5c
jne 0x416ba8
add eax, 2
cmp eax, ecx
je 0x416b93
test byte [edi + 0x44], 8
jne 0x416b93
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x416ba6
cmp ecx, 0x29
je 0x416ba6
test byte [edi + 0x44], 0x10
jne 0x416ba8
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x416ba6
cmp ecx, 0x7d
jne 0x416ba8
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00416370
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x416bd7
cmp word [edi + 0x3e], 0x62
jne 0x416bd7
lea esi, [edi + 0x18]
call fcn.00417880
mov eax, edi
call fcn.00416a20
jmp 0x416ce5
cmp eax, ebx
je 0x416bfd
cmp word [edi + 0x3e], 0x42
jne 0x416bfd
lea esi, [edi + 0x18]
call fcn.00417880
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.00416a20
jmp 0x416ce5
mov eax, edi
call fcn.00417520
jmp 0x416cde
cmp ecx, 0x5b
jne 0x416cb7
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x416c53
cmp word [eax], 0x5c
jne 0x416c50
add eax, 2
cmp eax, ecx
je 0x416c3b
test byte [edi + 0x44], 8
jne 0x416c3b
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x416c4e
cmp ecx, 0x29
je 0x416c4e
test byte [edi + 0x44], 0x10
jne 0x416c50
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x416c4e
cmp ecx, 0x7d
jne 0x416c50
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00416370
call fcn.004174b0
cmp dword [edi + 0x40], 0x5d
je 0x416c6f
push 4
call fcn.0047ed9a
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x416cb0
cmp word [eax], 0x5c
jne 0x416cad
add eax, 2
cmp eax, ecx
je 0x416c98
test byte [edi + 0x44], 8
jne 0x416c98
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x416cab
cmp ecx, 0x29
je 0x416cab
test byte [edi + 0x44], 0x10
jne 0x416cad
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x416cab
cmp ecx, 0x7d
jne 0x416cad
mov dword [edi], eax
add dword [edi], 2
call fcn.00416370
jmp 0x416cde
cmp ecx, 0x28
jne 0x416cf8
mov eax, edi
call fcn.00416a20
mov eax, edi
call fcn.004175f0
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.00417440
test bl, bl
je 0x416ce5
mov eax, edi
call fcn.004176a0
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x416a84
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x416d0e
lea esi, [edi + 0x18]
call fcn.004177e0
mov eax, edi
call fcn.00416a20
jmp 0x416ce5
cmp ecx, 0x24
jne 0x416d24
lea esi, [edi + 0x18]
call fcn.00417830
mov eax, edi
call fcn.00416a20
jmp 0x416ce5
cmp ecx, 0x2a
je 0x416d80
cmp ecx, 0x2b
je 0x416d80
cmp ecx, 0x3f
je 0x416d80
cmp ecx, 0x7b
je 0x416d80
cmp ecx, 0x7d
jne 0x416d4e
test dword [edi + 0x44], eax
jne 0x416d4e
push 6
call fcn.0047ed9a
add esp, 4
jmp 0x416cde
cmp ecx, 0x5d
jne 0x416d67
test dword [edi + 0x44], eax
jne 0x416d67
push 4
call fcn.0047ed9a
add esp, 4
jmp 0x416cde
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.004178d0
mov eax, edi
call fcn.00416a20
jmp 0x416cde
push 0xa
call fcn.0047ed9a
add esp, 4
jmp 0x416cde