Function at 0x427be0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x427ca0
nop dword [eax + eax]
cmp eax, 0x7c
je 0x427ca0
cmp eax, 0x29
jne 0x427ca8
cmp dword [esi + 0x10], 0
jne 0x427ca0
test dword [esi + 0x50], 0x10000000
je 0x42807f
cmp eax, 0x5d
jne 0x427c3b
test dword [esi + 0x50], 0x10000000
je 0x428071
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00429900
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x427c84
cmp byte [eax], 0x5c
jne 0x427c82
inc eax
cmp eax, ecx
je 0x427c82
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x427c6f
mov dl, byte [eax]
cmp dl, 0x28
je 0x427c80
cmp dl, 0x29
je 0x427c80
test cl, 0x10
jne 0x427c82
mov cl, byte [eax]
cmp cl, 0x7b
je 0x427c80
cmp cl, 0x7d
jne 0x427c82
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00426820
mov ecx, esi
call fcn.004296d0
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x427c00
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x2e
jne 0x427d08
push 0x14
call fcn.0043212a
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x427cfd
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
jmp 0x427c48
cmp eax, 0x5c
jne 0x427e74
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x427d4d
cmp byte [eax], 0x5c
jne 0x427d4b
inc eax
cmp eax, ecx
je 0x427d4b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x427d38
mov dl, byte [eax]
cmp dl, 0x28
je 0x427d49
cmp dl, 0x29
je 0x427d49
test cl, 0x10
jne 0x427d4b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x427d49
cmp cl, 0x7d
jne 0x427d4b
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00426820
test byte [esi + 0x50], 0x80
je 0x427e68
cmp byte [esi + 0x48], 0x62
jne 0x427e01
push 0x14
call fcn.0043212a
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x427db8
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x428033
cmp byte [eax], 0x5c
jne 0x428031
inc eax
cmp eax, ecx
je 0x428031
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x427df9
mov cl, byte [eax]
cmp cl, 0x28
je 0x42802f
cmp cl, 0x29
je 0x42802f
test dl, 0x10
jmp 0x428021
cmp byte [esi + 0x48], 0x42
jne 0x427e68
push 0x14
call fcn.0043212a
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x427e57
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov eax, ecx
mov dword [esi + 0x28], ecx
xor dword [eax + 8], 1
jmp 0x427dbe
mov ecx, esi
call fcn.004293f0
jmp 0x427c8b
cmp eax, 0x5b
jne 0x427ed2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x427eb5
cmp byte [eax], 0x5c
jne 0x427eb3
inc eax
cmp eax, ecx
je 0x427eb3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x427ea0
mov dl, byte [eax]
cmp dl, 0x28
je 0x427eb1
cmp dl, 0x29
je 0x427eb1
test cl, 0x10
jne 0x427eb3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x427eb1
cmp cl, 0x7d
jne 0x427eb3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00426820
mov ecx, esi
call fcn.004292d0
cmp dword [esi + 0x4c], 0x5d
jne 0x428071
jmp 0x427c48
cmp eax, 0x28
jne 0x427f81
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x427f17
cmp byte [eax], 0x5c
jne 0x427f15
inc eax
cmp eax, ecx
je 0x427f15
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x427f02
mov dl, byte [eax]
cmp dl, 0x28
je 0x427f13
cmp dl, 0x29
je 0x427f13
test cl, 0x10
jne 0x427f15
mov cl, byte [eax]
cmp cl, 0x7b
je 0x427f13
cmp cl, 0x7d
jne 0x427f15
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00426820
mov ecx, esi
call fcn.00429540
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x42807f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x427f6d
cmp byte [eax], 0x5c
jne 0x427f6b
inc eax
cmp eax, ecx
je 0x427f6b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x427f58
mov dl, byte [eax]
cmp dl, 0x28
je 0x427f69
cmp dl, 0x29
je 0x427f69
test cl, 0x10
jne 0x427f6b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x427f69
cmp cl, 0x7d
jne 0x427f6b
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00426820
test bl, bl
je 0x427c92
jmp 0x427c8b
cmp eax, 0x5e
jne 0x427f98
push 0x14
call fcn.0043212a
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x427fb1
cmp eax, 0x24
jne 0x42803f
push 0x14
call fcn.0043212a
mov ecx, eax
mov dword [ecx + 4], 3
mov dword [ecx], vtable.std::_Node_base.0
add esp, 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 4], ecx
mov edx, dword [eax + 0xc]
test edx, edx
je 0x427ff1
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x428033
cmp byte [eax], 0x5c
jne 0x428031
inc eax
cmp eax, ecx
je 0x428031
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42801e
mov dl, byte [eax]
cmp dl, 0x28
je 0x42802f
cmp dl, 0x29
je 0x42802f
test cl, 0x10
jne 0x428031
mov cl, byte [eax]
cmp cl, 0x7b
je 0x42802f
cmp cl, 0x7d
jne 0x428031
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00426820
jmp 0x427c92
cmp eax, 0x2a
je 0x42806a
cmp eax, 0x2b
je 0x42806a
cmp eax, 0x3f
je 0x42806a
cmp eax, 0x7b
je 0x42806a
cmp eax, 0x7d
jne 0x427c29
test dword [esi + 0x50], 0x10000000
je 0x428078
jmp 0x427c3b
push 0xa
call fcn.00426810
push 4
call fcn.00426810
push 6
call fcn.00426810
push 5
call fcn.00426810
int3