Function at 0x40eeb0
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 0x40ef70
nop dword [eax + eax]
cmp eax, 0x7c
je 0x40ef70
cmp eax, 0x29
jne 0x40ef78
cmp dword [esi + 0x10], 0
jne 0x40ef70
test dword [esi + 0x50], 0x10000000
je 0x40f390
cmp eax, 0x5d
jne 0x40ef0b
test dword [esi + 0x50], 0x10000000
je 0x40f382
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004102a0
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x40ef54
cmp byte [eax], 0x5c
jne 0x40ef52
inc eax
cmp eax, ecx
je 0x40ef52
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40ef3f
mov dl, byte [eax]
cmp dl, 0x28
je 0x40ef50
cmp dl, 0x29
je 0x40ef50
test cl, 0x10
jne 0x40ef52
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40ef50
cmp cl, 0x7d
jne 0x40ef52
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040de10
mov ecx, esi
call fcn.00410070
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x40eed0
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x2e
jne 0x40efe5
push 0x14
call fcn.00431baf
mov ecx, eax
xorps xmm0, xmm0
add esp, 4
mov dword [ebp - 4], ecx
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
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 0x40efda
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 0x40ef18
cmp eax, 0x5c
jne 0x40f16b
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40f02a
cmp byte [eax], 0x5c
jne 0x40f028
inc eax
cmp eax, ecx
je 0x40f028
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40f015
mov dl, byte [eax]
cmp dl, 0x28
je 0x40f026
cmp dl, 0x29
je 0x40f026
test cl, 0x10
jne 0x40f028
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40f026
cmp cl, 0x7d
jne 0x40f028
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040de10
test byte [esi + 0x50], 0x80
je 0x40f15f
cmp byte [esi + 0x48], 0x62
jne 0x40f0eb
push 0x14
call fcn.00431baf
mov ecx, eax
xorps xmm0, xmm0
add esp, 4
mov dword [ebp - 4], ecx
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
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 0x40f0a2
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 0x40f344
cmp byte [eax], 0x5c
jne 0x40f342
inc eax
cmp eax, ecx
je 0x40f342
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40f0e3
mov cl, byte [eax]
cmp cl, 0x28
je 0x40f340
cmp cl, 0x29
je 0x40f340
test dl, 0x10
jmp 0x40f332
cmp byte [esi + 0x48], 0x42
jne 0x40f15f
push 0x14
call fcn.00431baf
mov ecx, eax
xorps xmm0, xmm0
add esp, 4
mov dword [ebp - 4], ecx
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
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 0x40f14e
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 0x40f0a8
mov ecx, esi
call fcn.0040fd80
jmp 0x40ef5b
cmp eax, 0x5b
jne 0x40f1c9
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40f1ac
cmp byte [eax], 0x5c
jne 0x40f1aa
inc eax
cmp eax, ecx
je 0x40f1aa
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40f197
mov dl, byte [eax]
cmp dl, 0x28
je 0x40f1a8
cmp dl, 0x29
je 0x40f1a8
test cl, 0x10
jne 0x40f1aa
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40f1a8
cmp cl, 0x7d
jne 0x40f1aa
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040de10
mov ecx, esi
call fcn.0040fc60
cmp dword [esi + 0x4c], 0x5d
jne 0x40f382
jmp 0x40ef18
cmp eax, 0x28
jne 0x40f278
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40f20e
cmp byte [eax], 0x5c
jne 0x40f20c
inc eax
cmp eax, ecx
je 0x40f20c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40f1f9
mov dl, byte [eax]
cmp dl, 0x28
je 0x40f20a
cmp dl, 0x29
je 0x40f20a
test cl, 0x10
jne 0x40f20c
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40f20a
cmp cl, 0x7d
jne 0x40f20c
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040de10
mov ecx, esi
call fcn.0040fed0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x40f390
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x40f264
cmp byte [eax], 0x5c
jne 0x40f262
inc eax
cmp eax, ecx
je 0x40f262
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40f24f
mov dl, byte [eax]
cmp dl, 0x28
je 0x40f260
cmp dl, 0x29
je 0x40f260
test cl, 0x10
jne 0x40f262
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40f260
cmp cl, 0x7d
jne 0x40f262
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040de10
test bl, bl
je 0x40ef62
jmp 0x40ef5b
cmp eax, 0x5e
jne 0x40f29c
push 0x14
call fcn.00431baf
mov ecx, eax
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], 2
jmp 0x40f2c2
cmp eax, 0x24
jne 0x40f350
push 0x14
call fcn.00431baf
mov ecx, eax
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
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 0x40f302
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 0x40f344
cmp byte [eax], 0x5c
jne 0x40f342
inc eax
cmp eax, ecx
je 0x40f342
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40f32f
mov dl, byte [eax]
cmp dl, 0x28
je 0x40f340
cmp dl, 0x29
je 0x40f340
test cl, 0x10
jne 0x40f342
mov cl, byte [eax]
cmp cl, 0x7b
je 0x40f340
cmp cl, 0x7d
jne 0x40f342
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040de10
jmp 0x40ef62
cmp eax, 0x2a
je 0x40f37b
cmp eax, 0x2b
je 0x40f37b
cmp eax, 0x3f
je 0x40f37b
cmp eax, 0x7b
je 0x40f37b
cmp eax, 0x7d
jne 0x40eef9
test dword [esi + 0x50], 0x10000000
je 0x40f389
jmp 0x40ef0b
push 0xa
call fcn.0040de00
push 4
call fcn.0040de00
push 6
call fcn.0040de00
push 5
call fcn.0040de00
int3