Function at 0x427dc0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor al, al
cmp dword [edi + 0x40], 0xffff
je 0x428044
mov ecx, dword [edi + 0x40]
cmp ecx, 0x7c
je 0x428044
xor ebx, ebx
cmp ecx, 0x29
jne 0x427e09
cmp dword [edi + 0x10], ebx
jne 0x428044
mov eax, 0x10000000
test dword [edi + 0x44], eax
jne 0x427e0e
push 5
call fcn.00471b77
add esp, 4
jmp 0x42802e
mov eax, 0x10000000
cmp ecx, 0x2e
jne 0x427eb1
push 0x14
call fcn.00472e9c
add esp, 4
cmp eax, ebx
je 0x427e3d
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 0x427e3f
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 0x427e5b
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 0x427ea5
cmp word [eax], 0x5c
jne 0x427ea2
add eax, 2
cmp eax, ecx
je 0x427e8d
test byte [edi + 0x44], 8
jne 0x427e8d
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x427ea0
cmp ecx, 0x29
je 0x427ea0
test byte [edi + 0x44], 0x10
jne 0x427ea2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x427ea0
cmp ecx, 0x7d
jne 0x427ea2
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00427290
jmp 0x42802e
cmp ecx, 0x5c
jne 0x427f59
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x427efb
cmp word [eax], 0x5c
jne 0x427ef8
add eax, 2
cmp eax, ecx
je 0x427ee3
test byte [edi + 0x44], 8
jne 0x427ee3
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x427ef6
cmp ecx, 0x29
je 0x427ef6
test byte [edi + 0x44], 0x10
jne 0x427ef8
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x427ef6
cmp ecx, 0x7d
jne 0x427ef8
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00427290
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x427f27
cmp word [edi + 0x3e], 0x62
jne 0x427f27
lea esi, [edi + 0x18]
call fcn.00429070
mov eax, edi
call fcn.00427d70
jmp 0x428035
cmp eax, ebx
je 0x427f4d
cmp word [edi + 0x3e], 0x42
jne 0x427f4d
lea esi, [edi + 0x18]
call fcn.00429070
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.00427d70
jmp 0x428035
mov eax, edi
call fcn.00428d10
jmp 0x42802e
cmp ecx, 0x5b
jne 0x428007
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x427fa3
cmp word [eax], 0x5c
jne 0x427fa0
add eax, 2
cmp eax, ecx
je 0x427f8b
test byte [edi + 0x44], 8
jne 0x427f8b
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x427f9e
cmp ecx, 0x29
je 0x427f9e
test byte [edi + 0x44], 0x10
jne 0x427fa0
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x427f9e
cmp ecx, 0x7d
jne 0x427fa0
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00427290
call fcn.00428ca0
cmp dword [edi + 0x40], 0x5d
je 0x427fbf
push 4
call fcn.00471b77
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x428000
cmp word [eax], 0x5c
jne 0x427ffd
add eax, 2
cmp eax, ecx
je 0x427fe8
test byte [edi + 0x44], 8
jne 0x427fe8
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x427ffb
cmp ecx, 0x29
je 0x427ffb
test byte [edi + 0x44], 0x10
jne 0x427ffd
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x427ffb
cmp ecx, 0x7d
jne 0x427ffd
mov dword [edi], eax
add dword [edi], 2
call fcn.00427290
jmp 0x42802e
cmp ecx, 0x28
jne 0x428048
mov eax, edi
call fcn.00427d70
mov eax, edi
call fcn.00428de0
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.00428c30
test bl, bl
je 0x428035
mov eax, edi
call fcn.00428e90
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x427dd4
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x42805e
lea esi, [edi + 0x18]
call fcn.00428fd0
mov eax, edi
call fcn.00427d70
jmp 0x428035
cmp ecx, 0x24
jne 0x428074
lea esi, [edi + 0x18]
call fcn.00429020
mov eax, edi
call fcn.00427d70
jmp 0x428035
cmp ecx, 0x2a
je 0x4280d0
cmp ecx, 0x2b
je 0x4280d0
cmp ecx, 0x3f
je 0x4280d0
cmp ecx, 0x7b
je 0x4280d0
cmp ecx, 0x7d
jne 0x42809e
test dword [edi + 0x44], eax
jne 0x42809e
push 6
call fcn.00471b77
add esp, 4
jmp 0x42802e
cmp ecx, 0x5d
jne 0x4280b7
test dword [edi + 0x44], eax
jne 0x4280b7
push 4
call fcn.00471b77
add esp, 4
jmp 0x42802e
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.004290c0
mov eax, edi
call fcn.00427d70
jmp 0x42802e
push 0xa
call fcn.00471b77
add esp, 4
jmp 0x42802e