Function at 0x407570
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x407982
cmp eax, 0x7c
je 0x407982
cmp eax, 0x29
jne 0x4075a8
cmp dword [esi + 0x10], 0
jne 0x407982
test dword [esi + 0x50], 0x10000000
je 0x407988
cmp eax, 0x2e
jne 0x407654
push 0x14
call fcn.00411fda
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4075e5
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x4075e7
xor ecx, ecx
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x407603
mov dword [ecx + 0xc], eax
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 0x407648
cmp byte [eax], 0x5c
jne 0x407646
inc eax
cmp eax, ecx
je 0x407646
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x407633
mov dl, byte [eax]
cmp dl, 0x28
je 0x407644
cmp dl, 0x29
je 0x407644
test cl, 0x10
jne 0x407646
mov cl, byte [eax]
cmp cl, 0x7b
je 0x407644
cmp cl, 0x7d
jne 0x407646
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00406450
jmp 0x40796d
cmp eax, 0x5c
jne 0x40776d
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x407699
cmp byte [eax], 0x5c
jne 0x407697
inc eax
cmp eax, ecx
je 0x407697
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x407684
mov dl, byte [eax]
cmp dl, 0x28
je 0x407695
cmp dl, 0x29
je 0x407695
test cl, 0x10
jne 0x407697
mov cl, byte [eax]
cmp cl, 0x7b
je 0x407695
cmp cl, 0x7d
jne 0x407697
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00406450
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x407700
cmp byte [esi + 0x48], 0x62
jne 0x407700
lea ecx, [esi + 0x24]
call fcn.00408f00
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4076f4
cmp byte [eax], 0x5c
jne 0x4076f2
inc eax
cmp eax, ecx
je 0x4076f2
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4076df
mov cl, byte [eax]
cmp cl, 0x28
je 0x4076f0
cmp cl, 0x29
je 0x4076f0
test dl, 0x10
jne 0x4076f2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4076f0
cmp cl, 0x7d
jne 0x4076f2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00406450
jmp 0x407974
test eax, eax
je 0x407761
cmp byte [esi + 0x48], 0x42
jne 0x407761
lea ecx, [esi + 0x24]
call fcn.00408f00
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x407755
cmp byte [eax], 0x5c
jne 0x407753
inc eax
cmp eax, ecx
je 0x407753
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x407740
mov cl, byte [eax]
cmp cl, 0x28
je 0x407751
cmp cl, 0x29
je 0x407751
test dl, 0x10
jne 0x407753
mov cl, byte [eax]
cmp cl, 0x7b
je 0x407751
cmp cl, 0x7d
jne 0x407753
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00406450
jmp 0x407974
mov ecx, esi
call fcn.00408b60
jmp 0x40796d
cmp eax, 0x5b
jne 0x407812
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4077b2
cmp byte [eax], 0x5c
jne 0x4077b0
inc eax
cmp eax, ecx
je 0x4077b0
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40779d
mov dl, byte [eax]
cmp dl, 0x28
je 0x4077ae
cmp dl, 0x29
je 0x4077ae
test cl, 0x10
jne 0x4077b0
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4077ae
cmp cl, 0x7d
jne 0x4077b0
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00406450
mov ecx, esi
call fcn.00408a80
cmp dword [esi + 0x4c], 0x5d
jne 0x40798f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x407806
cmp byte [eax], 0x5c
jne 0x407804
inc eax
cmp eax, ecx
je 0x407804
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4077f1
mov dl, byte [eax]
cmp dl, 0x28
je 0x407802
cmp dl, 0x29
je 0x407802
test cl, 0x10
jne 0x407804
mov cl, byte [eax]
cmp cl, 0x7b
je 0x407802
cmp cl, 0x7d
jne 0x407804
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00406450
jmp 0x40796d
cmp eax, 0x28
jne 0x4078c1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x407857
cmp byte [eax], 0x5c
jne 0x407855
inc eax
cmp eax, ecx
je 0x407855
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x407842
mov dl, byte [eax]
cmp dl, 0x28
je 0x407853
cmp dl, 0x29
je 0x407853
test cl, 0x10
jne 0x407855
mov cl, byte [eax]
cmp cl, 0x7b
je 0x407853
cmp cl, 0x7d
jne 0x407855
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00406450
mov ecx, esi
call fcn.00408c20
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x407988
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4078ad
cmp byte [eax], 0x5c
jne 0x4078ab
inc eax
cmp eax, ecx
je 0x4078ab
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x407898
mov dl, byte [eax]
cmp dl, 0x28
je 0x4078a9
cmp dl, 0x29
je 0x4078a9
test cl, 0x10
jne 0x4078ab
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4078a9
cmp cl, 0x7d
jne 0x4078ab
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00406450
test bl, bl
je 0x407974
jmp 0x40796d
cmp eax, 0x5e
jne 0x407913
lea ecx, [esi + 0x24]
call fcn.00408e40
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40790a
cmp byte [eax], 0x5c
jne 0x407908
inc eax
cmp eax, ecx
je 0x407908
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4078f5
mov dl, byte [eax]
cmp dl, 0x28
je 0x407906
cmp dl, 0x29
je 0x407906
test cl, 0x10
jne 0x407908
mov cl, byte [eax]
cmp cl, 0x7b
je 0x407906
cmp cl, 0x7d
jne 0x407908
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00406450
jmp 0x407974
cmp eax, 0x24
jne 0x407929
lea ecx, [esi + 0x24]
call fcn.00408ea0
mov ecx, esi
call fcn.00407520
jmp 0x407974
cmp eax, 0x2a
je 0x40799d
cmp eax, 0x2b
je 0x40799d
cmp eax, 0x3f
je 0x40799d
cmp eax, 0x7b
je 0x40799d
cmp eax, 0x7d
jne 0x40794b
test dword [esi + 0x50], 0x10000000
je 0x407996
cmp eax, 0x5d
jne 0x407959
test dword [esi + 0x50], 0x10000000
je 0x40798f
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00408f60
mov ecx, esi
call fcn.00407520
mov ecx, esi
call fcn.00408d10
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x407583
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 5
call fcn.00410cf3
push 4
call fcn.00410cf3
push 6
call fcn.00410cf3
push 0xa
call fcn.00410cf3
int3