Function at 0x411c20
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor al, al
cmp dword [edi + 0x40], 0xffff
je 0x411ea4
mov ecx, dword [edi + 0x40]
cmp ecx, 0x7c
je 0x411ea4
xor ebx, ebx
cmp ecx, 0x29
jne 0x411c69
cmp dword [edi + 0x10], ebx
jne 0x411ea4
mov eax, 0x10000000
test dword [edi + 0x44], eax
jne 0x411c6e
push 5
call fcn.00516989
add esp, 4
jmp 0x411e8e
mov eax, 0x10000000
cmp ecx, 0x2e
jne 0x411d11
push 0x14
call fcn.004f7806
add esp, 4
cmp eax, ebx
je 0x411c9d
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 0x411c9f
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 0x411cbb
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 0x411d05
cmp word [eax], 0x5c
jne 0x411d02
add eax, 2
cmp eax, ecx
je 0x411ced
test byte [edi + 0x44], 8
jne 0x411ced
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x411d00
cmp ecx, 0x29
je 0x411d00
test byte [edi + 0x44], 0x10
jne 0x411d02
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x411d00
cmp ecx, 0x7d
jne 0x411d02
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00411520
jmp 0x411e8e
cmp ecx, 0x5c
jne 0x411db9
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x411d5b
cmp word [eax], 0x5c
jne 0x411d58
add eax, 2
cmp eax, ecx
je 0x411d43
test byte [edi + 0x44], 8
jne 0x411d43
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x411d56
cmp ecx, 0x29
je 0x411d56
test byte [edi + 0x44], 0x10
jne 0x411d58
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x411d56
cmp ecx, 0x7d
jne 0x411d58
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00411520
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x411d87
cmp word [edi + 0x3e], 0x62
jne 0x411d87
lea esi, [edi + 0x18]
call fcn.00412a20
mov eax, edi
call fcn.00411bd0
jmp 0x411e95
cmp eax, ebx
je 0x411dad
cmp word [edi + 0x3e], 0x42
jne 0x411dad
lea esi, [edi + 0x18]
call fcn.00412a20
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.00411bd0
jmp 0x411e95
mov eax, edi
call fcn.004126d0
jmp 0x411e8e
cmp ecx, 0x5b
jne 0x411e67
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x411e03
cmp word [eax], 0x5c
jne 0x411e00
add eax, 2
cmp eax, ecx
je 0x411deb
test byte [edi + 0x44], 8
jne 0x411deb
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x411dfe
cmp ecx, 0x29
je 0x411dfe
test byte [edi + 0x44], 0x10
jne 0x411e00
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x411dfe
cmp ecx, 0x7d
jne 0x411e00
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00411520
call fcn.00412660
cmp dword [edi + 0x40], 0x5d
je 0x411e1f
push 4
call fcn.00516989
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x411e60
cmp word [eax], 0x5c
jne 0x411e5d
add eax, 2
cmp eax, ecx
je 0x411e48
test byte [edi + 0x44], 8
jne 0x411e48
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x411e5b
cmp ecx, 0x29
je 0x411e5b
test byte [edi + 0x44], 0x10
jne 0x411e5d
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x411e5b
cmp ecx, 0x7d
jne 0x411e5d
mov dword [edi], eax
add dword [edi], 2
call fcn.00411520
jmp 0x411e8e
cmp ecx, 0x28
jne 0x411ea8
mov eax, edi
call fcn.00411bd0
mov eax, edi
call fcn.00412790
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.004125f0
test bl, bl
je 0x411e95
mov eax, edi
call fcn.00412840
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x411c34
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x411ebe
lea esi, [edi + 0x18]
call fcn.00412980
mov eax, edi
call fcn.00411bd0
jmp 0x411e95
cmp ecx, 0x24
jne 0x411ed4
lea esi, [edi + 0x18]
call fcn.004129d0
mov eax, edi
call fcn.00411bd0
jmp 0x411e95
cmp ecx, 0x2a
je 0x411f30
cmp ecx, 0x2b
je 0x411f30
cmp ecx, 0x3f
je 0x411f30
cmp ecx, 0x7b
je 0x411f30
cmp ecx, 0x7d
jne 0x411efe
test dword [edi + 0x44], eax
jne 0x411efe
push 6
call fcn.00516989
add esp, 4
jmp 0x411e8e
cmp ecx, 0x5d
jne 0x411f17
test dword [edi + 0x44], eax
jne 0x411f17
push 4
call fcn.00516989
add esp, 4
jmp 0x411e8e
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.00412a70
mov eax, edi
call fcn.00411bd0
jmp 0x411e8e
push 0xa
call fcn.00516989
add esp, 4
jmp 0x411e8e