Function at 0x426540
Capabilities:
Parse credit card information

Disassembly:
push esi
push edi
mov esi, ecx
xor edi, edi
xor al, al
cmp dword [esi + 0x40], 0xffffffff
je 0x426852
push ebx
mov ecx, dword [esi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x426851
cmp ecx, 0x29
jne 0x426586
cmp dword [esi + 0x10], edi
jne 0x426851
test dword [esi + 0x44], edx
jne 0x426586
push 5
call fcn.0047500d
add esp, 4
jmp 0x42683e
cmp ecx, 0x2e
jne 0x426623
push 0x14
call fcn.00477826
add esp, 4
cmp eax, edi
je 0x4265b5
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
jmp 0x4265b7
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, edi
je 0x4265d3
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [esi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x426617
cmp byte [eax], 0x5c
jne 0x426615
inc eax
cmp eax, ecx
je 0x426601
test byte [esi + 0x44], 8
jne 0x426601
mov cl, byte [eax]
cmp cl, 0x28
je 0x426613
cmp cl, 0x29
je 0x426613
test byte [esi + 0x44], 0x10
jne 0x426615
mov cl, byte [eax]
cmp cl, 0x7b
je 0x426613
cmp cl, 0x7d
jne 0x426615
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00420fe0
jmp 0x42683e
cmp ecx, 0x5c
jne 0x426739
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x426667
cmp byte [eax], 0x5c
jne 0x426665
inc eax
cmp eax, ecx
je 0x426651
test byte [esi + 0x44], 8
jne 0x426651
mov cl, byte [eax]
cmp cl, 0x28
je 0x426663
cmp cl, 0x29
je 0x426663
test byte [esi + 0x44], 0x10
jne 0x426665
mov cl, byte [eax]
cmp cl, 0x7b
je 0x426663
cmp cl, 0x7d
jne 0x426665
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00420fe0
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x4266cd
cmp byte [esi + 0x3e], 0x62
jne 0x4266cd
lea ecx, [esi + 0x18]
call fcn.00420550
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4266c1
cmp byte [eax], 0x5c
jne 0x4266bf
inc eax
cmp eax, ecx
je 0x4266ab
test byte [esi + 0x44], 8
jne 0x4266ab
mov cl, byte [eax]
cmp cl, 0x28
je 0x4266bd
cmp cl, 0x29
je 0x4266bd
test byte [esi + 0x44], 0x10
jne 0x4266bf
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4266bd
cmp cl, 0x7d
jne 0x4266bf
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00420fe0
jmp 0x426845
cmp eax, edi
je 0x42672d
cmp byte [esi + 0x3e], 0x42
jne 0x42672d
lea ecx, [esi + 0x18]
call fcn.00420550
mov eax, dword [esi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x426721
cmp byte [eax], 0x5c
jne 0x42671f
inc eax
cmp eax, ecx
je 0x42670b
test byte [esi + 0x44], 8
jne 0x42670b
mov cl, byte [eax]
cmp cl, 0x28
je 0x42671d
cmp cl, 0x29
je 0x42671d
test byte [esi + 0x44], 0x10
jne 0x42671f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x42671d
cmp cl, 0x7d
jne 0x42671f
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00420fe0
jmp 0x426845
mov ecx, esi
call fcn.00425050
jmp 0x42683e
cmp ecx, 0x5b
jne 0x4267df
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x42677d
cmp byte [eax], 0x5c
jne 0x42677b
inc eax
cmp eax, ecx
je 0x426767
test byte [esi + 0x44], 8
jne 0x426767
mov cl, byte [eax]
cmp cl, 0x28
je 0x426779
cmp cl, 0x29
je 0x426779
test byte [esi + 0x44], 0x10
jne 0x42677b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x426779
cmp cl, 0x7d
jne 0x42677b
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00420fe0
mov ecx, esi
call fcn.004263a0
cmp dword [esi + 0x40], 0x5d
je 0x42679b
push 4
call fcn.0047500d
add esp, 4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4267d6
cmp byte [eax], 0x5c
jne 0x4267d4
inc eax
cmp eax, ecx
je 0x4267c0
test byte [esi + 0x44], 8
jne 0x4267c0
mov cl, byte [eax]
cmp cl, 0x28
je 0x4267d2
cmp cl, 0x29
je 0x4267d2
test byte [esi + 0x44], 0x10
jne 0x4267d4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4267d2
cmp cl, 0x7d
jne 0x4267d4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00420fe0
jmp 0x42683e
cmp ecx, 0x28
jne 0x426855
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x42681f
cmp byte [eax], 0x5c
jne 0x42681d
inc eax
cmp eax, ecx
je 0x426809
test byte [esi + 0x44], 8
jne 0x426809
mov cl, byte [eax]
cmp cl, 0x28
je 0x42681b
cmp cl, 0x29
je 0x42681b
test byte [esi + 0x44], 0x10
jne 0x42681d
mov cl, byte [eax]
cmp cl, 0x7b
je 0x42681b
cmp cl, 0x7d
jne 0x42681d
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00420fe0
mov ecx, esi
call fcn.00421240
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.004211d0
test bl, bl
je 0x426845
mov ecx, esi
call fcn.00425100
cmp dword [esi + 0x40], 0xffffffff
mov al, 1
jne 0x426553
pop ebx
pop edi
pop esi
ret
cmp ecx, 0x5e
jne 0x42686b
lea ecx, [esi + 0x18]
call fcn.00420490
mov ecx, esi
call fcn.00421190
jmp 0x426845
cmp ecx, 0x24
jne 0x426881
lea ecx, [esi + 0x18]
call fcn.004204f0
mov ecx, esi
call fcn.00421190
jmp 0x426845
cmp ecx, 0x2a
je 0x4268dd
cmp ecx, 0x2b
je 0x4268dd
cmp ecx, 0x3f
je 0x4268dd
cmp ecx, 0x7b
je 0x4268dd
cmp ecx, 0x7d
jne 0x4268ab
test dword [esi + 0x44], edx
jne 0x4268ab
push 6
call fcn.0047500d
add esp, 4
jmp 0x42683e
cmp ecx, 0x5d
jne 0x4268c4
test dword [esi + 0x44], edx
jne 0x4268c4
push 4
call fcn.0047500d
add esp, 4
jmp 0x42683e
movzx edx, byte [esi + 0x3e]
lea ecx, [esi + 0x18]
push edx
call fcn.00424570
mov ecx, esi
call fcn.00421190
jmp 0x42683e
push 0xa
call fcn.0047500d
add esp, 4
jmp 0x42683e