Function at 0x414820
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], 0xffff
je 0x414b2d
jmp 0x414842
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x414b2d
cmp ecx, 0x29
jne 0x414875
cmp dword [edi + 0x10], ebx
jne 0x414b2d
test dword [edi + 0x44], edx
jne 0x414875
push 5
call fcn.0041c74d
add esp, 4
jmp 0x414b17
cmp ecx, 0x2e
jne 0x414918
push 0x14
call fcn.0041dabd
add esp, 4
cmp eax, ebx
je 0x4148a4
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 0x4148a6
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 0x4148c2
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 0x41490c
cmp word [eax], 0x5c
jne 0x414909
add eax, 2
cmp eax, ecx
je 0x4148f4
test byte [edi + 0x44], 8
jne 0x4148f4
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x414907
cmp ecx, 0x29
je 0x414907
test byte [edi + 0x44], 0x10
jne 0x414909
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x414907
cmp ecx, 0x7d
jne 0x414909
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00413e80
jmp 0x414b17
cmp ecx, 0x5c
jne 0x414a01
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x414962
cmp word [eax], 0x5c
jne 0x41495f
add eax, 2
cmp eax, ecx
je 0x41494a
test byte [edi + 0x44], 8
jne 0x41494a
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41495d
cmp ecx, 0x29
je 0x41495d
test byte [edi + 0x44], 0x10
jne 0x41495f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41495d
cmp ecx, 0x7d
jne 0x41495f
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00413e80
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x4149cf
cmp word [edi + 0x3e], 0x62
jne 0x4149cf
lea esi, [edi + 0x18]
call fcn.00415c70
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4149c3
cmp word [eax], 0x5c
jne 0x4149c0
add eax, 2
cmp eax, ecx
je 0x4149ab
test byte [edi + 0x44], 8
jne 0x4149ab
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4149be
cmp ecx, 0x29
je 0x4149be
test byte [edi + 0x44], 0x10
jne 0x4149c0
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4149be
cmp ecx, 0x7d
jne 0x4149c0
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00413e80
jmp 0x414b1e
cmp eax, ebx
je 0x4149f5
cmp word [edi + 0x3e], 0x42
jne 0x4149f5
lea esi, [edi + 0x18]
call fcn.00415c70
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.004147d0
jmp 0x414b1e
mov eax, edi
call fcn.00415910
jmp 0x414b17
cmp ecx, 0x5b
jne 0x414aaf
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x414a4b
cmp word [eax], 0x5c
jne 0x414a48
add eax, 2
cmp eax, ecx
je 0x414a33
test byte [edi + 0x44], 8
jne 0x414a33
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x414a46
cmp ecx, 0x29
je 0x414a46
test byte [edi + 0x44], 0x10
jne 0x414a48
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x414a46
cmp ecx, 0x7d
jne 0x414a48
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00413e80
call fcn.00415860
cmp dword [edi + 0x40], 0x5d
je 0x414a67
push 4
call fcn.0041c74d
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x414aa8
cmp word [eax], 0x5c
jne 0x414aa5
add eax, 2
cmp eax, ecx
je 0x414a90
test byte [edi + 0x44], 8
jne 0x414a90
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x414aa3
cmp ecx, 0x29
je 0x414aa3
test byte [edi + 0x44], 0x10
jne 0x414aa5
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x414aa3
cmp ecx, 0x7d
jne 0x414aa5
mov dword [edi], eax
add dword [edi], 2
call fcn.00413e80
jmp 0x414b17
cmp ecx, 0x28
jne 0x414b31
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x414af5
cmp word [eax], 0x5c
jne 0x414af2
add eax, 2
cmp eax, ecx
je 0x414add
test byte [edi + 0x44], 8
jne 0x414add
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x414af0
cmp ecx, 0x29
je 0x414af0
test byte [edi + 0x44], 0x10
jne 0x414af2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x414af0
cmp ecx, 0x7d
jne 0x414af2
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00413e80
mov eax, edi
call fcn.004159e0
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.004157f0
test bl, bl
je 0x414b1e
mov eax, edi
call fcn.00415a90
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x414840
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x414b47
lea esi, [edi + 0x18]
call fcn.00415bd0
mov eax, edi
call fcn.004147d0
jmp 0x414b1e
cmp ecx, 0x24
jne 0x414b5d
lea esi, [edi + 0x18]
call fcn.00415c20
mov eax, edi
call fcn.004147d0
jmp 0x414b1e
cmp ecx, 0x2a
je 0x414bb9
cmp ecx, 0x2b
je 0x414bb9
cmp ecx, 0x3f
je 0x414bb9
cmp ecx, 0x7b
je 0x414bb9
cmp ecx, 0x7d
jne 0x414b87
test dword [edi + 0x44], edx
jne 0x414b87
push 6
call fcn.0041c74d
add esp, 4
jmp 0x414b17
cmp ecx, 0x5d
jne 0x414ba0
test dword [edi + 0x44], edx
jne 0x414ba0
push 4
call fcn.0041c74d
add esp, 4
jmp 0x414b17
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.00415cc0
mov eax, edi
call fcn.004147d0
jmp 0x414b17
push 0xa
call fcn.0041c74d
add esp, 4
jmp 0x414b17