Function at 0x40e460
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x40e871
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x40e871
cmp eax, 0x29
jne 0x40e499
cmp dword [esi + 0x10], 0
jne 0x40e871
test dword [esi + 0x50], 0x10000000
je 0x40e877
cmp eax, 0x2e
jne 0x40e545
push 0x14
call fcn.004155cd
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x40e4d6
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 0x40e4d8
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 0x40e4f4
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 0x40e539
cmp byte [eax], 0x5c
jne 0x40e537
inc eax
cmp eax, ecx
je 0x40e537
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40e524
mov dl, byte [eax]
cmp dl, 0x28
je 0x40e535
cmp dl, 0x29
je 0x40e535
test cl, 0x10
jne 0x40e537
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40e535
cmp cl, 0x7d
jne 0x40e537
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040cf40
jmp 0x40e85e
cmp eax, 0x5c
jne 0x40e65e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40e58a
cmp byte [eax], 0x5c
jne 0x40e588
inc eax
cmp eax, ecx
je 0x40e588
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40e575
mov dl, byte [eax]
cmp dl, 0x28
je 0x40e586
cmp dl, 0x29
je 0x40e586
test cl, 0x10
jne 0x40e588
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40e586
cmp cl, 0x7d
jne 0x40e588
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040cf40
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x40e5f1
cmp byte [esi + 0x48], 0x62
jne 0x40e5f1
lea ecx, [esi + 0x24]
call fcn.0040f770
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40e5e5
cmp byte [eax], 0x5c
jne 0x40e5e3
inc eax
cmp eax, ecx
je 0x40e5e3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40e5d0
mov cl, byte [eax]
cmp cl, 0x28
je 0x40e5e1
cmp cl, 0x29
je 0x40e5e1
test dl, 0x10
jne 0x40e5e3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40e5e1
cmp cl, 0x7d
jne 0x40e5e3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040cf40
jmp 0x40e865
test eax, eax
je 0x40e652
cmp byte [esi + 0x48], 0x42
jne 0x40e652
lea ecx, [esi + 0x24]
call fcn.0040f770
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40e646
cmp byte [eax], 0x5c
jne 0x40e644
inc eax
cmp eax, ecx
je 0x40e644
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40e631
mov cl, byte [eax]
cmp cl, 0x28
je 0x40e642
cmp cl, 0x29
je 0x40e642
test dl, 0x10
jne 0x40e644
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40e642
cmp cl, 0x7d
jne 0x40e644
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040cf40
jmp 0x40e865
mov ecx, esi
call fcn.0040f410
jmp 0x40e85e
cmp eax, 0x5b
jne 0x40e703
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40e6a3
cmp byte [eax], 0x5c
jne 0x40e6a1
inc eax
cmp eax, ecx
je 0x40e6a1
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40e68e
mov dl, byte [eax]
cmp dl, 0x28
je 0x40e69f
cmp dl, 0x29
je 0x40e69f
test cl, 0x10
jne 0x40e6a1
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40e69f
cmp cl, 0x7d
jne 0x40e6a1
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040cf40
mov ecx, esi
call fcn.0040f330
cmp dword [esi + 0x4c], 0x5d
jne 0x40e87e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40e6f7
cmp byte [eax], 0x5c
jne 0x40e6f5
inc eax
cmp eax, ecx
je 0x40e6f5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40e6e2
mov dl, byte [eax]
cmp dl, 0x28
je 0x40e6f3
cmp dl, 0x29
je 0x40e6f3
test cl, 0x10
jne 0x40e6f5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40e6f3
cmp cl, 0x7d
jne 0x40e6f5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040cf40
jmp 0x40e85e
cmp eax, 0x28
jne 0x40e7b2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40e748
cmp byte [eax], 0x5c
jne 0x40e746
inc eax
cmp eax, ecx
je 0x40e746
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40e733
mov dl, byte [eax]
cmp dl, 0x28
je 0x40e744
cmp dl, 0x29
je 0x40e744
test cl, 0x10
jne 0x40e746
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40e744
cmp cl, 0x7d
jne 0x40e746
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040cf40
mov ecx, esi
call fcn.0040f4e0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x40e877
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40e79e
cmp byte [eax], 0x5c
jne 0x40e79c
inc eax
cmp eax, ecx
je 0x40e79c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40e789
mov dl, byte [eax]
cmp dl, 0x28
je 0x40e79a
cmp dl, 0x29
je 0x40e79a
test cl, 0x10
jne 0x40e79c
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40e79a
cmp cl, 0x7d
jne 0x40e79c
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040cf40
test bl, bl
je 0x40e865
jmp 0x40e85e
cmp eax, 0x5e
jne 0x40e804
lea ecx, [esi + 0x24]
call fcn.0040f6b0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40e7fb
cmp byte [eax], 0x5c
jne 0x40e7f9
inc eax
cmp eax, ecx
je 0x40e7f9
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40e7e6
mov dl, byte [eax]
cmp dl, 0x28
je 0x40e7f7
cmp dl, 0x29
je 0x40e7f7
test cl, 0x10
jne 0x40e7f9
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40e7f7
cmp cl, 0x7d
jne 0x40e7f9
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040cf40
jmp 0x40e865
cmp eax, 0x24
jne 0x40e81a
lea ecx, [esi + 0x24]
call fcn.0040f710
mov ecx, esi
call fcn.0040e410
jmp 0x40e865
cmp eax, 0x2a
je 0x40e88c
cmp eax, 0x2b
je 0x40e88c
cmp eax, 0x3f
je 0x40e88c
cmp eax, 0x7b
je 0x40e88c
cmp eax, 0x7d
jne 0x40e83c
test dword [esi + 0x50], 0x10000000
je 0x40e885
cmp eax, 0x5d
jne 0x40e84a
test dword [esi + 0x50], 0x10000000
je 0x40e87e
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0040f7d0
mov ecx, esi
call fcn.0040e410
mov ecx, esi
call fcn.0040f580
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x40e471
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 5
call fcn.00412ef8
push 4
call fcn.00412ef8
push 6
call fcn.00412ef8
push 0xa
call fcn.00412ef8
int3