Function at 0x4055e0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor al, al
cmp dword [edi + 0x40], 0xffff
je 0x405864
mov ecx, dword [edi + 0x40]
cmp ecx, 0x7c
je 0x405864
xor ebx, ebx
cmp ecx, 0x29
jne 0x405629
cmp dword [edi + 0x10], ebx
jne 0x405864
mov eax, 0x10000000
test dword [edi + 0x44], eax
jne 0x40562e
push 5
call fcn.004726a7
add esp, 4
jmp 0x40584e
mov eax, 0x10000000
cmp ecx, 0x2e
jne 0x4056d1
push 0x14
call fcn.004739eb
add esp, 4
cmp eax, ebx
je 0x40565d
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 0x40565f
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 0x40567b
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 0x4056c5
cmp word [eax], 0x5c
jne 0x4056c2
add eax, 2
cmp eax, ecx
je 0x4056ad
test byte [edi + 0x44], 8
jne 0x4056ad
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4056c0
cmp ecx, 0x29
je 0x4056c0
test byte [edi + 0x44], 0x10
jne 0x4056c2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4056c0
cmp ecx, 0x7d
jne 0x4056c2
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00404c70
jmp 0x40584e
cmp ecx, 0x5c
jne 0x405779
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x40571b
cmp word [eax], 0x5c
jne 0x405718
add eax, 2
cmp eax, ecx
je 0x405703
test byte [edi + 0x44], 8
jne 0x405703
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x405716
cmp ecx, 0x29
je 0x405716
test byte [edi + 0x44], 0x10
jne 0x405718
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x405716
cmp ecx, 0x7d
jne 0x405718
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00404c70
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x405747
cmp word [edi + 0x3e], 0x62
jne 0x405747
lea esi, [edi + 0x18]
call fcn.00406870
mov eax, edi
call fcn.00405590
jmp 0x405855
cmp eax, ebx
je 0x40576d
cmp word [edi + 0x3e], 0x42
jne 0x40576d
lea esi, [edi + 0x18]
call fcn.00406870
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, edi
call fcn.00405590
jmp 0x405855
mov eax, edi
call fcn.004065c0
jmp 0x40584e
cmp ecx, 0x5b
jne 0x405827
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x4057c3
cmp word [eax], 0x5c
jne 0x4057c0
add eax, 2
cmp eax, ecx
je 0x4057ab
test byte [edi + 0x44], 8
jne 0x4057ab
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4057be
cmp ecx, 0x29
je 0x4057be
test byte [edi + 0x44], 0x10
jne 0x4057c0
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4057be
cmp ecx, 0x7d
jne 0x4057c0
mov dword [edi], eax
add dword [edi], 2
mov esi, edi
call fcn.00404c70
call fcn.00406550
cmp dword [edi + 0x40], 0x5d
je 0x4057df
push 4
call fcn.004726a7
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x405820
cmp word [eax], 0x5c
jne 0x40581d
add eax, 2
cmp eax, ecx
je 0x405808
test byte [edi + 0x44], 8
jne 0x405808
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x40581b
cmp ecx, 0x29
je 0x40581b
test byte [edi + 0x44], 0x10
jne 0x40581d
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40581b
cmp ecx, 0x7d
jne 0x40581d
mov dword [edi], eax
add dword [edi], 2
call fcn.00404c70
jmp 0x40584e
cmp ecx, 0x28
jne 0x405868
mov eax, edi
call fcn.00405590
mov esi, edi
call fcn.00406690
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.004064e0
test bl, bl
je 0x405855
mov eax, edi
call fcn.00406740
cmp dword [edi + 0x40], 0xffff
mov al, 1
jne 0x4055f4
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x40587e
lea esi, [edi + 0x18]
call fcn.00448420
mov eax, edi
call fcn.00405590
jmp 0x405855
cmp ecx, 0x24
jne 0x405894
lea esi, [edi + 0x18]
call fcn.00448470
mov eax, edi
call fcn.00405590
jmp 0x405855
cmp ecx, 0x2a
je 0x4058f0
cmp ecx, 0x2b
je 0x4058f0
cmp ecx, 0x3f
je 0x4058f0
cmp ecx, 0x7b
je 0x4058f0
cmp ecx, 0x7d
jne 0x4058be
test dword [edi + 0x44], eax
jne 0x4058be
push 6
call fcn.004726a7
add esp, 4
jmp 0x40584e
cmp ecx, 0x5d
jne 0x4058d7
test dword [edi + 0x44], eax
jne 0x4058d7
push 4
call fcn.004726a7
add esp, 4
jmp 0x40584e
movzx edx, word [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.004484c0
mov eax, edi
call fcn.00405590
jmp 0x40584e
push 0xa
call fcn.004726a7
add esp, 4
jmp 0x40584e