Function at 0x406820
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 0x406b7d
jmp 0x406837
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x406b7d
cmp ecx, 0x29
jne 0x40686a
cmp dword [edi + 0x10], ebx
jne 0x406b7d
test dword [edi + 0x44], edx
jne 0x40686a
push 5
call fcn.00494872
add esp, 4
jmp 0x406b6a
cmp ecx, 0x2e
jne 0x406907
push 0x14
call fcn.004962bc
add esp, 4
cmp eax, ebx
je 0x406899
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 0x40689b
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 0x4068b7
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 0x4068fb
cmp byte [eax], 0x5c
jne 0x4068f9
inc eax
cmp eax, ecx
je 0x4068e5
test byte [edi + 0x44], 8
jne 0x4068e5
mov cl, byte [eax]
cmp cl, 0x28
je 0x4068f7
cmp cl, 0x29
je 0x4068f7
test byte [edi + 0x44], 0x10
jne 0x4068f9
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4068f7
cmp cl, 0x7d
jne 0x4068f9
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00406380
jmp 0x406b6a
cmp ecx, 0x5c
jne 0x406a1d
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x40694b
cmp byte [eax], 0x5c
jne 0x406949
inc eax
cmp eax, ecx
je 0x406935
test byte [edi + 0x44], 8
jne 0x406935
mov cl, byte [eax]
cmp cl, 0x28
je 0x406947
cmp cl, 0x29
je 0x406947
test byte [edi + 0x44], 0x10
jne 0x406949
mov cl, byte [eax]
cmp cl, 0x7b
je 0x406947
cmp cl, 0x7d
jne 0x406949
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00406380
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x4069b1
cmp byte [edi + 0x3e], 0x62
jne 0x4069b1
lea esi, [edi + 0x18]
call fcn.00419040
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4069a5
cmp byte [eax], 0x5c
jne 0x4069a3
inc eax
cmp eax, ecx
je 0x40698f
test byte [edi + 0x44], 8
jne 0x40698f
mov cl, byte [eax]
cmp cl, 0x28
je 0x4069a1
cmp cl, 0x29
je 0x4069a1
test byte [edi + 0x44], 0x10
jne 0x4069a3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4069a1
cmp cl, 0x7d
jne 0x4069a3
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00406380
jmp 0x406b71
cmp eax, ebx
je 0x406a11
cmp byte [edi + 0x3e], 0x42
jne 0x406a11
lea esi, [edi + 0x18]
call fcn.00419040
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x406a05
cmp byte [eax], 0x5c
jne 0x406a03
inc eax
cmp eax, ecx
je 0x4069ef
test byte [edi + 0x44], 8
jne 0x4069ef
mov cl, byte [eax]
cmp cl, 0x28
je 0x406a01
cmp cl, 0x29
je 0x406a01
test byte [edi + 0x44], 0x10
jne 0x406a03
mov cl, byte [eax]
cmp cl, 0x7b
je 0x406a01
cmp cl, 0x7d
jne 0x406a03
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00406380
jmp 0x406b71
mov eax, edi
call fcn.00407350
jmp 0x406b6a
cmp ecx, 0x5b
jne 0x406ac2
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x406a61
cmp byte [eax], 0x5c
jne 0x406a5f
inc eax
cmp eax, ecx
je 0x406a4b
test byte [edi + 0x44], 8
jne 0x406a4b
mov cl, byte [eax]
cmp cl, 0x28
je 0x406a5d
cmp cl, 0x29
je 0x406a5d
test byte [edi + 0x44], 0x10
jne 0x406a5f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x406a5d
cmp cl, 0x7d
jne 0x406a5f
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00406380
call fcn.004072a0
cmp dword [edi + 0x40], 0x5d
je 0x406a7d
push 4
call fcn.00494872
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x406ab8
cmp byte [eax], 0x5c
jne 0x406ab6
inc eax
cmp eax, ecx
je 0x406aa2
test byte [edi + 0x44], 8
jne 0x406aa2
mov cl, byte [eax]
cmp cl, 0x28
je 0x406ab4
cmp cl, 0x29
je 0x406ab4
test byte [edi + 0x44], 0x10
jne 0x406ab6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x406ab4
cmp cl, 0x7d
jne 0x406ab6
mov dword [edi], eax
inc dword [edi]
call fcn.00406380
jmp 0x406b6a
cmp ecx, 0x28
jne 0x406b81
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x406b06
cmp byte [eax], 0x5c
jne 0x406b04
inc eax
cmp eax, ecx
je 0x406af0
test byte [edi + 0x44], 8
jne 0x406af0
mov cl, byte [eax]
cmp cl, 0x28
je 0x406b02
cmp cl, 0x29
je 0x406b02
test byte [edi + 0x44], 0x10
jne 0x406b04
mov cl, byte [eax]
cmp cl, 0x7b
je 0x406b02
cmp cl, 0x7d
jne 0x406b04
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00406380
mov eax, edi
call fcn.00407410
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x406b26
push 5
call fcn.00494872
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x406b61
cmp byte [eax], 0x5c
jne 0x406b5f
inc eax
cmp eax, ecx
je 0x406b4b
test byte [edi + 0x44], 8
jne 0x406b4b
mov cl, byte [eax]
cmp cl, 0x28
je 0x406b5d
cmp cl, 0x29
je 0x406b5d
test byte [edi + 0x44], 0x10
jne 0x406b5f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x406b5d
cmp cl, 0x7d
jne 0x406b5f
mov dword [edi], eax
inc dword [edi]
call fcn.00406380
test bl, bl
je 0x406b71
mov eax, edi
call fcn.004074c0
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x406835
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x406b97
lea esi, [edi + 0x18]
call fcn.00418ff0
mov eax, edi
call fcn.004067d0
jmp 0x406b71
cmp ecx, 0x24
jne 0x406bad
lea esi, [edi + 0x18]
call fcn.004075f0
mov eax, edi
call fcn.004067d0
jmp 0x406b71
cmp ecx, 0x2a
je 0x406c09
cmp ecx, 0x2b
je 0x406c09
cmp ecx, 0x3f
je 0x406c09
cmp ecx, 0x7b
je 0x406c09
cmp ecx, 0x7d
jne 0x406bd7
test dword [edi + 0x44], edx
jne 0x406bd7
push 6
call fcn.00494872
add esp, 4
jmp 0x406b6a
cmp ecx, 0x5d
jne 0x406bf0
test dword [edi + 0x44], edx
jne 0x406bf0
push 4
call fcn.00494872
add esp, 4
jmp 0x406b6a
movzx edx, byte [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.00407640
mov eax, edi
call fcn.004067d0
jmp 0x406b6a
push 0xa
call fcn.00494872
add esp, 4
jmp 0x406b6a